Function at 0x513b61
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.0051ee50
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.0051ee50
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.0051ee50
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x635b24
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.0051ee50
add esp, 4
mov dword [ebp - 0x28], eax
mov edi, eax
mov esi, 0x635846
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.0051ee50
add esp, 4
mov dword [ebp - 0x30], eax
mov edi, eax
mov esi, 0x635846
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 [0x12f41a0]
call fcn.0040163b
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x517410
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x51740d
cmp dword [ebp - 4], 1
jne 0x513c9e
mov eax, 0x635b47
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x513c95
push ebx
call fcn.0051ee4a
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x513cf5
cmp dword [ebp - 4], 2
jne 0x513cc7
mov eax, 0x635b51
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x513cbe
push ebx
call fcn.0051ee4a
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x513cf5
cmp dword [ebp - 4], 3
jne 0x513cf0
mov eax, 0x635b5c
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x513ce7
push ebx
call fcn.0051ee4a
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x513cf5
jmp 0x517410
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.0051755b
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x3c], 0
push 0
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x40], 0
push 0
lea eax, [ebp - 0x40]
push eax
call fcn.00517579
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x513d43
push ebx
call fcn.0051ee4a
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x513d53
push ebx
call fcn.0051ee4a
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x513d67
push ebx
call fcn.0051ee4a
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
call fcn.00517698
mov dword [ebp - 0x3c], eax
push dword [ebp - 8]
push 0x635844
push dword [ebp - 0x3c]
mov ecx, 3
call fcn.0040106f
add esp, 0xc
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x513d9e
push ebx
call fcn.0051ee4a
add esp, 4
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x40]
mov eax, 0xe1
call fcn.0051ee62
cmp dword [ebp - 0x44], esp
je 0x513dd2
push 0x267
push 0x40adc5d
push 6
call fcn.0051ee56
add esp, 0xc
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x513de2
push ebx
call fcn.0051ee4a
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x513df5
mov eax, 0x63584e
push eax
push 1
mov ebx, 0x522240
call fcn.0051ee5c
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x513e1f
push ebx
call fcn.0051ee4a
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00517749
mov dword [ebp - 0x1c], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x513e42
mov eax, 0x63584e
push eax
push 1
mov ebx, 0x522190
call fcn.0051ee5c
add esp, 0x10
push 1
push 0
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
call fcn.0051776d
test eax, eax
je 0x513e8b
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp word [ebx], 0x10b
jne 0x513e8b
mov eax, 1
jmp 0x513e90
mov eax, 0
test eax, eax
je 0x517406
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.00517b74
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, 0xe2
call fcn.0051ee62
cmp dword [ebp - 0x54], esp
je 0x513f2a
push 0x433
push 0x40adc5d
push 6
call fcn.0051ee56
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.00517b97
push 8
call fcn.0051ee50
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x635846
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.005191f5
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0051ee4a
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 0x5140f7
mov ebx, dword [ebp - 0x28]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x513fcf
push 0x51a
push 0x40adc5d
push 4
call fcn.0051ee56
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x513fec
push 0x51a
push 0x40adc5d
push 1
call fcn.0051ee56
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.00517b5a
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x28]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x51403c
push 0x54b
push 0x40adc5d
push 4
call fcn.0051ee56
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x514059
push 0x54b
push 0x40adc5d
push 1
call fcn.0051ee56
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.00517b5a
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x28]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x5140a9
push 0x54b
push 0x40adc5d
push 4
call fcn.0051ee56
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x5140c6
push 0x54b
push 0x40adc5d
push 1
call fcn.0051ee56
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.00517b97
pop eax
pop ebx
pop ecx
jmp 0x513f9a
add esp, 0xc
push 1
push dword [ebp - 0x10]
push dword [ebp - 0x24]
call fcn.00519f7d
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x514125
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x514121
imul eax, dword [ebx]
jmp 0x514116
mov ecx, eax
test ecx, ecx
je 0x51414d
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051ee4a
add esp, 4
pop ebx
call fcn.0051ee4a
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x51412b
call fcn.0051ee4a
add esp, 4
mov eax, 0x635846
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x24]
call fcn.0051a9cc
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 0x5173c8
cmp dword [ebp - 4], 1
jne 0x5142c4
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x5141b1
push 0x6bb
push 0x40adc5d
push 4
call fcn.0051ee56
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x5141ce
push 0x6bb
push 0x40adc5d
push 1
call fcn.0051ee56
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.WS2_32.dll_connect
push 0
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebx]
test eax, eax
jne 0x5141fc
mov eax, 0x63584e
push eax
push 2
mov ebx, 0x51fa70
call fcn.0051ee5c
add esp, 0x1c
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x5a
jne 0x5142b2
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x514243
push 0x70a
push 0x40adc5d
push 4
call fcn.0051ee56
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x514260
push 0x70a
push 0x40adc5d
push 1
call fcn.0051ee56
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.WS2_32.dll_connect
push 0
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
test eax, eax
jne 0x51428e
mov eax, 0x63584e
push eax
push 2
mov ebx, 0x51fa70
call fcn.0051ee5c
add esp, 0x1c
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x77
jne 0x5142b2
xor eax, eax
jmp 0x5142b7
mov eax, 1
test eax, eax
je 0x5142c4
jmp 0x5173c0
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x5142eb
push 0x7b6
push 0x40adc5d
push 4
call fcn.0051ee56
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x514308
push 0x7b6
push 0x40adc5d
push 1
call fcn.0051ee56
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.0051ee50
add esp, 4
mov dword [ebp - 0x40], eax
mov edi, eax
mov esi, 0x635846
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.0051b491
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
push ebx
call fcn.0051ee4a
add esp, 4
cmp dword [ebp - 0x44], 0
je 0x5143a2
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x51438a
push 0x7f0
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
cmp byte [ebx], 0xb8
jne 0x5143a2
mov eax, 1
jmp 0x5143a7
mov eax, 0
test eax, eax
je 0x5173c0
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x5143df
push 0x81b
push 0x40adc5d
push 4
call fcn.0051ee56
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x5143fc
push 0x81b
push 0x40adc5d
push 1
call fcn.0051ee56
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 0x514427
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x51443a
push ebx
call fcn.0051ee4a
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 0x514486
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x5144ba
and eax, 0xff
jmp 0x51450f
cmp ecx, 0x80000201
jne 0x5144c5
cwde
jmp 0x51450f
cmp ecx, 0x80000301
je 0x51450f
cmp ecx, 0x80000401
je 0x51450f
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5144ff
cmp ecx, 0x80000601
je 0x514504
push 0x8a3
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x51450a
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0x12f4174]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 5
jne 0x51454b
mov ebx, dword [0x12f4174]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x51454b
mov eax, 1
jmp 0x514550
mov eax, 0
test eax, eax
je 0x514c91
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x514580
push 0xcc1
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xcd
jne 0x5145d1
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x5145b9
push 0xcea
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x2e
jne 0x5145d1
mov eax, 1
jmp 0x5145d6
mov eax, 0
test eax, eax
je 0x514c8c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x514606
push 0xd36
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x514794
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 0x51464b
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x51467f
and eax, 0xff
jmp 0x5146d4
cmp ecx, 0x80000201
jne 0x51468a
cwde
jmp 0x5146d4
cmp ecx, 0x80000301
je 0x5146d4
cmp ecx, 0x80000401
je 0x5146d4
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5146c4
cmp ecx, 0x80000601
je 0x5146c9
push 0xd82
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5146cf
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x514720
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x51477c
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x5147bc
push 0xdf2
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x514888
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x514814
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x514870
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x5148b0
push 0xe67
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe9
jne 0x514c8c
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0x10
push dword [ebp - 0x38]
call fcn.00517b5a
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 0x514908
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x514948
and eax, 0xff
jmp 0x51499d
cmp ecx, 0x80000201
jne 0x514953
cwde
jmp 0x51499d
cmp ecx, 0x80000301
je 0x51499d
cmp ecx, 0x80000401
je 0x51499d
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x51498d
cmp ecx, 0x80000601
je 0x514992
push 0xf00
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x514998
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
push eax
push dword [ebp - 0x38]
call fcn.00517b5a
mov dword [ebp - 0x38], eax
push 8
call fcn.0051ee50
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x635846
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.0051b491
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0051ee4a
add esp, 4
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x514a0f
push 0xfa3
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x514b9d
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 0x514a54
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x514a88
and eax, 0xff
jmp 0x514add
cmp ecx, 0x80000201
jne 0x514a93
cwde
jmp 0x514add
cmp ecx, 0x80000301
je 0x514add
cmp ecx, 0x80000401
je 0x514add
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x514acd
cmp ecx, 0x80000601
je 0x514ad2
push 0xfef
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x514ad8
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x514b29
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x514b85
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x514bc5
push 0x105f
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x514c8c
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x514c1d
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x514c79
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
jmp 0x5173c0
mov ebx, dword [0x12f4174]
add ebx, 0x1c
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0
je 0x516bdf
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 [0x12f4174]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0xa
jne 0x514cf2
mov ebx, dword [0x12f4174]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x514cf2
mov eax, 1
jmp 0x514cf7
mov eax, 0
test eax, eax
je 0x515134
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x514d27
push 0x16b1
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x514d78
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x1f
cmp eax, ecx
jl 0x514d60
push 0x16da
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xba
jne 0x514d78
mov eax, 1
jmp 0x514d7d
mov eax, 0
test eax, eax
je 0x514efd
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x27
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x514db9
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x514ded
and eax, 0xff
jmp 0x514e42
cmp ecx, 0x80000201
jne 0x514df8
cwde
jmp 0x514e42
cmp ecx, 0x80000301
je 0x514e42
cmp ecx, 0x80000401
je 0x514e42
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x514e32
cmp ecx, 0x80000601
je 0x514e37
push 0x1727
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x514e3d
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x514e8e
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x514eea
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x514f25
push 0x17b4
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x514faf
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x514f5e
push 0x17dd
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x514faf
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x514f97
push 0x1806
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xd2
jne 0x514faf
mov eax, 1
jmp 0x514fb4
mov eax, 0
test eax, eax
je 0x515134
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 0x514ff0
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x515024
and eax, 0xff
jmp 0x515079
cmp ecx, 0x80000201
jne 0x51502f
cwde
jmp 0x515079
cmp ecx, 0x80000301
je 0x515079
cmp ecx, 0x80000401
je 0x515079
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x515069
cmp ecx, 0x80000601
je 0x51506e
push 0x199e
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x515074
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x5150c5
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x515121
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x51515c
push 0x1a52
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x64
jne 0x5151e6
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 6
cmp eax, ecx
jl 0x515195
push 0x1a7b
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x5151e6
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 8
cmp eax, ecx
jl 0x5151ce
push 0x1aa4
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc0
jne 0x5151e6
mov eax, 1
jmp 0x5151eb
mov eax, 0
test eax, eax
je 0x515498
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x51521b
push 0x1bf6
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x5153a9
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 0x515260
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x515294
and eax, 0xff
jmp 0x5152e9
cmp ecx, 0x80000201
jne 0x51529f
cwde
jmp 0x5152e9
cmp ecx, 0x80000301
je 0x5152e9
cmp ecx, 0x80000401
je 0x5152e9
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5152d9
cmp ecx, 0x80000601
je 0x5152de
push 0x1c42
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5152e4
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x515335
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x515391
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x5153d1
push 0x1cb2
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x515498
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x515429
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x515485
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x5154c0
push 0x1d73
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x33
jne 0x51554a
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 7
cmp eax, ecx
jl 0x5154f9
push 0x1d9c
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x51554a
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x515532
push 0x1dc5
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x51554a
mov eax, 1
jmp 0x51554f
mov eax, 0
test eax, eax
je 0x5159fc
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x51557f
push 0x21f8
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x5155cd
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x5155b8
push 0x2221
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x5155cd
xor eax, eax
jmp 0x5155d2
mov eax, 1
test eax, eax
je 0x515695
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x515621
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x51567d
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x5156bd
push 0x2293
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x51584b
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 0x515702
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x515736
and eax, 0xff
jmp 0x51578b
cmp ecx, 0x80000201
jne 0x515741
cwde
jmp 0x51578b
cmp ecx, 0x80000301
je 0x51578b
cmp ecx, 0x80000401
je 0x51578b
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x51577b
cmp ecx, 0x80000601
je 0x515780
push 0x22df
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x515786
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x5157d7
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x515833
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x515873
push 0x234f
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x5159fc
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 0x5158b8
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x5158ec
and eax, 0xff
jmp 0x515941
cmp ecx, 0x80000201
jne 0x5158f7
cwde
jmp 0x515941
cmp ecx, 0x80000301
je 0x515941
cmp ecx, 0x80000401
je 0x515941
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x515931
cmp ecx, 0x80000601
je 0x515936
push 0x239b
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x51593c
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x51598d
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x5159e9
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x515a24
push 0x246c
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x515aae
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x515a5d
push 0x2495
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x33
jne 0x515aae
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x515a96
push 0x24be
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x515aae
mov eax, 1
jmp 0x515ab3
mov eax, 0
test eax, eax
je 0x515f60
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x515ae3
push 0x28f7
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x515b31
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x515b1c
push 0x2920
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x515b31
xor eax, eax
jmp 0x515b36
mov eax, 1
test eax, eax
je 0x515bf9
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x515b85
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x515be1
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x515c21
push 0x2992
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x515daf
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 0x515c66
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x515c9a
and eax, 0xff
jmp 0x515cef
cmp ecx, 0x80000201
jne 0x515ca5
cwde
jmp 0x515cef
cmp ecx, 0x80000301
je 0x515cef
cmp ecx, 0x80000401
je 0x515cef
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x515cdf
cmp ecx, 0x80000601
je 0x515ce4
push 0x29de
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x515cea
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x515d3b
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x515d97
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x515dd7
push 0x2a4e
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x515f60
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 0x515e1c
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x515e50
and eax, 0xff
jmp 0x515ea5
cmp ecx, 0x80000201
jne 0x515e5b
cwde
jmp 0x515ea5
cmp ecx, 0x80000301
je 0x515ea5
cmp ecx, 0x80000401
je 0x515ea5
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x515e95
cmp ecx, 0x80000601
je 0x515e9a
push 0x2a9a
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x515ea0
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x515ef1
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x515f4d
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x515f88
push 0x2b7c
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xb9
jne 0x516012
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x515fc1
push 0x2ba5
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x516012
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xe
cmp eax, ecx
jl 0x515ffa
push 0x2bce
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x516012
mov eax, 1
jmp 0x516017
mov eax, 0
test eax, eax
je 0x51659d
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 0x516053
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x516087
and eax, 0xff
jmp 0x5160dc
cmp ecx, 0x80000201
jne 0x516092
cwde
jmp 0x5160dc
cmp ecx, 0x80000301
je 0x5160dc
cmp ecx, 0x80000401
je 0x5160dc
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5160cc
cmp ecx, 0x80000601
je 0x5160d1
push 0x305e
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5160d7
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x516109
push 0x30b0
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x516157
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x516142
push 0x30d9
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x516157
xor eax, eax
jmp 0x51615c
mov eax, 1
test eax, eax
je 0x51621f
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x5161ab
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x516207
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x516247
push 0x314b
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x5163d5
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 0x51628c
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x5162c0
and eax, 0xff
jmp 0x516315
cmp ecx, 0x80000201
jne 0x5162cb
cwde
jmp 0x516315
cmp ecx, 0x80000301
je 0x516315
cmp ecx, 0x80000401
je 0x516315
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x516305
cmp ecx, 0x80000601
je 0x51630a
push 0x3197
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x516310
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x516361
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x5163bd
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x5163fd
push 0x3207
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x51658b
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 0x516442
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x516476
and eax, 0xff
jmp 0x5164cb
cmp ecx, 0x80000201
jne 0x516481
cwde
jmp 0x5164cb
cmp ecx, 0x80000301
je 0x5164cb
cmp ecx, 0x80000401
je 0x5164cb
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5164bb
cmp ecx, 0x80000601
je 0x5164c0
push 0x3253
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5164c6
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x516517
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x516573
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
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.004012a1
mov eax, 5
cmp eax, ecx
jl 0x5165c5
push 0x3344
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x51664f
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x5165fe
push 0x336d
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xb9
jne 0x51664f
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xe
cmp eax, ecx
jl 0x516637
push 0x3396
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x51664f
mov eax, 1
jmp 0x516654
mov eax, 0
test eax, eax
je 0x516bda
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 0x516690
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x5166c4
and eax, 0xff
jmp 0x516719
cmp ecx, 0x80000201
jne 0x5166cf
cwde
jmp 0x516719
cmp ecx, 0x80000301
je 0x516719
cmp ecx, 0x80000401
je 0x516719
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x516709
cmp ecx, 0x80000601
je 0x51670e
push 0x381d
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x516714
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x516746
push 0x386f
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x516794
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x51677f
push 0x3898
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x516794
xor eax, eax
jmp 0x516799
mov eax, 1
test eax, eax
je 0x51685c
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x5167e8
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x516844
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x516884
push 0x390a
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x516a12
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 0x5168c9
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x5168fd
and eax, 0xff
jmp 0x516952
cmp ecx, 0x80000201
jne 0x516908
cwde
jmp 0x516952
cmp ecx, 0x80000301
je 0x516952
cmp ecx, 0x80000401
je 0x516952
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x516942
cmp ecx, 0x80000601
je 0x516947
push 0x3956
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x51694d
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x51699e
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x5169fa
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x516a3a
push 0x39c6
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x516bc8
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 0x516a7f
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x516ab3
and eax, 0xff
jmp 0x516b08
cmp ecx, 0x80000201
jne 0x516abe
cwde
jmp 0x516b08
cmp ecx, 0x80000301
je 0x516b08
cmp ecx, 0x80000401
je 0x516b08
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x516af8
cmp ecx, 0x80000601
je 0x516afd
push 0x3a12
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x516b03
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x516b54
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x516bb0
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
jmp 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x516c07
push 0x3af5
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x517012
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 0x516c43
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x516c77
and eax, 0xff
jmp 0x516ccc
cmp ecx, 0x80000201
jne 0x516c82
cwde
jmp 0x516ccc
cmp ecx, 0x80000301
je 0x516ccc
cmp ecx, 0x80000401
je 0x516ccc
mov dword [ebp - 0x4c], eax
cmp ecx, 0x80000501
je 0x516cbc
cmp ecx, 0x80000601
je 0x516cc1
push 0x3f56
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x4c]
jmp 0x516cc7
mov dword [ebp - 0x48], edx
fld qword [ebp - 0x4c]
call fcn.0040127a
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x516cea
cmp dword [ebp - 0x38], 0xa
jge 0x516cea
mov eax, 1
jmp 0x516cef
mov eax, 0
test eax, eax
je 0x51700d
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0xd
push dword [ebp - 0x38]
call fcn.00517b5a
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x38]
dec eax
jns 0x516d3a
push 0x405d
push 0x40adc5d
push 4
call fcn.0051ee56
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x516d57
push 0x405d
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xf
jne 0x51700d
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x516d90
push 0x40a9
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x516f1e
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 0x516dd5
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x516e09
and eax, 0xff
jmp 0x516e5e
cmp ecx, 0x80000201
jne 0x516e14
cwde
jmp 0x516e5e
cmp ecx, 0x80000301
je 0x516e5e
cmp ecx, 0x80000401
je 0x516e5e
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x516e4e
cmp ecx, 0x80000601
je 0x516e53
push 0x40f5
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x516e59
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x516eaa
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x516f06
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x516f46
push 0x4165
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x51700d
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x516f9e
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x516ffa
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
jmp 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x51703a
push 0x4253
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x51708b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x517073
push 0x427c
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x51708b
mov eax, 1
jmp 0x517090
mov eax, 0
test eax, eax
je 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x5170c0
push 0x4678
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x12
je 0x51710e
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x5170f9
push 0x46a1
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xd2
je 0x51710e
xor eax, eax
jmp 0x517113
mov eax, 1
test eax, eax
je 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x517143
push 0x46ed
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x5172d1
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 0x517188
mov eax, 0x635846
push eax
push 3
mov ebx, 0x520dd0
call fcn.0051ee5c
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 0x5171bc
and eax, 0xff
jmp 0x517211
cmp ecx, 0x80000201
jne 0x5171c7
cwde
jmp 0x517211
cmp ecx, 0x80000301
je 0x517211
cmp ecx, 0x80000401
je 0x517211
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x517201
cmp ecx, 0x80000601
je 0x517206
push 0x4739
push 0x40adc5d
push 2
call fcn.0051ee56
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x51720c
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x51725d
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x5172b9
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x5172f9
push 0x47a9
push 0x40adc5d
push 1
call fcn.0051ee56
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x5173c0
push 0x12f41a0
push 4
mov eax, 2
call fcn.0051ee44
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f41a0]
mov dword [ebp - 0x40], ebx
call fcn.004012a1
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 0x517351
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.0051ee68
add esp, 8
mov dword [0x12f41a0], 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.0051ee50
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 0x5173ad
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051ee50
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 0x5173c0
pop eax
pop ebx
pop ecx
jmp 0x514172
add esp, 0xc
mov dword [ebp - 0x3c], esp
push 0x8000
push 0
push dword [ebp - 0x24]
push 0xffffffff
mov eax, 0xe3
call fcn.0051ee62
cmp dword [ebp - 0x3c], esp
je 0x517406
push 0x48ac
push 0x40adc5d
push 6
call fcn.0051ee56
add esp, 0xc
pop ebx
pop ecx
jmp 0x513c67
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x517420
push ebx
call fcn.0051ee4a
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x517437
push ebx
call fcn.0051ee4a
add esp, 4
pop ebx
call fcn.0051ee4a
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x517450
push ebx
call fcn.0051ee4a
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x517460
push ebx
call fcn.0051ee4a
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 0x68
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051ee4a
add esp, 4
pop ebx
call fcn.0051ee4a
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x51749a
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x517496
imul eax, dword [ebx]
jmp 0x51748b
mov ecx, eax
test ecx, ecx
je 0x5174c2
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051ee4a
add esp, 4
pop ebx
call fcn.0051ee4a
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x5174a0
call fcn.0051ee4a
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x5174e8
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x5174e4
imul eax, dword [ebx]
jmp 0x5174d9
mov ecx, eax
test ecx, ecx
je 0x51753f
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x517506
push ebx
call fcn.0051ee4a
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x51751a
push ebx
call fcn.0051ee4a
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x51752e
push ebx
call fcn.0051ee4a
add esp, 4
pop ebx
call fcn.0051ee4a
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x5174ee
call fcn.0051ee4a
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x517557
push ebx
call fcn.0051ee4a
add esp, 4
mov esp, ebp
pop ebp
ret