Function at 0x408989
Capabilities:
Check for software breakpoints
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
push 0x14
call fcn.004125b4
add esp, 4
mov dword [ebp - 0xc], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
push 0x4c
call fcn.004125b4
add esp, 4
mov dword [ebp - 0x18], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x13
rep stosd dword es:[edi], eax
add ebx, 0x38
push ebx
push 0x10
call fcn.004125b4
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4ac89f
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add ebx, 0xc
push ebx
push 0x1c
call fcn.004125b4
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4ac8a7
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
push 0x14
call fcn.004125b4
add esp, 4
mov dword [ebp - 0x1c], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x1c
call fcn.004125b4
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 7
rep stosd dword es:[edi], eax
pop ebx
add ebx, 4
push ebx
push 0x7c
call fcn.004125b4
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x1f
rep stosd dword es:[edi], eax
add ebx, 0x78
push ebx
push 0x80
call fcn.004125b4
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x20
rep stosd dword es:[edi], eax
pop ebx
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.004125b4
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4aca19
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 0x80
push ecx
push ebx
push 0x28
call fcn.004125b4
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xa
rep stosd dword es:[edi], eax
push ebx
push 0x10
call fcn.004125b4
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4ac877
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x408ae0
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.004125b4
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4aca19
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x80
rep stosd dword es:[edi], eax
push 0x14
call fcn.004125b4
add esp, 4
mov dword [ebp - 0x20], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x1c
call fcn.004125b4
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 7
rep stosd dword es:[edi], eax
pop ebx
add ebx, 4
push ebx
push 0x7c
call fcn.004125b4
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x1f
rep stosd dword es:[edi], eax
add ebx, 0x78
push ebx
push 0x80
call fcn.004125b4
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x20
rep stosd dword es:[edi], eax
pop ebx
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.004125b4
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4aca19
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push ebx
mov ebx, edi
mov ecx, 0x80
push ecx
push ebx
push 0x28
call fcn.004125b4
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xa
rep stosd dword es:[edi], eax
push ebx
push 0x10
call fcn.004125b4
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4ac877
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x408bfe
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.004125b4
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4aca19
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x80
rep stosd dword es:[edi], eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
push 0x2c
call fcn.004125b4
add esp, 4
mov dword [ebp - 0x30], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xb
rep stosd dword es:[edi], eax
push 8
call fcn.004125b4
add esp, 4
mov dword [ebp - 0x34], eax
mov edi, eax
mov esi, 0x4ac85e
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.004125b4
add esp, 4
mov dword [ebp - 0x38], eax
mov edi, eax
mov esi, 0x4ac85e
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.004125b4
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x4ac85e
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov ebx, dword [0x4de4c4]
call fcn.0040411e
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jne 0x40ce31
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x40ce2e
cmp dword [ebp - 4], 1
jne 0x408d7f
mov eax, 0x4ac909
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00408018
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x408d62
push ebx
call fcn.004125ae
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x408d76
push ebx
call fcn.004125ae
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x408e1a
cmp dword [ebp - 4], 2
jne 0x408dca
mov eax, 0x4ac949
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00408018
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x408dad
push ebx
call fcn.004125ae
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x408dc1
push ebx
call fcn.004125ae
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x408e1a
cmp dword [ebp - 4], 3
jne 0x408e15
mov eax, 0x4ac95b
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00408018
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x408df8
push ebx
call fcn.004125ae
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x408e0c
push ebx
call fcn.004125ae
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x408e1a
jmp 0x40ce31
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x4c], ebx
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0
push 0
push 0
push 1
mov ebx, 0x414260
call fcn.004125c0
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x408e57
push ebx
call fcn.004125ae
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
call fcn.0040d02d
mov dword [ebp - 0x4c], eax
push dword [ebp - 8]
push 0x4ac9ef
push dword [ebp - 0x4c]
mov ecx, 3
call fcn.0040892d
add esp, 0xc
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x408e8e
push ebx
call fcn.004125ae
add esp, 4
mov dword [ebp - 0x54], esp
push 0
push dword [ebp - 0x10]
push dword [ebp - 0x50]
mov eax, 0x18
call fcn.004125c6
cmp dword [ebp - 0x54], esp
je 0x408eb8
push 6
call fcn.004125ba
add esp, 4
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x408ec8
push ebx
call fcn.004125ae
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
push 0
push 3
push 0
push 1
push closesocket
push dword [ebp - 0x10]
mov eax, 0x19
call fcn.004125c6
cmp dword [ebp - 0x4c], esp
je 0x408f08
push 6
call fcn.004125ba
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x40cde3
mov dword [ebp - 0x4c], esp
push 0
push 0
push 0
push dword [ebp - 0x14]
mov eax, 0x1a
call fcn.004125c6
cmp dword [ebp - 0x4c], esp
je 0x408f46
push 6
call fcn.004125ba
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 0x40
mov eax, dword [ebp - 0x18]
push eax
push 0x40
call fcn.004125b4
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], eax
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 4
mov esi, ebx
shl ecx, 1
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0xa
mov esi, ebx
shl ecx, 1
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push dword [ebp - 0x14]
mov eax, 0x1b
call fcn.004125c6
cmp dword [ebp - 0x4c], esp
je 0x409083
push 6
call fcn.004125ba
add esp, 4
push eax
mov ebx, dword [ebp - 0x54]
push ebx
mov edi, dword [ebp - 0x58]
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 2
mov eax, 2
call fcn.004125a8
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x409154
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x409152
imul eax, dword [edi]
jmp 0x409147
mov ecx, eax
cmp ecx, 4
jle 0x40915e
mov ecx, 4
mov esi, ebx
shl ecx, 1
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 2
mov eax, 2
call fcn.004125a8
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x4091b1
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x4091af
imul eax, dword [edi]
jmp 0x4091a4
mov ecx, eax
cmp ecx, 0xa
jle 0x4091bb
mov ecx, 0xa
mov esi, ebx
shl ecx, 1
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x14
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.004125ae
add esp, 4
pop eax
test eax, eax
je 0x4091ff
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
cmp word [ebx], 0x5a4d
jne 0x4091ff
mov eax, 1
jmp 0x409204
mov eax, 0
test eax, eax
je 0x40cde3
mov ebx, dword [ebp - 0x18]
add ebx, 0x48
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 0x1a
call fcn.004125c6
cmp dword [ebp - 0x50], esp
je 0x409246
push 6
call fcn.004125ba
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x1c
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x7c
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
mov ecx, 0x1e
rep movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
push esi
push edi
push eax
push 0x80
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
mov ebx, eax
call fcn.004027ec
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
pop ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
test ecx, ecx
je 0x409327
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x28
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push eax
mov ebx, eax
call fcn.004027ec
pop eax
sub ebx, eax
add ecx, ebx
push ecx
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop eax
pop ecx
pop edi
pop esi
stosd dword es:[edi], eax
dec ecx
jne 0x4092dd
pop eax
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
push eax
push eax
mov ebx, eax
call fcn.004027ec
pop eax
sub ebx, eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
push eax
mov ebx, dword [ebp - 0x1c]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004125ae
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 0x78
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004125ae
add esp, 4
pop ebx
call fcn.004125ae
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4093a4
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4093a0
imul eax, dword [ebx]
jmp 0x409395
mov ecx, eax
test ecx, ecx
je 0x4093cc
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004125ae
add esp, 4
pop ebx
call fcn.004125ae
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4093aa
call fcn.004125ae
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004125ae
add esp, 4
pop ebx
call fcn.004125ae
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 0xf8
mov eax, dword [ebp - 0x1c]
push eax
push 0x16f8
call fcn.004125b4
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 4
pop ebx
add ebx, 4
push ebx
mov ecx, 0x80
mov ebx, dword [ebx]
add ebx, 8
push ebx
push ecx
mov ebx, dword [ebx]
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ecx
pop ebx
add ebx, 4
dec ecx
jne 0x40970d
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x80
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
pop ebx
add ebx, 4
push dword [ebp - 0x14]
mov eax, 0x1c
call fcn.004125c6
cmp dword [ebp - 0x4c], esp
je 0x4097c8
push 6
call fcn.004125ba
add esp, 4
push eax
mov ebx, dword [ebp - 0x54]
push ebx
mov edi, dword [ebp - 0x58]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 0x14
pop edi
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push edi
mov edi, dword [edi]
push ebx
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ebx
add ebx, 0x80
pop edi
add edi, 4
pop ebx
add ebx, 0xe0
pop edi
add edi, 4
push edi
mov edi, dword [edi]
mov ecx, 0x80
add edi, 8
push ebx
push edi
push ecx
mov edi, dword [edi]
push ebx
push edi
push 1
mov eax, 2
call fcn.004125a8
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x409b04
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x409b02
imul eax, dword [edi]
jmp 0x409af7
mov ecx, eax
cmp ecx, 8
jle 0x409b0e
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ecx
pop edi
pop ebx
add edi, 4
add ebx, 0x28
dec ecx
jne 0x409ad0
pop edi
add edi, 4
push ebx
push edi
push 4
mov eax, 2
call fcn.004125a8
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x409bbc
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x409bba
imul eax, dword [edi]
jmp 0x409baf
mov ecx, eax
cmp ecx, 0x80
jle 0x409bc9
mov ecx, 0x80
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x200
call fcn.004125ae
add esp, 4
pop eax
test eax, eax
je 0x409c05
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
cmp dword [ebx], 0x4550
jne 0x409c05
mov eax, 1
jmp 0x409c0a
mov eax, 0
test eax, eax
je 0x40cde3
mov ebx, dword [ebp - 0x1c]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x58], 1
mov ebx, dword [ebp - 0x50]
mov ax, word [ebx]
cwde
cmp eax, 0
jge 0x409c47
push 0xa
call fcn.004125ba
add esp, 4
mov dword [ebp - 0x54], eax
lea ebx, [ebp - 0x58]
call fcn.004027ec
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.004125b4
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x54]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x4c]
mov ebx, dword [ebx]
call fcn.004027ec
pop edx
test ecx, ecx
je 0x409cae
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004125ae
add esp, 4
pop ebx
call fcn.004125ae
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x409c8a
pop edx
pop edi
test edx, edx
je 0x409d00
mov ebx, edi
push edx
push ebx
push 0x28
call fcn.004125b4
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xa
rep stosd dword es:[edi], eax
push ebx
push 0x10
call fcn.004125b4
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4ac877
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
pop ebx
pop edx
add ebx, 4
dec edx
jne 0x409cb8
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
call fcn.004125ae
add esp, 4
pop eax
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x1c]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x58], 1
mov ebx, dword [ebp - 0x50]
mov ax, word [ebx]
cwde
cmp eax, 0
jge 0x409d48
push 0xa
call fcn.004125ba
add esp, 4
mov dword [ebp - 0x54], eax
lea ebx, [ebp - 0x58]
call fcn.004027ec
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.004125b4
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x54]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x4c]
mov ebx, dword [ebx]
call fcn.004027ec
pop edx
test edx, edx
je 0x409d8f
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
call fcn.004125ae
add esp, 4
pop eax
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 0x14
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fsub qword [0x4ac9f1]
fstp qword [ebp - 0x5c]
mov dword [ebp - 0x60], esp
push 1
push 0
fld qword [ebp - 0x5c]
call fcn.0040280c
push eax
push dword [ebp - 0x14]
mov eax, 0x1a
call fcn.004125c6
cmp dword [ebp - 0x60], esp
je 0x409dff
push 6
call fcn.004125ba
add esp, 4
mov ebx, dword [ebp - 0x1c]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x58], eax
fild dword [ebp - 0x58]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fmul qword [0x4ac9f9]
fstp qword [ebp - 0x60]
mov dword [ebp - 0x64], esp
push 0
mov eax, 0
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
fld qword [ebp - 0x60]
call fcn.0040280c
push eax
mov ebx, dword [ebp - 0x4c]
mov ebx, dword [ebx]
call fcn.004027ec
push ebx
mov dword [ebp - 0x6c], ecx
test ecx, ecx
jne 0x409e63
xor eax, eax
jmp 0x409e6f
imul ecx, ecx, 0x28
push ecx
call fcn.004125b4
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x409f12
push ecx
push edi
push ebx
mov ebx, dword [ebx]
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ebx
pop edi
pop ecx
dec ecx
je 0x409f12
add ebx, 4
add edi, 0x28
jmp 0x409e84
push dword [ebp - 0x14]
mov eax, 0x1d
call fcn.004125c6
cmp dword [ebp - 0x64], esp
je 0x409f31
push 6
call fcn.004125ba
add esp, 4
push eax
mov ebx, dword [ebp - 0x70]
push ebx
mov edi, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x40a001
push ecx
push edi
push ebx
mov edi, dword [edi]
push ebx
push edi
push 1
mov eax, 2
call fcn.004125a8
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x409f78
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x409f76
imul eax, dword [edi]
jmp 0x409f6b
mov ecx, eax
cmp ecx, 8
jle 0x409f82
mov ecx, 8
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 8
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
pop ebx
pop edi
pop ecx
dec ecx
je 0x40a001
add ebx, 0x28
add edi, 4
jmp 0x409f44
call fcn.004125ae
add esp, 4
pop eax
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40a11d
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.004027ec
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a054
push 4
call fcn.004125ba
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a067
push 1
call fcn.004125ba
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.004027ec
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a08f
push 4
call fcn.004125ba
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a0a2
push 1
call fcn.004125ba
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.004027ec
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a0cf
push 4
call fcn.004125ba
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a0e2
push 1
call fcn.004125ba
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
mov ebx, dword [ebp - 0x54]
fild dword [ebx]
fstp qword [ebp - 0x64]
fsub qword [ebp - 0x64]
fstp qword [ebp - 0x6c]
fld qword [ebp - 0x6c]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
pop eax
pop ebx
pop ecx
jmp 0x40a026
add esp, 0xc
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 8]
mov ebx, dword [ebx + 0x78]
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40a2e6
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.004027ec
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a17e
push 4
call fcn.004125ba
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a191
push 1
call fcn.004125ba
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp dword [ebp - 0x28], eax
jl 0x40a269
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.004027ec
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a1cc
push 4
call fcn.004125ba
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a1df
push 1
call fcn.004125ba
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.004027ec
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a20c
push 4
call fcn.004125ba
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a21f
push 1
call fcn.004125ba
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x58], ebx
mov ebx, dword [ebp - 0x54]
fild dword [ebx]
fstp qword [ebp - 0x60]
fld qword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
fild dword [ebx]
fstp qword [ebp - 0x68]
fadd qword [ebp - 0x68]
fstp qword [ebp - 0x70]
fild dword [ebp - 0x28]
fstp qword [ebp - 0x78]
fld qword [ebp - 0x78]
fsub qword [ebp - 0x70]
fcomp qword [0x4ac88f]
fnstsw ax
test ah, 0x41
je 0x40a269
mov eax, 1
jmp 0x40a26e
mov eax, 0
test eax, eax
je 0x40a2de
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.004027ec
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a296
push 4
call fcn.004125ba
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a2a9
push 1
call fcn.004125ba
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x28]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x58]
fsub qword [ebp - 0x58]
fstp qword [ebp - 0x60]
fld qword [ebp - 0x60]
call fcn.0040280c
mov dword [ebp - 0x28], eax
jmp 0x40a2e6
pop eax
pop ebx
pop ecx
jmp 0x40a150
add esp, 0xc
cmp dword [ebp - 0x28], 0
jle 0x40cde3
mov dword [ebp - 0x4c], esp
push 0
push 0
push dword [ebp - 0x28]
push dword [ebp - 0x14]
mov eax, 0x1a
call fcn.004125c6
cmp dword [ebp - 0x4c], esp
je 0x40a322
push 6
call fcn.004125ba
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 0x28
mov eax, dword [ebp - 0x30]
push eax
push 0x28
call fcn.004125b4
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push dword [ebp - 0x14]
mov eax, 0x1e
call fcn.004125c6
cmp dword [ebp - 0x4c], esp
je 0x40a3e5
push 6
call fcn.004125ba
add esp, 4
push eax
mov ebx, dword [ebp - 0x54]
push ebx
mov edi, dword [ebp - 0x58]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.004125ae
add esp, 4
pop eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x20
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x30]
add ebx, 0x20
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x18
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x54], 1
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp eax, 0
jge 0x40a4c3
push 0xa
call fcn.004125ba
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.004027ec
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.004125b4
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x50]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x34]
call fcn.004027ec
pop edx
test edx, edx
je 0x40a508
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
push dword [ebp - 0x34]
call fcn.004125ae
add esp, 4
pop eax
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x20
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 0x1a
call fcn.004125c6
cmp dword [ebp - 0x50], esp
je 0x40a551
push 6
call fcn.004125ba
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x18
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
fild dword [ebx]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fmul qword [0x4aca01]
fstp qword [ebp - 0x5c]
mov dword [ebp - 0x60], esp
push 0
mov eax, 0
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
fld qword [ebp - 0x5c]
call fcn.0040280c
push eax
mov ebx, dword [ebp - 0x34]
call fcn.004027ec
push ebx
push dword [ebp - 0x14]
mov eax, 0x1f
call fcn.004125c6
cmp dword [ebp - 0x60], esp
je 0x40a5b3
push 6
call fcn.004125ba
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x28
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x30]
add ebx, 0x28
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x54], 1
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp eax, 0
jge 0x40a610
push 0xa
call fcn.004125ba
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.004027ec
push ecx
shl ecx, 1
add ecx, 8
push ecx
call fcn.004125b4
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x50]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x38]
call fcn.004027ec
pop edx
test edx, edx
je 0x40a656
mov ecx, edx
xor eax, eax
shl ecx, 1
rep stosb byte es:[edi], al
push dword [ebp - 0x38]
call fcn.004125ae
add esp, 4
pop eax
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x28
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 0x1a
call fcn.004125c6
cmp dword [ebp - 0x50], esp
je 0x40a69f
push 6
call fcn.004125ba
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
fild dword [ebx]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fmul qword [0x4aca09]
fstp qword [ebp - 0x5c]
mov dword [ebp - 0x60], esp
push 0
mov eax, 0
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
fld qword [ebp - 0x5c]
call fcn.0040280c
push eax
mov ebx, dword [ebp - 0x38]
call fcn.004027ec
push ebx
push dword [ebp - 0x14]
mov eax, 0x20
call fcn.004125c6
cmp dword [ebp - 0x60], esp
je 0x40a701
push 6
call fcn.004125ba
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x24
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x30]
add ebx, 0x24
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x54], 1
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp eax, 0
jge 0x40a75e
push 0xa
call fcn.004125ba
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.004027ec
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.004125b4
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x50]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x3c]
call fcn.004027ec
pop edx
test edx, edx
je 0x40a7a3
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
push dword [ebp - 0x3c]
call fcn.004125ae
add esp, 4
pop eax
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x24
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 0x1a
call fcn.004125c6
cmp dword [ebp - 0x50], esp
je 0x40a7ec
push 6
call fcn.004125ba
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
fild dword [ebx]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fmul qword [0x4aca01]
fstp qword [ebp - 0x5c]
mov dword [ebp - 0x60], esp
push 0
mov eax, 0
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
push eax
fld qword [ebp - 0x5c]
call fcn.0040280c
push eax
mov ebx, dword [ebp - 0x3c]
call fcn.004027ec
push ebx
push dword [ebp - 0x14]
mov eax, 0x1f
call fcn.004125c6
cmp dword [ebp - 0x60], esp
je 0x40a84e
push 6
call fcn.004125ba
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40cde0
push 0x80000301
push 0
push 0x80
push 1
mov ebx, 0x413e60
call fcn.004125c0
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40a8a8
push ebx
call fcn.004125ae
add esp, 4
pop eax
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
call fcn.004027ec
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a8c9
push 4
call fcn.004125ba
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a8dc
push 1
call fcn.004125ba
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x3c]
call fcn.004027ec
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a901
push 4
call fcn.004125ba
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a914
push 1
call fcn.004125ba
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x3c]
call fcn.004027ec
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a95d
push 4
call fcn.004125ba
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a970
push 1
call fcn.004125ba
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 0x1a
call fcn.004125c6
cmp dword [ebp - 0x50], esp
je 0x40a9a9
push 6
call fcn.004125ba
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 0x80
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x40a9cc
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 0x21
call fcn.004125c6
cmp dword [ebp - 0x4c], esp
je 0x40a9ec
push 6
call fcn.004125ba
add esp, 4
cmp dword [ebp - 4], 1
jne 0x40aa6a
mov ebx, dword [ebp - 0x40]
call fcn.004027ec
mov eax, 0
cmp eax, ecx
jl 0x40aa14
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x5a
jne 0x40aa58
mov ebx, dword [ebp - 0x40]
call fcn.004027ec
mov eax, 1
cmp eax, ecx
jl 0x40aa43
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x77
jne 0x40aa58
xor eax, eax
jmp 0x40aa5d
mov eax, 1
test eax, eax
je 0x40aa6a
jmp 0x40cdd8
mov ebx, dword [ebp - 0x34]
call fcn.004027ec
push ebx
push ecx
mov ebx, dword [ebp - 0x38]
call fcn.004027ec
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40aa91
push 4
call fcn.004125ba
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40aaa4
push 1
call fcn.004125ba
add esp, 4
shl eax, 1
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fadd qword [0x4ac8c7]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
call fcn.0040280c
dec eax
jns 0x40aadf
push 4
call fcn.004125ba
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40aaf2
push 1
call fcn.004125ba
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x40ab11
jmp 0x40cdd8
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40acbd
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.004027ec
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40ab5b
push 4
call fcn.004125ba
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40ab6e
push 1
call fcn.004125ba
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp dword [ebp - 0x44], eax
jl 0x40ac46
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.004027ec
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40aba9
push 4
call fcn.004125ba
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40abbc
push 1
call fcn.004125ba
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.004027ec
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40abe9
push 4
call fcn.004125ba
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40abfc
push 1
call fcn.004125ba
add esp, 4
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x58], ebx
mov ebx, dword [ebp - 0x54]
fild dword [ebx]
fstp qword [ebp - 0x60]
fld qword [ebp - 0x60]
mov ebx, dword [ebp - 0x58]
fild dword [ebx]
fstp qword [ebp - 0x68]
fadd qword [ebp - 0x68]
fstp qword [ebp - 0x70]
fild dword [ebp - 0x44]
fstp qword [ebp - 0x78]
fld qword [ebp - 0x78]
fsub qword [ebp - 0x70]
fcomp qword [0x4ac88f]
fnstsw ax
test ah, 0x41
je 0x40ac46
mov eax, 1
jmp 0x40ac4b
mov eax, 0
test eax, eax
je 0x40acb5
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.004027ec
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40ac73
push 4
call fcn.004125ba
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40ac86
push 1
call fcn.004125ba
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
fild dword [ebp - 0x44]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
fild dword [ebx]
fstp qword [ebp - 0x5c]
fsub qword [ebp - 0x5c]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.0040280c
mov dword [ebp - 0x44], eax
jmp 0x40acbd
pop eax
pop ebx
pop ecx
jmp 0x40ab2d
add esp, 0xc
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
cmp dword [ebp - 0x24], eax
jle 0x40ace1
jmp 0x40cdd8
push 0x80000301
push 0
push 0x20
push 1
mov ebx, 0x413e60
call fcn.004125c0
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40ad16
push ebx
call fcn.004125ae
add esp, 4
pop eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], esp
push 0
push 0
push dword [ebp - 0x44]
push dword [ebp - 0x14]
mov eax, 0x1a
call fcn.004125c6
cmp dword [ebp - 0x4c], esp
je 0x40ad49
push 6
call fcn.004125ba
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 0x20
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x40ad6c
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 0x21
call fcn.004125c6
cmp dword [ebp - 0x4c], esp
je 0x40ad8c
push 6
call fcn.004125ba
add esp, 4
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0
cmp eax, ecx
jl 0x40adaa
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xb8
je 0x40adc0
jmp 0x40cdd8
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x4c], ebx
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x40]
test eax, eax
jne 0x40addc
mov eax, 0x4ac85e
push eax
push 1
mov ebx, 0x414130
call fcn.004125c0
add esp, 0x10
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 0x4c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40ae08
push ebx
call fcn.004125ae
add esp, 4
pop eax
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [0x4de49c]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp dword [ebx], 5
jne 0x40ae45
mov ebx, dword [0x4de49c]
add ebx, 8
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp dword [ebx], 0
jne 0x40ae45
mov eax, 1
jmp 0x40ae4a
mov eax, 0
test eax, eax
je 0x40b659
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 9
cmp eax, ecx
jl 0x40ae70
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xcd
jne 0x40aeb7
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0xa
cmp eax, ecx
jl 0x40ae9f
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x2e
jne 0x40aeb7
mov eax, 1
jmp 0x40aebc
mov eax, 0
test eax, eax
je 0x40b654
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40aef8
mov eax, 0x4ac85e
push eax
push 3
mov ebx, 0x413c40
call fcn.004125c0
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40af2c
and eax, 0xff
jmp 0x40af77
cmp ecx, 0x80000201
jne 0x40af37
cwde
jmp 0x40af77
cmp ecx, 0x80000301
je 0x40af77
cmp ecx, 0x80000401
je 0x40af77
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40af67
cmp ecx, 0x80000601
je 0x40af6c
push 2
call fcn.004125ba
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40af72
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0xb
cmp eax, ecx
jl 0x40af9a
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40b11e
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0xd
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40afdf
mov eax, 0x4ac85e
push eax
push 3
mov ebx, 0x413c40
call fcn.004125c0
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40b013
and eax, 0xff
jmp 0x40b05e
cmp ecx, 0x80000201
jne 0x40b01e
cwde
jmp 0x40b05e
cmp ecx, 0x80000301
je 0x40b05e
cmp ecx, 0x80000401
je 0x40b05e
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40b04e
cmp ecx, 0x80000601
je 0x40b053
push 2
call fcn.004125ba
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40b059
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4de4c4
push 4
mov eax, 2
call fcn.004125a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4de4c4]
mov dword [ebp - 0x50], ebx
call fcn.004027ec
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40b0aa
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.004125cc
add esp, 8
mov dword [0x4de4c4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40b106
push eax
mov ebx, eax
call fcn.00401104
inc eax
push eax
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40cdd8
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0xb
cmp eax, ecx
jl 0x40b13c
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x40b21a
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
push 0x4de4c4
push 4
mov eax, 2
call fcn.004125a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4de4c4]
mov dword [ebp - 0x50], ebx
call fcn.004027ec
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40b1a6
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.004125cc
add esp, 8
mov dword [0x4de4c4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40b202
push eax
mov ebx, eax
call fcn.00401104
inc eax
push eax
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40cdd8
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0xb
cmp eax, ecx
jl 0x40b238
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xe9
jne 0x40b654
push 0x80000301
push 0
push 0xd
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40b274
mov eax, 0x4ac85e
push eax
push 3
mov ebx, 0x413c40
call fcn.004125c0
add esp, 0x28
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
fild dword [ebp - 0x44]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
cmp ecx, 0x80000101
jne 0x40b2b1
and eax, 0xff
jmp 0x40b2d7
cmp ecx, 0x80000201
jne 0x40b2bc
cwde
jmp 0x40b2d7
mov dword [ebp - 0x64], eax
cmp ecx, 0x80000301
je 0x40b2da
cmp ecx, 0x80000401
jne 0x40b2df
mov dword [ebp - 0x60], edx
fild qword [ebp - 0x64]
jmp 0x40b301
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
jmp 0x40b301
cmp ecx, 0x80000501
jne 0x40b2ec
fld dword [ebp - 0x64]
jmp 0x40b301
cmp ecx, 0x80000601
je 0x40b30a
push 2
call fcn.004125ba
add esp, 4
fstp qword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
fadd qword [ebp - 0x64]
fadd qword [0x4aca11]
fstp qword [ebp - 0x6c]
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0x80000004
je 0x40b333
cmp ecx, reloc.WS2_32.dll_getpeername
jne 0x40b343
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x40b343
push ebx
call fcn.004125ae
add esp, 4
mov dword [ebp - 0x70], esp
push 0
push 0
fld qword [ebp - 0x6c]
call fcn.0040280c
push eax
push dword [ebp - 0x14]
mov eax, 0x1a
call fcn.004125c6
cmp dword [ebp - 0x70], esp
je 0x40b378
push 6
call fcn.004125ba
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 3
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x40b39b
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 0x21
call fcn.004125c6
cmp dword [ebp - 0x4c], esp
je 0x40b3bb
push 6
call fcn.004125ba
add esp, 4
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0
cmp eax, ecx
jl 0x40b3d9
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40b55d
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40b41e
mov eax, 0x4ac85e
push eax
push 3
mov ebx, 0x413c40
call fcn.004125c0
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40b452
and eax, 0xff
jmp 0x40b49d
cmp ecx, 0x80000201
jne 0x40b45d
cwde
jmp 0x40b49d
cmp ecx, 0x80000301
je 0x40b49d
cmp ecx, 0x80000401
je 0x40b49d
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40b48d
cmp ecx, 0x80000601
je 0x40b492
push 2
call fcn.004125ba
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40b498
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4de4c4
push 4
mov eax, 2
call fcn.004125a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4de4c4]
mov dword [ebp - 0x50], ebx
call fcn.004027ec
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40b4e9
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.004125cc
add esp, 8
mov dword [0x4de4c4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40b545
push eax
mov ebx, eax
call fcn.00401104
inc eax
push eax
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40cdd8
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0
cmp eax, ecx
jl 0x40b57b
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x40b654
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
push 0x4de4c4
push 4
mov eax, 2
call fcn.004125a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4de4c4]
mov dword [ebp - 0x50], ebx
call fcn.004027ec
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40b5e5
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.004125cc
add esp, 8
mov dword [0x4de4c4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40b641
push eax
mov ebx, eax
call fcn.00401104
inc eax
push eax
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40cdd8
jmp 0x40cdd8
mov ebx, dword [0x4de49c]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp dword [ebx], 0
je 0x40c9a6
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40b6a5
mov eax, 0x4ac85e
push eax
push 3
mov ebx, 0x413c40
call fcn.004125c0
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40b6d9
and eax, 0xff
jmp 0x40b724
cmp ecx, 0x80000201
jne 0x40b6e4
cwde
jmp 0x40b724
cmp ecx, 0x80000301
je 0x40b724
cmp ecx, 0x80000401
je 0x40b724
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40b714
cmp ecx, 0x80000601
je 0x40b719
push 2
call fcn.004125ba
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40b71f
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 5
cmp eax, ecx
jl 0x40b76b
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x8d
jne 0x40b7e1
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 9
cmp eax, ecx
jl 0x40b79a
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xb9
jne 0x40b7e1
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0xe
cmp eax, ecx
jl 0x40b7c9
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x40b7e1
mov eax, 1
jmp 0x40b7e6
mov eax, 0
test eax, eax
je 0x40bb44
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0xb
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40b822
mov eax, 0x4ac85e
push eax
push 3
mov ebx, 0x413c40
call fcn.004125c0
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40b856
and eax, 0xff
jmp 0x40b8a1
cmp ecx, 0x80000201
jne 0x40b861
cwde
jmp 0x40b8a1
cmp ecx, 0x80000301
je 0x40b8a1
cmp ecx, 0x80000401
je 0x40b8a1
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40b891
cmp ecx, 0x80000601
je 0x40b896
push 2
call fcn.004125ba
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40b89c
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0x15
cmp eax, ecx
jl 0x40b8c4
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40ba48
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40b909
mov eax, 0x4ac85e
push eax
push 3
mov ebx, 0x413c40
call fcn.004125c0
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40b93d
and eax, 0xff
jmp 0x40b988
cmp ecx, 0x80000201
jne 0x40b948
cwde
jmp 0x40b988
cmp ecx, 0x80000301
je 0x40b988
cmp ecx, 0x80000401
je 0x40b988
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40b978
cmp ecx, 0x80000601
je 0x40b97d
push 2
call fcn.004125ba
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40b983
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4de4c4
push 4
mov eax, 2
call fcn.004125a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4de4c4]
mov dword [ebp - 0x50], ebx
call fcn.004027ec
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40b9d4
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.004125cc
add esp, 8
mov dword [0x4de4c4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40ba30
push eax
mov ebx, eax
call fcn.00401104
inc eax
push eax
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40cdd8
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0x15
cmp eax, ecx
jl 0x40ba66
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x40bb32
push 0x4de4c4
push 4
mov eax, 2
call fcn.004125a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4de4c4]
mov dword [ebp - 0x50], ebx
call fcn.004027ec
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40babe
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.004125cc
add esp, 8
mov dword [0x4de4c4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40bb1a
push eax
mov ebx, eax
call fcn.00401104
inc eax
push eax
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40cdd8
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 5
cmp eax, ecx
jl 0x40bb62
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x8d
jne 0x40bbd8
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 9
cmp eax, ecx
jl 0x40bb91
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x33
jne 0x40bbd8
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0xe
cmp eax, ecx
jl 0x40bbc0
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x40bbd8
mov eax, 1
jmp 0x40bbdd
mov eax, 0
test eax, eax
je 0x40beac
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0x12
cmp eax, ecx
jl 0x40bc03
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40bd87
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x14
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40bc48
mov eax, 0x4ac85e
push eax
push 3
mov ebx, 0x413c40
call fcn.004125c0
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40bc7c
and eax, 0xff
jmp 0x40bcc7
cmp ecx, 0x80000201
jne 0x40bc87
cwde
jmp 0x40bcc7
cmp ecx, 0x80000301
je 0x40bcc7
cmp ecx, 0x80000401
je 0x40bcc7
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40bcb7
cmp ecx, 0x80000601
je 0x40bcbc
push 2
call fcn.004125ba
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40bcc2
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4de4c4
push 4
mov eax, 2
call fcn.004125a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4de4c4]
mov dword [ebp - 0x50], ebx
call fcn.004027ec
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40bd13
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.004125cc
add esp, 8
mov dword [0x4de4c4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40bd6f
push eax
mov ebx, eax
call fcn.00401104
inc eax
push eax
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40cdd8
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0x15
cmp eax, ecx
jl 0x40bda5
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x40bde9
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0x12
cmp eax, ecx
jl 0x40bdd4
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x40bde9
xor eax, eax
jmp 0x40bdee
mov eax, 1
test eax, eax
je 0x40beac
push 0x4de4c4
push 4
mov eax, 2
call fcn.004125a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4de4c4]
mov dword [ebp - 0x50], ebx
call fcn.004027ec
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40be3d
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.004125cc
add esp, 8
mov dword [0x4de4c4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40be99
push eax
mov ebx, eax
call fcn.00401104
inc eax
push eax
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40cdd8
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 5
cmp eax, ecx
jl 0x40beca
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xb9
jne 0x40bf40
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0xa
cmp eax, ecx
jl 0x40bef9
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x8d
jne 0x40bf40
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0xe
cmp eax, ecx
jl 0x40bf28
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x40bf40
mov eax, 1
jmp 0x40bf45
mov eax, 0
test eax, eax
je 0x40c485
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 7
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40bf81
mov eax, 0x4ac85e
push eax
push 3
mov ebx, 0x413c40
call fcn.004125c0
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40bfb5
and eax, 0xff
jmp 0x40c000
cmp ecx, 0x80000201
jne 0x40bfc0
cwde
jmp 0x40c000
cmp ecx, 0x80000301
je 0x40c000
cmp ecx, 0x80000401
je 0x40c000
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40bff0
cmp ecx, 0x80000601
je 0x40bff5
push 2
call fcn.004125ba
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40bffb
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0x18
cmp eax, ecx
jl 0x40c023
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40c1a7
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x1a
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40c068
mov eax, 0x4ac85e
push eax
push 3
mov ebx, 0x413c40
call fcn.004125c0
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40c09c
and eax, 0xff
jmp 0x40c0e7
cmp ecx, 0x80000201
jne 0x40c0a7
cwde
jmp 0x40c0e7
cmp ecx, 0x80000301
je 0x40c0e7
cmp ecx, 0x80000401
je 0x40c0e7
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40c0d7
cmp ecx, 0x80000601
je 0x40c0dc
push 2
call fcn.004125ba
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40c0e2
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4de4c4
push 4
mov eax, 2
call fcn.004125a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4de4c4]
mov dword [ebp - 0x50], ebx
call fcn.004027ec
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c133
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.004125cc
add esp, 8
mov dword [0x4de4c4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40c18f
push eax
mov ebx, eax
call fcn.00401104
inc eax
push eax
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40cdd8
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0x15
cmp eax, ecx
jl 0x40c1c5
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40c349
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40c20a
mov eax, 0x4ac85e
push eax
push 3
mov ebx, 0x413c40
call fcn.004125c0
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40c23e
and eax, 0xff
jmp 0x40c289
cmp ecx, 0x80000201
jne 0x40c249
cwde
jmp 0x40c289
cmp ecx, 0x80000301
je 0x40c289
cmp ecx, 0x80000401
je 0x40c289
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40c279
cmp ecx, 0x80000601
je 0x40c27e
push 2
call fcn.004125ba
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40c284
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4de4c4
push 4
mov eax, 2
call fcn.004125a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4de4c4]
mov dword [ebp - 0x50], ebx
call fcn.004027ec
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c2d5
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.004125cc
add esp, 8
mov dword [0x4de4c4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40c331
push eax
mov ebx, eax
call fcn.00401104
inc eax
push eax
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40cdd8
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0x18
cmp eax, ecx
jl 0x40c367
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x40c3ab
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0x15
cmp eax, ecx
jl 0x40c396
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x40c3ab
xor eax, eax
jmp 0x40c3b0
mov eax, 1
test eax, eax
je 0x40c473
push 0x4de4c4
push 4
mov eax, 2
call fcn.004125a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4de4c4]
mov dword [ebp - 0x50], ebx
call fcn.004027ec
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c3ff
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.004125cc
add esp, 8
mov dword [0x4de4c4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40c45b
push eax
mov ebx, eax
call fcn.00401104
inc eax
push eax
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40cdd8
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 5
cmp eax, ecx
jl 0x40c4a3
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x33
jne 0x40c519
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 7
cmp eax, ecx
jl 0x40c4d2
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x8d
jne 0x40c519
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0xb
cmp eax, ecx
jl 0x40c501
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x40c519
mov eax, 1
jmp 0x40c51e
mov eax, 0
test eax, eax
je 0x40c9a1
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0x15
cmp eax, ecx
jl 0x40c556
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40c6da
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40c59b
mov eax, 0x4ac85e
push eax
push 3
mov ebx, 0x413c40
call fcn.004125c0
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40c5cf
and eax, 0xff
jmp 0x40c61a
cmp ecx, 0x80000201
jne 0x40c5da
cwde
jmp 0x40c61a
cmp ecx, 0x80000301
je 0x40c61a
cmp ecx, 0x80000401
je 0x40c61a
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40c60a
cmp ecx, 0x80000601
je 0x40c60f
push 2
call fcn.004125ba
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40c615
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4de4c4
push 4
mov eax, 2
call fcn.004125a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4de4c4]
mov dword [ebp - 0x50], ebx
call fcn.004027ec
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c666
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.004125cc
add esp, 8
mov dword [0x4de4c4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40c6c2
push eax
mov ebx, eax
call fcn.00401104
inc eax
push eax
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40cdd8
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0x12
cmp eax, ecx
jl 0x40c6f8
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40c87c
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0x14
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40c73d
mov eax, 0x4ac85e
push eax
push 3
mov ebx, 0x413c40
call fcn.004125c0
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40c771
and eax, 0xff
jmp 0x40c7bc
cmp ecx, 0x80000201
jne 0x40c77c
cwde
jmp 0x40c7bc
cmp ecx, 0x80000301
je 0x40c7bc
cmp ecx, 0x80000401
je 0x40c7bc
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40c7ac
cmp ecx, 0x80000601
je 0x40c7b1
push 2
call fcn.004125ba
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40c7b7
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4de4c4
push 4
mov eax, 2
call fcn.004125a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4de4c4]
mov dword [ebp - 0x50], ebx
call fcn.004027ec
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c808
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.004125cc
add esp, 8
mov dword [0x4de4c4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40c864
push eax
mov ebx, eax
call fcn.00401104
inc eax
push eax
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40cdd8
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0x15
cmp eax, ecx
jl 0x40c89a
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x40c8de
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0x12
cmp eax, ecx
jl 0x40c8c9
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x40c8de
xor eax, eax
jmp 0x40c8e3
mov eax, 1
test eax, eax
je 0x40c9a1
push 0x4de4c4
push 4
mov eax, 2
call fcn.004125a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4de4c4]
mov dword [ebp - 0x50], ebx
call fcn.004027ec
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40c932
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.004125cc
add esp, 8
mov dword [0x4de4c4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40c98e
push eax
mov ebx, eax
call fcn.00401104
inc eax
push eax
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40cdd8
jmp 0x40cdd8
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 5
cmp eax, ecx
jl 0x40c9c4
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xba
jne 0x40ca0b
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0xa
cmp eax, ecx
jl 0x40c9f3
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xff
jne 0x40ca0b
mov eax, 1
jmp 0x40ca10
mov eax, 0
test eax, eax
je 0x40cdd8
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0xb
cmp eax, ecx
jl 0x40ca36
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x12
je 0x40ca7a
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0xb
cmp eax, ecx
jl 0x40ca65
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xd2
je 0x40ca7a
xor eax, eax
jmp 0x40ca7f
mov eax, 1
test eax, eax
je 0x40cdd8
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40cabb
mov eax, 0x4ac85e
push eax
push 3
mov ebx, 0x413c40
call fcn.004125c0
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40caef
and eax, 0xff
jmp 0x40cb3a
cmp ecx, 0x80000201
jne 0x40cafa
cwde
jmp 0x40cb3a
cmp ecx, 0x80000301
je 0x40cb3a
cmp ecx, 0x80000401
je 0x40cb3a
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40cb2a
cmp ecx, 0x80000601
je 0x40cb2f
push 2
call fcn.004125ba
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40cb35
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0xc
cmp eax, ecx
jl 0x40cb5d
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40cce1
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0xe
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40cba2
mov eax, 0x4ac85e
push eax
push 3
mov ebx, 0x413c40
call fcn.004125c0
add esp, 0x28
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
cmp ecx, 0x80000101
jne 0x40cbd6
and eax, 0xff
jmp 0x40cc21
cmp ecx, 0x80000201
jne 0x40cbe1
cwde
jmp 0x40cc21
cmp ecx, 0x80000301
je 0x40cc21
cmp ecx, 0x80000401
je 0x40cc21
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40cc11
cmp ecx, 0x80000601
je 0x40cc16
push 2
call fcn.004125ba
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40cc1c
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.0040280c
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4de4c4
push 4
mov eax, 2
call fcn.004125a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4de4c4]
mov dword [ebp - 0x50], ebx
call fcn.004027ec
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40cc6d
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.004125cc
add esp, 8
mov dword [0x4de4c4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40ccc9
push eax
mov ebx, eax
call fcn.00401104
inc eax
push eax
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40cdd8
mov ebx, dword [ebp - 0x48]
call fcn.004027ec
mov eax, 0xc
cmp eax, ecx
jl 0x40ccff
push 1
call fcn.004125ba
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x40cdd8
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
push 0x4de4c4
push 4
mov eax, 2
call fcn.004125a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4de4c4]
mov dword [ebp - 0x50], ebx
call fcn.004027ec
mov dword [ebp - 0x54], ecx
mov edi, dword [ebp - 0x50]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40cd69
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x54]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x50]
call fcn.004125cc
add esp, 8
mov dword [0x4de4c4], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x54]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x4c]
push edi
push eax
push 0x14
call fcn.004125b4
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40cdc5
push eax
mov ebx, eax
call fcn.00401104
inc eax
push eax
call fcn.004125b4
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x40cdd8
pop eax
pop ebx
pop ecx
jmp 0x40a865
add esp, 0xc
mov dword [ebp - 0x4c], esp
push dword [ebp - 0x14]
mov eax, 0x22
call fcn.004125c6
cmp dword [ebp - 0x4c], esp
je 0x40ce05
push 6
call fcn.004125ba
add esp, 4
mov dword [ebp - 0x4c], esp
push dword [ebp - 0x10]
mov eax, 0x23
call fcn.004125c6
cmp dword [ebp - 0x4c], esp
je 0x40ce27
push 6
call fcn.004125ba
add esp, 4
pop ebx
pop ecx
jmp 0x408d26
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40ce41
push ebx
call fcn.004125ae
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40ce58
push ebx
call fcn.004125ae
add esp, 4
pop ebx
call fcn.004125ae
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40ce71
push ebx
call fcn.004125ae
add esp, 4
mov ebx, dword [ebp - 0x18]
push ebx
add ebx, 0x38
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004125ae
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004125ae
add esp, 4
pop ebx
call fcn.004125ae
add esp, 4
mov ebx, dword [ebp - 0x1c]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004125ae
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 0x78
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004125ae
add esp, 4
pop ebx
call fcn.004125ae
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40cef2
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40ceee
imul eax, dword [ebx]
jmp 0x40cee3
mov ecx, eax
test ecx, ecx
je 0x40cf1a
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004125ae
add esp, 4
pop ebx
call fcn.004125ae
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40cef8
call fcn.004125ae
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004125ae
add esp, 4
pop ebx
call fcn.004125ae
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004125ae
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 0x78
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004125ae
add esp, 4
pop ebx
call fcn.004125ae
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40cf90
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40cf8c
imul eax, dword [ebx]
jmp 0x40cf81
mov ecx, eax
test ecx, ecx
je 0x40cfb8
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004125ae
add esp, 4
pop ebx
call fcn.004125ae
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40cf96
call fcn.004125ae
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004125ae
add esp, 4
pop ebx
call fcn.004125ae
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
call fcn.004125ae
add esp, 4
mov ebx, dword [ebp - 0x34]
push ebx
call fcn.004125ae
add esp, 4
mov ebx, dword [ebp - 0x38]
push ebx
call fcn.004125ae
add esp, 4
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.004125ae
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40d019
push ebx
call fcn.004125ae
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40d029
push ebx
call fcn.004125ae
add esp, 4
mov esp, ebp
pop ebp
ret