Function at 0x407046
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.004f06ae
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.004f06ae
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.004f06ae
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x853e00
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.004f06ae
add esp, 4
mov dword [ebp - 0x28], eax
mov edi, eax
mov esi, 0x812213
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.004f06ae
add esp, 4
mov dword [ebp - 0x30], eax
mov edi, eax
mov esi, 0x812213
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 [0xb1d8b8]
call fcn.00406ca3
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x40a422
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x40a41f
cmp dword [ebp - 4], 1
jne 0x407183
mov eax, str.ntdll.dll
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40717a
push ebx
call fcn.004f06c0
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x4071da
cmp dword [ebp - 4], 2
jne 0x4071ac
mov eax, 0x853deb
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4071a3
push ebx
call fcn.004f06c0
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x4071da
cmp dword [ebp - 4], 3
jne 0x4071d5
mov eax, 0x853df6
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4071cc
push ebx
call fcn.004f06c0
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x4071da
jmp 0x40a422
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.0040a56d
mov dword [ebp - 0x10], eax
push 0
push 0
push 0
push 1
mov ebx, 0x4f30f0
call fcn.004f06c6
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x407225
push ebx
call fcn.004f06c0
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
call fcn.0040b67e
mov dword [ebp - 0x3c], eax
push dword [ebp - 8]
push dword [ebp - 0x3c]
mov ecx, 2
call fcn.00405a80
add esp, 8
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x407257
push ebx
call fcn.004f06c0
add esp, 4
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x40]
mov eax, 0x1c
call fcn.004f06ba
cmp dword [ebp - 0x44], esp
je 0x40728b
push 0x2bf
push 0x4052552
push 6
call fcn.004f06b4
add esp, 0xc
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40729b
push ebx
call fcn.004f06c0
add esp, 4
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4072ae
mov eax, 0x853db0
push eax
push 1
mov ebx, 0x4f3250
call fcn.004f06c6
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4072d8
push ebx
call fcn.004f06c0
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.0040b72e
mov dword [ebp - 0x1c], eax
push reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4072fb
mov eax, 0x853db0
push eax
push 1
mov ebx, 0x4f3070
call fcn.004f06c6
add esp, 0x10
push 1
push 0
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
call fcn.0040b753
test eax, eax
je 0x407344
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp word [ebx], 0x10b
jne 0x407344
mov eax, 1
jmp 0x407349
mov eax, 0
test eax, eax
je 0x40a418
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.0040baf4
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, 0x1d
call fcn.004f06ba
cmp dword [ebp - 0x54], esp
je 0x4073e3
push 0x48a
push 0x4052552
push 6
call fcn.004f06b4
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.0040bb17
push 8
call fcn.004f06ae
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x812213
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.0040bc44
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.004f06c0
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 0x4075b0
mov ebx, dword [ebp - 0x28]
call fcn.00405375
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407488
push 0x571
push 0x4052552
push 4
call fcn.004f06b4
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4074a5
push 0x571
push 0x4052552
push 1
call fcn.004f06b4
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.00406c66
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x28]
call fcn.00405375
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4074f5
push 0x5a2
push 0x4052552
push 4
call fcn.004f06b4
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x407512
push 0x5a2
push 0x4052552
push 1
call fcn.004f06b4
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.00406c66
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x28]
call fcn.00405375
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407562
push 0x5a2
push 0x4052552
push 4
call fcn.004f06b4
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40757f
push 0x5a2
push 0x4052552
push 1
call fcn.004f06b4
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.0040bb17
pop eax
pop ebx
pop ecx
jmp 0x407453
add esp, 0xc
push 1
push dword [ebp - 0x10]
push dword [ebp - 0x24]
call fcn.0040c243
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4075de
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4075da
imul eax, dword [ebx]
jmp 0x4075cf
mov ecx, eax
test ecx, ecx
je 0x407606
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004f06c0
add esp, 4
pop ebx
call fcn.004f06c0
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4075e4
call fcn.004f06c0
add esp, 4
mov eax, 0x812213
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x24]
call fcn.0040d168
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 0x40a408
cmp dword [ebp - 4], 1
jne 0x40777d
mov ebx, dword [ebp - 0x30]
call fcn.00405375
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x40766a
push 0x712
push 0x4052552
push 4
call fcn.004f06b4
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x407687
push 0x712
push 0x4052552
push 1
call fcn.004f06b4
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 reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebx]
test eax, eax
jne 0x4076b5
mov eax, 0x853db0
push eax
push 2
mov ebx, 0x4f1180
call fcn.004f06c6
add esp, 0x1c
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x5a
jne 0x40776b
mov ebx, dword [ebp - 0x30]
call fcn.00405375
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4076fc
push 0x761
push 0x4052552
push 4
call fcn.004f06b4
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x407719
push 0x761
push 0x4052552
push 1
call fcn.004f06b4
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 reloc.OLEAUT32.dll_SysReAllocStringLen
push 0
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
test eax, eax
jne 0x407747
mov eax, 0x853db0
push eax
push 2
mov ebx, 0x4f1180
call fcn.004f06c6
add esp, 0x1c
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x77
jne 0x40776b
xor eax, eax
jmp 0x407770
mov eax, 1
test eax, eax
je 0x40777d
jmp 0x40a400
mov ebx, dword [ebp - 0x30]
call fcn.00405375
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4077a4
push 0x80d
push 0x4052552
push 4
call fcn.004f06b4
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4077c1
push 0x80d
push 0x4052552
push 1
call fcn.004f06b4
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.004f06ae
add esp, 4
mov dword [ebp - 0x40], eax
mov edi, eax
mov esi, 0x812213
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.0040dd7e
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
push ebx
call fcn.004f06c0
add esp, 4
cmp dword [ebp - 0x44], 0
je 0x40785b
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0
cmp eax, ecx
jl 0x407843
push 0x847
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
cmp byte [ebx], 0xb8
jne 0x40785b
mov eax, 1
jmp 0x407860
mov eax, 0
test eax, eax
je 0x40a400
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x30]
call fcn.00405375
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x407898
push 0x872
push 0x4052552
push 4
call fcn.004f06b4
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4078b5
push 0x872
push 0x4052552
push 1
call fcn.004f06b4
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 0x4078e0
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x4078f3
push ebx
call fcn.004f06c0
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 0x40793f
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x407973
and eax, 0xff
jmp 0x4079c8
cmp ecx, 0x80000201
jne 0x40797e
cwde
jmp 0x4079c8
cmp ecx, 0x80000301
je 0x4079c8
cmp ecx, 0x80000401
je 0x4079c8
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4079b8
cmp ecx, 0x80000601
je 0x4079bd
push 0x8fa
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4079c3
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0xb1d880]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 5
jne 0x407a04
mov ebx, dword [0xb1d880]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x407a04
mov eax, 1
jmp 0x407a09
mov eax, 0
test eax, eax
je 0x40814a
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 9
cmp eax, ecx
jl 0x407a39
push 0xd18
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xcd
jne 0x407a8a
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xa
cmp eax, ecx
jl 0x407a72
push 0xd41
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x2e
jne 0x407a8a
mov eax, 1
jmp 0x407a8f
mov eax, 0
test eax, eax
je 0x408145
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xb
cmp eax, ecx
jl 0x407abf
push 0xd8d
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x407c4d
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 0x407b04
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x407b38
and eax, 0xff
jmp 0x407b8d
cmp ecx, 0x80000201
jne 0x407b43
cwde
jmp 0x407b8d
cmp ecx, 0x80000301
je 0x407b8d
cmp ecx, 0x80000401
je 0x407b8d
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x407b7d
cmp ecx, 0x80000601
je 0x407b82
push 0xdd9
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x407b88
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x407bd9
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x407c35
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xb
cmp eax, ecx
jl 0x407c75
push 0xe49
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x407d41
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x407ccd
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x407d29
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xb
cmp eax, ecx
jl 0x407d69
push 0xebe
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe9
jne 0x408145
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0x10
push dword [ebp - 0x38]
call fcn.00406c66
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 0x407dc1
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x407e01
and eax, 0xff
jmp 0x407e56
cmp ecx, 0x80000201
jne 0x407e0c
cwde
jmp 0x407e56
cmp ecx, 0x80000301
je 0x407e56
cmp ecx, 0x80000401
je 0x407e56
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x407e46
cmp ecx, 0x80000601
je 0x407e4b
push 0xf57
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x407e51
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
push eax
push dword [ebp - 0x38]
call fcn.00406c66
mov dword [ebp - 0x38], eax
push 8
call fcn.004f06ae
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x812213
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.0040dd7e
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.004f06c0
add esp, 4
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0
cmp eax, ecx
jl 0x407ec8
push 0xffa
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x408056
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 0x407f0d
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x407f41
and eax, 0xff
jmp 0x407f96
cmp ecx, 0x80000201
jne 0x407f4c
cwde
jmp 0x407f96
cmp ecx, 0x80000301
je 0x407f96
cmp ecx, 0x80000401
je 0x407f96
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x407f86
cmp ecx, 0x80000601
je 0x407f8b
push 0x1046
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x407f91
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x407fe2
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x40803e
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0
cmp eax, ecx
jl 0x40807e
push 0x10b6
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x408145
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x4080d6
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x408132
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
jmp 0x40a400
mov ebx, dword [0xb1d880]
add ebx, 0x1c
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0
je 0x409c1f
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.00405375
mov eax, 5
cmp eax, ecx
jl 0x40819c
push 0x11fa
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x64
jne 0x408226
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 6
cmp eax, ecx
jl 0x4081d5
push 0x1223
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x408226
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 8
cmp eax, ecx
jl 0x40820e
push 0x124c
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc0
jne 0x408226
mov eax, 1
jmp 0x40822b
mov eax, 0
test eax, eax
je 0x4084d8
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xc
cmp eax, ecx
jl 0x40825b
push 0x139e
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4083e9
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 0x4082a0
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x4082d4
and eax, 0xff
jmp 0x408329
cmp ecx, 0x80000201
jne 0x4082df
cwde
jmp 0x408329
cmp ecx, 0x80000301
je 0x408329
cmp ecx, 0x80000401
je 0x408329
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408319
cmp ecx, 0x80000601
je 0x40831e
push 0x13ea
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x408324
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x408375
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x4083d1
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xc
cmp eax, ecx
jl 0x408411
push 0x145a
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x4084d8
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x408469
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x4084c5
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 5
cmp eax, ecx
jl 0x408500
push 0x151b
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x33
jne 0x40858a
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 7
cmp eax, ecx
jl 0x408539
push 0x1544
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x40858a
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xb
cmp eax, ecx
jl 0x408572
push 0x156d
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x40858a
mov eax, 1
jmp 0x40858f
mov eax, 0
test eax, eax
je 0x408a3c
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0x12
cmp eax, ecx
jl 0x4085bf
push 0x19a0
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x40860d
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0x15
cmp eax, ecx
jl 0x4085f8
push 0x19c9
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x40860d
xor eax, eax
jmp 0x408612
mov eax, 1
test eax, eax
je 0x4086d5
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x408661
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x4086bd
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0x12
cmp eax, ecx
jl 0x4086fd
push 0x1a3b
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40888b
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 0x408742
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x408776
and eax, 0xff
jmp 0x4087cb
cmp ecx, 0x80000201
jne 0x408781
cwde
jmp 0x4087cb
cmp ecx, 0x80000301
je 0x4087cb
cmp ecx, 0x80000401
je 0x4087cb
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4087bb
cmp ecx, 0x80000601
je 0x4087c0
push 0x1a87
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4087c6
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x408817
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x408873
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0x15
cmp eax, ecx
jl 0x4088b3
push 0x1af7
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x408a3c
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 0x4088f8
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x40892c
and eax, 0xff
jmp 0x408981
cmp ecx, 0x80000201
jne 0x408937
cwde
jmp 0x408981
cmp ecx, 0x80000301
je 0x408981
cmp ecx, 0x80000401
je 0x408981
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408971
cmp ecx, 0x80000601
je 0x408976
push 0x1b43
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40897c
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x4089cd
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x408a29
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 5
cmp eax, ecx
jl 0x408a64
push 0x1c14
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x408aee
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 9
cmp eax, ecx
jl 0x408a9d
push 0x1c3d
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x33
jne 0x408aee
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xb
cmp eax, ecx
jl 0x408ad6
push 0x1c66
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x408aee
mov eax, 1
jmp 0x408af3
mov eax, 0
test eax, eax
je 0x408fa0
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0x12
cmp eax, ecx
jl 0x408b23
push 0x209f
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x408b71
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0x15
cmp eax, ecx
jl 0x408b5c
push 0x20c8
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x408b71
xor eax, eax
jmp 0x408b76
mov eax, 1
test eax, eax
je 0x408c39
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x408bc5
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x408c21
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0x12
cmp eax, ecx
jl 0x408c61
push 0x213a
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x408def
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 0x408ca6
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x408cda
and eax, 0xff
jmp 0x408d2f
cmp ecx, 0x80000201
jne 0x408ce5
cwde
jmp 0x408d2f
cmp ecx, 0x80000301
je 0x408d2f
cmp ecx, 0x80000401
je 0x408d2f
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408d1f
cmp ecx, 0x80000601
je 0x408d24
push 0x2186
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x408d2a
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x408d7b
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x408dd7
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0x15
cmp eax, ecx
jl 0x408e17
push 0x21f6
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x408fa0
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 0x408e5c
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x408e90
and eax, 0xff
jmp 0x408ee5
cmp ecx, 0x80000201
jne 0x408e9b
cwde
jmp 0x408ee5
cmp ecx, 0x80000301
je 0x408ee5
cmp ecx, 0x80000401
je 0x408ee5
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408ed5
cmp ecx, 0x80000601
je 0x408eda
push 0x2242
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x408ee0
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x408f31
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x408f8d
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 5
cmp eax, ecx
jl 0x408fc8
push 0x2324
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xb9
jne 0x409052
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xa
cmp eax, ecx
jl 0x409001
push 0x234d
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x409052
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xe
cmp eax, ecx
jl 0x40903a
push 0x2376
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x409052
mov eax, 1
jmp 0x409057
mov eax, 0
test eax, eax
je 0x4095dd
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 0x409093
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x4090c7
and eax, 0xff
jmp 0x40911c
cmp ecx, 0x80000201
jne 0x4090d2
cwde
jmp 0x40911c
cmp ecx, 0x80000301
je 0x40911c
cmp ecx, 0x80000401
je 0x40911c
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40910c
cmp ecx, 0x80000601
je 0x409111
push 0x2806
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x409117
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0x15
cmp eax, ecx
jl 0x409149
push 0x2858
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x409197
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0x18
cmp eax, ecx
jl 0x409182
push 0x2881
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x409197
xor eax, eax
jmp 0x40919c
mov eax, 1
test eax, eax
je 0x40925f
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x4091eb
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x409247
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0x15
cmp eax, ecx
jl 0x409287
push 0x28f3
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x409415
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 0x4092cc
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x409300
and eax, 0xff
jmp 0x409355
cmp ecx, 0x80000201
jne 0x40930b
cwde
jmp 0x409355
cmp ecx, 0x80000301
je 0x409355
cmp ecx, 0x80000401
je 0x409355
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409345
cmp ecx, 0x80000601
je 0x40934a
push 0x293f
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x409350
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x4093a1
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x4093fd
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0x18
cmp eax, ecx
jl 0x40943d
push 0x29af
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4095cb
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 0x409482
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x4094b6
and eax, 0xff
jmp 0x40950b
cmp ecx, 0x80000201
jne 0x4094c1
cwde
jmp 0x40950b
cmp ecx, 0x80000301
je 0x40950b
cmp ecx, 0x80000401
je 0x40950b
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4094fb
cmp ecx, 0x80000601
je 0x409500
push 0x29fb
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x409506
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x409557
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x4095b3
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
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.00405375
mov eax, 5
cmp eax, ecx
jl 0x409605
push 0x2aec
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x40968f
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 9
cmp eax, ecx
jl 0x40963e
push 0x2b15
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xb9
jne 0x40968f
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xe
cmp eax, ecx
jl 0x409677
push 0x2b3e
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x40968f
mov eax, 1
jmp 0x409694
mov eax, 0
test eax, eax
je 0x409c1a
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 0x4096d0
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x409704
and eax, 0xff
jmp 0x409759
cmp ecx, 0x80000201
jne 0x40970f
cwde
jmp 0x409759
cmp ecx, 0x80000301
je 0x409759
cmp ecx, 0x80000401
je 0x409759
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409749
cmp ecx, 0x80000601
je 0x40974e
push 0x2fc5
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x409754
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0x15
cmp eax, ecx
jl 0x409786
push 0x3017
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x4097d4
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0x18
cmp eax, ecx
jl 0x4097bf
push 0x3040
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x4097d4
xor eax, eax
jmp 0x4097d9
mov eax, 1
test eax, eax
je 0x40989c
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x409828
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x409884
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0x15
cmp eax, ecx
jl 0x4098c4
push 0x30b2
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x409a52
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 0x409909
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x40993d
and eax, 0xff
jmp 0x409992
cmp ecx, 0x80000201
jne 0x409948
cwde
jmp 0x409992
cmp ecx, 0x80000301
je 0x409992
cmp ecx, 0x80000401
je 0x409992
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409982
cmp ecx, 0x80000601
je 0x409987
push 0x30fe
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40998d
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x4099de
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x409a3a
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0x18
cmp eax, ecx
jl 0x409a7a
push 0x316e
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x409c08
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 0x409abf
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x409af3
and eax, 0xff
jmp 0x409b48
cmp ecx, 0x80000201
jne 0x409afe
cwde
jmp 0x409b48
cmp ecx, 0x80000301
je 0x409b48
cmp ecx, 0x80000401
je 0x409b48
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409b38
cmp ecx, 0x80000601
je 0x409b3d
push 0x31ba
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x409b43
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x409b94
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x409bf0
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
jmp 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 5
cmp eax, ecx
jl 0x409c47
push 0x329d
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x40a052
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 0x409c83
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x409cb7
and eax, 0xff
jmp 0x409d0c
cmp ecx, 0x80000201
jne 0x409cc2
cwde
jmp 0x409d0c
cmp ecx, 0x80000301
je 0x409d0c
cmp ecx, 0x80000401
je 0x409d0c
mov dword [ebp - 0x4c], eax
cmp ecx, 0x80000501
je 0x409cfc
cmp ecx, 0x80000601
je 0x409d01
push 0x36fe
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x4c]
jmp 0x409d07
mov dword [ebp - 0x48], edx
fld qword [ebp - 0x4c]
call fcn.0040133c
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x409d2a
cmp dword [ebp - 0x38], 0xa
jge 0x409d2a
mov eax, 1
jmp 0x409d2f
mov eax, 0
test eax, eax
je 0x40a04d
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0xd
push dword [ebp - 0x38]
call fcn.00406c66
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
call fcn.00405375
push ebx
push ecx
mov eax, dword [ebp - 0x38]
dec eax
jns 0x409d7a
push 0x3805
push 0x4052552
push 4
call fcn.004f06b4
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x409d97
push 0x3805
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xf
jne 0x40a04d
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xa
cmp eax, ecx
jl 0x409dd0
push 0x3851
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x409f5e
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 0x409e15
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x409e49
and eax, 0xff
jmp 0x409e9e
cmp ecx, 0x80000201
jne 0x409e54
cwde
jmp 0x409e9e
cmp ecx, 0x80000301
je 0x409e9e
cmp ecx, 0x80000401
je 0x409e9e
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x409e8e
cmp ecx, 0x80000601
je 0x409e93
push 0x389d
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x409e99
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x409eea
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x409f46
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xa
cmp eax, ecx
jl 0x409f86
push 0x390d
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x40a04d
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x409fde
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x40a03a
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
jmp 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 5
cmp eax, ecx
jl 0x40a07a
push 0x39fb
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x40a0cb
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xa
cmp eax, ecx
jl 0x40a0b3
push 0x3a24
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x40a0cb
mov eax, 1
jmp 0x40a0d0
mov eax, 0
test eax, eax
je 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xb
cmp eax, ecx
jl 0x40a100
push 0x3e20
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x12
je 0x40a14e
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xb
cmp eax, ecx
jl 0x40a139
push 0x3e49
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xd2
je 0x40a14e
xor eax, eax
jmp 0x40a153
mov eax, 1
test eax, eax
je 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xc
cmp eax, ecx
jl 0x40a183
push 0x3e95
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40a311
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 0x40a1c8
mov eax, 0x812213
push eax
push 3
mov ebx, 0x4f2520
call fcn.004f06c6
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 0x40a1fc
and eax, 0xff
jmp 0x40a251
cmp ecx, 0x80000201
jne 0x40a207
cwde
jmp 0x40a251
cmp ecx, 0x80000301
je 0x40a251
cmp ecx, 0x80000401
je 0x40a251
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40a241
cmp ecx, 0x80000601
je 0x40a246
push 0x3ee1
push 0x4052552
push 2
call fcn.004f06b4
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40a24c
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040133c
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x40a29d
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x40a2f9
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
mov ebx, dword [ebp - 0x34]
call fcn.00405375
mov eax, 0xc
cmp eax, ecx
jl 0x40a339
push 0x3f51
push 0x4052552
push 1
call fcn.004f06b4
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x40a400
push 0xb1d8b8
push 4
mov eax, 2
call fcn.004f06a8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0xb1d8b8]
mov dword [ebp - 0x40], ebx
call fcn.00405375
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 0x40a391
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.004f06cc
add esp, 8
mov dword [0xb1d8b8], 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.004f06ae
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 0x40a3ed
push eax
mov ebx, eax
call fcn.00405a15
inc eax
push eax
call fcn.004f06ae
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 0x40a400
pop eax
pop ebx
pop ecx
jmp 0x40762b
add esp, 0xc
push dword [ebp - 0x24]
push 0xffffffff
call fcn.0040de78
pop ebx
pop ecx
jmp 0x40714c
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40a432
push ebx
call fcn.004f06c0
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a449
push ebx
call fcn.004f06c0
add esp, 4
pop ebx
call fcn.004f06c0
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40a462
push ebx
call fcn.004f06c0
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40a472
push ebx
call fcn.004f06c0
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 0x68
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004f06c0
add esp, 4
pop ebx
call fcn.004f06c0
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40a4ac
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40a4a8
imul eax, dword [ebx]
jmp 0x40a49d
mov ecx, eax
test ecx, ecx
je 0x40a4d4
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.004f06c0
add esp, 4
pop ebx
call fcn.004f06c0
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40a4b2
call fcn.004f06c0
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40a4fa
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40a4f6
imul eax, dword [ebx]
jmp 0x40a4eb
mov ecx, eax
test ecx, ecx
je 0x40a551
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a518
push ebx
call fcn.004f06c0
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a52c
push ebx
call fcn.004f06c0
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a540
push ebx
call fcn.004f06c0
add esp, 4
pop ebx
call fcn.004f06c0
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40a500
call fcn.004f06c0
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x40a569
push ebx
call fcn.004f06c0
add esp, 4
mov esp, ebp
pop ebp
ret