Function at 0x407985
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
push 0x14
call fcn.0045cfba
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
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
push 0x6c
call fcn.0045cfba
add esp, 4
mov dword [ebp - 0x20], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x1b
rep stosd dword es:[edi], eax
add ebx, 0x68
push ebx
push 0x88
call fcn.0045cfba
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x5b73f5
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x20
rep stosd dword es:[edi], eax
mov dword [ebp - 0x24], 0
push 8
call fcn.0045cfba
add esp, 4
mov dword [ebp - 0x28], eax
mov edi, eax
mov esi, 0x5b73aa
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x2c], 0
push 8
call fcn.0045cfba
add esp, 4
mov dword [ebp - 0x30], eax
mov edi, eax
mov esi, 0x5b73aa
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov ebx, dword [0xec30ac]
call fcn.00401e6e
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x40ad61
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x40ad5e
cmp dword [ebp - 4], 1
jne 0x407ac2
mov eax, 0x5b73d4
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x407ab9
push ebx
call fcn.0045cfae
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x407b19
cmp dword [ebp - 4], 2
jne 0x407aeb
mov eax, 0x5b73de
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x407ae2
push ebx
call fcn.0045cfae
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x407b19
cmp dword [ebp - 4], 3
jne 0x407b14
mov eax, 0x5b73e9
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x407b0b
push ebx
call fcn.0045cfae
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x407b19
jmp 0x40ad61
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 1
lea eax, [ebp - 8]
push eax
call fcn.0040aeac
mov dword [ebp - 0x10], eax
push 0
push 0
push 0
push 1
mov ebx, 0x45f480
call fcn.0045cfb4
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x407b64
push ebx
call fcn.0045cfae
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
call fcn.0040be37
mov dword [ebp - 0x3c], eax
push dword [ebp - 8]
push dword [ebp - 0x3c]
mov ecx, 2
call fcn.004030cb
add esp, 8
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x407b96
push ebx
call fcn.0045cfae
add esp, 4
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x40]
mov eax, 0x19
call fcn.0045cfc6
cmp dword [ebp - 0x44], esp
je 0x407bca
push 0x2bf
push 0x4070497
push 6
call fcn.0045cfc0
add esp, 0xc
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x407bda
push ebx
call fcn.0045cfae
add esp, 4
push SysStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x407bed
mov eax, 0x5b73a9
push eax
push 1
mov ebx, 0x45f5e0
call fcn.0045cfb4
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x407c17
push ebx
call fcn.0045cfae
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.0040bee7
mov dword [ebp - 0x1c], eax
push SysStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x407c3a
mov eax, 0x5b73a9
push eax
push 1
mov ebx, 0x45f420
call fcn.0045cfb4
add esp, 0x10
push 1
push 0
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
call fcn.0040bf0c
test eax, eax
je 0x407c83
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp word [ebx], 0x10b
jne 0x407c83
mov eax, 1
jmp 0x407c88
mov eax, 0
test eax, eax
je 0x40ad57
mov dword [ebp - 0x24], 0
mov ebx, dword [ebp - 0x20]
add ebx, 0x3c
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
mov dword [ebp - 0x44], 0
push 0
push dword [ebp - 0x44]
mov dword [ebp - 0x48], 0
push 0
push dword [ebp - 0x48]
mov dword [ebp - 0x4c], 0
push 0
push dword [ebp - 0x4c]
push 0x2000
push 0x1000
call fcn.0040c2ad
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], esp
push 0x40
push dword [ebp - 0x50]
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
push 0
push 0xffffffff
mov eax, 0x1a
call fcn.0045cfc6
cmp dword [ebp - 0x54], esp
je 0x407d22
push 0x48a
push 0x4070497
push 6
call fcn.0045cfc0
add esp, 0xc
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
add ebx, 0x40
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
push dword [ebp - 0x1c]
push dword [ebp - 0x24]
call fcn.0040c2d0
push 8
call fcn.0045cfba
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x5b73aa
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x1c]
call fcn.0040c3fd
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0045cfae
add esp, 4
mov eax, dword [ebp - 0x40]
xor ecx, ecx
push eax
lea eax, [ebp - 0x2c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x407eef
mov ebx, dword [ebp - 0x28]
call fcn.0040143e
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407dc7
push 0x571
push 0x4070497
push 4
call fcn.0045cfc0
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x407de4
push 0x571
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
push dword [ebp - 0x24]
call fcn.004075be
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x28]
call fcn.0040143e
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407e34
push 0x5a2
push 0x4070497
push 4
call fcn.0045cfc0
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x407e51
push 0x5a2
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x4c], 0
push 0
push dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x48]
push dword [ebx]
push dword [ebp - 0x1c]
call fcn.004075be
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x28]
call fcn.0040143e
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407ea1
push 0x5a2
push 0x4070497
push 4
call fcn.0045cfc0
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x407ebe
push 0x5a2
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], 0
push 0
push dword [ebp - 0x58]
mov ebx, dword [ebp - 0x54]
push dword [ebx]
push dword [ebp - 0x50]
push dword [ebp - 0x44]
call fcn.0040c2d0
pop eax
pop ebx
pop ecx
jmp 0x407d92
add esp, 0xc
push 1
push dword [ebp - 0x10]
push dword [ebp - 0x24]
call fcn.0040c9fc
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x407f1d
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x407f19
imul eax, dword [ebx]
jmp 0x407f0e
mov ecx, eax
test ecx, ecx
je 0x407f45
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cfae
add esp, 4
pop ebx
call fcn.0045cfae
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x407f23
call fcn.0045cfae
add esp, 4
mov eax, 0x5b73aa
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x24]
call fcn.0040d921
xor ecx, ecx
push eax
lea eax, [ebp - 0x2c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40ad47
cmp dword [ebp - 4], 1
jne 0x4080bc
mov ebx, dword [ebp - 0x30]
call fcn.0040143e
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407fa9
push 0x712
push 0x4070497
push 4
call fcn.0045cfc0
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x407fc6
push 0x712
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 1
push SysStringLen
push 0
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebx]
test eax, eax
jne 0x407ff4
mov eax, 0x5b73a9
push eax
push 2
mov ebx, 0x45d8f0
call fcn.0045cfb4
add esp, 0x1c
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x5a
jne 0x4080aa
mov ebx, dword [ebp - 0x30]
call fcn.0040143e
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x40803b
push 0x761
push 0x4070497
push 4
call fcn.0045cfc0
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x408058
push 0x761
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push SysStringLen
push 0
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
test eax, eax
jne 0x408086
mov eax, 0x5b73a9
push eax
push 2
mov ebx, 0x45d8f0
call fcn.0045cfb4
add esp, 0x1c
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x77
jne 0x4080aa
xor eax, eax
jmp 0x4080af
mov eax, 1
test eax, eax
je 0x4080bc
jmp 0x40ad3f
mov ebx, dword [ebp - 0x30]
call fcn.0040143e
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4080e3
push 0x80d
push 0x4070497
push 4
call fcn.0045cfc0
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x408100
push 0x80d
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x3c], ebx
push 8
call fcn.0045cfba
add esp, 4
mov dword [ebp - 0x40], eax
mov edi, eax
mov esi, 0x5b73aa
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x40]
push eax
push 0x20
lea eax, [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
call fcn.0040e537
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
push ebx
call fcn.0045cfae
add esp, 4
cmp dword [ebp - 0x44], 0
je 0x40819a
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0
cmp eax, ecx
jl 0x408182
push 0x847
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
cmp byte [ebx], 0xb8
jne 0x40819a
mov eax, 1
jmp 0x40819f
mov eax, 0
test eax, eax
je 0x40ad3f
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x30]
call fcn.0040143e
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4081d7
push 0x872
push 0x4070497
push 4
call fcn.0045cfc0
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4081f4
push 0x872
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebx]
test eax, eax
je 0x40821f
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x3c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x408232
push ebx
call fcn.0045cfae
add esp, 4
pop eax
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x3c], 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 - 0x34]
test eax, eax
jne 0x40827e
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x4082b2
and eax, 0xff
jmp 0x408307
cmp ecx, 0x80000201
jne 0x4082bd
cwde
jmp 0x408307
cmp ecx, 0x80000301
je 0x408307
cmp ecx, 0x80000401
je 0x408307
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4082f7
cmp ecx, 0x80000601
je 0x4082fc
push 0x8fa
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x408302
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0xec30b0]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 5
jne 0x408343
mov ebx, dword [0xec30b0]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x408343
mov eax, 1
jmp 0x408348
mov eax, 0
test eax, eax
je 0x408a89
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 9
cmp eax, ecx
jl 0x408378
push 0xd18
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xcd
jne 0x4083c9
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xa
cmp eax, ecx
jl 0x4083b1
push 0xd41
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x2e
jne 0x4083c9
mov eax, 1
jmp 0x4083ce
mov eax, 0
test eax, eax
je 0x408a84
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xb
cmp eax, ecx
jl 0x4083fe
push 0xd8d
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40858c
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], 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 - 0x34]
test eax, eax
jne 0x408443
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x408477
and eax, 0xff
jmp 0x4084cc
cmp ecx, 0x80000201
jne 0x408482
cwde
jmp 0x4084cc
cmp ecx, 0x80000301
je 0x4084cc
cmp ecx, 0x80000401
je 0x4084cc
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4084bc
cmp ecx, 0x80000601
je 0x4084c1
push 0xdd9
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4084c7
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x408518
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x408574
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xb
cmp eax, ecx
jl 0x4085b4
push 0xe49
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x408680
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40860c
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x408668
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xb
cmp eax, ecx
jl 0x4086a8
push 0xebe
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe9
jne 0x408a84
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0x10
push dword [ebp - 0x38]
call fcn.004075be
mov dword [ebp - 0x38], eax
push 0x80000301
push 0
push 0xd
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x408700
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x48], 0
push 0
push dword [ebp - 0x48]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
cmp ecx, 0x80000101
jne 0x408740
and eax, 0xff
jmp 0x408795
cmp ecx, 0x80000201
jne 0x40874b
cwde
jmp 0x408795
cmp ecx, 0x80000301
je 0x408795
cmp ecx, 0x80000401
je 0x408795
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408785
cmp ecx, 0x80000601
je 0x40878a
push 0xf57
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x408790
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
push eax
push dword [ebp - 0x38]
call fcn.004075be
mov dword [ebp - 0x38], eax
push 8
call fcn.0045cfba
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x5b73aa
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x3c]
push eax
push 0x20
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x38]
call fcn.0040e537
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0045cfae
add esp, 4
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0
cmp eax, ecx
jl 0x408807
push 0xffa
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x408995
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], 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 - 0x34]
test eax, eax
jne 0x40884c
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x408880
and eax, 0xff
jmp 0x4088d5
cmp ecx, 0x80000201
jne 0x40888b
cwde
jmp 0x4088d5
cmp ecx, 0x80000301
je 0x4088d5
cmp ecx, 0x80000401
je 0x4088d5
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4088c5
cmp ecx, 0x80000601
je 0x4088ca
push 0x1046
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4088d0
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x408921
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x40897d
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0
cmp eax, ecx
jl 0x4089bd
push 0x10b6
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x408a84
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x408a15
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x408a71
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
jmp 0x40ad3f
mov ebx, dword [0xec30b0]
add ebx, 0x1c
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0
je 0x40a55e
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 5
cmp eax, ecx
jl 0x408adb
push 0x11fa
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x64
jne 0x408b65
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 6
cmp eax, ecx
jl 0x408b14
push 0x1223
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x408b65
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 8
cmp eax, ecx
jl 0x408b4d
push 0x124c
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc0
jne 0x408b65
mov eax, 1
jmp 0x408b6a
mov eax, 0
test eax, eax
je 0x408e17
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xc
cmp eax, ecx
jl 0x408b9a
push 0x139e
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x408d28
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], 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 - 0x34]
test eax, eax
jne 0x408bdf
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x408c13
and eax, 0xff
jmp 0x408c68
cmp ecx, 0x80000201
jne 0x408c1e
cwde
jmp 0x408c68
cmp ecx, 0x80000301
je 0x408c68
cmp ecx, 0x80000401
je 0x408c68
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408c58
cmp ecx, 0x80000601
je 0x408c5d
push 0x13ea
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x408c63
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x408cb4
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x408d10
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xc
cmp eax, ecx
jl 0x408d50
push 0x145a
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x408e17
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x408da8
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x408e04
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 5
cmp eax, ecx
jl 0x408e3f
push 0x151b
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x33
jne 0x408ec9
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 7
cmp eax, ecx
jl 0x408e78
push 0x1544
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x408ec9
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xb
cmp eax, ecx
jl 0x408eb1
push 0x156d
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x408ec9
mov eax, 1
jmp 0x408ece
mov eax, 0
test eax, eax
je 0x40937b
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0x12
cmp eax, ecx
jl 0x408efe
push 0x19a0
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x408f4c
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0x15
cmp eax, ecx
jl 0x408f37
push 0x19c9
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x408f4c
xor eax, eax
jmp 0x408f51
mov eax, 1
test eax, eax
je 0x409014
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x408fa0
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x408ffc
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0x12
cmp eax, ecx
jl 0x40903c
push 0x1a3b
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4091ca
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], 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 - 0x34]
test eax, eax
jne 0x409081
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x4090b5
and eax, 0xff
jmp 0x40910a
cmp ecx, 0x80000201
jne 0x4090c0
cwde
jmp 0x40910a
cmp ecx, 0x80000301
je 0x40910a
cmp ecx, 0x80000401
je 0x40910a
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4090fa
cmp ecx, 0x80000601
je 0x4090ff
push 0x1a87
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x409105
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x409156
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x4091b2
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0x15
cmp eax, ecx
jl 0x4091f2
push 0x1af7
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40937b
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], 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 - 0x34]
test eax, eax
jne 0x409237
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x40926b
and eax, 0xff
jmp 0x4092c0
cmp ecx, 0x80000201
jne 0x409276
cwde
jmp 0x4092c0
cmp ecx, 0x80000301
je 0x4092c0
cmp ecx, 0x80000401
je 0x4092c0
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4092b0
cmp ecx, 0x80000601
je 0x4092b5
push 0x1b43
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4092bb
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40930c
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x409368
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 5
cmp eax, ecx
jl 0x4093a3
push 0x1c14
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x40942d
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 9
cmp eax, ecx
jl 0x4093dc
push 0x1c3d
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x33
jne 0x40942d
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xb
cmp eax, ecx
jl 0x409415
push 0x1c66
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x40942d
mov eax, 1
jmp 0x409432
mov eax, 0
test eax, eax
je 0x4098df
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0x12
cmp eax, ecx
jl 0x409462
push 0x209f
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x4094b0
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0x15
cmp eax, ecx
jl 0x40949b
push 0x20c8
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x4094b0
xor eax, eax
jmp 0x4094b5
mov eax, 1
test eax, eax
je 0x409578
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x409504
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x409560
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0x12
cmp eax, ecx
jl 0x4095a0
push 0x213a
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40972e
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], 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 - 0x34]
test eax, eax
jne 0x4095e5
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x409619
and eax, 0xff
jmp 0x40966e
cmp ecx, 0x80000201
jne 0x409624
cwde
jmp 0x40966e
cmp ecx, 0x80000301
je 0x40966e
cmp ecx, 0x80000401
je 0x40966e
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40965e
cmp ecx, 0x80000601
je 0x409663
push 0x2186
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x409669
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4096ba
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x409716
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0x15
cmp eax, ecx
jl 0x409756
push 0x21f6
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4098df
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], 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 - 0x34]
test eax, eax
jne 0x40979b
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x4097cf
and eax, 0xff
jmp 0x409824
cmp ecx, 0x80000201
jne 0x4097da
cwde
jmp 0x409824
cmp ecx, 0x80000301
je 0x409824
cmp ecx, 0x80000401
je 0x409824
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409814
cmp ecx, 0x80000601
je 0x409819
push 0x2242
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40981f
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x409870
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x4098cc
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 5
cmp eax, ecx
jl 0x409907
push 0x2324
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xb9
jne 0x409991
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xa
cmp eax, ecx
jl 0x409940
push 0x234d
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x409991
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xe
cmp eax, ecx
jl 0x409979
push 0x2376
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x409991
mov eax, 1
jmp 0x409996
mov eax, 0
test eax, eax
je 0x409f1c
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], 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 - 0x34]
test eax, eax
jne 0x4099d2
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x409a06
and eax, 0xff
jmp 0x409a5b
cmp ecx, 0x80000201
jne 0x409a11
cwde
jmp 0x409a5b
cmp ecx, 0x80000301
je 0x409a5b
cmp ecx, 0x80000401
je 0x409a5b
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409a4b
cmp ecx, 0x80000601
je 0x409a50
push 0x2806
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x409a56
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0x15
cmp eax, ecx
jl 0x409a88
push 0x2858
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x409ad6
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0x18
cmp eax, ecx
jl 0x409ac1
push 0x2881
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x409ad6
xor eax, eax
jmp 0x409adb
mov eax, 1
test eax, eax
je 0x409b9e
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x409b2a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x409b86
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0x15
cmp eax, ecx
jl 0x409bc6
push 0x28f3
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x409d54
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], 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 - 0x34]
test eax, eax
jne 0x409c0b
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x409c3f
and eax, 0xff
jmp 0x409c94
cmp ecx, 0x80000201
jne 0x409c4a
cwde
jmp 0x409c94
cmp ecx, 0x80000301
je 0x409c94
cmp ecx, 0x80000401
je 0x409c94
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409c84
cmp ecx, 0x80000601
je 0x409c89
push 0x293f
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x409c8f
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x409ce0
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x409d3c
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0x18
cmp eax, ecx
jl 0x409d7c
push 0x29af
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x409f0a
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], 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 - 0x34]
test eax, eax
jne 0x409dc1
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x409df5
and eax, 0xff
jmp 0x409e4a
cmp ecx, 0x80000201
jne 0x409e00
cwde
jmp 0x409e4a
cmp ecx, 0x80000301
je 0x409e4a
cmp ecx, 0x80000401
je 0x409e4a
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409e3a
cmp ecx, 0x80000601
je 0x409e3f
push 0x29fb
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x409e45
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x409e96
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x409ef2
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 5
cmp eax, ecx
jl 0x409f44
push 0x2aec
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x409fce
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 9
cmp eax, ecx
jl 0x409f7d
push 0x2b15
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xb9
jne 0x409fce
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xe
cmp eax, ecx
jl 0x409fb6
push 0x2b3e
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x409fce
mov eax, 1
jmp 0x409fd3
mov eax, 0
test eax, eax
je 0x40a559
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], 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 - 0x34]
test eax, eax
jne 0x40a00f
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x40a043
and eax, 0xff
jmp 0x40a098
cmp ecx, 0x80000201
jne 0x40a04e
cwde
jmp 0x40a098
cmp ecx, 0x80000301
je 0x40a098
cmp ecx, 0x80000401
je 0x40a098
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40a088
cmp ecx, 0x80000601
je 0x40a08d
push 0x2fc5
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40a093
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0x15
cmp eax, ecx
jl 0x40a0c5
push 0x3017
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x40a113
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0x18
cmp eax, ecx
jl 0x40a0fe
push 0x3040
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x40a113
xor eax, eax
jmp 0x40a118
mov eax, 1
test eax, eax
je 0x40a1db
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40a167
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x40a1c3
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0x15
cmp eax, ecx
jl 0x40a203
push 0x30b2
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40a391
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], 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 - 0x34]
test eax, eax
jne 0x40a248
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x40a27c
and eax, 0xff
jmp 0x40a2d1
cmp ecx, 0x80000201
jne 0x40a287
cwde
jmp 0x40a2d1
cmp ecx, 0x80000301
je 0x40a2d1
cmp ecx, 0x80000401
je 0x40a2d1
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40a2c1
cmp ecx, 0x80000601
je 0x40a2c6
push 0x30fe
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40a2cc
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40a31d
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x40a379
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0x18
cmp eax, ecx
jl 0x40a3b9
push 0x316e
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40a547
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], 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 - 0x34]
test eax, eax
jne 0x40a3fe
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x40a432
and eax, 0xff
jmp 0x40a487
cmp ecx, 0x80000201
jne 0x40a43d
cwde
jmp 0x40a487
cmp ecx, 0x80000301
je 0x40a487
cmp ecx, 0x80000401
je 0x40a487
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40a477
cmp ecx, 0x80000601
je 0x40a47c
push 0x31ba
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40a482
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40a4d3
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x40a52f
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
jmp 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 5
cmp eax, ecx
jl 0x40a586
push 0x329d
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x40a991
push 0x80000301
push 0
push 7
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40a5c2
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
cmp ecx, 0x80000101
jne 0x40a5f6
and eax, 0xff
jmp 0x40a64b
cmp ecx, 0x80000201
jne 0x40a601
cwde
jmp 0x40a64b
cmp ecx, 0x80000301
je 0x40a64b
cmp ecx, 0x80000401
je 0x40a64b
mov dword [ebp - 0x4c], eax
cmp ecx, 0x80000501
je 0x40a63b
cmp ecx, 0x80000601
je 0x40a640
push 0x36fe
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x4c]
jmp 0x40a646
mov dword [ebp - 0x48], edx
fld qword [ebp - 0x4c]
call fcn.004029b8
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x40a669
cmp dword [ebp - 0x38], 0xa
jge 0x40a669
mov eax, 1
jmp 0x40a66e
mov eax, 0
test eax, eax
je 0x40a98c
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0xd
push dword [ebp - 0x38]
call fcn.004075be
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
push ebx
push ecx
mov eax, dword [ebp - 0x38]
dec eax
jns 0x40a6b9
push 0x3805
push 0x4070497
push 4
call fcn.0045cfc0
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40a6d6
push 0x3805
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xf
jne 0x40a98c
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xa
cmp eax, ecx
jl 0x40a70f
push 0x3851
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40a89d
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xc
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40a754
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x40a788
and eax, 0xff
jmp 0x40a7dd
cmp ecx, 0x80000201
jne 0x40a793
cwde
jmp 0x40a7dd
cmp ecx, 0x80000301
je 0x40a7dd
cmp ecx, 0x80000401
je 0x40a7dd
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40a7cd
cmp ecx, 0x80000601
je 0x40a7d2
push 0x389d
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40a7d8
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40a829
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x40a885
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xa
cmp eax, ecx
jl 0x40a8c5
push 0x390d
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x40a98c
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40a91d
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x40a979
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
jmp 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 5
cmp eax, ecx
jl 0x40a9b9
push 0x39fb
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x40aa0a
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xa
cmp eax, ecx
jl 0x40a9f2
push 0x3a24
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x40aa0a
mov eax, 1
jmp 0x40aa0f
mov eax, 0
test eax, eax
je 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xb
cmp eax, ecx
jl 0x40aa3f
push 0x3e20
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x12
je 0x40aa8d
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xb
cmp eax, ecx
jl 0x40aa78
push 0x3e49
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xd2
je 0x40aa8d
xor eax, eax
jmp 0x40aa92
mov eax, 1
test eax, eax
je 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xc
cmp eax, ecx
jl 0x40aac2
push 0x3e95
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40ac50
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], 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 - 0x34]
test eax, eax
jne 0x40ab07
mov eax, 0x5b73aa
push eax
push 3
mov ebx, 0x45eb40
call fcn.0045cfb4
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x40ab3b
and eax, 0xff
jmp 0x40ab90
cmp ecx, 0x80000201
jne 0x40ab46
cwde
jmp 0x40ab90
cmp ecx, 0x80000301
je 0x40ab90
cmp ecx, 0x80000401
je 0x40ab90
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40ab80
cmp ecx, 0x80000601
je 0x40ab85
push 0x3ee1
push 0x4070497
push 2
call fcn.0045cfc0
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40ab8b
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004029b8
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40abdc
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x40ac38
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
mov ebx, dword [ebp - 0x34]
call fcn.0040143e
mov eax, 0xc
cmp eax, ecx
jl 0x40ac78
push 0x3f51
push 0x4070497
push 1
call fcn.0045cfc0
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x40ad3f
push 0xec30ac
push 4
mov eax, 2
call fcn.0045cfa8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xec30ac]
mov dword [ebp - 0x40], ebx
call fcn.0040143e
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40acd0
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0045cfcc
add esp, 8
mov dword [0xec30ac], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0045cfba
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 0x40ad2c
push eax
mov ebx, eax
call fcn.00403060
inc eax
push eax
call fcn.0045cfba
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 0x40ad3f
pop eax
pop ebx
pop ecx
jmp 0x407f6a
add esp, 0xc
push dword [ebp - 0x24]
push 0xffffffff
call fcn.0040e631
pop ebx
pop ecx
jmp 0x407a8b
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40ad71
push ebx
call fcn.0045cfae
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40ad88
push ebx
call fcn.0045cfae
add esp, 4
pop ebx
call fcn.0045cfae
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40ada1
push ebx
call fcn.0045cfae
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40adb1
push ebx
call fcn.0045cfae
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 0x68
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cfae
add esp, 4
pop ebx
call fcn.0045cfae
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40adeb
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40ade7
imul eax, dword [ebx]
jmp 0x40addc
mov ecx, eax
test ecx, ecx
je 0x40ae13
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0045cfae
add esp, 4
pop ebx
call fcn.0045cfae
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40adf1
call fcn.0045cfae
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40ae39
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40ae35
imul eax, dword [ebx]
jmp 0x40ae2a
mov ecx, eax
test ecx, ecx
je 0x40ae90
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40ae57
push ebx
call fcn.0045cfae
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40ae6b
push ebx
call fcn.0045cfae
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40ae7f
push ebx
call fcn.0045cfae
add esp, 4
pop ebx
call fcn.0045cfae
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40ae3f
call fcn.0045cfae
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x40aea8
push ebx
call fcn.0045cfae
add esp, 4
mov esp, ebp
pop ebp
ret