Function at 0x50f70d
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.0051c6e5
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.0051c6e5
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.0051c6e5
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x632b19
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.0051c6e5
add esp, 4
mov dword [ebp - 0x28], eax
mov edi, eax
mov esi, 0x632846
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.0051c6e5
add esp, 4
mov dword [ebp - 0x30], eax
mov edi, eax
mov esi, 0x632846
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 [0x1302154]
call fcn.0040163b
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x512fbc
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x512fb9
cmp dword [ebp - 4], 1
jne 0x50f84a
mov eax, 0x632b3c
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x50f841
push ebx
call fcn.0051c6df
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x50f8a1
cmp dword [ebp - 4], 2
jne 0x50f873
mov eax, 0x632b46
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x50f86a
push ebx
call fcn.0051c6df
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x50f8a1
cmp dword [ebp - 4], 3
jne 0x50f89c
mov eax, 0x632b51
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x50f893
push ebx
call fcn.0051c6df
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x50f8a1
jmp 0x512fbc
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.00513107
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.00513125
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x50f8ef
push ebx
call fcn.0051c6df
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x50f8ff
push ebx
call fcn.0051c6df
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x50f913
push ebx
call fcn.0051c6df
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
call fcn.00513244
mov dword [ebp - 0x3c], eax
push dword [ebp - 8]
push 0x632844
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 0x50f94a
push ebx
call fcn.0051c6df
add esp, 4
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x40]
mov eax, 0xdd
call fcn.0051c6f7
cmp dword [ebp - 0x44], esp
je 0x50f97e
push 0x267
push 0x40adb48
push 6
call fcn.0051c6eb
add esp, 0xc
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x50f98e
push ebx
call fcn.0051c6df
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x50f9a1
mov eax, 0x63284e
push eax
push 1
mov ebx, 0x51fad0
call fcn.0051c6f1
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x50f9cb
push ebx
call fcn.0051c6df
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.005132f5
mov dword [ebp - 0x1c], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x50f9ee
mov eax, 0x63284e
push eax
push 1
mov ebx, 0x51fa20
call fcn.0051c6f1
add esp, 0x10
push 1
push 0
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
call fcn.00513319
test eax, eax
je 0x50fa37
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp word [ebx], 0x10b
jne 0x50fa37
mov eax, 1
jmp 0x50fa3c
mov eax, 0
test eax, eax
je 0x512fb2
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.00513720
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, 0xde
call fcn.0051c6f7
cmp dword [ebp - 0x54], esp
je 0x50fad6
push 0x433
push 0x40adb48
push 6
call fcn.0051c6eb
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.00513743
push 8
call fcn.0051c6e5
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x632846
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.00514da1
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0051c6df
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 0x50fca3
mov ebx, dword [ebp - 0x28]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50fb7b
push 0x51a
push 0x40adb48
push 4
call fcn.0051c6eb
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50fb98
push 0x51a
push 0x40adb48
push 1
call fcn.0051c6eb
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.00513706
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 0x50fbe8
push 0x54b
push 0x40adb48
push 4
call fcn.0051c6eb
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50fc05
push 0x54b
push 0x40adb48
push 1
call fcn.0051c6eb
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.00513706
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 0x50fc55
push 0x54b
push 0x40adb48
push 4
call fcn.0051c6eb
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50fc72
push 0x54b
push 0x40adb48
push 1
call fcn.0051c6eb
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.00513743
pop eax
pop ebx
pop ecx
jmp 0x50fb46
add esp, 0xc
push 1
push dword [ebp - 0x10]
push dword [ebp - 0x24]
call fcn.00515b29
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x50fcd1
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x50fccd
imul eax, dword [ebx]
jmp 0x50fcc2
mov ecx, eax
test ecx, ecx
je 0x50fcf9
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051c6df
add esp, 4
pop ebx
call fcn.0051c6df
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x50fcd7
call fcn.0051c6df
add esp, 4
mov eax, 0x632846
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x24]
call fcn.00516578
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 0x512f74
cmp dword [ebp - 4], 1
jne 0x50fe70
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50fd5d
push 0x6bb
push 0x40adb48
push 4
call fcn.0051c6eb
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50fd7a
push 0x6bb
push 0x40adb48
push 1
call fcn.0051c6eb
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 0x50fda8
mov eax, 0x63284e
push eax
push 2
mov ebx, 0x51d300
call fcn.0051c6f1
add esp, 0x1c
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x5a
jne 0x50fe5e
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50fdef
push 0x70a
push 0x40adb48
push 4
call fcn.0051c6eb
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50fe0c
push 0x70a
push 0x40adb48
push 1
call fcn.0051c6eb
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 0x50fe3a
mov eax, 0x63284e
push eax
push 2
mov ebx, 0x51d300
call fcn.0051c6f1
add esp, 0x1c
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x77
jne 0x50fe5e
xor eax, eax
jmp 0x50fe63
mov eax, 1
test eax, eax
je 0x50fe70
jmp 0x512f6c
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50fe97
push 0x7b6
push 0x40adb48
push 4
call fcn.0051c6eb
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50feb4
push 0x7b6
push 0x40adb48
push 1
call fcn.0051c6eb
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.0051c6e5
add esp, 4
mov dword [ebp - 0x40], eax
mov edi, eax
mov esi, 0x632846
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.0051703d
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
push ebx
call fcn.0051c6df
add esp, 4
cmp dword [ebp - 0x44], 0
je 0x50ff4e
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x50ff36
push 0x7f0
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
cmp byte [ebx], 0xb8
jne 0x50ff4e
mov eax, 1
jmp 0x50ff53
mov eax, 0
test eax, eax
je 0x512f6c
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 0x50ff8b
push 0x81b
push 0x40adb48
push 4
call fcn.0051c6eb
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50ffa8
push 0x81b
push 0x40adb48
push 1
call fcn.0051c6eb
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 0x50ffd3
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x50ffe6
push ebx
call fcn.0051c6df
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 0x510032
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x510066
and eax, 0xff
jmp 0x5100bb
cmp ecx, 0x80000201
jne 0x510071
cwde
jmp 0x5100bb
cmp ecx, 0x80000301
je 0x5100bb
cmp ecx, 0x80000401
je 0x5100bb
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5100ab
cmp ecx, 0x80000601
je 0x5100b0
push 0x8a3
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5100b6
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0x1302128]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 5
jne 0x5100f7
mov ebx, dword [0x1302128]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x5100f7
mov eax, 1
jmp 0x5100fc
mov eax, 0
test eax, eax
je 0x51083d
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x51012c
push 0xcc1
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xcd
jne 0x51017d
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x510165
push 0xcea
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x2e
jne 0x51017d
mov eax, 1
jmp 0x510182
mov eax, 0
test eax, eax
je 0x510838
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x5101b2
push 0xd36
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x510340
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 0x5101f7
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x51022b
and eax, 0xff
jmp 0x510280
cmp ecx, 0x80000201
jne 0x510236
cwde
jmp 0x510280
cmp ecx, 0x80000301
je 0x510280
cmp ecx, 0x80000401
je 0x510280
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x510270
cmp ecx, 0x80000601
je 0x510275
push 0xd82
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x51027b
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x5102cc
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x510328
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x510368
push 0xdf2
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x510434
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x5103c0
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x51041c
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x51045c
push 0xe67
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe9
jne 0x510838
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0x10
push dword [ebp - 0x38]
call fcn.00513706
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 0x5104b4
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x5104f4
and eax, 0xff
jmp 0x510549
cmp ecx, 0x80000201
jne 0x5104ff
cwde
jmp 0x510549
cmp ecx, 0x80000301
je 0x510549
cmp ecx, 0x80000401
je 0x510549
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x510539
cmp ecx, 0x80000601
je 0x51053e
push 0xf00
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x510544
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
push eax
push dword [ebp - 0x38]
call fcn.00513706
mov dword [ebp - 0x38], eax
push 8
call fcn.0051c6e5
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x632846
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.0051703d
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0051c6df
add esp, 4
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x5105bb
push 0xfa3
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x510749
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 0x510600
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x510634
and eax, 0xff
jmp 0x510689
cmp ecx, 0x80000201
jne 0x51063f
cwde
jmp 0x510689
cmp ecx, 0x80000301
je 0x510689
cmp ecx, 0x80000401
je 0x510689
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x510679
cmp ecx, 0x80000601
je 0x51067e
push 0xfef
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x510684
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x5106d5
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x510731
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x510771
push 0x105f
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x510838
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x5107c9
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x510825
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
jmp 0x512f6c
mov ebx, dword [0x1302128]
add ebx, 0x1c
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0
je 0x51278b
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 [0x1302128]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0xa
jne 0x51089e
mov ebx, dword [0x1302128]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x51089e
mov eax, 1
jmp 0x5108a3
mov eax, 0
test eax, eax
je 0x510ce0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x5108d3
push 0x16b1
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x510924
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x1f
cmp eax, ecx
jl 0x51090c
push 0x16da
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xba
jne 0x510924
mov eax, 1
jmp 0x510929
mov eax, 0
test eax, eax
je 0x510aa9
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 0x510965
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x510999
and eax, 0xff
jmp 0x5109ee
cmp ecx, 0x80000201
jne 0x5109a4
cwde
jmp 0x5109ee
cmp ecx, 0x80000301
je 0x5109ee
cmp ecx, 0x80000401
je 0x5109ee
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5109de
cmp ecx, 0x80000601
je 0x5109e3
push 0x1727
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5109e9
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x510a3a
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x510a96
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x510ad1
push 0x17b4
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x510b5b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x510b0a
push 0x17dd
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x510b5b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x510b43
push 0x1806
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xd2
jne 0x510b5b
mov eax, 1
jmp 0x510b60
mov eax, 0
test eax, eax
je 0x510ce0
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 0x510b9c
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x510bd0
and eax, 0xff
jmp 0x510c25
cmp ecx, 0x80000201
jne 0x510bdb
cwde
jmp 0x510c25
cmp ecx, 0x80000301
je 0x510c25
cmp ecx, 0x80000401
je 0x510c25
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x510c15
cmp ecx, 0x80000601
je 0x510c1a
push 0x199e
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x510c20
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x510c71
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x510ccd
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x510d08
push 0x1a52
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x64
jne 0x510d92
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 6
cmp eax, ecx
jl 0x510d41
push 0x1a7b
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x510d92
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 8
cmp eax, ecx
jl 0x510d7a
push 0x1aa4
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc0
jne 0x510d92
mov eax, 1
jmp 0x510d97
mov eax, 0
test eax, eax
je 0x511044
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x510dc7
push 0x1bf6
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x510f55
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 0x510e0c
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x510e40
and eax, 0xff
jmp 0x510e95
cmp ecx, 0x80000201
jne 0x510e4b
cwde
jmp 0x510e95
cmp ecx, 0x80000301
je 0x510e95
cmp ecx, 0x80000401
je 0x510e95
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x510e85
cmp ecx, 0x80000601
je 0x510e8a
push 0x1c42
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x510e90
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x510ee1
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x510f3d
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x510f7d
push 0x1cb2
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x511044
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x510fd5
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x511031
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x51106c
push 0x1d73
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x33
jne 0x5110f6
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 7
cmp eax, ecx
jl 0x5110a5
push 0x1d9c
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x5110f6
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x5110de
push 0x1dc5
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x5110f6
mov eax, 1
jmp 0x5110fb
mov eax, 0
test eax, eax
je 0x5115a8
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x51112b
push 0x21f8
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x511179
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x511164
push 0x2221
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x511179
xor eax, eax
jmp 0x51117e
mov eax, 1
test eax, eax
je 0x511241
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x5111cd
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x511229
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x511269
push 0x2293
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x5113f7
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 0x5112ae
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x5112e2
and eax, 0xff
jmp 0x511337
cmp ecx, 0x80000201
jne 0x5112ed
cwde
jmp 0x511337
cmp ecx, 0x80000301
je 0x511337
cmp ecx, 0x80000401
je 0x511337
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x511327
cmp ecx, 0x80000601
je 0x51132c
push 0x22df
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x511332
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x511383
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x5113df
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x51141f
push 0x234f
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x5115a8
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 0x511464
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x511498
and eax, 0xff
jmp 0x5114ed
cmp ecx, 0x80000201
jne 0x5114a3
cwde
jmp 0x5114ed
cmp ecx, 0x80000301
je 0x5114ed
cmp ecx, 0x80000401
je 0x5114ed
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5114dd
cmp ecx, 0x80000601
je 0x5114e2
push 0x239b
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5114e8
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x511539
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x511595
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x5115d0
push 0x246c
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x51165a
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x511609
push 0x2495
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x33
jne 0x51165a
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x511642
push 0x24be
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x51165a
mov eax, 1
jmp 0x51165f
mov eax, 0
test eax, eax
je 0x511b0c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x51168f
push 0x28f7
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x5116dd
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x5116c8
push 0x2920
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x5116dd
xor eax, eax
jmp 0x5116e2
mov eax, 1
test eax, eax
je 0x5117a5
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x511731
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x51178d
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x5117cd
push 0x2992
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x51195b
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 0x511812
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x511846
and eax, 0xff
jmp 0x51189b
cmp ecx, 0x80000201
jne 0x511851
cwde
jmp 0x51189b
cmp ecx, 0x80000301
je 0x51189b
cmp ecx, 0x80000401
je 0x51189b
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x51188b
cmp ecx, 0x80000601
je 0x511890
push 0x29de
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x511896
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x5118e7
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x511943
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x511983
push 0x2a4e
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x511b0c
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 0x5119c8
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x5119fc
and eax, 0xff
jmp 0x511a51
cmp ecx, 0x80000201
jne 0x511a07
cwde
jmp 0x511a51
cmp ecx, 0x80000301
je 0x511a51
cmp ecx, 0x80000401
je 0x511a51
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x511a41
cmp ecx, 0x80000601
je 0x511a46
push 0x2a9a
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x511a4c
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x511a9d
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x511af9
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x511b34
push 0x2b7c
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xb9
jne 0x511bbe
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x511b6d
push 0x2ba5
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x511bbe
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xe
cmp eax, ecx
jl 0x511ba6
push 0x2bce
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x511bbe
mov eax, 1
jmp 0x511bc3
mov eax, 0
test eax, eax
je 0x512149
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 0x511bff
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x511c33
and eax, 0xff
jmp 0x511c88
cmp ecx, 0x80000201
jne 0x511c3e
cwde
jmp 0x511c88
cmp ecx, 0x80000301
je 0x511c88
cmp ecx, 0x80000401
je 0x511c88
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x511c78
cmp ecx, 0x80000601
je 0x511c7d
push 0x305e
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x511c83
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 0x511cb5
push 0x30b0
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x511d03
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x511cee
push 0x30d9
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x511d03
xor eax, eax
jmp 0x511d08
mov eax, 1
test eax, eax
je 0x511dcb
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x511d57
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x511db3
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x511df3
push 0x314b
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x511f81
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 0x511e38
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x511e6c
and eax, 0xff
jmp 0x511ec1
cmp ecx, 0x80000201
jne 0x511e77
cwde
jmp 0x511ec1
cmp ecx, 0x80000301
je 0x511ec1
cmp ecx, 0x80000401
je 0x511ec1
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x511eb1
cmp ecx, 0x80000601
je 0x511eb6
push 0x3197
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x511ebc
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x511f0d
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x511f69
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x511fa9
push 0x3207
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x512137
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 0x511fee
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x512022
and eax, 0xff
jmp 0x512077
cmp ecx, 0x80000201
jne 0x51202d
cwde
jmp 0x512077
cmp ecx, 0x80000301
je 0x512077
cmp ecx, 0x80000401
je 0x512077
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x512067
cmp ecx, 0x80000601
je 0x51206c
push 0x3253
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x512072
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x5120c3
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x51211f
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
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 0x512171
push 0x3344
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x5121fb
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x5121aa
push 0x336d
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xb9
jne 0x5121fb
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xe
cmp eax, ecx
jl 0x5121e3
push 0x3396
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x5121fb
mov eax, 1
jmp 0x512200
mov eax, 0
test eax, eax
je 0x512786
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 0x51223c
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x512270
and eax, 0xff
jmp 0x5122c5
cmp ecx, 0x80000201
jne 0x51227b
cwde
jmp 0x5122c5
cmp ecx, 0x80000301
je 0x5122c5
cmp ecx, 0x80000401
je 0x5122c5
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5122b5
cmp ecx, 0x80000601
je 0x5122ba
push 0x381d
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5122c0
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 0x5122f2
push 0x386f
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x512340
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x51232b
push 0x3898
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x512340
xor eax, eax
jmp 0x512345
mov eax, 1
test eax, eax
je 0x512408
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x512394
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x5123f0
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x512430
push 0x390a
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x5125be
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 0x512475
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x5124a9
and eax, 0xff
jmp 0x5124fe
cmp ecx, 0x80000201
jne 0x5124b4
cwde
jmp 0x5124fe
cmp ecx, 0x80000301
je 0x5124fe
cmp ecx, 0x80000401
je 0x5124fe
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5124ee
cmp ecx, 0x80000601
je 0x5124f3
push 0x3956
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5124f9
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x51254a
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x5125a6
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x5125e6
push 0x39c6
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x512774
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 0x51262b
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x51265f
and eax, 0xff
jmp 0x5126b4
cmp ecx, 0x80000201
jne 0x51266a
cwde
jmp 0x5126b4
cmp ecx, 0x80000301
je 0x5126b4
cmp ecx, 0x80000401
je 0x5126b4
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5126a4
cmp ecx, 0x80000601
je 0x5126a9
push 0x3a12
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5126af
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x512700
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x51275c
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
jmp 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x5127b3
push 0x3af5
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x512bbe
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 0x5127ef
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x512823
and eax, 0xff
jmp 0x512878
cmp ecx, 0x80000201
jne 0x51282e
cwde
jmp 0x512878
cmp ecx, 0x80000301
je 0x512878
cmp ecx, 0x80000401
je 0x512878
mov dword [ebp - 0x4c], eax
cmp ecx, 0x80000501
je 0x512868
cmp ecx, 0x80000601
je 0x51286d
push 0x3f56
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x4c]
jmp 0x512873
mov dword [ebp - 0x48], edx
fld qword [ebp - 0x4c]
call fcn.0040127a
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x512896
cmp dword [ebp - 0x38], 0xa
jge 0x512896
mov eax, 1
jmp 0x51289b
mov eax, 0
test eax, eax
je 0x512bb9
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0xd
push dword [ebp - 0x38]
call fcn.00513706
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 0x5128e6
push 0x405d
push 0x40adb48
push 4
call fcn.0051c6eb
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x512903
push 0x405d
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xf
jne 0x512bb9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x51293c
push 0x40a9
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x512aca
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 0x512981
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x5129b5
and eax, 0xff
jmp 0x512a0a
cmp ecx, 0x80000201
jne 0x5129c0
cwde
jmp 0x512a0a
cmp ecx, 0x80000301
je 0x512a0a
cmp ecx, 0x80000401
je 0x512a0a
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5129fa
cmp ecx, 0x80000601
je 0x5129ff
push 0x40f5
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x512a05
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x512a56
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x512ab2
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x512af2
push 0x4165
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x512bb9
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x512b4a
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x512ba6
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
jmp 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x512be6
push 0x4253
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x512c37
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x512c1f
push 0x427c
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x512c37
mov eax, 1
jmp 0x512c3c
mov eax, 0
test eax, eax
je 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x512c6c
push 0x4678
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x12
je 0x512cba
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x512ca5
push 0x46a1
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xd2
je 0x512cba
xor eax, eax
jmp 0x512cbf
mov eax, 1
test eax, eax
je 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x512cef
push 0x46ed
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x512e7d
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 0x512d34
mov eax, 0x632846
push eax
push 3
mov ebx, 0x51e660
call fcn.0051c6f1
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 0x512d68
and eax, 0xff
jmp 0x512dbd
cmp ecx, 0x80000201
jne 0x512d73
cwde
jmp 0x512dbd
cmp ecx, 0x80000301
je 0x512dbd
cmp ecx, 0x80000401
je 0x512dbd
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x512dad
cmp ecx, 0x80000601
je 0x512db2
push 0x4739
push 0x40adb48
push 2
call fcn.0051c6eb
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x512db8
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x512e09
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x512e65
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x512ea5
push 0x47a9
push 0x40adb48
push 1
call fcn.0051c6eb
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x512f6c
push 0x1302154
push 4
mov eax, 2
call fcn.0051c6d9
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x1302154]
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 0x512efd
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.0051c6fd
add esp, 8
mov dword [0x1302154], 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.0051c6e5
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 0x512f59
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051c6e5
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 0x512f6c
pop eax
pop ebx
pop ecx
jmp 0x50fd1e
add esp, 0xc
mov dword [ebp - 0x3c], esp
push 0x8000
push 0
push dword [ebp - 0x24]
push 0xffffffff
mov eax, 0xdf
call fcn.0051c6f7
cmp dword [ebp - 0x3c], esp
je 0x512fb2
push 0x48ac
push 0x40adb48
push 6
call fcn.0051c6eb
add esp, 0xc
pop ebx
pop ecx
jmp 0x50f813
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x512fcc
push ebx
call fcn.0051c6df
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x512fe3
push ebx
call fcn.0051c6df
add esp, 4
pop ebx
call fcn.0051c6df
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x512ffc
push ebx
call fcn.0051c6df
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x51300c
push ebx
call fcn.0051c6df
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 0x68
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051c6df
add esp, 4
pop ebx
call fcn.0051c6df
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x513046
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x513042
imul eax, dword [ebx]
jmp 0x513037
mov ecx, eax
test ecx, ecx
je 0x51306e
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051c6df
add esp, 4
pop ebx
call fcn.0051c6df
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x51304c
call fcn.0051c6df
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x513094
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x513090
imul eax, dword [ebx]
jmp 0x513085
mov ecx, eax
test ecx, ecx
je 0x5130eb
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x5130b2
push ebx
call fcn.0051c6df
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x5130c6
push ebx
call fcn.0051c6df
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x5130da
push ebx
call fcn.0051c6df
add esp, 4
pop ebx
call fcn.0051c6df
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x51309a
call fcn.0051c6df
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x513103
push ebx
call fcn.0051c6df
add esp, 4
mov esp, ebp
pop ebp
ret