Function at 0x4085d3
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.004337f5
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.004337f5
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.004337f5
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4a5745
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.004337f5
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4a5863
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.004337f5
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.004337f5
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.004337f5
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.004337f5
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.004337f5
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4a586b
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.004337f5
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.004337f5
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4a572d
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 0x40872a
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.004337f5
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4a586b
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.004337f5
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.004337f5
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.004337f5
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.004337f5
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.004337f5
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4a586b
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.004337f5
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.004337f5
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4a572d
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 0x408848
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.004337f5
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4a586b
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 0x28
call fcn.004337f5
add esp, 4
mov dword [ebp - 0x30], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xa
rep stosd dword es:[edi], eax
push 8
call fcn.004337f5
add esp, 4
mov dword [ebp - 0x34], eax
mov edi, eax
mov esi, 0x4a0cd2
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.004337f5
add esp, 4
mov dword [ebp - 0x38], eax
mov edi, eax
mov esi, 0x4a0cd2
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.004337f5
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x4a0cd2
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 [0x4c71e8]
call fcn.00401f4a
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jne 0x40d168
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x40d165
cmp dword [ebp - 4], 1
jne 0x4089c9
mov eax, 0x4a5817
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.004076fa
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x4089ac
push ebx
call fcn.004337ef
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4089c0
push ebx
call fcn.004337ef
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x408a64
cmp dword [ebp - 4], 2
jne 0x408a14
mov eax, 0x4a5828
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.004076fa
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x4089f7
push ebx
call fcn.004337ef
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x408a0b
push ebx
call fcn.004337ef
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x408a64
cmp dword [ebp - 4], 3
jne 0x408a5f
mov eax, 0x4a583a
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.004076fa
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x408a42
push ebx
call fcn.004337ef
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x408a56
push ebx
call fcn.004337ef
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x408a64
jmp 0x40d168
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, 0x4356e0
call fcn.00433807
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x408aa1
push ebx
call fcn.004337ef
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
call fcn.0040d364
mov dword [ebp - 0x4c], eax
push dword [ebp - 8]
push 0x4a57b5
push dword [ebp - 0x4c]
mov ecx, 3
call fcn.00401ee6
add esp, 0xc
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x408ad8
push ebx
call fcn.004337ef
add esp, 4
mov dword [ebp - 0x54], esp
push 0
push dword [ebp - 0x10]
push dword [ebp - 0x50]
mov eax, 0xa
call fcn.00433801
cmp dword [ebp - 0x54], esp
je 0x408b02
push 6
call fcn.004337fb
add esp, 4
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x408b12
push ebx
call fcn.004337ef
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, 0xb
call fcn.00433801
cmp dword [ebp - 0x4c], esp
je 0x408b52
push 6
call fcn.004337fb
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x40d11a
mov dword [ebp - 0x4c], esp
push 0
push 0
push 0
push dword [ebp - 0x14]
mov eax, 0xc
call fcn.00433801
cmp dword [ebp - 0x4c], esp
je 0x408b90
push 6
call fcn.004337fb
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.004337f5
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, 0xd
call fcn.00433801
cmp dword [ebp - 0x4c], esp
je 0x408ccd
push 6
call fcn.004337fb
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.004337e9
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 0x408d9e
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x408d9c
imul eax, dword [edi]
jmp 0x408d91
mov ecx, eax
cmp ecx, 4
jle 0x408da8
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.004337e9
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 0x408dfb
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x408df9
imul eax, dword [edi]
jmp 0x408dee
mov ecx, eax
cmp ecx, 0xa
jle 0x408e05
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.004337ef
add esp, 4
pop eax
test eax, eax
je 0x408e49
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
cmp word [ebx], 0x5a4d
jne 0x408e49
mov eax, 1
jmp 0x408e4b
xor eax, eax
test eax, eax
je 0x40d11a
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, 0xc
call fcn.00433801
cmp dword [ebp - 0x50], esp
je 0x408e8d
push 6
call fcn.004337fb
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
push 0x14
call fcn.004337f5
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.004337f5
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.004337f5
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.004337f5
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.00401f63
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.004337f5
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 0x408f6e
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x28
call fcn.004337f5
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.00401f63
pop eax
sub ebx, eax
add ecx, ebx
push ecx
call fcn.004337f5
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 0x408f24
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.00401f63
pop eax
sub ebx, eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.004337f5
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.004337ef
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.004337ef
add esp, 4
pop ebx
call fcn.004337ef
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 0x408feb
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x408fe7
imul eax, dword [ebx]
jmp 0x408fdc
mov ecx, eax
test ecx, ecx
je 0x409013
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004337ef
add esp, 4
pop ebx
call fcn.004337ef
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x408ff1
call fcn.004337ef
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004337ef
add esp, 4
pop ebx
call fcn.004337ef
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.004337f5
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 0x409354
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, 0xe
call fcn.00433801
cmp dword [ebp - 0x4c], esp
je 0x40940f
push 6
call fcn.004337fb
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.004337e9
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 0x40974b
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x409749
imul eax, dword [edi]
jmp 0x40973e
mov ecx, eax
cmp ecx, 8
jle 0x409755
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 0x409717
pop edi
add edi, 4
push ebx
push edi
push 4
mov eax, 2
call fcn.004337e9
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 0x409803
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x409801
imul eax, dword [edi]
jmp 0x4097f6
mov ecx, eax
cmp ecx, 0x80
jle 0x409810
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.004337ef
add esp, 4
pop eax
test eax, eax
je 0x40984c
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
cmp dword [ebx], 0x4550
jne 0x40984c
mov eax, 1
jmp 0x40984e
xor eax, eax
test eax, eax
je 0x40d11a
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 0x40988b
push 0xa
call fcn.004337fb
add esp, 4
mov dword [ebp - 0x54], eax
lea ebx, [ebp - 0x58]
call fcn.00401f63
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.004337f5
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.00401f63
pop edx
test ecx, ecx
je 0x4098f2
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004337ef
add esp, 4
pop ebx
call fcn.004337ef
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4098ce
pop edx
pop edi
test edx, edx
je 0x409944
mov ebx, edi
push edx
push ebx
push 0x28
call fcn.004337f5
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.004337f5
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4a572d
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 0x4098fc
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
call fcn.004337ef
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 0x40998c
push 0xa
call fcn.004337fb
add esp, 4
mov dword [ebp - 0x54], eax
lea ebx, [ebp - 0x58]
call fcn.00401f63
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.004337f5
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.00401f63
pop edx
test edx, edx
je 0x4099d3
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
call fcn.004337ef
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 [0x4a584b]
fstp qword [ebp - 0x5c]
mov dword [ebp - 0x60], esp
push 1
push 0
fld qword [ebp - 0x5c]
call fcn.004025a8
push eax
push dword [ebp - 0x14]
mov eax, 0xc
call fcn.00433801
cmp dword [ebp - 0x60], esp
je 0x409a43
push 6
call fcn.004337fb
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 [0x4a5853]
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.004025a8
push eax
mov ebx, dword [ebp - 0x4c]
mov ebx, dword [ebx]
call fcn.00401f63
push ebx
mov dword [ebp - 0x6c], ecx
test ecx, ecx
jne 0x409aa7
xor eax, eax
jmp 0x409ab3
imul ecx, ecx, 0x28
push ecx
call fcn.004337f5
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 0x409b56
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 0x409b56
add ebx, 4
add edi, 0x28
jmp 0x409ac8
push dword [ebp - 0x14]
mov eax, 0xf
call fcn.00433801
cmp dword [ebp - 0x64], esp
je 0x409b75
push 6
call fcn.004337fb
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 0x409c45
push ecx
push edi
push ebx
mov edi, dword [edi]
push ebx
push edi
push 1
mov eax, 2
call fcn.004337e9
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, 8
jle 0x409bc6
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 0x409c45
add ebx, 0x28
add edi, 4
jmp 0x409b88
call fcn.004337ef
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 0x409d61
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.00401f63
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x409c98
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x409cab
push 1
call fcn.004337fb
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.00401f63
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x409cd3
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x409ce6
push 1
call fcn.004337fb
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.00401f63
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x409d13
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x409d26
push 1
call fcn.004337fb
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.004025a8
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
pop eax
pop ebx
pop ecx
jmp 0x409c6a
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 0x409f15
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00401f63
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x409dc2
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x409dd5
push 1
call fcn.004337fb
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 0x409ead
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00401f63
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x409e10
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x409e23
push 1
call fcn.004337fb
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.00401f63
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x409e50
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x409e63
push 1
call fcn.004337fb
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 [0x4a585b]
fnstsw ax
test ah, 0x41
je 0x409ead
mov eax, 1
jmp 0x409eaf
xor eax, eax
test eax, eax
je 0x409f0d
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.00401f63
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x409ed7
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x409eea
push 1
call fcn.004337fb
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
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
call fcn.00408029
mov dword [ebp - 0x28], eax
jmp 0x409f15
pop eax
pop ebx
pop ecx
jmp 0x409d94
add esp, 0xc
cmp dword [ebp - 0x28], 0
jle 0x40d11a
mov dword [ebp - 0x4c], esp
push 0
push 0
push dword [ebp - 0x28]
push dword [ebp - 0x14]
mov eax, 0xc
call fcn.00433801
cmp dword [ebp - 0x4c], esp
je 0x409f51
push 6
call fcn.004337fb
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
push dword [ebp - 0x30]
push dword [ebp - 0x14]
mov eax, 0x10
call fcn.00433801
cmp dword [ebp - 0x4c], esp
je 0x409f8c
push 6
call fcn.004337fb
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x50], ebx
push dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x50]
push dword [ebx]
call fcn.00408029
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x14
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x54], 1
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp eax, 0
jge 0x409fd7
push 0xa
call fcn.004337fb
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.00401f63
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.004337f5
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.00401f63
pop edx
test edx, edx
je 0x40a01c
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
push dword [ebp - 0x34]
call fcn.004337ef
add esp, 4
pop eax
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
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, 0xc
call fcn.00433801
cmp dword [ebp - 0x50], esp
je 0x40a065
push 6
call fcn.004337fb
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x14
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
fild dword [ebx]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fmul qword [0x4a5715]
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.004025a8
push eax
mov ebx, dword [ebp - 0x34]
call fcn.00401f63
push ebx
push dword [ebp - 0x14]
mov eax, 0x11
call fcn.00433801
cmp dword [ebp - 0x60], esp
je 0x40a0c7
push 6
call fcn.004337fb
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
push dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x50]
push dword [ebx]
call fcn.00408029
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 0x40a112
push 0xa
call fcn.004337fb
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.00401f63
push ecx
shl ecx, 1
add ecx, 8
push ecx
call fcn.004337f5
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.00401f63
pop edx
test edx, edx
je 0x40a158
mov ecx, edx
xor eax, eax
shl ecx, 1
rep stosb byte es:[edi], al
push dword [ebp - 0x38]
call fcn.004337ef
add esp, 4
pop eax
mov dword [ebp - 0x38], 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, 0xc
call fcn.00433801
cmp dword [ebp - 0x50], esp
je 0x40a1a1
push 6
call fcn.004337fb
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 [0x4a57cb]
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.004025a8
push eax
mov ebx, dword [ebp - 0x38]
call fcn.00401f63
push ebx
push dword [ebp - 0x14]
mov eax, 0x12
call fcn.00433801
cmp dword [ebp - 0x60], esp
je 0x40a203
push 6
call fcn.004337fb
add esp, 4
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
push dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x50]
push dword [ebx]
call fcn.00408029
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 0x40a24e
push 0xa
call fcn.004337fb
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.00401f63
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.004337f5
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.00401f63
pop edx
test edx, edx
je 0x40a293
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
push dword [ebp - 0x3c]
call fcn.004337ef
add esp, 4
pop eax
mov dword [ebp - 0x3c], 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, 0xc
call fcn.00433801
cmp dword [ebp - 0x50], esp
je 0x40a2dc
push 6
call fcn.004337fb
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 [0x4a5715]
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.004025a8
push eax
mov ebx, dword [ebp - 0x3c]
call fcn.00401f63
push ebx
push dword [ebp - 0x14]
mov eax, 0x11
call fcn.00433801
cmp dword [ebp - 0x60], esp
je 0x40a33e
push 6
call fcn.004337fb
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x18
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 0x40d117
push 0x80000301
push 0
push 0x80
push 1
mov ebx, 0x4350f0
call fcn.00433807
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40a398
push ebx
call fcn.004337ef
add esp, 4
pop eax
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
call fcn.00401f63
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a3b9
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a3cc
push 1
call fcn.004337fb
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x3c]
call fcn.00401f63
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a3f1
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a404
push 1
call fcn.004337fb
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x50], ebx
push dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x50]
push dword [ebx]
call fcn.00408029
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x3c]
call fcn.00401f63
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a43b
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a44e
push 1
call fcn.004337fb
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, 0xc
call fcn.00433801
cmp dword [ebp - 0x50], esp
je 0x40a487
push 6
call fcn.004337fb
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 0x40a4aa
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 0x13
call fcn.00433801
cmp dword [ebp - 0x4c], esp
je 0x40a4ca
push 6
call fcn.004337fb
add esp, 4
cmp dword [ebp - 4], 1
jne 0x40a548
mov ebx, dword [ebp - 0x40]
call fcn.00401f63
mov eax, 0
cmp eax, ecx
jl 0x40a4f2
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x5a
jne 0x40a536
mov ebx, dword [ebp - 0x40]
call fcn.00401f63
mov eax, 1
cmp eax, ecx
jl 0x40a521
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x77
jne 0x40a536
xor eax, eax
jmp 0x40a53b
mov eax, 1
test eax, eax
je 0x40a548
jmp 0x40d10f
mov ebx, dword [ebp - 0x34]
call fcn.00401f63
push ebx
push ecx
mov ebx, dword [ebp - 0x38]
call fcn.00401f63
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a56f
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a582
push 1
call fcn.004337fb
add esp, 4
shl eax, 1
add ebx, eax
mov dword [ebp - 0x4c], ebx
push 1
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
push eax
call fcn.00407966
dec eax
jns 0x40a5ab
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a5be
push 1
call fcn.004337fb
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x40a5dd
jmp 0x40d10f
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 0x40a774
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00401f63
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a627
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a63a
push 1
call fcn.004337fb
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 0x40a712
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00401f63
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a675
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a688
push 1
call fcn.004337fb
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.00401f63
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a6b5
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a6c8
push 1
call fcn.004337fb
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 [0x4a585b]
fnstsw ax
test ah, 0x41
je 0x40a712
mov eax, 1
jmp 0x40a714
xor eax, eax
test eax, eax
je 0x40a76c
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.00401f63
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40a73c
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a74f
push 1
call fcn.004337fb
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x44]
call fcn.00408029
mov dword [ebp - 0x44], eax
jmp 0x40a774
pop eax
pop ebx
pop ecx
jmp 0x40a5f9
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 0x40a798
jmp 0x40d10f
push 0x80000301
push 0
push 0x20
push 1
mov ebx, 0x4350f0
call fcn.00433807
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40a7cd
push ebx
call fcn.004337ef
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, 0xc
call fcn.00433801
cmp dword [ebp - 0x4c], esp
je 0x40a800
push 6
call fcn.004337fb
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 0x40a823
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 0x13
call fcn.00433801
cmp dword [ebp - 0x4c], esp
je 0x40a843
push 6
call fcn.004337fb
add esp, 4
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0
cmp eax, ecx
jl 0x40a861
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xb8
je 0x40a877
jmp 0x40d10f
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 0x40a893
mov eax, 0x4a0cd2
push eax
push 1
mov ebx, 0x435430
call fcn.00433807
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 0x40a8bf
push ebx
call fcn.004337ef
add esp, 4
pop eax
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
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 - 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 0x40a90b
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
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 0x40a93f
and eax, 0xff
jmp 0x40a98a
cmp ecx, 0x80000201
jne 0x40a94a
cwde
jmp 0x40a98a
cmp ecx, 0x80000301
je 0x40a98a
cmp ecx, 0x80000401
je 0x40a98a
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40a97a
cmp ecx, 0x80000601
je 0x40a97f
push 2
call fcn.004337fb
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40a985
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004025a8
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [0x4c71ec]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp dword [ebx], 5
jne 0x40a9c6
mov ebx, dword [0x4c71ec]
add ebx, 8
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp dword [ebx], 0
jne 0x40a9c6
mov eax, 1
jmp 0x40a9c8
xor eax, eax
test eax, eax
je 0x40b0be
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 9
cmp eax, ecx
jl 0x40a9ee
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xcd
jne 0x40aa35
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xa
cmp eax, ecx
jl 0x40aa1d
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x2e
jne 0x40aa35
mov eax, 1
jmp 0x40aa37
xor eax, eax
test eax, eax
je 0x40b0b9
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xb
cmp eax, ecx
jl 0x40aa5d
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40abe1
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 0x40aaa2
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
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 0x40aad6
and eax, 0xff
jmp 0x40ab21
cmp ecx, 0x80000201
jne 0x40aae1
cwde
jmp 0x40ab21
cmp ecx, 0x80000301
je 0x40ab21
cmp ecx, 0x80000401
je 0x40ab21
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40ab11
cmp ecx, 0x80000601
je 0x40ab16
push 2
call fcn.004337fb
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40ab1c
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004025a8
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40ab6d
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40abc9
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xb
cmp eax, ecx
jl 0x40abff
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x40accb
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40ac57
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40acb3
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xb
cmp eax, ecx
jl 0x40ace9
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xe9
jne 0x40b0b9
push 0x10
push dword [ebp - 0x44]
call fcn.00407966
mov dword [ebp - 0x44], eax
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 0x40ad35
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
add esp, 0x28
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
cmp ecx, 0x80000101
jne 0x40ad69
and eax, 0xff
jmp 0x40adb4
cmp ecx, 0x80000201
jne 0x40ad74
cwde
jmp 0x40adb4
cmp ecx, 0x80000301
je 0x40adb4
cmp ecx, 0x80000401
je 0x40adb4
mov dword [ebp - 0x5c], eax
cmp ecx, 0x80000501
je 0x40ada4
cmp ecx, 0x80000601
je 0x40ada9
push 2
call fcn.004337fb
add esp, 4
fld dword [ebp - 0x5c]
jmp 0x40adaf
mov dword [ebp - 0x58], edx
fld qword [ebp - 0x5c]
call fcn.004025a8
push eax
push dword [ebp - 0x44]
call fcn.00407966
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], esp
push 0
push 0
push dword [ebp - 0x44]
push dword [ebp - 0x14]
mov eax, 0xc
call fcn.00433801
cmp dword [ebp - 0x4c], esp
je 0x40adef
push 6
call fcn.004337fb
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 0x40ae12
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 0x13
call fcn.00433801
cmp dword [ebp - 0x4c], esp
je 0x40ae32
push 6
call fcn.004337fb
add esp, 4
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0
cmp eax, ecx
jl 0x40ae50
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40afd4
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 0x40ae95
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
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 0x40aec9
and eax, 0xff
jmp 0x40af14
cmp ecx, 0x80000201
jne 0x40aed4
cwde
jmp 0x40af14
cmp ecx, 0x80000301
je 0x40af14
cmp ecx, 0x80000401
je 0x40af14
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40af04
cmp ecx, 0x80000601
je 0x40af09
push 2
call fcn.004337fb
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40af0f
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004025a8
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40af60
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40afbc
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0
cmp eax, ecx
jl 0x40aff2
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x40b0b9
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40b04a
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40b0a6
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
jmp 0x40d10f
mov ebx, dword [0x4c71ec]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp dword [ebx], 0
je 0x40c9cc
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.00401f63
mov eax, 5
cmp eax, ecx
jl 0x40b106
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x40b17c
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 6
cmp eax, ecx
jl 0x40b135
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xff
jne 0x40b17c
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 8
cmp eax, ecx
jl 0x40b164
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0xc0
jne 0x40b17c
mov eax, 1
jmp 0x40b17e
xor eax, eax
test eax, eax
je 0x40b40d
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xc
cmp eax, ecx
jl 0x40b1a4
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40b328
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 0x40b1e9
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
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 0x40b21d
and eax, 0xff
jmp 0x40b268
cmp ecx, 0x80000201
jne 0x40b228
cwde
jmp 0x40b268
cmp ecx, 0x80000301
je 0x40b268
cmp ecx, 0x80000401
je 0x40b268
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40b258
cmp ecx, 0x80000601
je 0x40b25d
push 2
call fcn.004337fb
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40b263
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004025a8
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40b2b4
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40b310
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xc
cmp eax, ecx
jl 0x40b346
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x40b40d
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40b39e
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40b3fa
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 5
cmp eax, ecx
jl 0x40b42b
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x33
jne 0x40b4a1
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 7
cmp eax, ecx
jl 0x40b45a
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x8d
jne 0x40b4a1
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xb
cmp eax, ecx
jl 0x40b489
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x40b4a1
mov eax, 1
jmp 0x40b4a3
xor eax, eax
test eax, eax
je 0x40b914
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0x12
cmp eax, ecx
jl 0x40b4c9
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x40b50d
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0x15
cmp eax, ecx
jl 0x40b4f8
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x40b50d
xor eax, eax
jmp 0x40b512
mov eax, 1
test eax, eax
je 0x40b5d5
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40b561
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40b5bd
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0x12
cmp eax, ecx
jl 0x40b5f3
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40b777
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 0x40b638
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
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 0x40b66c
and eax, 0xff
jmp 0x40b6b7
cmp ecx, 0x80000201
jne 0x40b677
cwde
jmp 0x40b6b7
cmp ecx, 0x80000301
je 0x40b6b7
cmp ecx, 0x80000401
je 0x40b6b7
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40b6a7
cmp ecx, 0x80000601
je 0x40b6ac
push 2
call fcn.004337fb
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40b6b2
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004025a8
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40b703
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40b75f
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0x15
cmp eax, ecx
jl 0x40b795
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40b914
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 0x40b7da
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
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 0x40b80e
and eax, 0xff
jmp 0x40b859
cmp ecx, 0x80000201
jne 0x40b819
cwde
jmp 0x40b859
cmp ecx, 0x80000301
je 0x40b859
cmp ecx, 0x80000401
je 0x40b859
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40b849
cmp ecx, 0x80000601
je 0x40b84e
push 2
call fcn.004337fb
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40b854
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004025a8
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40b8a5
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40b901
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 5
cmp eax, ecx
jl 0x40b932
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x8d
jne 0x40b9a8
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 9
cmp eax, ecx
jl 0x40b961
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x33
jne 0x40b9a8
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xb
cmp eax, ecx
jl 0x40b990
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x40b9a8
mov eax, 1
jmp 0x40b9aa
xor eax, eax
test eax, eax
je 0x40be1b
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0x12
cmp eax, ecx
jl 0x40b9d0
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x40ba14
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0x15
cmp eax, ecx
jl 0x40b9ff
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x40ba14
xor eax, eax
jmp 0x40ba19
mov eax, 1
test eax, eax
je 0x40badc
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40ba68
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40bac4
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0x12
cmp eax, ecx
jl 0x40bafa
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40bc7e
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 0x40bb3f
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
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 0x40bb73
and eax, 0xff
jmp 0x40bbbe
cmp ecx, 0x80000201
jne 0x40bb7e
cwde
jmp 0x40bbbe
cmp ecx, 0x80000301
je 0x40bbbe
cmp ecx, 0x80000401
je 0x40bbbe
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40bbae
cmp ecx, 0x80000601
je 0x40bbb3
push 2
call fcn.004337fb
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40bbb9
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004025a8
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40bc0a
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40bc66
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0x15
cmp eax, ecx
jl 0x40bc9c
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40be1b
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 0x40bce1
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
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 0x40bd15
and eax, 0xff
jmp 0x40bd60
cmp ecx, 0x80000201
jne 0x40bd20
cwde
jmp 0x40bd60
cmp ecx, 0x80000301
je 0x40bd60
cmp ecx, 0x80000401
je 0x40bd60
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40bd50
cmp ecx, 0x80000601
je 0x40bd55
push 2
call fcn.004337fb
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40bd5b
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004025a8
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40bdac
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40be08
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 5
cmp eax, ecx
jl 0x40be39
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xb9
jne 0x40beaf
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xa
cmp eax, ecx
jl 0x40be68
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x8d
jne 0x40beaf
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xe
cmp eax, ecx
jl 0x40be97
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x40beaf
mov eax, 1
jmp 0x40beb1
xor eax, eax
test eax, eax
je 0x40c3f1
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 0x40beed
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
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 0x40bf21
and eax, 0xff
jmp 0x40bf6c
cmp ecx, 0x80000201
jne 0x40bf2c
cwde
jmp 0x40bf6c
cmp ecx, 0x80000301
je 0x40bf6c
cmp ecx, 0x80000401
je 0x40bf6c
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40bf5c
cmp ecx, 0x80000601
je 0x40bf61
push 2
call fcn.004337fb
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40bf67
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004025a8
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0x15
cmp eax, ecx
jl 0x40bf8f
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x40bfd3
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0x18
cmp eax, ecx
jl 0x40bfbe
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x40bfd3
xor eax, eax
jmp 0x40bfd8
mov eax, 1
test eax, eax
je 0x40c09b
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40c027
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40c083
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0x15
cmp eax, ecx
jl 0x40c0b9
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40c23d
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 0x40c0fe
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
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 0x40c132
and eax, 0xff
jmp 0x40c17d
cmp ecx, 0x80000201
jne 0x40c13d
cwde
jmp 0x40c17d
cmp ecx, 0x80000301
je 0x40c17d
cmp ecx, 0x80000401
je 0x40c17d
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40c16d
cmp ecx, 0x80000601
je 0x40c172
push 2
call fcn.004337fb
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40c178
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004025a8
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40c1c9
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40c225
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0x18
cmp eax, ecx
jl 0x40c25b
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40c3df
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 0x40c2a0
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
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 0x40c2d4
and eax, 0xff
jmp 0x40c31f
cmp ecx, 0x80000201
jne 0x40c2df
cwde
jmp 0x40c31f
cmp ecx, 0x80000301
je 0x40c31f
cmp ecx, 0x80000401
je 0x40c31f
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40c30f
cmp ecx, 0x80000601
je 0x40c314
push 2
call fcn.004337fb
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40c31a
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004025a8
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40c36b
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40c3c7
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
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.00401f63
mov eax, 5
cmp eax, ecx
jl 0x40c40f
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x8d
jne 0x40c485
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 9
cmp eax, ecx
jl 0x40c43e
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xb9
jne 0x40c485
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xe
cmp eax, ecx
jl 0x40c46d
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x40c485
mov eax, 1
jmp 0x40c487
xor eax, eax
test eax, eax
je 0x40c9c7
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 0x40c4c3
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
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 0x40c4f7
and eax, 0xff
jmp 0x40c542
cmp ecx, 0x80000201
jne 0x40c502
cwde
jmp 0x40c542
cmp ecx, 0x80000301
je 0x40c542
cmp ecx, 0x80000401
je 0x40c542
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40c532
cmp ecx, 0x80000601
je 0x40c537
push 2
call fcn.004337fb
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40c53d
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004025a8
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0x15
cmp eax, ecx
jl 0x40c565
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x40c5a9
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0x18
cmp eax, ecx
jl 0x40c594
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x40c5a9
xor eax, eax
jmp 0x40c5ae
mov eax, 1
test eax, eax
je 0x40c671
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40c5fd
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40c659
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0x15
cmp eax, ecx
jl 0x40c68f
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40c813
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 0x40c6d4
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
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 0x40c708
and eax, 0xff
jmp 0x40c753
cmp ecx, 0x80000201
jne 0x40c713
cwde
jmp 0x40c753
cmp ecx, 0x80000301
je 0x40c753
cmp ecx, 0x80000401
je 0x40c753
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40c743
cmp ecx, 0x80000601
je 0x40c748
fld dword [ebp - 0x60]
jmp 0x40c74e
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40c79f
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40c7fb
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0x18
cmp eax, ecx
jl 0x40c831
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40c9b5
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 0x40c876
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
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 0x40c8aa
and eax, 0xff
jmp 0x40c8f5
cmp ecx, 0x80000201
jne 0x40c8b5
cwde
jmp 0x40c8f5
cmp ecx, 0x80000301
je 0x40c8f5
cmp ecx, 0x80000401
je 0x40c8f5
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40c941
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
jmp 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 5
cmp eax, ecx
jl 0x40c9ea
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xe8
jne 0x40cdaa
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 0x40ca26
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
add esp, 0x28
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
cmp ecx, 0x80000101
jne 0x40ca5a
and eax, 0xff
jmp 0x40caa5
cmp ecx, 0x80000201
jne 0x40ca65
cwde
jmp 0x40caa5
cmp ecx, 0x80000301
je 0x40caa5
cmp ecx, 0x80000401
je 0x40caa5
mov dword [ebp - 0x5c], eax
cmp ecx, 0x80000501
je 0x40ca95
cmp ecx, 0x80000601
je 0x40ca9a
push 2
call fcn.004337fb
add esp, 4
fld dword [ebp - 0x5c]
jmp 0x40caa0
mov dword [ebp - 0x58], edx
fld qword [ebp - 0x5c]
call fcn.004025a8
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jle 0x40cac3
cmp dword [ebp - 0x44], 0xa
jge 0x40cac3
mov eax, 1
jmp 0x40cac5
xor eax, eax
test eax, eax
je 0x40cda5
push 0xd
push dword [ebp - 0x44]
call fcn.00407966
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
push ebx
push ecx
mov eax, dword [ebp - 0x44]
dec eax
jns 0x40cafa
push 4
call fcn.004337fb
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40cb0d
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xf
jne 0x40cda5
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xa
cmp eax, ecx
jl 0x40cb3c
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40ccc0
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 0xc
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40cb81
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
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 0x40cbb5
and eax, 0xff
jmp 0x40cc00
cmp ecx, 0x80000201
jne 0x40cbc0
cwde
jmp 0x40cc00
cmp ecx, 0x80000301
je 0x40cc00
cmp ecx, 0x80000401
je 0x40cc00
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40cbf0
cmp ecx, 0x80000601
je 0x40cbf5
push 2
call fcn.004337fb
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40cbfb
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004025a8
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40cc4c
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40cca8
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xa
cmp eax, ecx
jl 0x40ccde
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x40cda5
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40cd36
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40cd92
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
jmp 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 5
cmp eax, ecx
jl 0x40cdc8
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xba
jne 0x40ce0f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xa
cmp eax, ecx
jl 0x40cdf7
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xff
jne 0x40ce0f
mov eax, 1
jmp 0x40ce11
xor eax, eax
test eax, eax
je 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xb
cmp eax, ecx
jl 0x40ce37
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x12
je 0x40ce7b
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xb
cmp eax, ecx
jl 0x40ce66
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xd2
je 0x40ce7b
xor eax, eax
jmp 0x40ce80
mov eax, 1
test eax, eax
je 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xc
cmp eax, ecx
jl 0x40cea6
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40d02a
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 0x40ceeb
mov eax, 0x4a0cd2
push eax
push 3
mov ebx, 0x434d80
call fcn.00433807
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 0x40cf1f
and eax, 0xff
jmp 0x40cf6a
cmp ecx, 0x80000201
jne 0x40cf2a
cwde
jmp 0x40cf6a
cmp ecx, 0x80000301
je 0x40cf6a
cmp ecx, 0x80000401
je 0x40cf6a
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40cf5a
cmp ecx, 0x80000601
je 0x40cf5f
push 2
call fcn.004337fb
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40cf65
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004025a8
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40cfb6
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40d012
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
mov ebx, dword [ebp - 0x48]
call fcn.00401f63
mov eax, 0xc
cmp eax, ecx
jl 0x40d048
push 1
call fcn.004337fb
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x40d10f
push 0x4c71e8
push 4
mov eax, 2
call fcn.004337e9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x4c71e8]
mov dword [ebp - 0x50], ebx
call fcn.00401f63
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 0x40d0a0
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.00433813
add esp, 8
mov dword [0x4c71e8], 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.004337f5
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 0x40d0fc
push eax
mov ebx, eax
call fcn.00401e7b
inc eax
push eax
call fcn.004337f5
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 0x40d10f
pop eax
pop ebx
pop ecx
jmp 0x40a355
add esp, 0xc
mov dword [ebp - 0x4c], esp
push dword [ebp - 0x14]
mov eax, 0x14
call fcn.00433801
cmp dword [ebp - 0x4c], esp
je 0x40d13c
push 6
call fcn.004337fb
add esp, 4
mov dword [ebp - 0x4c], esp
push dword [ebp - 0x10]
mov eax, 0x15
call fcn.00433801
cmp dword [ebp - 0x4c], esp
je 0x40d15e
push 6
call fcn.004337fb
add esp, 4
pop ebx
pop ecx
jmp 0x408970
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40d178
push ebx
call fcn.004337ef
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40d18f
push ebx
call fcn.004337ef
add esp, 4
pop ebx
call fcn.004337ef
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40d1a8
push ebx
call fcn.004337ef
add esp, 4
mov ebx, dword [ebp - 0x18]
push ebx
add ebx, 0x38
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004337ef
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004337ef
add esp, 4
pop ebx
call fcn.004337ef
add esp, 4
mov ebx, dword [ebp - 0x1c]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004337ef
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.004337ef
add esp, 4
pop ebx
call fcn.004337ef
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 0x40d229
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40d225
imul eax, dword [ebx]
jmp 0x40d21a
mov ecx, eax
test ecx, ecx
je 0x40d251
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004337ef
add esp, 4
pop ebx
call fcn.004337ef
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40d22f
call fcn.004337ef
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004337ef
add esp, 4
pop ebx
call fcn.004337ef
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004337ef
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.004337ef
add esp, 4
pop ebx
call fcn.004337ef
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 0x40d2c7
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40d2c3
imul eax, dword [ebx]
jmp 0x40d2b8
mov ecx, eax
test ecx, ecx
je 0x40d2ef
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004337ef
add esp, 4
pop ebx
call fcn.004337ef
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40d2cd
call fcn.004337ef
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004337ef
add esp, 4
pop ebx
call fcn.004337ef
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
call fcn.004337ef
add esp, 4
mov ebx, dword [ebp - 0x34]
push ebx
call fcn.004337ef
add esp, 4
mov ebx, dword [ebp - 0x38]
push ebx
call fcn.004337ef
add esp, 4
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.004337ef
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40d350
push ebx
call fcn.004337ef
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40d360
push ebx
call fcn.004337ef
add esp, 4
mov esp, ebp
pop ebp
ret