Function at 0x405bd4
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.0041b02c
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.0041b02c
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.0041b02c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4ca22c
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.0041b02c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4ca39e
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.0041b02c
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.0041b02c
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.0041b02c
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.0041b02c
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.0041b02c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4ca3a6
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.0041b02c
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.0041b02c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4ca24c
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 0x405d2b
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.0041b02c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4ca3a6
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.0041b02c
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.0041b02c
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.0041b02c
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.0041b02c
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.0041b02c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4ca3a6
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.0041b02c
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.0041b02c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4ca24c
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 0x405e49
pop ebx
add ebx, 4
push ebx
push 0x208
call fcn.0041b02c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4ca3a6
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.0041b02c
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.0041b02c
add esp, 4
mov dword [ebp - 0x34], eax
mov edi, eax
mov esi, 0x4ca1f7
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.0041b02c
add esp, 4
mov dword [ebp - 0x38], eax
mov edi, eax
mov esi, 0x4ca1f7
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.0041b02c
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x4ca1f7
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 [0x5aae28]
call fcn.00405881
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jne 0x40a05b
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x40a058
cmp dword [ebp - 4], 1
jne 0x405fca
mov eax, 0x4ca338
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00401af7
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x405fad
push ebx
call fcn.0041b026
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x405fc1
push ebx
call fcn.0041b026
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x406065
cmp dword [ebp - 4], 2
jne 0x406015
mov eax, 0x4ca349
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00401af7
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x405ff8
push ebx
call fcn.0041b026
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40600c
push ebx
call fcn.0041b026
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x406065
cmp dword [ebp - 4], 3
jne 0x406060
mov eax, 0x4ca35b
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00401af7
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x406043
push ebx
call fcn.0041b026
add esp, 4
mov eax, dword [ebp - 0x50]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x406057
push ebx
call fcn.0041b026
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x406065
jmp 0x40a05b
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, 0x41d3f0
call fcn.0041b038
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x4060a2
push ebx
call fcn.0041b026
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
call fcn.0040a257
mov dword [ebp - 0x4c], eax
push dword [ebp - 8]
push 0x4ca36c
push dword [ebp - 0x4c]
mov ecx, 3
call fcn.00401138
add esp, 0xc
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x4060d9
push ebx
call fcn.0041b026
add esp, 4
mov dword [ebp - 0x54], esp
push 0
push dword [ebp - 0x10]
push dword [ebp - 0x50]
mov eax, 0xb
call fcn.0041b03e
cmp dword [ebp - 0x54], esp
je 0x406103
push 6
call fcn.0041b032
add esp, 4
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x406113
push ebx
call fcn.0041b026
add esp, 4
mov dword [ebp - 0x4c], esp
push 0
push 0
push 3
push 0
push 1
push connect
push dword [ebp - 0x10]
mov eax, 0xc
call fcn.0041b03e
cmp dword [ebp - 0x4c], esp
je 0x406153
push 6
call fcn.0041b032
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x40a00d
mov dword [ebp - 0x4c], esp
push 0
push 0
push 0
push dword [ebp - 0x14]
mov eax, 0xd
call fcn.0041b03e
cmp dword [ebp - 0x4c], esp
je 0x406191
push 6
call fcn.0041b032
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.0041b02c
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, 0xe
call fcn.0041b03e
cmp dword [ebp - 0x4c], esp
je 0x4062ce
push 6
call fcn.0041b032
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.0041b020
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 0x40639f
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40639d
imul eax, dword [edi]
jmp 0x406392
mov ecx, eax
cmp ecx, 4
jle 0x4063a9
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.0041b020
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 0x4063fc
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x4063fa
imul eax, dword [edi]
jmp 0x4063ef
mov ecx, eax
cmp ecx, 0xa
jle 0x406406
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.0041b026
add esp, 4
pop eax
test eax, eax
je 0x40644a
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
cmp word [ebx], 0x5a4d
jne 0x40644a
mov eax, 1
jmp 0x40644c
xor eax, eax
test eax, eax
je 0x40a00d
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, 0xd
call fcn.0041b03e
cmp dword [ebp - 0x50], esp
je 0x40648e
push 6
call fcn.0041b032
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
push 0x14
call fcn.0041b02c
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.0041b02c
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.0041b02c
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.0041b02c
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.00401ad7
pop eax
sub ebx, eax
push ecx
push ebx
push eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0041b02c
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 0x40656f
push eax
lodsd eax, dword [esi]
push esi
push edi
push ecx
push eax
push 0x28
call fcn.0041b02c
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.00401ad7
pop eax
sub ebx, eax
add ecx, ebx
push ecx
call fcn.0041b02c
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 0x406525
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.00401ad7
pop eax
sub ebx, eax
shl ecx, 2
add ecx, ebx
push ecx
call fcn.0041b02c
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.0041b026
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.0041b026
add esp, 4
pop ebx
call fcn.0041b026
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 0x4065ec
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4065e8
imul eax, dword [ebx]
jmp 0x4065dd
mov ecx, eax
test ecx, ecx
je 0x406614
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0041b026
add esp, 4
pop ebx
call fcn.0041b026
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4065f2
call fcn.0041b026
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0041b026
add esp, 4
pop ebx
call fcn.0041b026
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.0041b02c
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 0x406955
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, 0xf
call fcn.0041b03e
cmp dword [ebp - 0x4c], esp
je 0x406a10
push 6
call fcn.0041b032
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.0041b020
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 0x406d4c
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x406d4a
imul eax, dword [edi]
jmp 0x406d3f
mov ecx, eax
cmp ecx, 8
jle 0x406d56
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 0x406d18
pop edi
add edi, 4
push ebx
push edi
push 4
mov eax, 2
call fcn.0041b020
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 0x406e04
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x406e02
imul eax, dword [edi]
jmp 0x406df7
mov ecx, eax
cmp ecx, 0x80
jle 0x406e11
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.0041b026
add esp, 4
pop eax
test eax, eax
je 0x406e4d
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x60]
cmp dword [ebx], 0x4550
jne 0x406e4d
mov eax, 1
jmp 0x406e4f
xor eax, eax
test eax, eax
je 0x40a00d
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 0x406e8c
push 0xa
call fcn.0041b032
add esp, 4
mov dword [ebp - 0x54], eax
lea ebx, [ebp - 0x58]
call fcn.00401ad7
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0041b02c
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.00401ad7
pop edx
test ecx, ecx
je 0x406ef3
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0041b026
add esp, 4
pop ebx
call fcn.0041b026
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x406ecf
pop edx
pop edi
test edx, edx
je 0x406f45
mov ebx, edi
push edx
push ebx
push 0x28
call fcn.0041b02c
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.0041b02c
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4ca24c
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 0x406efd
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
call fcn.0041b026
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 0x406f8d
push 0xa
call fcn.0041b032
add esp, 4
mov dword [ebp - 0x54], eax
lea ebx, [ebp - 0x58]
call fcn.00401ad7
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0041b02c
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.00401ad7
pop edx
test edx, edx
je 0x406fd4
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x4c]
push dword [ebx]
call fcn.0041b026
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 [0x4ca36e]
fstp qword [ebp - 0x5c]
mov dword [ebp - 0x60], esp
push 1
push 0
fld qword [ebp - 0x5c]
call fcn.004011cc
push eax
push dword [ebp - 0x14]
mov eax, 0xd
call fcn.0041b03e
cmp dword [ebp - 0x60], esp
je 0x407044
push 6
call fcn.0041b032
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 [0x4ca376]
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.004011cc
push eax
mov ebx, dword [ebp - 0x4c]
mov ebx, dword [ebx]
call fcn.00401ad7
push ebx
mov dword [ebp - 0x6c], ecx
test ecx, ecx
jne 0x4070a8
xor eax, eax
jmp 0x4070b4
imul ecx, ecx, 0x28
push ecx
call fcn.0041b02c
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 0x407157
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 0x407157
add ebx, 4
add edi, 0x28
jmp 0x4070c9
push dword [ebp - 0x14]
mov eax, 0x10
call fcn.0041b03e
cmp dword [ebp - 0x64], esp
je 0x407176
push 6
call fcn.0041b032
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 0x407246
push ecx
push edi
push ebx
mov edi, dword [edi]
push ebx
push edi
push 1
mov eax, 2
call fcn.0041b020
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 0x4071bd
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x4071bb
imul eax, dword [edi]
jmp 0x4071b0
mov ecx, eax
cmp ecx, 8
jle 0x4071c7
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 0x407246
add ebx, 0x28
add edi, 4
jmp 0x407189
call fcn.0041b026
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 0x407362
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.00401ad7
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x407299
push 4
call fcn.0041b032
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4072ac
push 1
call fcn.0041b032
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.00401ad7
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x4072d4
push 4
call fcn.0041b032
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4072e7
push 1
call fcn.0041b032
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.00401ad7
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x407314
push 4
call fcn.0041b032
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407327
push 1
call fcn.0041b032
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.004011cc
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
pop eax
pop ebx
pop ecx
jmp 0x40726b
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 0x407528
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00401ad7
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x4073c3
push 4
call fcn.0041b032
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4073d6
push 1
call fcn.0041b032
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 0x4074ae
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00401ad7
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x407411
push 4
call fcn.0041b032
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407424
push 1
call fcn.0041b032
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.00401ad7
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x407451
push 4
call fcn.0041b032
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407464
push 1
call fcn.0041b032
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 [0x4ca37e]
fnstsw ax
test ah, 0x41
je 0x4074ae
mov eax, 1
jmp 0x4074b0
xor eax, eax
test eax, eax
je 0x407520
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.00401ad7
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x4074d8
push 4
call fcn.0041b032
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4074eb
push 1
call fcn.0041b032
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.004011cc
mov dword [ebp - 0x28], eax
jmp 0x407528
pop eax
pop ebx
pop ecx
jmp 0x407395
add esp, 0xc
cmp dword [ebp - 0x28], 0
jle 0x40a00d
mov dword [ebp - 0x4c], esp
push 0
push 0
push dword [ebp - 0x28]
push dword [ebp - 0x14]
mov eax, 0xd
call fcn.0041b03e
cmp dword [ebp - 0x4c], esp
je 0x407564
push 6
call fcn.0041b032
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.0041b02c
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, 0x11
call fcn.0041b03e
cmp dword [ebp - 0x4c], esp
je 0x407627
push 6
call fcn.0041b032
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.0041b026
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.004011cc
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 0x407705
push 0xa
call fcn.0041b032
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.00401ad7
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0041b02c
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.00401ad7
pop edx
test edx, edx
je 0x40774a
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
push dword [ebp - 0x34]
call fcn.0041b026
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, 0xd
call fcn.0041b03e
cmp dword [ebp - 0x50], esp
je 0x407793
push 6
call fcn.0041b032
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 [0x4ca386]
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.004011cc
push eax
mov ebx, dword [ebp - 0x34]
call fcn.00401ad7
push ebx
push dword [ebp - 0x14]
mov eax, 0x12
call fcn.0041b03e
cmp dword [ebp - 0x60], esp
je 0x4077f5
push 6
call fcn.0041b032
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.004011cc
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 0x407852
push 0xa
call fcn.0041b032
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.00401ad7
push ecx
shl ecx, 1
add ecx, 8
push ecx
call fcn.0041b02c
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.00401ad7
pop edx
test edx, edx
je 0x407898
mov ecx, edx
xor eax, eax
shl ecx, 1
rep stosb byte es:[edi], al
push dword [ebp - 0x38]
call fcn.0041b026
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, 0xd
call fcn.0041b03e
cmp dword [ebp - 0x50], esp
je 0x4078e1
push 6
call fcn.0041b032
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 [0x4ca38e]
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.004011cc
push eax
mov ebx, dword [ebp - 0x38]
call fcn.00401ad7
push ebx
push dword [ebp - 0x14]
mov eax, 0x13
call fcn.0041b03e
cmp dword [ebp - 0x60], esp
je 0x407943
push 6
call fcn.0041b032
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.004011cc
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 0x4079a0
push 0xa
call fcn.0041b032
add esp, 4
mov dword [ebp - 0x50], eax
lea ebx, [ebp - 0x54]
call fcn.00401ad7
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.0041b02c
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.00401ad7
pop edx
test edx, edx
je 0x4079e5
mov ecx, edx
xor eax, eax
rep stosd dword es:[edi], eax
push dword [ebp - 0x3c]
call fcn.0041b026
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, 0xd
call fcn.0041b03e
cmp dword [ebp - 0x50], esp
je 0x407a2e
push 6
call fcn.0041b032
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 [0x4ca386]
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.004011cc
push eax
mov ebx, dword [ebp - 0x3c]
call fcn.00401ad7
push ebx
push dword [ebp - 0x14]
mov eax, 0x12
call fcn.0041b03e
cmp dword [ebp - 0x60], esp
je 0x407a90
push 6
call fcn.0041b032
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 0x40a00a
push 0x80000301
push 0
push 0x80
push 1
mov ebx, 0x41cdc0
call fcn.0041b038
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x407aea
push ebx
call fcn.0041b026
add esp, 4
pop eax
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
call fcn.00401ad7
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x407b0b
push 4
call fcn.0041b032
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407b1e
push 1
call fcn.0041b032
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x3c]
call fcn.00401ad7
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x407b43
push 4
call fcn.0041b032
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407b56
push 1
call fcn.0041b032
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.004011cc
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x3c]
call fcn.00401ad7
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x407b9f
push 4
call fcn.0041b032
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407bb2
push 1
call fcn.0041b032
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, 0xd
call fcn.0041b03e
cmp dword [ebp - 0x50], esp
je 0x407beb
push 6
call fcn.0041b032
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 0x407c0e
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 0x14
call fcn.0041b03e
cmp dword [ebp - 0x4c], esp
je 0x407c2e
push 6
call fcn.0041b032
add esp, 4
cmp dword [ebp - 4], 1
jne 0x407cac
mov ebx, dword [ebp - 0x40]
call fcn.00401ad7
mov eax, 0
cmp eax, ecx
jl 0x407c56
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x5a
jne 0x407c9a
mov ebx, dword [ebp - 0x40]
call fcn.00401ad7
mov eax, 1
cmp eax, ecx
jl 0x407c85
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x77
jne 0x407c9a
xor eax, eax
jmp 0x407c9f
mov eax, 1
test eax, eax
je 0x407cac
jmp 0x40a002
mov ebx, dword [ebp - 0x34]
call fcn.00401ad7
push ebx
push ecx
mov ebx, dword [ebp - 0x38]
call fcn.00401ad7
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x407cd3
push 4
call fcn.0041b032
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407ce6
push 1
call fcn.0041b032
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 [0x4ca396]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
call fcn.004011cc
dec eax
jns 0x407d21
push 4
call fcn.0041b032
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407d34
push 1
call fcn.0041b032
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 0x407d53
jmp 0x40a002
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 0x407efc
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00401ad7
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x407d9d
push 4
call fcn.0041b032
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407db0
push 1
call fcn.0041b032
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 0x407e88
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0xc]
call fcn.00401ad7
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x407deb
push 4
call fcn.0041b032
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407dfe
push 1
call fcn.0041b032
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.00401ad7
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x407e2b
push 4
call fcn.0041b032
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407e3e
push 1
call fcn.0041b032
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 [0x4ca37e]
fnstsw ax
test ah, 0x41
je 0x407e88
mov eax, 1
jmp 0x407e8a
xor eax, eax
test eax, eax
je 0x407ef4
mov ebx, dword [ebp - 0x1c]
mov ebx, dword [ebx + 0x10]
call fcn.00401ad7
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x407eb2
push 4
call fcn.0041b032
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x407ec5
push 1
call fcn.0041b032
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.004011cc
mov dword [ebp - 0x44], eax
jmp 0x407efc
pop eax
pop ebx
pop ecx
jmp 0x407d6f
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 0x407f20
jmp 0x40a002
push 0x80000301
push 0
push 0x20
push 1
mov ebx, 0x41cdc0
call fcn.0041b038
add esp, 0x10
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
push eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x407f55
push ebx
call fcn.0041b026
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, 0xd
call fcn.0041b03e
cmp dword [ebp - 0x4c], esp
je 0x407f88
push 6
call fcn.0041b032
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 0x407fab
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 0x14
call fcn.0041b03e
cmp dword [ebp - 0x4c], esp
je 0x407fcb
push 6
call fcn.0041b032
add esp, 4
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0
cmp eax, ecx
jl 0x407fe9
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xb8
je 0x407fff
jmp 0x40a002
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 0x40801b
mov eax, 0x4ca1f7
push eax
push 1
mov ebx, 0x41d090
call fcn.0041b038
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 0x408047
push ebx
call fcn.0041b026
add esp, 4
pop eax
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [0x5aae10]
add ebx, 4
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp dword [ebx], 5
jne 0x408084
mov ebx, dword [0x5aae10]
add ebx, 8
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp dword [ebx], 0
jne 0x408084
mov eax, 1
jmp 0x408086
xor eax, eax
test eax, eax
je 0x408892
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 9
cmp eax, ecx
jl 0x4080ac
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xcd
jne 0x4080f3
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0xa
cmp eax, ecx
jl 0x4080db
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x2e
jne 0x4080f3
mov eax, 1
jmp 0x4080f5
xor eax, eax
test eax, eax
je 0x40888d
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 0x408131
mov eax, 0x4ca1f7
push eax
push 3
mov ebx, 0x41ca50
call fcn.0041b038
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 0x408165
and eax, 0xff
jmp 0x4081b0
cmp ecx, 0x80000201
jne 0x408170
cwde
jmp 0x4081b0
cmp ecx, 0x80000301
je 0x4081b0
cmp ecx, 0x80000401
je 0x4081b0
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x4081a0
cmp ecx, 0x80000601
je 0x4081a5
push 2
call fcn.0041b032
add esp, 4
fld dword [ebp - 0x60]
jmp 0x4081ab
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004011cc
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0xb
cmp eax, ecx
jl 0x4081d3
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x408357
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 0x408218
mov eax, 0x4ca1f7
push eax
push 3
mov ebx, 0x41ca50
call fcn.0041b038
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 0x40824c
and eax, 0xff
jmp 0x408297
cmp ecx, 0x80000201
jne 0x408257
cwde
jmp 0x408297
cmp ecx, 0x80000301
je 0x408297
cmp ecx, 0x80000401
je 0x408297
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x408287
cmp ecx, 0x80000601
je 0x40828c
push 2
call fcn.0041b032
add esp, 4
fld dword [ebp - 0x60]
jmp 0x408292
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004011cc
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x5aae28
push 4
mov eax, 2
call fcn.0041b020
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x5aae28]
mov dword [ebp - 0x50], ebx
call fcn.00401ad7
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 0x4082e3
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.0041b05c
add esp, 8
mov dword [0x5aae28], 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.0041b02c
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 0x40833f
push eax
mov ebx, eax
call fcn.004010cd
inc eax
push eax
call fcn.0041b02c
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 0x40a002
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0xb
cmp eax, ecx
jl 0x408375
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x408453
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
push 0x5aae28
push 4
mov eax, 2
call fcn.0041b020
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x5aae28]
mov dword [ebp - 0x50], ebx
call fcn.00401ad7
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 0x4083df
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.0041b05c
add esp, 8
mov dword [0x5aae28], 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.0041b02c
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 0x40843b
push eax
mov ebx, eax
call fcn.004010cd
inc eax
push eax
call fcn.0041b02c
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 0x40a002
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0xb
cmp eax, ecx
jl 0x408471
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xe9
jne 0x40888d
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 0x4084ad
mov eax, 0x4ca1f7
push eax
push 3
mov ebx, 0x41ca50
call fcn.0041b038
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 0x4084ea
and eax, 0xff
jmp 0x408510
cmp ecx, 0x80000201
jne 0x4084f5
cwde
jmp 0x408510
mov dword [ebp - 0x64], eax
cmp ecx, 0x80000301
je 0x408513
cmp ecx, 0x80000401
jne 0x408518
mov dword [ebp - 0x60], edx
fild qword [ebp - 0x64]
jmp 0x40853a
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x64]
jmp 0x40853a
cmp ecx, 0x80000501
jne 0x408525
fld dword [ebp - 0x64]
jmp 0x40853a
cmp ecx, 0x80000601
je 0x408543
push 2
call fcn.0041b032
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 [0x4ca299]
fstp qword [ebp - 0x6c]
mov ecx, dword [ebp - 0x4c]
cmp ecx, reloc.WS2_32.dll_connect
je 0x40856c
cmp ecx, reloc.WS2_32.dll_getpeername
jne 0x40857c
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x40857c
push ebx
call fcn.0041b026
add esp, 4
mov dword [ebp - 0x70], esp
push 0
push 0
fld qword [ebp - 0x6c]
call fcn.004011cc
push eax
push dword [ebp - 0x14]
mov eax, 0xd
call fcn.0041b03e
cmp dword [ebp - 0x70], esp
je 0x4085b1
push 6
call fcn.0041b032
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 0x4085d4
add eax, 8
push eax
push dword [ebp - 0x14]
mov eax, 0x14
call fcn.0041b03e
cmp dword [ebp - 0x4c], esp
je 0x4085f4
push 6
call fcn.0041b032
add esp, 4
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0
cmp eax, ecx
jl 0x408612
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x408796
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 0x408657
mov eax, 0x4ca1f7
push eax
push 3
mov ebx, 0x41ca50
call fcn.0041b038
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 0x40868b
and eax, 0xff
jmp 0x4086d6
cmp ecx, 0x80000201
jne 0x408696
cwde
jmp 0x4086d6
cmp ecx, 0x80000301
je 0x4086d6
cmp ecx, 0x80000401
je 0x4086d6
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x4086c6
cmp ecx, 0x80000601
je 0x4086cb
push 2
call fcn.0041b032
add esp, 4
fld dword [ebp - 0x60]
jmp 0x4086d1
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004011cc
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x5aae28
push 4
mov eax, 2
call fcn.0041b020
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x5aae28]
mov dword [ebp - 0x50], ebx
call fcn.00401ad7
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 0x408722
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.0041b05c
add esp, 8
mov dword [0x5aae28], 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.0041b02c
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 0x40877e
push eax
mov ebx, eax
call fcn.004010cd
inc eax
push eax
call fcn.0041b02c
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 0x40a002
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0
cmp eax, ecx
jl 0x4087b4
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x40888d
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
push 0x5aae28
push 4
mov eax, 2
call fcn.0041b020
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x5aae28]
mov dword [ebp - 0x50], ebx
call fcn.00401ad7
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 0x40881e
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.0041b05c
add esp, 8
mov dword [0x5aae28], 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.0041b02c
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 0x40887a
push eax
mov ebx, eax
call fcn.004010cd
inc eax
push eax
call fcn.0041b02c
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 0x40a002
jmp 0x40a002
mov ebx, dword [0x5aae10]
add ebx, 0x1c
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp dword [ebx], 0
je 0x409bd3
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 0x4088de
mov eax, 0x4ca1f7
push eax
push 3
mov ebx, 0x41ca50
call fcn.0041b038
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 0x408912
and eax, 0xff
jmp 0x40895d
cmp ecx, 0x80000201
jne 0x40891d
cwde
jmp 0x40895d
cmp ecx, 0x80000301
je 0x40895d
cmp ecx, 0x80000401
je 0x40895d
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x40894d
cmp ecx, 0x80000601
je 0x408952
push 2
call fcn.0041b032
add esp, 4
fld dword [ebp - 0x60]
jmp 0x408958
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004011cc
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.00401ad7
mov eax, 5
cmp eax, ecx
jl 0x4089a4
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x8d
jne 0x408a1a
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 9
cmp eax, ecx
jl 0x4089d3
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xb9
jne 0x408a1a
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0xe
cmp eax, ecx
jl 0x408a02
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x408a1a
mov eax, 1
jmp 0x408a1c
xor eax, eax
test eax, eax
je 0x408d7a
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 0x408a58
mov eax, 0x4ca1f7
push eax
push 3
mov ebx, 0x41ca50
call fcn.0041b038
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 0x408a8c
and eax, 0xff
jmp 0x408ad7
cmp ecx, 0x80000201
jne 0x408a97
cwde
jmp 0x408ad7
cmp ecx, 0x80000301
je 0x408ad7
cmp ecx, 0x80000401
je 0x408ad7
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x408ac7
cmp ecx, 0x80000601
je 0x408acc
push 2
call fcn.0041b032
add esp, 4
fld dword [ebp - 0x60]
jmp 0x408ad2
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004011cc
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0x15
cmp eax, ecx
jl 0x408afa
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x408c7e
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 0x408b3f
mov eax, 0x4ca1f7
push eax
push 3
mov ebx, 0x41ca50
call fcn.0041b038
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 0x408b73
and eax, 0xff
jmp 0x408bbe
cmp ecx, 0x80000201
jne 0x408b7e
cwde
jmp 0x408bbe
cmp ecx, 0x80000301
je 0x408bbe
cmp ecx, 0x80000401
je 0x408bbe
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x408bae
cmp ecx, 0x80000601
je 0x408bb3
push 2
call fcn.0041b032
add esp, 4
fld dword [ebp - 0x60]
jmp 0x408bb9
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004011cc
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x5aae28
push 4
mov eax, 2
call fcn.0041b020
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x5aae28]
mov dword [ebp - 0x50], ebx
call fcn.00401ad7
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 0x408c0a
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.0041b05c
add esp, 8
mov dword [0x5aae28], 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.0041b02c
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 0x408c66
push eax
mov ebx, eax
call fcn.004010cd
inc eax
push eax
call fcn.0041b02c
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 0x40a002
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0x15
cmp eax, ecx
jl 0x408c9c
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x408d68
push 0x5aae28
push 4
mov eax, 2
call fcn.0041b020
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x5aae28]
mov dword [ebp - 0x50], ebx
call fcn.00401ad7
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 0x408cf4
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.0041b05c
add esp, 8
mov dword [0x5aae28], 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.0041b02c
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 0x408d50
push eax
mov ebx, eax
call fcn.004010cd
inc eax
push eax
call fcn.0041b02c
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 0x40a002
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.00401ad7
mov eax, 5
cmp eax, ecx
jl 0x408d98
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x8d
jne 0x408e0e
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 9
cmp eax, ecx
jl 0x408dc7
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x33
jne 0x408e0e
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0xe
cmp eax, ecx
jl 0x408df6
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x408e0e
mov eax, 1
jmp 0x408e10
xor eax, eax
test eax, eax
je 0x4090df
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0x12
cmp eax, ecx
jl 0x408e36
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x408fba
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 0x408e7b
mov eax, 0x4ca1f7
push eax
push 3
mov ebx, 0x41ca50
call fcn.0041b038
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 0x408eaf
and eax, 0xff
jmp 0x408efa
cmp ecx, 0x80000201
jne 0x408eba
cwde
jmp 0x408efa
cmp ecx, 0x80000301
je 0x408efa
cmp ecx, 0x80000401
je 0x408efa
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x408eea
cmp ecx, 0x80000601
je 0x408eef
push 2
call fcn.0041b032
add esp, 4
fld dword [ebp - 0x60]
jmp 0x408ef5
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004011cc
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x5aae28
push 4
mov eax, 2
call fcn.0041b020
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x5aae28]
mov dword [ebp - 0x50], ebx
call fcn.00401ad7
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 0x408f46
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.0041b05c
add esp, 8
mov dword [0x5aae28], 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.0041b02c
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 0x408fa2
push eax
mov ebx, eax
call fcn.004010cd
inc eax
push eax
call fcn.0041b02c
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 0x40a002
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0x15
cmp eax, ecx
jl 0x408fd8
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x40901c
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0x12
cmp eax, ecx
jl 0x409007
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x40901c
xor eax, eax
jmp 0x409021
mov eax, 1
test eax, eax
je 0x4090df
push 0x5aae28
push 4
mov eax, 2
call fcn.0041b020
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x5aae28]
mov dword [ebp - 0x50], ebx
call fcn.00401ad7
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 0x409070
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.0041b05c
add esp, 8
mov dword [0x5aae28], 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.0041b02c
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 0x4090cc
push eax
mov ebx, eax
call fcn.004010cd
inc eax
push eax
call fcn.0041b02c
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 0x40a002
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 5
cmp eax, ecx
jl 0x4090fd
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xb9
jne 0x409173
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0xa
cmp eax, ecx
jl 0x40912c
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x8d
jne 0x409173
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0xe
cmp eax, ecx
jl 0x40915b
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x409173
mov eax, 1
jmp 0x409175
xor eax, eax
test eax, eax
je 0x4096b5
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 0x4091b1
mov eax, 0x4ca1f7
push eax
push 3
mov ebx, 0x41ca50
call fcn.0041b038
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 0x4091e5
and eax, 0xff
jmp 0x409230
cmp ecx, 0x80000201
jne 0x4091f0
cwde
jmp 0x409230
cmp ecx, 0x80000301
je 0x409230
cmp ecx, 0x80000401
je 0x409230
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x409220
cmp ecx, 0x80000601
je 0x409225
push 2
call fcn.0041b032
add esp, 4
fld dword [ebp - 0x60]
jmp 0x40922b
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004011cc
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0x18
cmp eax, ecx
jl 0x409253
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x4093d7
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 0x409298
mov eax, 0x4ca1f7
push eax
push 3
mov ebx, 0x41ca50
call fcn.0041b038
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 0x4092cc
and eax, 0xff
jmp 0x409317
cmp ecx, 0x80000201
jne 0x4092d7
cwde
jmp 0x409317
cmp ecx, 0x80000301
je 0x409317
cmp ecx, 0x80000401
je 0x409317
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x409307
cmp ecx, 0x80000601
je 0x40930c
push 2
call fcn.0041b032
add esp, 4
fld dword [ebp - 0x60]
jmp 0x409312
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004011cc
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x5aae28
push 4
mov eax, 2
call fcn.0041b020
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x5aae28]
mov dword [ebp - 0x50], ebx
call fcn.00401ad7
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 0x409363
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.0041b05c
add esp, 8
mov dword [0x5aae28], 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.0041b02c
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 0x4093bf
push eax
mov ebx, eax
call fcn.004010cd
inc eax
push eax
call fcn.0041b02c
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 0x40a002
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0x15
cmp eax, ecx
jl 0x4093f5
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x409579
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 0x40943a
mov eax, 0x4ca1f7
push eax
push 3
mov ebx, 0x41ca50
call fcn.0041b038
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 0x40946e
and eax, 0xff
jmp 0x4094b9
cmp ecx, 0x80000201
jne 0x409479
cwde
jmp 0x4094b9
cmp ecx, 0x80000301
je 0x4094b9
cmp ecx, 0x80000401
je 0x4094b9
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x4094a9
cmp ecx, 0x80000601
je 0x4094ae
push 2
call fcn.0041b032
add esp, 4
fld dword [ebp - 0x60]
jmp 0x4094b4
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004011cc
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x5aae28
push 4
mov eax, 2
call fcn.0041b020
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x5aae28]
mov dword [ebp - 0x50], ebx
call fcn.00401ad7
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 0x409505
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.0041b05c
add esp, 8
mov dword [0x5aae28], 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.0041b02c
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 0x409561
push eax
mov ebx, eax
call fcn.004010cd
inc eax
push eax
call fcn.0041b02c
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 0x40a002
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0x18
cmp eax, ecx
jl 0x409597
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x4095db
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0x15
cmp eax, ecx
jl 0x4095c6
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x4095db
xor eax, eax
jmp 0x4095e0
mov eax, 1
test eax, eax
je 0x4096a3
push 0x5aae28
push 4
mov eax, 2
call fcn.0041b020
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x5aae28]
mov dword [ebp - 0x50], ebx
call fcn.00401ad7
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 0x40962f
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.0041b05c
add esp, 8
mov dword [0x5aae28], 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.0041b02c
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 0x40968b
push eax
mov ebx, eax
call fcn.004010cd
inc eax
push eax
call fcn.0041b02c
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 0x40a002
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.00401ad7
mov eax, 5
cmp eax, ecx
jl 0x4096d3
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x33
jne 0x409749
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 7
cmp eax, ecx
jl 0x409702
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0x8d
jne 0x409749
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0xb
cmp eax, ecx
jl 0x409731
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x5c]
cmp byte [ebx], 0x64
jne 0x409749
mov eax, 1
jmp 0x40974b
xor eax, eax
test eax, eax
je 0x409bce
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.00401ad7
mov eax, 0x15
cmp eax, ecx
jl 0x409783
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x409907
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 0x4097c8
mov eax, 0x4ca1f7
push eax
push 3
mov ebx, 0x41ca50
call fcn.0041b038
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 0x4097fc
and eax, 0xff
jmp 0x409847
cmp ecx, 0x80000201
jne 0x409807
cwde
jmp 0x409847
cmp ecx, 0x80000301
je 0x409847
cmp ecx, 0x80000401
je 0x409847
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x409837
cmp ecx, 0x80000601
je 0x40983c
push 2
call fcn.0041b032
add esp, 4
fld dword [ebp - 0x60]
jmp 0x409842
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004011cc
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x5aae28
push 4
mov eax, 2
call fcn.0041b020
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x5aae28]
mov dword [ebp - 0x50], ebx
call fcn.00401ad7
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 0x409893
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.0041b05c
add esp, 8
mov dword [0x5aae28], 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.0041b02c
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 0x4098ef
push eax
mov ebx, eax
call fcn.004010cd
inc eax
push eax
call fcn.0041b02c
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 0x40a002
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0x12
cmp eax, ecx
jl 0x409925
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x409aa9
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 0x40996a
mov eax, 0x4ca1f7
push eax
push 3
mov ebx, 0x41ca50
call fcn.0041b038
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 0x40999e
and eax, 0xff
jmp 0x4099e9
cmp ecx, 0x80000201
jne 0x4099a9
cwde
jmp 0x4099e9
cmp ecx, 0x80000301
je 0x4099e9
cmp ecx, 0x80000401
je 0x4099e9
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x4099d9
cmp ecx, 0x80000601
je 0x4099de
push 2
call fcn.0041b032
add esp, 4
fld dword [ebp - 0x60]
jmp 0x4099e4
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004011cc
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x5aae28
push 4
mov eax, 2
call fcn.0041b020
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x5aae28]
mov dword [ebp - 0x50], ebx
call fcn.00401ad7
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 0x409a35
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.0041b05c
add esp, 8
mov dword [0x5aae28], 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.0041b02c
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 0x409a91
push eax
mov ebx, eax
call fcn.004010cd
inc eax
push eax
call fcn.0041b02c
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 0x40a002
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0x15
cmp eax, ecx
jl 0x409ac7
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
je 0x409b0b
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0x12
cmp eax, ecx
jl 0x409af6
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xc3
je 0x409b0b
xor eax, eax
jmp 0x409b10
mov eax, 1
test eax, eax
je 0x409bce
push 0x5aae28
push 4
mov eax, 2
call fcn.0041b020
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x5aae28]
mov dword [ebp - 0x50], ebx
call fcn.00401ad7
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 0x409b5f
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.0041b05c
add esp, 8
mov dword [0x5aae28], 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.0041b02c
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 0x409bbb
push eax
mov ebx, eax
call fcn.004010cd
inc eax
push eax
call fcn.0041b02c
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 0x40a002
jmp 0x40a002
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 5
cmp eax, ecx
jl 0x409bf1
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xba
jne 0x409c38
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0xa
cmp eax, ecx
jl 0x409c20
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xff
jne 0x409c38
mov eax, 1
jmp 0x409c3a
xor eax, eax
test eax, eax
je 0x40a002
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0xb
cmp eax, ecx
jl 0x409c60
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x12
je 0x409ca4
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0xb
cmp eax, ecx
jl 0x409c8f
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x54]
cmp byte [ebx], 0xd2
je 0x409ca4
xor eax, eax
jmp 0x409ca9
mov eax, 1
test eax, eax
je 0x40a002
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 0x409ce5
mov eax, 0x4ca1f7
push eax
push 3
mov ebx, 0x41ca50
call fcn.0041b038
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 0x409d19
and eax, 0xff
jmp 0x409d64
cmp ecx, 0x80000201
jne 0x409d24
cwde
jmp 0x409d64
cmp ecx, 0x80000301
je 0x409d64
cmp ecx, 0x80000401
je 0x409d64
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x409d54
cmp ecx, 0x80000601
je 0x409d59
push 2
call fcn.0041b032
add esp, 4
fld dword [ebp - 0x60]
jmp 0x409d5f
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004011cc
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0xc
cmp eax, ecx
jl 0x409d87
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc2
jne 0x409f0b
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 0x409dcc
mov eax, 0x4ca1f7
push eax
push 3
mov ebx, 0x41ca50
call fcn.0041b038
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 0x409e00
and eax, 0xff
jmp 0x409e4b
cmp ecx, 0x80000201
jne 0x409e0b
cwde
jmp 0x409e4b
cmp ecx, 0x80000301
je 0x409e4b
cmp ecx, 0x80000401
je 0x409e4b
mov dword [ebp - 0x60], eax
cmp ecx, 0x80000501
je 0x409e3b
cmp ecx, 0x80000601
je 0x409e40
push 2
call fcn.0041b032
add esp, 4
fld dword [ebp - 0x60]
jmp 0x409e46
mov dword [ebp - 0x5c], edx
fld qword [ebp - 0x60]
call fcn.004011cc
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], eax
push 0x5aae28
push 4
mov eax, 2
call fcn.0041b020
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x5aae28]
mov dword [ebp - 0x50], ebx
call fcn.00401ad7
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 0x409e97
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.0041b05c
add esp, 8
mov dword [0x5aae28], 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.0041b02c
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 0x409ef3
push eax
mov ebx, eax
call fcn.004010cd
inc eax
push eax
call fcn.0041b02c
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 0x40a002
mov ebx, dword [ebp - 0x48]
call fcn.00401ad7
mov eax, 0xc
cmp eax, ecx
jl 0x409f29
push 1
call fcn.0041b032
add esp, 4
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc3
jne 0x40a002
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
mov dword [ebx], 0
push 0x5aae28
push 4
mov eax, 2
call fcn.0041b020
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x4c], eax
mov ebx, dword [0x5aae28]
mov dword [ebp - 0x50], ebx
call fcn.00401ad7
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 0x409f93
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.0041b05c
add esp, 8
mov dword [0x5aae28], 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.0041b02c
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 0x409fef
push eax
mov ebx, eax
call fcn.004010cd
inc eax
push eax
call fcn.0041b02c
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 0x40a002
pop eax
pop ebx
pop ecx
jmp 0x407aa7
add esp, 0xc
mov dword [ebp - 0x4c], esp
push dword [ebp - 0x14]
mov eax, 0x15
call fcn.0041b03e
cmp dword [ebp - 0x4c], esp
je 0x40a02f
push 6
call fcn.0041b032
add esp, 4
mov dword [ebp - 0x4c], esp
push dword [ebp - 0x10]
mov eax, 0x16
call fcn.0041b03e
cmp dword [ebp - 0x4c], esp
je 0x40a051
push 6
call fcn.0041b032
add esp, 4
pop ebx
pop ecx
jmp 0x405f71
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40a06b
push ebx
call fcn.0041b026
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a082
push ebx
call fcn.0041b026
add esp, 4
pop ebx
call fcn.0041b026
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x40a09b
push ebx
call fcn.0041b026
add esp, 4
mov ebx, dword [ebp - 0x18]
push ebx
add ebx, 0x38
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0041b026
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0041b026
add esp, 4
pop ebx
call fcn.0041b026
add esp, 4
mov ebx, dword [ebp - 0x1c]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0041b026
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.0041b026
add esp, 4
pop ebx
call fcn.0041b026
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 0x40a11c
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40a118
imul eax, dword [ebx]
jmp 0x40a10d
mov ecx, eax
test ecx, ecx
je 0x40a144
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0041b026
add esp, 4
pop ebx
call fcn.0041b026
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40a122
call fcn.0041b026
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0041b026
add esp, 4
pop ebx
call fcn.0041b026
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0041b026
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.0041b026
add esp, 4
pop ebx
call fcn.0041b026
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 0x40a1ba
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40a1b6
imul eax, dword [ebx]
jmp 0x40a1ab
mov ecx, eax
test ecx, ecx
je 0x40a1e2
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0041b026
add esp, 4
pop ebx
call fcn.0041b026
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40a1c0
call fcn.0041b026
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0041b026
add esp, 4
pop ebx
call fcn.0041b026
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
call fcn.0041b026
add esp, 4
mov ebx, dword [ebp - 0x34]
push ebx
call fcn.0041b026
add esp, 4
mov ebx, dword [ebp - 0x38]
push ebx
call fcn.0041b026
add esp, 4
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0041b026
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40a243
push ebx
call fcn.0041b026
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40a253
push ebx
call fcn.0041b026
add esp, 4
mov esp, ebp
pop ebp
ret