004014ec push ebp
004014ed mov ebp, esp
004014ef mov eax, dword ptr [0x59fbf8]
004014f4 inc dword ptr [0x59fbf8]
004014fa mov edx, dword ptr [ebp + 8]
004014fd mov eax, dword ptr [edx + eax*4]
00401500 pop ebp
00401501 ret 4
00401504 push ebp
00401505 mov ebp, esp
00401507 mov eax, dword ptr [0x59fbf8]
0040150c inc dword ptr [0x59fbf8]
00401512 mov edx, dword ptr [ebp + 8]
00401515 mov eax, dword ptr [edx + eax*4]
00401518 pop ebp
00401519 ret 4
0040151c push ebp
0040151d mov ebp, esp
0040151f mov eax, dword ptr [0x59fbf8]
00401524 inc dword ptr [0x59fbf8]
0040152a mov edx, dword ptr [ebp + 8]
0040152d fld dword ptr [edx + eax*4]
00401530 pop ebp
00401531 ret 4
00401534 push ebp
00401535 mov ebp, esp
00401537 mov eax, dword ptr [ebp + 8]
0040153a pop ebp
0040153b ret 4
0040153e nop 
0040153f nop 
00401540 push ebp
00401541 mov ebp, esp
00401543 add esp, -0x24
00401546 mov eax, 0x59c174
0040154b push ebx
0040154c mov ebx, dword ptr [ebp + 8]
0040154f call 0x591de8
00401554 mov edx, dword ptr [ebp - 0x24]
00401557 mov dword ptr fs:[0], edx
0040155e mov eax, ebx
00401560 pop ebx
00401561 mov esp, ebp
00401563 pop ebp
00401564 ret 
00401565 nop 
00401566 nop 
00401567 nop 
00401568 push ebp
00401569 mov ebp, esp
0040156b add esp, -0x24
0040156e mov eax, 0x59c184
00401573 push ebx
00401574 mov ebx, dword ptr [ebp + 8]
00401577 call 0x591de8
0040157c mov edx, dword ptr [ebp - 0x24]
0040157f mov dword ptr fs:[0], edx
00401586 mov eax, ebx
00401588 pop ebx
00401589 mov esp, ebp
0040158b pop ebp
0040158c ret 
0040158d nop 
0040158e nop 
0040158f nop 
00401590 push ebp
00401591 mov ebp, esp
00401593 add esp, -0x24
00401596 mov eax, 0x59c194
0040159b call 0x591de8
004015a0 mov eax, 0x7ffffff
004015a5 test eax, eax
004015a7 ja 0x4015ae
004015a9 mov eax, 1
004015ae mov edx, dword ptr [ebp - 0x24]
004015b1 mov dword ptr fs:[0], edx
004015b8 mov esp, ebp
004015ba pop ebp
004015bb ret 
004015bc push ebp
004015bd mov ebp, esp
004015bf add esp, -0x24
004015c2 mov eax, 0x59c1b4
004015c7 push ebx
004015c8 call 0x591de8
004015cd mov dword ptr [ebp - 8], 3
004015d4 dec dword ptr [ebp - 8]
004015d7 mov edx, dword ptr [ebp + 8]
004015da test edx, edx
004015dc je 0x401610
004015de mov word ptr [ebp - 0x14], 0xc
004015e4 mov ecx, 0x59c310
004015e9 mov ebx, dword ptr [ebp + 8]
004015ec mov dword ptr [ebx], ecx
004015ee sub dword ptr [ebp - 8], 3
004015f2 push 0
004015f4 mov eax, dword ptr [ebp + 8]
004015f7 push eax
004015f8 call 0x401f80
004015fd add esp, 8
00401600 test byte ptr [ebp + 0xc], 1
00401604 je 0x401610
00401606 mov edx, dword ptr [ebp + 8]
00401609 push edx
0040160a call 0x58dabc
0040160f pop ecx
00401610 mov ecx, dword ptr [ebp - 0x24]
00401613 mov dword ptr fs:[0], ecx
0040161a pop ebx
0040161b mov esp, ebp
0040161d pop ebp
0040161e ret 
0040161f nop 
00401620 xor byte ptr [eax], al
00401622 add byte ptr [eax], al
00401624 add eax, dword ptr [eax]
00401626 xor byte ptr [eax], al
00401628 add byte ptr [eax], al
0040162a add byte ptr [eax], al
0040162c ja 0x40162e
0040162e add byte ptr [eax], al
00401630 inc esp
00401631 add byte ptr [eax + eax], dl
00401635 add byte ptr [eax], al
00401637 add byte ptr [eax], al
00401639 add byte ptr [eax], al
0040163b add byte ptr [eax], al
0040163d add byte ptr [eax], al
0040163f add byte ptr [eax + eax], al
00401642 add byte ptr [eax], al
00401644 add al, 0
00401646 add byte ptr [eax], al
00401648 mov esp, 0x1004015
0040164d add byte ptr [eax], bl
00401650 jae 0x4016c6
00401652 cmp bh, byte ptr fs:[edx]
00401655 insb byte ptr es:[edi], dx
00401656 outsb dx, byte ptr gs:[esi]
00401658 je 0x4016c3
0040165b pop edi
0040165c jb 0x4016d1
0040165f outsd dx, dword ptr [esi]
00401660 jb 0x401662
00401662 add byte ptr [eax], al
00401664 sbb al, 0x1f
00401666 inc eax
00401667 add byte ptr [eax], al
00401669 add byte ptr [eax], al
0040166b add byte ptr [ebx], al
0040166d add byte ptr [eax], al
0040166f add byte ptr [eax], al
00401671 add byte ptr [eax], al
00401673 add byte ptr [eax], al
00401675 add byte ptr [eax], al
00401677 add byte ptr [eax], al
00401679 add byte ptr [eax], al
0040167b add byte ptr [ebp - 0x75], dl
0040167e in al, dx
0040167f add esp, 0xffffff3c
00401685 mov eax, 0x59c1cc
0040168a push ebx
0040168b push esi
0040168c push edi
0040168d mov edi, dword ptr [ebp + 8]
00401690 call 0x591de8
00401695 mov edx, dword ptr [ebp + 0xc]
00401698 mov ecx, 0x59c2e8
0040169d mov dword ptr [ebp - 0x28], edx
004016a0 mov dword ptr [edi], ecx
004016a2 inc dword ptr [ebp - 8]
004016a5 lea edx, [ebp - 0x34]
004016a8 mov ecx, dword ptr [ebp - 0x28]
004016ab lea ebx, [edi + 8]
004016ae add ecx, 8
004016b1 mov dword ptr [ebp - 0x2c], ecx
004016b4 mov eax, dword ptr [ebp - 0x2c]
004016b7 add eax, 8
004016ba push eax
004016bb push edx
004016bc call 0x401b10
004016c1 add esp, 8
004016c4 lea ecx, [ebp - 0x34]
004016c7 push ecx
004016c8 lea ecx, [ebx + 8]
004016cb push ecx
004016cc call 0x401b10
004016d1 add esp, 8
004016d4 mov eax, 0xf
004016d9 mov dword ptr [ebx + 0x24], eax
004016dc mov byte ptr [ebp - 0x35], 0
004016e0 mov edx, dword ptr [ebx + 0x24]
004016e3 cmp edx, 0x10
004016e6 jb 0x4016ed
004016e8 mov ecx, dword ptr [ebx + 0x10]
004016eb jmp 0x4016f0
004016ed lea ecx, [ebx + 0x10]
004016f0 xor eax, eax
004016f2 mov dword ptr [ebx + 0x20], eax
004016f5 add ecx, eax
004016f7 mov dword ptr [ebp - 0x3c], ecx
004016fa mov edx, dword ptr [ebp - 0x3c]
004016fd mov cl, byte ptr [ebp - 0x35]
00401700 mov byte ptr [edx], cl
00401702 mov ecx, dword ptr [ebp - 0x2c]
00401705 mov eax, dword ptr [ecx + 0x20]
00401708 test eax, eax
0040170a jae 0x401713
0040170c push ebx
0040170d call 0x58eb4c
00401712 pop ecx
00401713 mov edx, dword ptr [ebp - 0x2c]
00401716 mov ecx, dword ptr [edx + 0x20]
00401719 mov dword ptr [ebp - 0x40], ecx
0040171c mov eax, dword ptr [ebp - 0x40]
0040171f cmp eax, -1
00401722 jbe 0x40172b
00401724 mov dword ptr [ebp - 0x40], 0xffffffff
0040172b mov edx, dword ptr [ebp - 0x2c]
0040172e cmp ebx, edx
00401730 jne 0x4018c5
00401736 mov dword ptr [ebp - 0x44], 0xffffffff
0040173d mov ecx, dword ptr [ebp - 0x40]
00401740 mov dword ptr [ebp - 0x48], ecx
00401743 mov eax, dword ptr [ebx + 0x20]
00401746 mov edx, dword ptr [ebp - 0x48]
00401749 cmp eax, edx
0040174b jae 0x401754
0040174d push ebx
0040174e call 0x58eb4c
00401753 pop ecx
00401754 mov ecx, dword ptr [ebx + 0x20]
00401757 mov eax, dword ptr [ebp - 0x48]
0040175a sub ecx, eax
0040175c mov edx, dword ptr [ebp - 0x44]
0040175f cmp ecx, edx
00401761 jae 0x40176e
00401763 mov ecx, dword ptr [ebx + 0x20]
00401766 mov eax, dword ptr [ebp - 0x48]
00401769 sub ecx, eax
0040176b mov dword ptr [ebp - 0x44], ecx
0040176e mov edx, dword ptr [ebp - 0x44]
00401771 test edx, edx
