Function at 0x5106a2
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.0051b991
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.0051b991
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.0051b991
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x92e562
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.0051b991
add esp, 4
mov dword [ebp - 0x28], eax
mov edi, eax
mov esi, 0x631846
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.0051b991
add esp, 4
mov dword [ebp - 0x30], eax
mov edi, eax
mov esi, 0x631846
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 [0x12fb184]
call fcn.0040163b
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x513f51
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x513f4e
cmp dword [ebp - 4], 1
jne 0x5107df
mov eax, 0x92e585
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x5107d6
push ebx
call fcn.0051b98b
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x510836
cmp dword [ebp - 4], 2
jne 0x510808
mov eax, 0x92e58f
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x5107ff
push ebx
call fcn.0051b98b
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x510836
cmp dword [ebp - 4], 3
jne 0x510831
mov eax, 0x92e59a
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x510828
push ebx
call fcn.0051b98b
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x510836
jmp 0x513f51
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.0051409c
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.005140ba
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x510884
push ebx
call fcn.0051b98b
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x510894
push ebx
call fcn.0051b98b
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x5108a8
push ebx
call fcn.0051b98b
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
call fcn.005141d9
mov dword [ebp - 0x3c], eax
push dword [ebp - 8]
push 0x631844
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 0x5108df
push ebx
call fcn.0051b98b
add esp, 4
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x40]
mov eax, 0xe1
call fcn.0051b9a3
cmp dword [ebp - 0x44], esp
je 0x510913
push 0x267
push 0x40ad952
push 6
call fcn.0051b997
add esp, 0xc
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x510923
push ebx
call fcn.0051b98b
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x510936
mov eax, 0x63184e
push eax
push 1
mov ebx, 0x51ed80
call fcn.0051b99d
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x510960
push ebx
call fcn.0051b98b
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.0051428a
mov dword [ebp - 0x1c], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x510983
mov eax, 0x63184e
push eax
push 1
mov ebx, 0x51ecd0
call fcn.0051b99d
add esp, 0x10
push 1
push 0
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
call fcn.005142ae
test eax, eax
je 0x5109cc
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp word [ebx], 0x10b
jne 0x5109cc
mov eax, 1
jmp 0x5109d1
mov eax, 0
test eax, eax
je 0x513f47
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.005146b5
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.0051b9a3
cmp dword [ebp - 0x54], esp
je 0x510a6b
push 0x433
push 0x40ad952
push 6
call fcn.0051b997
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.005146d8
push 8
call fcn.0051b991
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x631846
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.00515d36
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0051b98b
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 0x510c38
mov ebx, dword [ebp - 0x28]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x510b10
push 0x51a
push 0x40ad952
push 4
call fcn.0051b997
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x510b2d
push 0x51a
push 0x40ad952
push 1
call fcn.0051b997
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.0051469b
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 0x510b7d
push 0x54b
push 0x40ad952
push 4
call fcn.0051b997
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x510b9a
push 0x54b
push 0x40ad952
push 1
call fcn.0051b997
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.0051469b
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 0x510bea
push 0x54b
push 0x40ad952
push 4
call fcn.0051b997
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x510c07
push 0x54b
push 0x40ad952
push 1
call fcn.0051b997
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.005146d8
pop eax
pop ebx
pop ecx
jmp 0x510adb
add esp, 0xc
push 1
push dword [ebp - 0x10]
push dword [ebp - 0x24]
call fcn.00516abe
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x510c66
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x510c62
imul eax, dword [ebx]
jmp 0x510c57
mov ecx, eax
test ecx, ecx
je 0x510c8e
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051b98b
add esp, 4
pop ebx
call fcn.0051b98b
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x510c6c
call fcn.0051b98b
add esp, 4
mov eax, 0x631846
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x24]
call fcn.0051750d
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 0x513f09
cmp dword [ebp - 4], 1
jne 0x510e05
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x510cf2
push 0x6bb
push 0x40ad952
push 4
call fcn.0051b997
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x510d0f
push 0x6bb
push 0x40ad952
push 1
call fcn.0051b997
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 0x510d3d
mov eax, 0x63184e
push eax
push 2
mov ebx, 0x51c5b0
call fcn.0051b99d
add esp, 0x1c
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x5a
jne 0x510df3
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x510d84
push 0x70a
push 0x40ad952
push 4
call fcn.0051b997
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x510da1
push 0x70a
push 0x40ad952
push 1
call fcn.0051b997
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 0x510dcf
mov eax, 0x63184e
push eax
push 2
mov ebx, 0x51c5b0
call fcn.0051b99d
add esp, 0x1c
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x77
jne 0x510df3
xor eax, eax
jmp 0x510df8
mov eax, 1
test eax, eax
je 0x510e05
jmp 0x513f01
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x510e2c
push 0x7b6
push 0x40ad952
push 4
call fcn.0051b997
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x510e49
push 0x7b6
push 0x40ad952
push 1
call fcn.0051b997
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.0051b991
add esp, 4
mov dword [ebp - 0x40], eax
mov edi, eax
mov esi, 0x631846
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.00517fd2
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
push ebx
call fcn.0051b98b
add esp, 4
cmp dword [ebp - 0x44], 0
je 0x510ee3
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x510ecb
push 0x7f0
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
cmp byte [ebx], 0xb8
jne 0x510ee3
mov eax, 1
jmp 0x510ee8
mov eax, 0
test eax, eax
je 0x513f01
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 0x510f20
push 0x81b
push 0x40ad952
push 4
call fcn.0051b997
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x510f3d
push 0x81b
push 0x40ad952
push 1
call fcn.0051b997
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 0x510f68
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x510f7b
push ebx
call fcn.0051b98b
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 0x510fc7
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x510ffb
and eax, 0xff
jmp 0x511050
cmp ecx, 0x80000201
jne 0x511006
cwde
jmp 0x511050
cmp ecx, 0x80000301
je 0x511050
cmp ecx, 0x80000401
je 0x511050
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x511040
cmp ecx, 0x80000601
je 0x511045
push 0x8a3
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x51104b
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0x12fb158]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 5
jne 0x51108c
mov ebx, dword [0x12fb158]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x51108c
mov eax, 1
jmp 0x511091
mov eax, 0
test eax, eax
je 0x5117d2
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x5110c1
push 0xcc1
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xcd
jne 0x511112
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x5110fa
push 0xcea
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x2e
jne 0x511112
mov eax, 1
jmp 0x511117
mov eax, 0
test eax, eax
je 0x5117cd
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x511147
push 0xd36
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x5112d5
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 0x51118c
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x5111c0
and eax, 0xff
jmp 0x511215
cmp ecx, 0x80000201
jne 0x5111cb
cwde
jmp 0x511215
cmp ecx, 0x80000301
je 0x511215
cmp ecx, 0x80000401
je 0x511215
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x511205
cmp ecx, 0x80000601
je 0x51120a
push 0xd82
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x511210
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x511261
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x5112bd
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x5112fd
push 0xdf2
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x5113c9
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x511355
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x5113b1
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x5113f1
push 0xe67
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe9
jne 0x5117cd
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0x10
push dword [ebp - 0x38]
call fcn.0051469b
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 0x511449
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x511489
and eax, 0xff
jmp 0x5114de
cmp ecx, 0x80000201
jne 0x511494
cwde
jmp 0x5114de
cmp ecx, 0x80000301
je 0x5114de
cmp ecx, 0x80000401
je 0x5114de
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5114ce
cmp ecx, 0x80000601
je 0x5114d3
push 0xf00
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5114d9
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
push eax
push dword [ebp - 0x38]
call fcn.0051469b
mov dword [ebp - 0x38], eax
push 8
call fcn.0051b991
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x631846
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.00517fd2
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0051b98b
add esp, 4
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x511550
push 0xfa3
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x5116de
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 0x511595
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x5115c9
and eax, 0xff
jmp 0x51161e
cmp ecx, 0x80000201
jne 0x5115d4
cwde
jmp 0x51161e
cmp ecx, 0x80000301
je 0x51161e
cmp ecx, 0x80000401
je 0x51161e
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x51160e
cmp ecx, 0x80000601
je 0x511613
push 0xfef
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x511619
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x51166a
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x5116c6
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x511706
push 0x105f
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x5117cd
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x51175e
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x5117ba
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
jmp 0x513f01
mov ebx, dword [0x12fb158]
add ebx, 0x1c
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0
je 0x513720
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 [0x12fb158]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0xa
jne 0x511833
mov ebx, dword [0x12fb158]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x511833
mov eax, 1
jmp 0x511838
mov eax, 0
test eax, eax
je 0x511c75
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x511868
push 0x16b1
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x5118b9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x1f
cmp eax, ecx
jl 0x5118a1
push 0x16da
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xba
jne 0x5118b9
mov eax, 1
jmp 0x5118be
mov eax, 0
test eax, eax
je 0x511a3e
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 0x5118fa
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x51192e
and eax, 0xff
jmp 0x511983
cmp ecx, 0x80000201
jne 0x511939
cwde
jmp 0x511983
cmp ecx, 0x80000301
je 0x511983
cmp ecx, 0x80000401
je 0x511983
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x511973
cmp ecx, 0x80000601
je 0x511978
push 0x1727
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x51197e
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x5119cf
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x511a2b
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x511a66
push 0x17b4
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x511af0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x511a9f
push 0x17dd
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x511af0
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x511ad8
push 0x1806
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xd2
jne 0x511af0
mov eax, 1
jmp 0x511af5
mov eax, 0
test eax, eax
je 0x511c75
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 0x511b31
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x511b65
and eax, 0xff
jmp 0x511bba
cmp ecx, 0x80000201
jne 0x511b70
cwde
jmp 0x511bba
cmp ecx, 0x80000301
je 0x511bba
cmp ecx, 0x80000401
je 0x511bba
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x511baa
cmp ecx, 0x80000601
je 0x511baf
push 0x199e
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x511bb5
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x511c06
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x511c62
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x511c9d
push 0x1a52
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x64
jne 0x511d27
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 6
cmp eax, ecx
jl 0x511cd6
push 0x1a7b
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x511d27
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 8
cmp eax, ecx
jl 0x511d0f
push 0x1aa4
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc0
jne 0x511d27
mov eax, 1
jmp 0x511d2c
mov eax, 0
test eax, eax
je 0x511fd9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x511d5c
push 0x1bf6
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x511eea
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 0x511da1
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x511dd5
and eax, 0xff
jmp 0x511e2a
cmp ecx, 0x80000201
jne 0x511de0
cwde
jmp 0x511e2a
cmp ecx, 0x80000301
je 0x511e2a
cmp ecx, 0x80000401
je 0x511e2a
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x511e1a
cmp ecx, 0x80000601
je 0x511e1f
push 0x1c42
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x511e25
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x511e76
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x511ed2
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x511f12
push 0x1cb2
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x511fd9
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x511f6a
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x511fc6
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x512001
push 0x1d73
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x33
jne 0x51208b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 7
cmp eax, ecx
jl 0x51203a
push 0x1d9c
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x51208b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x512073
push 0x1dc5
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x51208b
mov eax, 1
jmp 0x512090
mov eax, 0
test eax, eax
je 0x51253d
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x5120c0
push 0x21f8
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x51210e
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x5120f9
push 0x2221
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x51210e
xor eax, eax
jmp 0x512113
mov eax, 1
test eax, eax
je 0x5121d6
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x512162
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x5121be
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x5121fe
push 0x2293
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x51238c
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 0x512243
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x512277
and eax, 0xff
jmp 0x5122cc
cmp ecx, 0x80000201
jne 0x512282
cwde
jmp 0x5122cc
cmp ecx, 0x80000301
je 0x5122cc
cmp ecx, 0x80000401
je 0x5122cc
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5122bc
cmp ecx, 0x80000601
je 0x5122c1
push 0x22df
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5122c7
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x512318
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x512374
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x5123b4
push 0x234f
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x51253d
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 0x5123f9
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x51242d
and eax, 0xff
jmp 0x512482
cmp ecx, 0x80000201
jne 0x512438
cwde
jmp 0x512482
cmp ecx, 0x80000301
je 0x512482
cmp ecx, 0x80000401
je 0x512482
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x512472
cmp ecx, 0x80000601
je 0x512477
push 0x239b
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x51247d
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x5124ce
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x51252a
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x512565
push 0x246c
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x5125ef
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x51259e
push 0x2495
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x33
jne 0x5125ef
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x5125d7
push 0x24be
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x5125ef
mov eax, 1
jmp 0x5125f4
mov eax, 0
test eax, eax
je 0x512aa1
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x512624
push 0x28f7
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x512672
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x51265d
push 0x2920
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x512672
xor eax, eax
jmp 0x512677
mov eax, 1
test eax, eax
je 0x51273a
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x5126c6
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x512722
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x512762
push 0x2992
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x5128f0
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 0x5127a7
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x5127db
and eax, 0xff
jmp 0x512830
cmp ecx, 0x80000201
jne 0x5127e6
cwde
jmp 0x512830
cmp ecx, 0x80000301
je 0x512830
cmp ecx, 0x80000401
je 0x512830
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x512820
cmp ecx, 0x80000601
je 0x512825
push 0x29de
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x51282b
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x51287c
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x5128d8
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x512918
push 0x2a4e
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x512aa1
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 0x51295d
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x512991
and eax, 0xff
jmp 0x5129e6
cmp ecx, 0x80000201
jne 0x51299c
cwde
jmp 0x5129e6
cmp ecx, 0x80000301
je 0x5129e6
cmp ecx, 0x80000401
je 0x5129e6
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5129d6
cmp ecx, 0x80000601
je 0x5129db
push 0x2a9a
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5129e1
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x512a32
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x512a8e
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x512ac9
push 0x2b7c
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xb9
jne 0x512b53
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x512b02
push 0x2ba5
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x512b53
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xe
cmp eax, ecx
jl 0x512b3b
push 0x2bce
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x512b53
mov eax, 1
jmp 0x512b58
mov eax, 0
test eax, eax
je 0x5130de
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 0x512b94
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x512bc8
and eax, 0xff
jmp 0x512c1d
cmp ecx, 0x80000201
jne 0x512bd3
cwde
jmp 0x512c1d
cmp ecx, 0x80000301
je 0x512c1d
cmp ecx, 0x80000401
je 0x512c1d
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x512c0d
cmp ecx, 0x80000601
je 0x512c12
push 0x305e
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x512c18
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 0x512c4a
push 0x30b0
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x512c98
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x512c83
push 0x30d9
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x512c98
xor eax, eax
jmp 0x512c9d
mov eax, 1
test eax, eax
je 0x512d60
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x512cec
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x512d48
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x512d88
push 0x314b
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x512f16
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 0x512dcd
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x512e01
and eax, 0xff
jmp 0x512e56
cmp ecx, 0x80000201
jne 0x512e0c
cwde
jmp 0x512e56
cmp ecx, 0x80000301
je 0x512e56
cmp ecx, 0x80000401
je 0x512e56
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x512e46
cmp ecx, 0x80000601
je 0x512e4b
push 0x3197
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x512e51
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x512ea2
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x512efe
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x512f3e
push 0x3207
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x5130cc
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 0x512f83
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x512fb7
and eax, 0xff
jmp 0x51300c
cmp ecx, 0x80000201
jne 0x512fc2
cwde
jmp 0x51300c
cmp ecx, 0x80000301
je 0x51300c
cmp ecx, 0x80000401
je 0x51300c
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x512ffc
cmp ecx, 0x80000601
je 0x513001
push 0x3253
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x513007
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x513058
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x5130b4
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
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 0x513106
push 0x3344
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x513190
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x51313f
push 0x336d
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xb9
jne 0x513190
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xe
cmp eax, ecx
jl 0x513178
push 0x3396
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x513190
mov eax, 1
jmp 0x513195
mov eax, 0
test eax, eax
je 0x51371b
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 0x5131d1
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x513205
and eax, 0xff
jmp 0x51325a
cmp ecx, 0x80000201
jne 0x513210
cwde
jmp 0x51325a
cmp ecx, 0x80000301
je 0x51325a
cmp ecx, 0x80000401
je 0x51325a
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x51324a
cmp ecx, 0x80000601
je 0x51324f
push 0x381d
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x513255
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 0x513287
push 0x386f
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x5132d5
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x5132c0
push 0x3898
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x5132d5
xor eax, eax
jmp 0x5132da
mov eax, 1
test eax, eax
je 0x51339d
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x513329
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x513385
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x5133c5
push 0x390a
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x513553
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 0x51340a
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x51343e
and eax, 0xff
jmp 0x513493
cmp ecx, 0x80000201
jne 0x513449
cwde
jmp 0x513493
cmp ecx, 0x80000301
je 0x513493
cmp ecx, 0x80000401
je 0x513493
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x513483
cmp ecx, 0x80000601
je 0x513488
push 0x3956
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x51348e
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x5134df
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x51353b
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x51357b
push 0x39c6
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x513709
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 0x5135c0
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x5135f4
and eax, 0xff
jmp 0x513649
cmp ecx, 0x80000201
jne 0x5135ff
cwde
jmp 0x513649
cmp ecx, 0x80000301
je 0x513649
cmp ecx, 0x80000401
je 0x513649
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x513639
cmp ecx, 0x80000601
je 0x51363e
push 0x3a12
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x513644
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x513695
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x5136f1
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
jmp 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x513748
push 0x3af5
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x513b53
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 0x513784
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x5137b8
and eax, 0xff
jmp 0x51380d
cmp ecx, 0x80000201
jne 0x5137c3
cwde
jmp 0x51380d
cmp ecx, 0x80000301
je 0x51380d
cmp ecx, 0x80000401
je 0x51380d
mov dword [ebp - 0x4c], eax
cmp ecx, 0x80000501
je 0x5137fd
cmp ecx, 0x80000601
je 0x513802
push 0x3f56
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x4c]
jmp 0x513808
mov dword [ebp - 0x48], edx
fld qword [ebp - 0x4c]
call fcn.0040127a
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x51382b
cmp dword [ebp - 0x38], 0xa
jge 0x51382b
mov eax, 1
jmp 0x513830
mov eax, 0
test eax, eax
je 0x513b4e
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0xd
push dword [ebp - 0x38]
call fcn.0051469b
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 0x51387b
push 0x405d
push 0x40ad952
push 4
call fcn.0051b997
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x513898
push 0x405d
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xf
jne 0x513b4e
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x5138d1
push 0x40a9
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x513a5f
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 0x513916
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x51394a
and eax, 0xff
jmp 0x51399f
cmp ecx, 0x80000201
jne 0x513955
cwde
jmp 0x51399f
cmp ecx, 0x80000301
je 0x51399f
cmp ecx, 0x80000401
je 0x51399f
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x51398f
cmp ecx, 0x80000601
je 0x513994
push 0x40f5
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x51399a
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x5139eb
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x513a47
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x513a87
push 0x4165
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x513b4e
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x513adf
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x513b3b
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
jmp 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x513b7b
push 0x4253
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x513bcc
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x513bb4
push 0x427c
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x513bcc
mov eax, 1
jmp 0x513bd1
mov eax, 0
test eax, eax
je 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x513c01
push 0x4678
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x12
je 0x513c4f
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x513c3a
push 0x46a1
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xd2
je 0x513c4f
xor eax, eax
jmp 0x513c54
mov eax, 1
test eax, eax
je 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x513c84
push 0x46ed
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x513e12
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 0x513cc9
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d910
call fcn.0051b99d
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 0x513cfd
and eax, 0xff
jmp 0x513d52
cmp ecx, 0x80000201
jne 0x513d08
cwde
jmp 0x513d52
cmp ecx, 0x80000301
je 0x513d52
cmp ecx, 0x80000401
je 0x513d52
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x513d42
cmp ecx, 0x80000601
je 0x513d47
push 0x4739
push 0x40ad952
push 2
call fcn.0051b997
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x513d4d
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x513d9e
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x513dfa
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x513e3a
push 0x47a9
push 0x40ad952
push 1
call fcn.0051b997
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x513f01
push 0x12fb184
push 4
mov eax, 2
call fcn.0051b985
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12fb184]
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 0x513e92
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.0051b9a9
add esp, 8
mov dword [0x12fb184], 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.0051b991
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 0x513eee
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b991
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 0x513f01
pop eax
pop ebx
pop ecx
jmp 0x510cb3
add esp, 0xc
mov dword [ebp - 0x3c], esp
push 0x8000
push 0
push dword [ebp - 0x24]
push 0xffffffff
mov eax, 0xe3
call fcn.0051b9a3
cmp dword [ebp - 0x3c], esp
je 0x513f47
push 0x48ac
push 0x40ad952
push 6
call fcn.0051b997
add esp, 0xc
pop ebx
pop ecx
jmp 0x5107a8
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x513f61
push ebx
call fcn.0051b98b
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x513f78
push ebx
call fcn.0051b98b
add esp, 4
pop ebx
call fcn.0051b98b
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x513f91
push ebx
call fcn.0051b98b
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x513fa1
push ebx
call fcn.0051b98b
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 0x68
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051b98b
add esp, 4
pop ebx
call fcn.0051b98b
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x513fdb
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x513fd7
imul eax, dword [ebx]
jmp 0x513fcc
mov ecx, eax
test ecx, ecx
je 0x514003
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051b98b
add esp, 4
pop ebx
call fcn.0051b98b
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x513fe1
call fcn.0051b98b
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x514029
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x514025
imul eax, dword [ebx]
jmp 0x51401a
mov ecx, eax
test ecx, ecx
je 0x514080
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x514047
push ebx
call fcn.0051b98b
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x51405b
push ebx
call fcn.0051b98b
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x51406f
push ebx
call fcn.0051b98b
add esp, 4
pop ebx
call fcn.0051b98b
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x51402f
call fcn.0051b98b
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x514098
push ebx
call fcn.0051b98b
add esp, 4
mov esp, ebp
pop ebp
ret