Function at 0x402062
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.004615df
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.004615df
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.004615df
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x52c7a3
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.004615df
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x52c7ab
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.004615df
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.004615df
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.004615df
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.004615df
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.004615df
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x52c7b3
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.004615df
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.004615df
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x52c763
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 0x4021b9
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.004615df
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x52c7b3
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.004615df
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.004615df
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.004615df
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.004615df
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.004615df
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x52c7b3
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.004615df
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.004615df
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x52c763
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 0x4022d7
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.004615df
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x52c7b3
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x80
rep stosd dword es:[edi], eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
push 0x2c
call fcn.004615df
add esp, 4
mov dword [ebp - 0x30], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xb
rep stosd dword es:[edi], eax
push 8
call fcn.004615df
add esp, 4
mov dword [ebp - 0x34], eax
mov edi, eax
mov esi, 0x52c71f
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.004615df
add esp, 4
mov dword [ebp - 0x38], eax
mov edi, eax
mov esi, 0x52c71f
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.004615df
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x52c71f
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 [0x570940]
call fcn.00401d0f
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jne 0x4064e9
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x4064e6
cmp dword [ebp - 4], 1
jne 0x402458
mov eax, 0x52c72d
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00401a6d
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x40243b
push ebx
call fcn.004615d9
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40244f
push ebx
call fcn.004615d9
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x4024f3
cmp dword [ebp - 4], 2
jne 0x4024a3
mov eax, 0x52c73e
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00401a6d
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x402486
push ebx
call fcn.004615d9
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40249a
push ebx
call fcn.004615d9
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x4024f3
cmp dword [ebp - 4], 3
jne 0x4024ee
mov eax, 0x52c750
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00401a6d
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x4024d1
push ebx
call fcn.004615d9
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4024e5
push ebx
call fcn.004615d9
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x4024f3
jmp 0x4064e9
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, 0x463c30
call fcn.004615eb
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x402530
push ebx
call fcn.004615d9
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
call fcn.004066e5
mov dword [ebp - 0x4c], eax
push dword [ebp - 8]
push 0x52c761
push dword [ebp - 0x4c]
mov ecx, 3
call fcn.0040110c
add esp, 0xc
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x402567
push ebx
call fcn.004615d9
add esp, 4
mov dword [ebp - 0x54], esp
push 0
push dword [ebp - 0x10]
push dword [ebp - 0x50]
mov eax, 0
call fcn.004615f1
cmp dword [ebp - 0x54], esp
je 0x402591
push 6
call fcn.004615e5
add esp, 4
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x4025a1
push ebx
call fcn.004615d9
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
push 0
push 3
push 0
push 1
push SysReAllocString
push dword [ebp - 0x10]
mov eax, 1
call fcn.004615f1
cmp dword [ebp - 0x4c], esp
je 0x4025e1
push 6
call fcn.004615e5
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x40649b
mov dword [ebp - 0x4c], esp
push 0
push 0
push 0
push dword [ebp - 0x14]
mov eax, 2
call fcn.004615f1
cmp dword [ebp - 0x4c], esp
je 0x40261f
push 6
call fcn.004615e5
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.004615df
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, 3
call fcn.004615f1
cmp dword [ebp - 0x4c], esp
je 0x40275c
push 6
call fcn.004615e5
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.004615d3
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 0x40282d
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40282b
imul eax, dword [edi]
jmp 0x402820
mov ecx, eax
cmp ecx, 4
jle 0x402837
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.004615d3
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 0x40288a
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x402888
imul eax, dword [edi]
jmp 0x40287d
mov ecx, eax
cmp ecx, 0xa
jle 0x402894
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.004615d9
add esp, 4
pop eax
test eax, eax
je 0x4028d8
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
cmp word [ebx], 0x5a4d
jne 0x4028d8
mov eax, 1
jmp 0x4028da
xor eax, eax
test eax, eax
je 0x40649b
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, 2
call fcn.004615f1
cmp dword [ebp - 0x50], esp
je 0x40291c
push 6
call fcn.004615e5
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
push 0x14
call fcn.004615df
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.004615df
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.004615df
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.004615df
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.00401a4d
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.004615df
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 0x4029fd
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x28
call fcn.004615df
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.00401a4d
pop eax
sub ebx, eax
add ecx, ebx
push ecx
call fcn.004615df
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 0x4029b3
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.00401a4d
pop eax
sub ebx, eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.004615df
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.004615d9
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.004615d9
add esp, 4
pop ebx
call fcn.004615d9
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 0x402a7a
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x402a76
imul eax, dword [ebx]
jmp 0x402a6b
mov ecx, eax
test ecx, ecx
je 0x402aa2
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004615d9
add esp, 4
pop ebx
call fcn.004615d9
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x402a80
call fcn.004615d9
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004615d9
add esp, 4
pop ebx
call fcn.004615d9
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.004615df
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 0x402de3
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, 4
call fcn.004615f1
cmp dword [ebp - 0x4c], esp
je 0x402e9e
push 6
call fcn.004615e5
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.004615d3
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 0x4031da
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x4031d8
imul eax, dword [edi]
jmp 0x4031cd
mov ecx, eax
cmp ecx, 8
jle 0x4031e4
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 0x4031a6
pop edi
add edi, 4
push ebx
push edi
push 4
mov eax, 2
call fcn.004615d3
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 0x403292
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x403290
imul eax, dword [edi]
jmp 0x403285
mov ecx, eax
cmp ecx, 0x80
jle 0x40329f
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.004615d9
add esp, 4
pop eax
test eax, eax
je 0x4032db
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
cmp dword [ebx], 0x4550
jne 0x4032db
mov eax, 1
jmp 0x4032dd
xor eax, eax
test eax, eax
je 0x40649b
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 0x40331a
push 0xa
call fcn.004615e5
add esp, 4
mov dword [ebp - 0x54], eax
lea ebx, [ebp - 0x58]
call fcn.00401a4d
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.004615df
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.00401a4d
pop edx
test ecx, ecx
je 0x403381
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004615d9
add esp, 4
pop ebx
call fcn.004615d9
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x40335d
pop edx
pop edi
test edx, edx
je 0x4033d3
mov ebx, edi
push edx
push ebx
push 0x28
call fcn.004615df
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.004615df
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x52c763
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 0x40338b
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
call fcn.004615d9
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 0x40341b
push 0xa
call fcn.004615e5
add esp, 4
mov dword [ebp - 0x54], eax
lea ebx, [ebp - 0x58]
call fcn.00401a4d
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.004615df
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.00401a4d
pop edx
test edx, edx
je 0x403462
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
call fcn.004615d9
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 [0x52c76b]
fstp qword [ebp - 0x5c]
mov dword [ebp - 0x60], esp
push 1
push 0
fld qword [ebp - 0x5c]
call fcn.00401a26
push eax
push dword [ebp - 0x14]
mov eax, 2
call fcn.004615f1
cmp dword [ebp - 0x60], esp
je 0x4034d2
push 6
call fcn.004615e5
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 [0x52c773]
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.00401a26
push eax
mov ebx, dword [ebp - 0x4c]
mov ebx, dword [ebx]
call fcn.00401a4d
push ebx
mov dword [ebp - 0x6c], ecx
test ecx, ecx
jne 0x403536
xor eax, eax
jmp 0x403542
imul ecx, ecx, 0x28
push ecx
call fcn.004615df
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 0x4035e5
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 0x4035e5
add ebx, 4
add edi, 0x28
jmp 0x403557
push dword [ebp - 0x14]
mov eax, 5
call fcn.004615f1
cmp dword [ebp - 0x64], esp
je 0x403604
push 6
call fcn.004615e5
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 0x4036d4
push ecx
push edi
push ebx
mov edi, dword [edi]
push ebx
push edi
push 1
mov eax, 2
call fcn.004615d3
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 0x40364b
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x403649
imul eax, dword [edi]
jmp 0x40363e
mov ecx, eax
cmp ecx, 8
jle 0x403655
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 0x4036d4
add ebx, 0x28
add edi, 4
jmp 0x403617
call fcn.004615d9
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 0x4037f0
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.00401a4d
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x403727
push 4
call fcn.004615e5
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40373a
push 1
call fcn.004615e5
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.00401a4d
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x403762
push 4
call fcn.004615e5
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x403775
push 1
call fcn.004615e5
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.00401a4d
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x4037a2
push 4
call fcn.004615e5
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4037b5
push 1
call fcn.004615e5
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.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
pop eax
pop ebx
pop ecx
jmp 0x4036f9
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 0x4039b6
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00401a4d
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x403851
push 4
call fcn.004615e5
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x403864
push 1
call fcn.004615e5
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 0x40393c
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00401a4d
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40389f
push 4
call fcn.004615e5
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4038b2
push 1
call fcn.004615e5
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.00401a4d
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x4038df
push 4
call fcn.004615e5
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4038f2
push 1
call fcn.004615e5
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 [0x52c77b]
fnstsw ax
test ah, 0x41
je 0x40393c
mov eax, 1
jmp 0x40393e
xor eax, eax
test eax, eax
je 0x4039ae
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.00401a4d
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x403966
push 4
call fcn.004615e5
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x403979
push 1
call fcn.004615e5
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x28]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x58]
fsub qword [ebp - 0x58]
fstp qword [ebp - 0x60]
fld qword [ebp - 0x60]
call fcn.00401a26
mov dword [ebp - 0x28], eax
jmp 0x4039b6
pop eax
pop ebx
pop ecx
jmp 0x403823
add esp, 0xc
cmp dword [ebp - 0x28], 0
jle 0x40649b
mov dword [ebp - 0x4c], esp
push 0
push 0
push dword [ebp - 0x28]
push dword [ebp - 0x14]
mov eax, 2
call fcn.004615f1
cmp dword [ebp - 0x4c], esp
je 0x4039f2
push 6
call fcn.004615e5
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
mov eax, 0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
push eax
push 0x28
mov eax, dword [ebp - 0x30]
push eax
push 0x28
call fcn.004615df
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push dword [ebp - 0x14]
mov eax, 6
call fcn.004615f1
cmp dword [ebp - 0x4c], esp
je 0x403ab5
push 6
call fcn.004615e5
add esp, 4
push eax
mov ebx, dword [ebp - 0x54]
push ebx
mov edi, dword [ebp - 0x58]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
call fcn.004615d9
add esp, 4
pop eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x20
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x30]
add ebx, 0x20
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.00401a26
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 0x403b93
push 0xa
call fcn.004615e5
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.00401a4d
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.004615df
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.00401a4d
pop edx
test edx, edx
je 0x403bd8
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
push dword [ebp - 0x34]
call fcn.004615d9
add esp, 4
pop eax
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x20
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 2
call fcn.004615f1
cmp dword [ebp - 0x50], esp
je 0x403c21
push 6
call fcn.004615e5
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 [0x52c783]
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.00401a26
push eax
mov ebx, dword [ebp - 0x34]
call fcn.00401a4d
push ebx
push dword [ebp - 0x14]
mov eax, 7
call fcn.004615f1
cmp dword [ebp - 0x60], esp
je 0x403c83
push 6
call fcn.004615e5
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x28
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x30]
add ebx, 0x28
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x54], 1
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp eax, 0
jge 0x403ce0
push 0xa
call fcn.004615e5
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.00401a4d
push ecx
shl ecx, 1
add ecx, 8
push ecx
call fcn.004615df
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.00401a4d
pop edx
test edx, edx
je 0x403d26
mov ecx, edx
xor eax, eax
shl ecx, 1
rep stosb byte es:[edi], al
push dword [ebp - 0x38]
call fcn.004615d9
add esp, 4
pop eax
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x28
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 2
call fcn.004615f1
cmp dword [ebp - 0x50], esp
je 0x403d6f
push 6
call fcn.004615e5
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
fild dword [ebx]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fmul qword [0x52c78b]
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.00401a26
push eax
mov ebx, dword [ebp - 0x38]
call fcn.00401a4d
push ebx
push dword [ebp - 0x14]
mov eax, 8
call fcn.004615f1
cmp dword [ebp - 0x60], esp
je 0x403dd1
push 6
call fcn.004615e5
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x24
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x30]
add ebx, 0x24
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x54], 1
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
cmp eax, 0
jge 0x403e2e
push 0xa
call fcn.004615e5
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.00401a4d
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.004615df
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.00401a4d
pop edx
test edx, edx
je 0x403e73
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
push dword [ebp - 0x3c]
call fcn.004615d9
add esp, 4
pop eax
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x30]
add ebx, 0x24
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], esp
push 0
push 0
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
push dword [ebp - 0x14]
mov eax, 2
call fcn.004615f1
cmp dword [ebp - 0x50], esp
je 0x403ebc
push 6
call fcn.004615e5
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
fild dword [ebx]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fmul qword [0x52c783]
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.00401a26
push eax
mov ebx, dword [ebp - 0x3c]
call fcn.00401a4d
push ebx
push dword [ebp - 0x14]
mov eax, 7
call fcn.004615f1
cmp dword [ebp - 0x60], esp
je 0x403f1e
push 6
call fcn.004615e5
add esp, 4
mov ebx, dword [ebp - 0x30]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
xor ecx, ecx
push eax
lea eax, [ebp - 0x24]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x406498
push 0x80000301
push 0
push 0x80
push 1
mov ebx, 0x4634e0
call fcn.004615eb
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x403f78
push ebx
call fcn.004615d9
add esp, 4
pop eax
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
call fcn.00401a4d
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x403f99
push 4
call fcn.004615e5
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x403fac
push 1
call fcn.004615e5
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x3c]
call fcn.00401a4d
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x403fd1
push 4
call fcn.004615e5
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x403fe4
push 1
call fcn.004615e5
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x50]
fild dword [ebx]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x60]
fsub qword [ebp - 0x60]
fstp qword [ebp - 0x68]
fld qword [ebp - 0x68]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x3c]
call fcn.00401a4d
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40402d
push 4
call fcn.004615e5
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x404040
push 1
call fcn.004615e5
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, 2
call fcn.004615f1
cmp dword [ebp - 0x50], esp
je 0x404079
push 6
call fcn.004615e5
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 0x40409c
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 9
call fcn.004615f1
cmp dword [ebp - 0x4c], esp
je 0x4040bc
push 6
call fcn.004615e5
add esp, 4
cmp dword [ebp - 4], 1
jne 0x40413a
mov ebx, dword [ebp - 0x40]
call fcn.00401a4d
mov eax, 0
cmp eax, ecx
jl 0x4040e4
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x5a
jne 0x404128
mov ebx, dword [ebp - 0x40]
call fcn.00401a4d
mov eax, 1
cmp eax, ecx
jl 0x404113
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x77
jne 0x404128
xor eax, eax
jmp 0x40412d
mov eax, 1
test eax, eax
je 0x40413a
jmp 0x406490
mov ebx, dword [ebp - 0x34]
call fcn.00401a4d
push ebx
push ecx
mov ebx, dword [ebp - 0x38]
call fcn.00401a4d
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x404161
push 4
call fcn.004615e5
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x404174
push 1
call fcn.004615e5
add esp, 4
shl eax, 1
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
fadd qword [0x52c793]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
call fcn.00401a26
dec eax
jns 0x4041af
push 4
call fcn.004615e5
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4041c2
push 1
call fcn.004615e5
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x4041e1
jmp 0x406490
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 0x40438a
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00401a4d
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x40422b
push 4
call fcn.004615e5
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40423e
push 1
call fcn.004615e5
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 0x404316
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00401a4d
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x404279
push 4
call fcn.004615e5
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x40428c
push 1
call fcn.004615e5
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.00401a4d
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x4042b9
push 4
call fcn.004615e5
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4042cc
push 1
call fcn.004615e5
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 [0x52c77b]
fnstsw ax
test ah, 0x41
je 0x404316
mov eax, 1
jmp 0x404318
xor eax, eax
test eax, eax
je 0x404382
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.00401a4d
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x404340
push 4
call fcn.004615e5
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x404353
push 1
call fcn.004615e5
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
fild dword [ebp - 0x44]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
mov ebx, dword [ebp - 0x4c]
fild dword [ebx]
fstp qword [ebp - 0x5c]
fsub qword [ebp - 0x5c]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
call fcn.00401a26
mov dword [ebp - 0x44], eax
jmp 0x40438a
pop eax
pop ebx
pop ecx
jmp 0x4041fd
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 0x4043ae
jmp 0x406490
push 0x80000301
push 0
push 0x20
push 1
mov ebx, 0x4634e0
call fcn.004615eb
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x4043e3
push ebx
call fcn.004615d9
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, 2
call fcn.004615f1
cmp dword [ebp - 0x4c], esp
je 0x404416
push 6
call fcn.004615e5
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 0x404439
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 9
call fcn.004615f1
cmp dword [ebp - 0x4c], esp
je 0x404459
push 6
call fcn.004615e5
add esp, 4
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0
cmp eax, ecx
jl 0x404477
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xb8
je 0x40448d
jmp 0x406490
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 0x4044a9
mov eax, 0x52c71f
push eax
push 1
mov ebx, 0x463820
call fcn.004615eb
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 0x4044d5
push ebx
call fcn.004615d9
add esp, 4
pop eax
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [0x570944]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp dword [ebx], 5
jne 0x404512
mov ebx, dword [0x570944]
add ebx, 8
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp dword [ebx], 0
jne 0x404512
mov eax, 1
jmp 0x404514
xor eax, eax
test eax, eax
je 0x404d20
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 9
cmp eax, ecx
jl 0x40453a
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xcd
jne 0x404581
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0xa
cmp eax, ecx
jl 0x404569
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x2e
jne 0x404581
mov eax, 1
jmp 0x404583
xor eax, eax
test eax, eax
je 0x404d1b
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 0x4045bf
mov eax, 0x52c71f
push eax
push 3
mov ebx, 0x463130
call fcn.004615eb
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 0x4045f3
and eax, 0xff
jmp 0x40463e
cmp ecx, 0x80000201
jne 0x4045fe
cwde
jmp 0x40463e
cmp ecx, 0x80000301
je 0x40463e
cmp ecx, 0x80000401
je 0x40463e
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40462e
cmp ecx, 0x80000601
je 0x404633
push 2
call fcn.004615e5
add esp, 4
fld dword [ebp - 0x60]
jmp 0x404639
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0xb
cmp eax, ecx
jl 0x404661
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x4047e5
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 0x4046a6
mov eax, 0x52c71f
push eax
push 3
mov ebx, 0x463130
call fcn.004615eb
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 0x4046da
and eax, 0xff
jmp 0x404725
cmp ecx, 0x80000201
jne 0x4046e5
cwde
jmp 0x404725
cmp ecx, 0x80000301
je 0x404725
cmp ecx, 0x80000401
je 0x404725
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x404715
cmp ecx, 0x80000601
je 0x40471a
push 2
call fcn.004615e5
add esp, 4
fld dword [ebp - 0x60]
jmp 0x404720
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x570940
push 4
mov eax, 2
call fcn.004615d3
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x570940]
mov dword [ebp - 0x50], ebx
call fcn.00401a4d
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 0x404771
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.004615f7
add esp, 8
mov dword [0x570940], 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.004615df
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 0x4047cd
push eax
mov ebx, eax
call fcn.004010a1
inc eax
push eax
call fcn.004615df
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 0x406490
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0xb
cmp eax, ecx
jl 0x404803
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x4048e1
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
push 0x570940
push 4
mov eax, 2
call fcn.004615d3
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x570940]
mov dword [ebp - 0x50], ebx
call fcn.00401a4d
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 0x40486d
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.004615f7
add esp, 8
mov dword [0x570940], 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.004615df
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 0x4048c9
push eax
mov ebx, eax
call fcn.004010a1
inc eax
push eax
call fcn.004615df
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 0x406490
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0xb
cmp eax, ecx
jl 0x4048ff
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xe9
jne 0x404d1b
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 0x40493b
mov eax, 0x52c71f
push eax
push 3
mov ebx, 0x463130
call fcn.004615eb
add esp, 0x28
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
fild dword [ebp - 0x44]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x54]
cmp ecx, 0x80000101
jne 0x404978
and eax, 0xff
jmp 0x40499e
cmp ecx, 0x80000201
jne 0x404983
cwde
jmp 0x40499e
mov dword [ebp - 0x64], eax
cmp ecx, 0x80000301
je 0x4049a1
cmp ecx, 0x80000401
jne 0x4049a6
mov dword [ebp - 0x60], edx
fild qword [ebp - 0x64]
jmp 0x4049c8
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
jmp 0x4049c8
cmp ecx, 0x80000501
jne 0x4049b3
fld dword [ebp - 0x64]
jmp 0x4049c8
cmp ecx, 0x80000601
je 0x4049d1
push 2
call fcn.004615e5
add esp, 4
fstp qword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
fadd qword [ebp - 0x64]
fadd qword [0x52c79b]
fstp qword [ebp - 0x6c]
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0x80000004
je 0x4049fa
cmp ecx, reloc.WS2_32.dll_getpeername
jne 0x404a0a
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x404a0a
push ebx
call fcn.004615d9
add esp, 4
mov dword [ebp - 0x70], esp
push 0
push 0
fld qword [ebp - 0x6c]
call fcn.00401a26
push eax
push dword [ebp - 0x14]
mov eax, 2
call fcn.004615f1
cmp dword [ebp - 0x70], esp
je 0x404a3f
push 6
call fcn.004615e5
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 0x404a62
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 9
call fcn.004615f1
cmp dword [ebp - 0x4c], esp
je 0x404a82
push 6
call fcn.004615e5
add esp, 4
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0
cmp eax, ecx
jl 0x404aa0
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x404c24
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 0x404ae5
mov eax, 0x52c71f
push eax
push 3
mov ebx, 0x463130
call fcn.004615eb
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 0x404b19
and eax, 0xff
jmp 0x404b64
cmp ecx, 0x80000201
jne 0x404b24
cwde
jmp 0x404b64
cmp ecx, 0x80000301
je 0x404b64
cmp ecx, 0x80000401
je 0x404b64
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x404b54
cmp ecx, 0x80000601
je 0x404b59
push 2
call fcn.004615e5
add esp, 4
fld dword [ebp - 0x60]
jmp 0x404b5f
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x570940
push 4
mov eax, 2
call fcn.004615d3
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x570940]
mov dword [ebp - 0x50], ebx
call fcn.00401a4d
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 0x404bb0
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.004615f7
add esp, 8
mov dword [0x570940], 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.004615df
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 0x404c0c
push eax
mov ebx, eax
call fcn.004010a1
inc eax
push eax
call fcn.004615df
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 0x406490
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0
cmp eax, ecx
jl 0x404c42
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x404d1b
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
push 0x570940
push 4
mov eax, 2
call fcn.004615d3
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x570940]
mov dword [ebp - 0x50], ebx
call fcn.00401a4d
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 0x404cac
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.004615f7
add esp, 8
mov dword [0x570940], 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.004615df
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 0x404d08
push eax
mov ebx, eax
call fcn.004010a1
inc eax
push eax
call fcn.004615df
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 0x406490
jmp 0x406490
mov ebx, dword [0x570944]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp dword [ebx], 0
je 0x406061
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 0x404d6c
mov eax, 0x52c71f
push eax
push 3
mov ebx, 0x463130
call fcn.004615eb
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 0x404da0
and eax, 0xff
jmp 0x404deb
cmp ecx, 0x80000201
jne 0x404dab
cwde
jmp 0x404deb
cmp ecx, 0x80000301
je 0x404deb
cmp ecx, 0x80000401
je 0x404deb
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x404ddb
cmp ecx, 0x80000601
je 0x404de0
push 2
call fcn.004615e5
add esp, 4
fld dword [ebp - 0x60]
jmp 0x404de6
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 5
cmp eax, ecx
jl 0x404e32
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x8d
jne 0x404ea8
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 9
cmp eax, ecx
jl 0x404e61
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xb9
jne 0x404ea8
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0xe
cmp eax, ecx
jl 0x404e90
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x404ea8
mov eax, 1
jmp 0x404eaa
xor eax, eax
test eax, eax
je 0x405208
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 0x404ee6
mov eax, 0x52c71f
push eax
push 3
mov ebx, 0x463130
call fcn.004615eb
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 0x404f1a
and eax, 0xff
jmp 0x404f65
cmp ecx, 0x80000201
jne 0x404f25
cwde
jmp 0x404f65
cmp ecx, 0x80000301
je 0x404f65
cmp ecx, 0x80000401
je 0x404f65
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x404f55
cmp ecx, 0x80000601
je 0x404f5a
push 2
call fcn.004615e5
add esp, 4
fld dword [ebp - 0x60]
jmp 0x404f60
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0x15
cmp eax, ecx
jl 0x404f88
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x40510c
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 0x404fcd
mov eax, 0x52c71f
push eax
push 3
mov ebx, 0x463130
call fcn.004615eb
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 0x405001
and eax, 0xff
jmp 0x40504c
cmp ecx, 0x80000201
jne 0x40500c
cwde
jmp 0x40504c
cmp ecx, 0x80000301
je 0x40504c
cmp ecx, 0x80000401
je 0x40504c
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40503c
cmp ecx, 0x80000601
je 0x405041
push 2
call fcn.004615e5
add esp, 4
fld dword [ebp - 0x60]
jmp 0x405047
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x570940
push 4
mov eax, 2
call fcn.004615d3
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x570940]
mov dword [ebp - 0x50], ebx
call fcn.00401a4d
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 0x405098
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.004615f7
add esp, 8
mov dword [0x570940], 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.004615df
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 0x4050f4
push eax
mov ebx, eax
call fcn.004010a1
inc eax
push eax
call fcn.004615df
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 0x406490
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0x15
cmp eax, ecx
jl 0x40512a
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x4051f6
push 0x570940
push 4
mov eax, 2
call fcn.004615d3
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x570940]
mov dword [ebp - 0x50], ebx
call fcn.00401a4d
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 0x405182
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.004615f7
add esp, 8
mov dword [0x570940], 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.004615df
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 0x4051de
push eax
mov ebx, eax
call fcn.004010a1
inc eax
push eax
call fcn.004615df
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 0x406490
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.00401a4d
mov eax, 5
cmp eax, ecx
jl 0x405226
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x8d
jne 0x40529c
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 9
cmp eax, ecx
jl 0x405255
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x33
jne 0x40529c
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0xe
cmp eax, ecx
jl 0x405284
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x40529c
mov eax, 1
jmp 0x40529e
xor eax, eax
test eax, eax
je 0x40556d
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0x12
cmp eax, ecx
jl 0x4052c4
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x405448
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 0x405309
mov eax, 0x52c71f
push eax
push 3
mov ebx, 0x463130
call fcn.004615eb
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 0x40533d
and eax, 0xff
jmp 0x405388
cmp ecx, 0x80000201
jne 0x405348
cwde
jmp 0x405388
cmp ecx, 0x80000301
je 0x405388
cmp ecx, 0x80000401
je 0x405388
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x405378
cmp ecx, 0x80000601
je 0x40537d
push 2
call fcn.004615e5
add esp, 4
fld dword [ebp - 0x60]
jmp 0x405383
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x570940
push 4
mov eax, 2
call fcn.004615d3
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x570940]
mov dword [ebp - 0x50], ebx
call fcn.00401a4d
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 0x4053d4
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.004615f7
add esp, 8
mov dword [0x570940], 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.004615df
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 0x405430
push eax
mov ebx, eax
call fcn.004010a1
inc eax
push eax
call fcn.004615df
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 0x406490
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0x15
cmp eax, ecx
jl 0x405466
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x4054aa
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0x12
cmp eax, ecx
jl 0x405495
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x4054aa
xor eax, eax
jmp 0x4054af
mov eax, 1
test eax, eax
je 0x40556d
push 0x570940
push 4
mov eax, 2
call fcn.004615d3
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x570940]
mov dword [ebp - 0x50], ebx
call fcn.00401a4d
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 0x4054fe
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.004615f7
add esp, 8
mov dword [0x570940], 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.004615df
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 0x40555a
push eax
mov ebx, eax
call fcn.004010a1
inc eax
push eax
call fcn.004615df
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 0x406490
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 5
cmp eax, ecx
jl 0x40558b
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xb9
jne 0x405601
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0xa
cmp eax, ecx
jl 0x4055ba
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x8d
jne 0x405601
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0xe
cmp eax, ecx
jl 0x4055e9
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x405601
mov eax, 1
jmp 0x405603
xor eax, eax
test eax, eax
je 0x405b43
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 0x40563f
mov eax, 0x52c71f
push eax
push 3
mov ebx, 0x463130
call fcn.004615eb
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 0x405673
and eax, 0xff
jmp 0x4056be
cmp ecx, 0x80000201
jne 0x40567e
cwde
jmp 0x4056be
cmp ecx, 0x80000301
je 0x4056be
cmp ecx, 0x80000401
je 0x4056be
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x4056ae
cmp ecx, 0x80000601
je 0x4056b3
push 2
call fcn.004615e5
add esp, 4
fld dword [ebp - 0x60]
jmp 0x4056b9
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0x18
cmp eax, ecx
jl 0x4056e1
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x405865
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 0x405726
mov eax, 0x52c71f
push eax
push 3
mov ebx, 0x463130
call fcn.004615eb
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 0x40575a
and eax, 0xff
jmp 0x4057a5
cmp ecx, 0x80000201
jne 0x405765
cwde
jmp 0x4057a5
cmp ecx, 0x80000301
je 0x4057a5
cmp ecx, 0x80000401
je 0x4057a5
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x405795
cmp ecx, 0x80000601
je 0x40579a
push 2
call fcn.004615e5
add esp, 4
fld dword [ebp - 0x60]
jmp 0x4057a0
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x570940
push 4
mov eax, 2
call fcn.004615d3
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x570940]
mov dword [ebp - 0x50], ebx
call fcn.00401a4d
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 0x4057f1
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.004615f7
add esp, 8
mov dword [0x570940], 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.004615df
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 0x40584d
push eax
mov ebx, eax
call fcn.004010a1
inc eax
push eax
call fcn.004615df
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 0x406490
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0x15
cmp eax, ecx
jl 0x405883
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x405a07
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 0x4058c8
mov eax, 0x52c71f
push eax
push 3
mov ebx, 0x463130
call fcn.004615eb
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 0x4058fc
and eax, 0xff
jmp 0x405947
cmp ecx, 0x80000201
jne 0x405907
cwde
jmp 0x405947
cmp ecx, 0x80000301
je 0x405947
cmp ecx, 0x80000401
je 0x405947
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x405937
cmp ecx, 0x80000601
je 0x40593c
push 2
call fcn.004615e5
add esp, 4
fld dword [ebp - 0x60]
jmp 0x405942
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x570940
push 4
mov eax, 2
call fcn.004615d3
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x570940]
mov dword [ebp - 0x50], ebx
call fcn.00401a4d
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 0x405993
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.004615f7
add esp, 8
mov dword [0x570940], 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.004615df
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 0x4059ef
push eax
mov ebx, eax
call fcn.004010a1
inc eax
push eax
call fcn.004615df
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 0x406490
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0x18
cmp eax, ecx
jl 0x405a25
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x405a69
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0x15
cmp eax, ecx
jl 0x405a54
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x405a69
xor eax, eax
jmp 0x405a6e
mov eax, 1
test eax, eax
je 0x405b31
push 0x570940
push 4
mov eax, 2
call fcn.004615d3
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x570940]
mov dword [ebp - 0x50], ebx
call fcn.00401a4d
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 0x405abd
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.004615f7
add esp, 8
mov dword [0x570940], 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.004615df
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 0x405b19
push eax
mov ebx, eax
call fcn.004010a1
inc eax
push eax
call fcn.004615df
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 0x406490
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.00401a4d
mov eax, 5
cmp eax, ecx
jl 0x405b61
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x33
jne 0x405bd7
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 7
cmp eax, ecx
jl 0x405b90
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x8d
jne 0x405bd7
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0xb
cmp eax, ecx
jl 0x405bbf
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x405bd7
mov eax, 1
jmp 0x405bd9
xor eax, eax
test eax, eax
je 0x40605c
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.00401a4d
mov eax, 0x15
cmp eax, ecx
jl 0x405c11
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x405d95
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 0x405c56
mov eax, 0x52c71f
push eax
push 3
mov ebx, 0x463130
call fcn.004615eb
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 0x405c8a
and eax, 0xff
jmp 0x405cd5
cmp ecx, 0x80000201
jne 0x405c95
cwde
jmp 0x405cd5
cmp ecx, 0x80000301
je 0x405cd5
cmp ecx, 0x80000401
je 0x405cd5
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x405cc5
cmp ecx, 0x80000601
je 0x405cca
push 2
call fcn.004615e5
add esp, 4
fld dword [ebp - 0x60]
jmp 0x405cd0
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x570940
push 4
mov eax, 2
call fcn.004615d3
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x570940]
mov dword [ebp - 0x50], ebx
call fcn.00401a4d
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 0x405d21
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.004615f7
add esp, 8
mov dword [0x570940], 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.004615df
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 0x405d7d
push eax
mov ebx, eax
call fcn.004010a1
inc eax
push eax
call fcn.004615df
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 0x406490
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0x12
cmp eax, ecx
jl 0x405db3
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x405f37
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 0x405df8
mov eax, 0x52c71f
push eax
push 3
mov ebx, 0x463130
call fcn.004615eb
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 0x405e2c
and eax, 0xff
jmp 0x405e77
cmp ecx, 0x80000201
jne 0x405e37
cwde
jmp 0x405e77
cmp ecx, 0x80000301
je 0x405e77
cmp ecx, 0x80000401
je 0x405e77
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x405e67
cmp ecx, 0x80000601
je 0x405e6c
push 2
call fcn.004615e5
add esp, 4
fld dword [ebp - 0x60]
jmp 0x405e72
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x570940
push 4
mov eax, 2
call fcn.004615d3
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x570940]
mov dword [ebp - 0x50], ebx
call fcn.00401a4d
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 0x405ec3
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.004615f7
add esp, 8
mov dword [0x570940], 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.004615df
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 0x405f1f
push eax
mov ebx, eax
call fcn.004010a1
inc eax
push eax
call fcn.004615df
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 0x406490
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0x15
cmp eax, ecx
jl 0x405f55
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x405f99
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0x12
cmp eax, ecx
jl 0x405f84
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x405f99
xor eax, eax
jmp 0x405f9e
mov eax, 1
test eax, eax
je 0x40605c
push 0x570940
push 4
mov eax, 2
call fcn.004615d3
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x570940]
mov dword [ebp - 0x50], ebx
call fcn.00401a4d
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 0x405fed
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.004615f7
add esp, 8
mov dword [0x570940], 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.004615df
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 0x406049
push eax
mov ebx, eax
call fcn.004010a1
inc eax
push eax
call fcn.004615df
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 0x406490
jmp 0x406490
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 5
cmp eax, ecx
jl 0x40607f
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xba
jne 0x4060c6
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0xa
cmp eax, ecx
jl 0x4060ae
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xff
jne 0x4060c6
mov eax, 1
jmp 0x4060c8
xor eax, eax
test eax, eax
je 0x406490
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0xb
cmp eax, ecx
jl 0x4060ee
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x12
je 0x406132
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0xb
cmp eax, ecx
jl 0x40611d
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xd2
je 0x406132
xor eax, eax
jmp 0x406137
mov eax, 1
test eax, eax
je 0x406490
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 0x406173
mov eax, 0x52c71f
push eax
push 3
mov ebx, 0x463130
call fcn.004615eb
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 0x4061a7
and eax, 0xff
jmp 0x4061f2
cmp ecx, 0x80000201
jne 0x4061b2
cwde
jmp 0x4061f2
cmp ecx, 0x80000301
je 0x4061f2
cmp ecx, 0x80000401
je 0x4061f2
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x4061e2
cmp ecx, 0x80000601
je 0x4061e7
push 2
call fcn.004615e5
add esp, 4
fld dword [ebp - 0x60]
jmp 0x4061ed
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0xc
cmp eax, ecx
jl 0x406215
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x406399
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 0x40625a
mov eax, 0x52c71f
push eax
push 3
mov ebx, 0x463130
call fcn.004615eb
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 0x40628e
and eax, 0xff
jmp 0x4062d9
cmp ecx, 0x80000201
jne 0x406299
cwde
jmp 0x4062d9
cmp ecx, 0x80000301
je 0x4062d9
cmp ecx, 0x80000401
je 0x4062d9
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x4062c9
cmp ecx, 0x80000601
je 0x4062ce
push 2
call fcn.004615e5
add esp, 4
fld dword [ebp - 0x60]
jmp 0x4062d4
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.00401a26
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x570940
push 4
mov eax, 2
call fcn.004615d3
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x570940]
mov dword [ebp - 0x50], ebx
call fcn.00401a4d
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 0x406325
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.004615f7
add esp, 8
mov dword [0x570940], 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.004615df
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 0x406381
push eax
mov ebx, eax
call fcn.004010a1
inc eax
push eax
call fcn.004615df
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 0x406490
mov ebx, dword [ebp - 0x48]
call fcn.00401a4d
mov eax, 0xc
cmp eax, ecx
jl 0x4063b7
push 1
call fcn.004615e5
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x406490
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
push 0x570940
push 4
mov eax, 2
call fcn.004615d3
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x570940]
mov dword [ebp - 0x50], ebx
call fcn.00401a4d
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 0x406421
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.004615f7
add esp, 8
mov dword [0x570940], 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.004615df
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 0x40647d
push eax
mov ebx, eax
call fcn.004010a1
inc eax
push eax
call fcn.004615df
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 0x406490
pop eax
pop ebx
pop ecx
jmp 0x403f35
add esp, 0xc
mov dword [ebp - 0x4c], esp
push dword [ebp - 0x14]
mov eax, 0xa
call fcn.004615f1
cmp dword [ebp - 0x4c], esp
je 0x4064bd
push 6
call fcn.004615e5
add esp, 4
mov dword [ebp - 0x4c], esp
push dword [ebp - 0x10]
mov eax, 0xb
call fcn.004615f1
cmp dword [ebp - 0x4c], esp
je 0x4064df
push 6
call fcn.004615e5
add esp, 4
pop ebx
pop ecx
jmp 0x4023ff
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4064f9
push ebx
call fcn.004615d9
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x406510
push ebx
call fcn.004615d9
add esp, 4
pop ebx
call fcn.004615d9
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x406529
push ebx
call fcn.004615d9
add esp, 4
mov ebx, dword [ebp - 0x18]
push ebx
add ebx, 0x38
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004615d9
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004615d9
add esp, 4
pop ebx
call fcn.004615d9
add esp, 4
mov ebx, dword [ebp - 0x1c]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004615d9
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.004615d9
add esp, 4
pop ebx
call fcn.004615d9
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 0x4065aa
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4065a6
imul eax, dword [ebx]
jmp 0x40659b
mov ecx, eax
test ecx, ecx
je 0x4065d2
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004615d9
add esp, 4
pop ebx
call fcn.004615d9
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4065b0
call fcn.004615d9
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004615d9
add esp, 4
pop ebx
call fcn.004615d9
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004615d9
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.004615d9
add esp, 4
pop ebx
call fcn.004615d9
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 0x406648
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x406644
imul eax, dword [ebx]
jmp 0x406639
mov ecx, eax
test ecx, ecx
je 0x406670
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004615d9
add esp, 4
pop ebx
call fcn.004615d9
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40664e
call fcn.004615d9
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004615d9
add esp, 4
pop ebx
call fcn.004615d9
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
call fcn.004615d9
add esp, 4
mov ebx, dword [ebp - 0x34]
push ebx
call fcn.004615d9
add esp, 4
mov ebx, dword [ebp - 0x38]
push ebx
call fcn.004615d9
add esp, 4
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.004615d9
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x4066d1
push ebx
call fcn.004615d9
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x4066e1
push ebx
call fcn.004615d9
add esp, 4
mov esp, ebp
pop ebp
ret