Function at 0x407692
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc8
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
push 0x4c
call fcn.004151d7
add esp, 4
mov dword [ebp - 0x10], 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.004151d7
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4c2e2d
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.004151d7
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4c2e35
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 0xc
call fcn.004151d7
add esp, 4
mov dword [ebp - 0x14], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
add ebx, 4
push ebx
push 0x1c
call fcn.004151d7
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.004151d7
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 0x48
call fcn.004151d7
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4c2e3d
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, 0x10
push ecx
push ebx
push 8
call fcn.004151d7
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4077aa
pop ebx
pop ebx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
push 8
call fcn.004151d7
add esp, 4
mov dword [ebp - 0x20], eax
mov edi, eax
mov esi, 0x4b419e
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x24], 0
push 0x2c
call fcn.004151d7
add esp, 4
mov dword [ebp - 0x28], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xb
rep stosd dword es:[edi], eax
push getpeername
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x407838
mov eax, 0x4a51ed
push eax
push 1
mov ebx, 0x416ad0
call fcn.004151e3
add esp, 0x10
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x407862
push ebx
call fcn.004151d1
add esp, 4
pop eax
mov dword [ebp - 4], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x407879
mov eax, 0x4b419e
push eax
push 1
mov ebx, 0x415580
call fcn.004151e3
add esp, 0x10
mov dword [ebp - 8], eax
mov dword [ebp - 0x2c], esp
push 0
mov eax, dword [ebp - 4]
test eax, eax
je 0x4078a1
add eax, 8
push eax
mov eax, dword [ebp - 4]
test eax, eax
je 0x4078ac
add eax, 8
push eax
mov eax, 0x21
call fcn.004151f5
cmp dword [ebp - 0x2c], esp
je 0x4078d3
push 0x81
push 0x4026f34
push 6
call fcn.004151ef
add esp, 0xc
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x2c], esp
push 0x40
push dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
push eax
push 0x40
call fcn.004151d7
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], 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
mov eax, 0x22
call fcn.004151f5
cmp dword [ebp - 0x2c], esp
je 0x407a0c
push 0xe9
push 0x4026f34
push 6
call fcn.004151ef
add esp, 0xc
mov ebx, dword [ebp - 0x30]
push ebx
mov edi, dword [ebp - 0x34]
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.004151cb
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 0x407adc
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x407ada
imul eax, dword [edi]
jmp 0x407acf
mov ecx, eax
cmp ecx, 4
jle 0x407ae6
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.004151cb
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 0x407b39
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x407b37
imul eax, dword [edi]
jmp 0x407b2c
mov ecx, eax
cmp ecx, 0xa
jle 0x407b43
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.004151d1
add esp, 4
mov ebx, dword [ebp - 0x10]
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
cmp word [ebx], 0x5a4d
je 0x407bb5
mov ebx, 6
call fcn.00401168
push 0x80000301
push 0
push 0
push getpeername
push 0
push 0x4c2d29
push 4
mov ebx, 0x417bc0
call fcn.004151e3
add esp, 0x34
mov eax, 0
jmp 0x40966b
mov ebx, dword [ebp - 0x10]
add ebx, 0x48
mov dword [ebp - 0x2c], ebx
fild dword [ebp - 0xc]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
mov ebx, dword [ebp - 0x2c]
fild dword [ebx]
fstp qword [ebp - 0x3c]
fadd qword [ebp - 0x3c]
fstp qword [ebp - 0x44]
mov dword [ebp - 0x48], esp
push 0xf8
fld qword [ebp - 0x44]
call fcn.004016ee
push eax
mov eax, dword [ebp - 0x14]
push eax
push 0xf8
call fcn.004151d7
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], 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 ecx, 0x10
mov ebx, dword [ebx]
add ebx, 8
push ebx
push ecx
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
pop ecx
pop ebx
add ebx, 4
dec ecx
jne 0x407d9e
pop ebx
add ebx, 4
pop ebx
add ebx, 4
mov eax, 0x23
call fcn.004151f5
cmp dword [ebp - 0x48], esp
je 0x407df0
push 0x259
push 0x4026f34
push 6
call fcn.004151ef
add esp, 0xc
mov ebx, dword [ebp - 0x4c]
push ebx
mov edi, dword [ebp - 0x50]
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]
mov ecx, 0x10
add edi, 8
push ebx
push edi
push ecx
mov edi, dword [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
pop ecx
pop edi
pop ebx
add edi, 4
add ebx, 8
dec ecx
jne 0x407f9d
pop edi
add edi, 4
pop ebx
add ebx, 0xe0
pop edi
add edi, 4
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
cmp dword [ebx], 0x4550
je 0x408033
mov ebx, 6
call fcn.00401168
push 0x80000301
push 0
push 0
push getpeername
push 0
push 0x4c2d3f
push 4
mov ebx, 0x417bc0
call fcn.004151e3
add esp, 0x34
mov eax, 0
jmp 0x40966b
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 8]
mov ebx, dword [ebx + 0x78]
call fcn.0040314a
mov eax, 1
cmp eax, ecx
jl 0x408061
push 0x3db
push 0x4026f34
push 1
call fcn.004151ef
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jne 0x4080bb
mov ebx, 6
call fcn.00401168
push 0x80000301
push 0
push 0
push getpeername
push 0
push 0x4c2d55
push 4
mov ebx, 0x417bc0
call fcn.004151e3
add esp, 0x34
mov eax, 0
jmp 0x40966b
fild dword [ebp - 0xc]
fstp qword [ebp - 0x30]
fld qword [ebp - 0x30]
fild dword [ebp - 0x18]
fstp qword [ebp - 0x38]
fadd qword [ebp - 0x38]
fstp qword [ebp - 0x40]
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 8]
mov ebx, dword [ebx + 0x78]
call fcn.0040314a
mov eax, 1
cmp eax, ecx
jl 0x4080fe
push 0x536
push 0x4026f34
push 1
call fcn.004151ef
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
fild dword [ebx]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
fsub qword [0x4c2d62]
fstp qword [ebp - 0x54]
fld qword [ebp - 0x54]
call fcn.004016ee
push 0x80000301
push 0
push eax
fld qword [ebp - 0x40]
call fcn.004016ee
push 0x80000301
push 0
push eax
push 2
mov ebx, 0x418260
call fcn.004151e3
add esp, 0x1c
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x408168
push ebx
call fcn.004151d1
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x34], 1
mov ebx, dword [ebp - 0x2c]
mov ax, word [ebx]
cwde
cmp eax, 0
jge 0x4081a2
push 0x5d7
push 0x4026f34
push 0xa
call fcn.004151ef
add esp, 0xc
mov dword [ebp - 0x30], eax
lea ebx, [ebp - 0x34]
call fcn.0040314a
push ecx
shl ecx, 2
add ecx, 8
push ecx
call fcn.004151d7
add esp, 4
mov edi, eax
mov dword [edi], 1
add edi, 4
pop ecx
push eax
push ecx
lea esi, [ebp - 0x30]
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov ebx, dword [ebp - 0x20]
call fcn.0040314a
pop edx
test ecx, ecx
je 0x4081fa
push edi
push edx
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004151d1
add esp, 4
pop ebx
pop ecx
add ebx, 4
dec ecx
jne 0x4081e3
pop edx
pop edi
test edx, edx
je 0x40822c
mov ebx, edi
push edx
push ebx
push 0x2c
call fcn.004151d7
add esp, 4
pop ebx
push ebx
mov dword [ebx], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xb
rep stosd dword es:[edi], eax
pop ebx
pop edx
add ebx, 4
dec edx
jne 0x408204
push dword [ebp - 0x20]
call fcn.004151d1
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x10]
add ebx, 0x48
mov dword [ebp - 0x2c], ebx
fild dword [ebp - 0xc]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
mov ebx, dword [ebp - 0x2c]
fild dword [ebx]
fstp qword [ebp - 0x3c]
fadd qword [ebp - 0x3c]
fadd qword [0x4c2d6a]
fstp qword [ebp - 0x44]
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x50], eax
fild dword [ebp - 0x50]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
fmul qword [0x4c2d72]
fstp qword [ebp - 0x58]
mov dword [ebp - 0x5c], esp
fld qword [ebp - 0x58]
call fcn.004016ee
push eax
fld qword [ebp - 0x44]
call fcn.004016ee
push eax
mov ebx, dword [ebp - 0x20]
call fcn.0040314a
push ebx
mov dword [ebp - 0x60], ecx
test ecx, ecx
jne 0x4082b2
xor eax, eax
jmp 0x4082be
imul ecx, ecx, 0x28
push ecx
call fcn.004151d7
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x60]
test ecx, ecx
je 0x40835f
push ecx
push edi
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 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 0x40835f
add ebx, 4
add edi, 0x28
jmp 0x4082d3
mov eax, 0x24
call fcn.004151f5
cmp dword [ebp - 0x5c], esp
je 0x408385
push 0x6a2
push 0x4026f34
push 6
call fcn.004151ef
add esp, 0xc
mov ebx, dword [ebp - 0x64]
push ebx
mov edi, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x60]
test ecx, ecx
je 0x408423
push ecx
push edi
push ebx
mov edi, dword [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 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 0x408423
add ebx, 0x28
add edi, 4
jmp 0x408397
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0x20]
call fcn.0040316a
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 0x4085fc
mov ebx, dword [ebp - 0x20]
call fcn.0040314a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x408471
push 0x77e
push 0x4026f34
push 4
call fcn.004151ef
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40848e
push 0x77e
push 0x4026f34
push 1
call fcn.004151ef
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx]
cmp dword [ebp - 0x18], eax
jl 0x408588
mov ebx, dword [ebp - 0x20]
call fcn.0040314a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x4084d0
push 0x7c8
push 0x4026f34
push 4
call fcn.004151ef
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4084ed
push 0x7c8
push 0x4026f34
push 1
call fcn.004151ef
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x20]
call fcn.0040314a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x408521
push 0x7c8
push 0x4026f34
push 4
call fcn.004151ef
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40853e
push 0x7c8
push 0x4026f34
push 1
call fcn.004151ef
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x34]
fild dword [ebx]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
mov ebx, dword [ebp - 0x38]
fild dword [ebx]
fstp qword [ebp - 0x48]
fadd qword [ebp - 0x48]
fstp qword [ebp - 0x50]
fild dword [ebp - 0x18]
fstp qword [ebp - 0x58]
fld qword [ebp - 0x58]
fsub qword [ebp - 0x50]
fcomp qword [0x4c2d7a]
fnstsw ax
test ah, 0x41
je 0x408588
mov eax, 1
jmp 0x40858d
mov eax, 0
test eax, eax
je 0x4085f4
mov ebx, dword [ebp - 0x20]
call fcn.0040314a
push ebx
push ecx
mov eax, dword [ebp - 0x24]
dec eax
jns 0x4085bc
push 0x84f
push 0x4026f34
push 4
call fcn.004151ef
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4085d9
push 0x84f
push 0x4026f34
push 1
call fcn.004151ef
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x28
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
mov dword [ebx], closesocket
jmp 0x4085fc
pop eax
pop ebx
pop ecx
jmp 0x40843c
add esp, 0xc
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ebx
push getpeername
push 0
push 0x4c2d82
push 1
mov ebx, 0x416470
call fcn.004151e3
add esp, 0x10
mov dword [ebp - 0x30], eax
push 0
push 0
push 0
push 0x80000301
push 0
push 4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x40864b
mov eax, 0x4b419e
push eax
push 3
mov ebx, 0x416570
call fcn.004151e3
add esp, 0x28
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], ecx
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x408677
push ebx
call fcn.004151d1
add esp, 4
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
cmp ecx, 0x80000101
jne 0x408691
and eax, 0xff
xor edx, edx
jmp 0x4086ea
cmp ecx, 0x80000201
jne 0x40869d
cwde
cdq
jmp 0x4086ea
cmp ecx, 0x80000301
jne 0x4086a8
cdq
jmp 0x4086ea
cmp ecx, 0x80000401
je 0x4086ea
mov dword [ebp - 0x44], eax
cmp ecx, 0x80000501
je 0x4086da
cmp ecx, 0x80000601
je 0x4086df
push 0x985
push 0x4026f34
push 2
call fcn.004151ef
add esp, 0xc
fld dword [ebp - 0x44]
jmp 0x4086e5
mov dword [ebp - 0x40], edx
fld qword [ebp - 0x44]
call fcn.004016ee
mov ebx, dword [ebp - 0x2c]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, dword [ebp - 0x28]
add ebx, 8
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 8]
mov ebx, dword [ebx + 0x78]
call fcn.0040314a
mov eax, 1
cmp eax, ecx
jl 0x408729
push 0x9e7
push 0x4026f34
push 1
call fcn.004151ef
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x30], ebx
push 0xffffffffffffffff
push 8
push 0x1602497c
push 0x52010001
call fcn.004151e9
add esp, 0x10
mov dword [ebp - 0x34], eax
push getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x408762
mov eax, 0x4a51ed
push eax
push 1
mov ebx, 0x415560
call fcn.004151e3
add esp, 0x10
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x408788
push ebx
call fcn.004151d1
add esp, 4
push getpeername
push 0
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
test eax, eax
jne 0x40879d
mov eax, 0x4a51ed
push eax
push 1
mov ebx, 0x415560
call fcn.004151e3
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x30]
fild dword [ebx]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fild dword [ebp - 0x38]
fstp qword [ebp - 0x4c]
fadd qword [ebp - 0x4c]
fild dword [ebp - 0x3c]
fstp qword [ebp - 0x54]
fadd qword [ebp - 0x54]
fadd qword [0x4c2d89]
fstp qword [ebp - 0x5c]
fld qword [ebp - 0x5c]
call fcn.004016ee
mov ebx, dword [ebp - 0x2c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x28]
add ebx, 0xc
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 8]
add ebx, 0x4c
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x2c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x28]
add ebx, 0x10
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x28]
add ebx, 8
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x2c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x28]
add ebx, 0x14
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0x2c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x28]
add ebx, 0x28
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
mov dword [ebx], closesocket
lea eax, [ebp - 0x20]
push eax
push 4
mov eax, 2
call fcn.004151cb
add esp, 8
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x30], ebx
call fcn.0040314a
mov dword [ebp - 0x34], ecx
mov edi, dword [ebp - 0x30]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x408887
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x34]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x30]
call fcn.00415207
add esp, 8
mov dword [ebp - 0x20], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x34]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x2c]
push edi
push eax
push 0x2c
call fcn.004151d7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
mov dword [edi], eax
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
inc word [ebx]
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 8]
mov ebx, dword [ebx + 0x78]
call fcn.0040314a
mov eax, 1
cmp eax, ecx
jl 0x408905
push 0xc7f
push 0x4026f34
push 1
call fcn.004151ef
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
add dword [ebx], 0x14
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 8]
mov ebx, dword [ebx + 0x78]
call fcn.0040314a
mov eax, 1
cmp eax, ecx
jl 0x408946
push 0xd0d
push 0x4026f34
push 1
call fcn.004151ef
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x28]
add ebx, 0xc
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebx]
mov ebx, dword [ebp - 0x2c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 8]
add ebx, 0x4c
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 8]
add ebx, 0x4c
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x28]
add ebx, 8
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x30]
fild dword [ebx]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
mov ebx, dword [ebp - 0x34]
fild dword [ebx]
fstp qword [ebp - 0x44]
fadd qword [ebp - 0x44]
fstp qword [ebp - 0x4c]
fld qword [ebp - 0x4c]
call fcn.004016ee
mov ebx, dword [ebp - 0x2c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x10]
add ebx, 0x48
mov dword [ebp - 0x2c], ebx
fild dword [ebp - 0xc]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
mov ebx, dword [ebp - 0x2c]
fild dword [ebx]
fstp qword [ebp - 0x3c]
fadd qword [ebp - 0x3c]
fadd qword [0x4c2d6a]
fstp qword [ebp - 0x44]
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 4]
add ebx, 4
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x50], eax
fild dword [ebp - 0x50]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x50]
fmul qword [0x4c2d72]
fstp qword [ebp - 0x58]
mov dword [ebp - 0x5c], esp
fld qword [ebp - 0x58]
call fcn.004016ee
push eax
mov ebx, dword [ebp - 0x20]
call fcn.0040314a
push ebx
mov dword [ebp - 0x60], ecx
test ecx, ecx
jne 0x408a18
xor eax, eax
jmp 0x408a24
imul ecx, ecx, 0x28
push ecx
call fcn.004151d7
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x60]
test ecx, ecx
je 0x408ac5
push ecx
push edi
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 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 0x408ac5
add ebx, 4
add edi, 0x28
jmp 0x408a39
fld qword [ebp - 0x44]
call fcn.004016ee
push eax
mov eax, 0x25
call fcn.004151f5
cmp dword [ebp - 0x5c], esp
je 0x408af4
push 0xe5f
push 0x4026f34
push 6
call fcn.004151ef
add esp, 0xc
mov ebx, dword [ebp - 0x64]
push ebx
mov edi, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x60]
test ecx, ecx
je 0x408b92
push ecx
push edi
push ebx
mov edi, dword [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 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 0x408b92
add ebx, 0x28
add edi, 4
jmp 0x408b06
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0x10]
add ebx, 0x48
mov dword [ebp - 0x2c], ebx
fild dword [ebp - 0xc]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
mov ebx, dword [ebp - 0x2c]
fild dword [ebx]
fstp qword [ebp - 0x3c]
fadd qword [ebp - 0x3c]
fstp qword [ebp - 0x44]
mov dword [ebp - 0x48], esp
push 0xf8
mov eax, dword [ebp - 0x14]
push eax
push 0xf8
call fcn.004151d7
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], 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 ecx, 0x10
mov ebx, dword [ebx]
add ebx, 8
push ebx
push ecx
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
pop ecx
pop ebx
add ebx, 4
dec ecx
jne 0x408d7a
pop ebx
add ebx, 4
pop ebx
add ebx, 4
fld qword [ebp - 0x44]
call fcn.004016ee
push eax
mov eax, 0x26
call fcn.004151f5
cmp dword [ebp - 0x48], esp
je 0x408dd5
push 0xeda
push 0x4026f34
push 6
call fcn.004151ef
add esp, 0xc
mov ebx, dword [ebp - 0x4c]
push ebx
mov edi, dword [ebp - 0x50]
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]
mov ecx, 0x10
add edi, 8
push ebx
push edi
push ecx
mov edi, dword [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
pop ecx
pop edi
pop ebx
add edi, 4
add ebx, 8
dec ecx
jne 0x408f82
pop edi
add edi, 4
pop ebx
add ebx, 0xe0
pop edi
add edi, 4
call fcn.004151d1
add esp, 4
push 0x80000301
push 0
push 0xc
push 1
mov ebx, 0x4166f0
call fcn.004151e3
add esp, 0x10
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x28]
add ebx, 0xc
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 8]
mov ebx, dword [ebx + 0x78]
call fcn.0040314a
mov eax, 1
cmp eax, ecx
jl 0x40901d
push 0xfbc
push 0x4026f34
push 1
call fcn.004151ef
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x30]
fild dword [ebx]
fstp qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
mov ebx, dword [ebp - 0x34]
fild dword [ebx]
fstp qword [ebp - 0x44]
fadd qword [ebp - 0x44]
fadd qword [0x4c2d91]
fstp qword [ebp - 0x4c]
push 0x80000601
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push 1
mov ebx, 0x415c60
call fcn.004151e3
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x416470
call fcn.004151e3
add esp, 0x10
mov dword [ebp - 0x54], eax
mov ebx, dword [ebp - 0x28]
add ebx, 0xc
mov dword [ebp - 0x58], ebx
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 8]
mov ebx, dword [ebx + 0x78]
call fcn.0040314a
mov eax, 1
cmp eax, ecx
jl 0x4090ba
push 0x1036
push 0x4026f34
push 1
call fcn.004151ef
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x5c], ebx
mov ebx, dword [ebp - 0x58]
fild dword [ebx]
fstp qword [ebp - 0x64]
fld qword [ebp - 0x64]
mov ebx, dword [ebp - 0x5c]
fild dword [ebx]
fstp qword [ebp - 0x6c]
fadd qword [ebp - 0x6c]
fstp qword [ebp - 0x74]
push 0x80000601
push dword [ebp - 0x70]
push dword [ebp - 0x74]
push 1
mov ebx, 0x415c60
call fcn.004151e3
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x416470
call fcn.004151e3
add esp, 0x10
mov dword [ebp - 0x7c], eax
push 0x80000301
push 0
push 0x14
push 1
mov ebx, 0x4166f0
call fcn.004151e3
add esp, 0x10
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x28]
add ebx, 0xc
mov dword [ebp - 0x84], ebx
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + 8]
mov ebx, dword [ebx + 0x78]
call fcn.0040314a
mov eax, 1
cmp eax, ecx
jl 0x409175
push 0x10c3
push 0x4026f34
push 1
call fcn.004151ef
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x88], ebx
push 0xffffffffffffffff
push 8
push 0x1602497c
push 0x52010001
call fcn.004151e9
add esp, 0x10
mov dword [ebp - 0x8c], eax
push getpeername
push 0
mov eax, dword [ebp - 0x8c]
test eax, eax
jne 0x4091b7
mov eax, 0x4a51ed
push eax
push 1
mov ebx, 0x415560
call fcn.004151e3
add esp, 0x10
mov dword [ebp - 0x90], eax
mov ebx, dword [ebp - 0x8c]
test ebx, ebx
je 0x4091e3
push ebx
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0x84]
fild dword [ebx]
fstp qword [ebp - 0x98]
fld qword [ebp - 0x98]
mov ebx, dword [ebp - 0x88]
fild dword [ebx]
fstp qword [ebp - 0xa0]
fadd qword [ebp - 0xa0]
fild dword [ebp - 0x90]
fstp qword [ebp - 0xa8]
fadd qword [ebp - 0xa8]
fadd qword [0x4c2d99]
fstp qword [ebp - 0xb0]
push 0x80000601
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
push 1
mov ebx, 0x415c60
call fcn.004151e3
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x416470
call fcn.004151e3
add esp, 0x10
mov dword [ebp - 0xb8], eax
push 0xffffffffffffffff
push 8
push 0x1602497c
push 0x52010001
call fcn.004151e9
add esp, 0x10
mov dword [ebp - 0xbc], eax
push getpeername
push 0
mov eax, dword [ebp - 0xbc]
test eax, eax
jne 0x40929e
mov eax, 0x4a51ed
push eax
push 1
mov ebx, 0x416470
call fcn.004151e3
add esp, 0x10
mov dword [ebp - 0xc0], eax
mov ebx, dword [ebp - 0xbc]
test ebx, ebx
je 0x4092ca
push ebx
call fcn.004151d1
add esp, 4
push getpeername
push 0
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
test eax, eax
jne 0x4092df
mov eax, 0x4a51ed
push eax
push 1
mov ebx, 0x416470
call fcn.004151e3
add esp, 0x10
mov dword [ebp - 0xc4], eax
push 0x4c2da1
push dword [ebp - 0xc4]
push 0x4c2daa
push dword [ebp - 0xc0]
push 0x4c2db5
push dword [ebp - 0xb8]
push dword [ebp - 0x80]
push dword [ebp - 0x7c]
push dword [ebp - 0x54]
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
mov ecx, 0xb
call fcn.004054ce
add esp, 0x2c
mov dword [ebp - 0xc8], eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40934b
push ebx
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x40935b
push ebx
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x40936b
push ebx
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x40937b
push ebx
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0xb8]
test ebx, ebx
je 0x40938e
push ebx
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0xc0]
test ebx, ebx
je 0x4093a1
push ebx
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0xc4]
test ebx, ebx
je 0x4093b4
push ebx
call fcn.004151d1
add esp, 4
mov eax, dword [ebp - 0xc8]
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4093cb
push ebx
call fcn.004151d1
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
push dword [ebp - 0x1c]
push dword [ebp - 4]
mov ecx, 2
call fcn.004054ce
add esp, 8
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4093f9
push ebx
call fcn.004151d1
add esp, 4
pop eax
mov dword [ebp - 4], eax
push dword [ebp + 8]
call fcn.0040977d
mov dword [ebp - 0x2c], eax
push dword [ebp + 8]
call fcn.0040977d
mov dword [ebp - 0x30], eax
push dword [ebp - 0x30]
push 0x4c2dc1
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x40943b
push ebx
call fcn.004151d1
add esp, 4
push closesocket
push 0
push 1
mov ebx, 6
call fcn.00401168
push getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x409464
mov eax, 0x4a51ed
push eax
push getpeername
push 0
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x409478
mov eax, 0x4a51ed
push eax
push getpeername
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x40948e
mov eax, 0x4a51ed
push eax
push 6
mov ebx, 0x4160f0
call fcn.004151e3
add esp, 0x4c
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x4094b4
push ebx
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x4094c4
push ebx
call fcn.004151d1
add esp, 4
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
test ebx, ebx
je 0x4094da
push ebx
call fcn.004151d1
add esp, 4
pop eax
mov ebx, dword [ebp + 8]
mov dword [ebx], eax
push dword [ebp + 8]
call fcn.004097de
mov dword [ebp - 0x2c], eax
push 0xffffffffffffffff
push 8
push 0x1602497c
push 0x52010001
call fcn.004151e9
add esp, 0x10
mov dword [ebp - 0x30], eax
push dword [ebp - 0x30]
push dword [ebp - 0x2c]
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x40952a
push ebx
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x40953a
push ebx
call fcn.004151d1
add esp, 4
push getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40954d
mov eax, 0x4a51ed
push eax
push getpeername
push 0
mov eax, dword [0x55c9a4]
test eax, eax
jne 0x409563
mov eax, 0x4a51ed
push eax
push 2
mov ebx, 0x416a70
call fcn.004151e3
add esp, 0x1c
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x409586
push ebx
call fcn.004151d1
add esp, 4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 4]
test eax, eax
jne 0x409599
mov eax, 0x4b419e
push eax
push getpeername
push 0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
jne 0x4095af
mov eax, 0x4a51ed
push eax
push 2
mov ebx, 0x416b40
call fcn.004151e3
add esp, 0x1c
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x40960d
mov ebx, 6
call fcn.00401168
push 0x80000301
push 0
push 0
push getpeername
push 0
push 0x4c2dc9
push 4
mov ebx, 0x417bc0
call fcn.004151e3
add esp, 0x34
mov eax, 0
jmp 0x40966b
mov ebx, dword [ebp + 8]
push dword [ebx]
push 0x4c2de8
mov ecx, 2
call fcn.0040106f
add esp, 8
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004015a9
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x409640
push ebx
call fcn.004151d1
add esp, 4
mov eax, 0x4c2e0d
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004015a9
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x409661
push ebx
call fcn.004151d1
add esp, 4
mov eax, 1
jmp 0x40966b
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x40967c
push ebx
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0x10]
push ebx
add ebx, 0x38
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004151d1
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004151d1
add esp, 4
pop ebx
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0x14]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004151d1
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
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4096e4
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4096e0
imul eax, dword [ebx]
jmp 0x4096d5
mov ecx, eax
test ecx, ecx
je 0x4096ff
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004151d1
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4096ea
call fcn.004151d1
add esp, 4
pop ebx
call fcn.004151d1
add esp, 4
pop ebx
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x409729
push ebx
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x409747
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x409743
imul eax, dword [ebx]
jmp 0x409738
mov ecx, eax
test ecx, ecx
je 0x409762
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004151d1
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40974d
call fcn.004151d1
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
call fcn.004151d1
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 8