Function at 0x50d09a
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.0051b2f1
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.0051b2f1
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.0051b2f1
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x631b9a
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.0051b2f1
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.0051b2f1
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 [0x12ef14c]
call fcn.0040163b
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x510949
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x510946
cmp dword [ebp - 4], 1
jne 0x50d1d7
mov eax, 0x631bbd
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x50d1ce
push ebx
call fcn.0051b2eb
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x50d22e
cmp dword [ebp - 4], 2
jne 0x50d200
mov eax, 0x631bc7
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x50d1f7
push ebx
call fcn.0051b2eb
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x50d22e
cmp dword [ebp - 4], 3
jne 0x50d229
mov eax, 0x631bd2
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x50d220
push ebx
call fcn.0051b2eb
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x50d22e
jmp 0x510949
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.00510a94
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.00510ab2
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x50d27c
push ebx
call fcn.0051b2eb
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x50d28c
push ebx
call fcn.0051b2eb
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x50d2a0
push ebx
call fcn.0051b2eb
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
call fcn.00510bd1
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 0x50d2d7
push ebx
call fcn.0051b2eb
add esp, 4
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x40]
mov eax, 0xdd
call fcn.0051b303
cmp dword [ebp - 0x44], esp
je 0x50d30b
push 0x267
push 0x40ad7db
push 6
call fcn.0051b2f7
add esp, 0xc
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x50d31b
push ebx
call fcn.0051b2eb
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x50d32e
mov eax, 0x63184e
push eax
push 1
mov ebx, 0x51e6e0
call fcn.0051b2fd
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x50d358
push ebx
call fcn.0051b2eb
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00510c82
mov dword [ebp - 0x1c], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x50d37b
mov eax, 0x63184e
push eax
push 1
mov ebx, 0x51e630
call fcn.0051b2fd
add esp, 0x10
push 1
push 0
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
call fcn.00510ca6
test eax, eax
je 0x50d3c4
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp word [ebx], 0x10b
jne 0x50d3c4
mov eax, 1
jmp 0x50d3c9
mov eax, 0
test eax, eax
je 0x51093f
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.005110ad
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.0051b303
cmp dword [ebp - 0x54], esp
je 0x50d463
push 0x433
push 0x40ad7db
push 6
call fcn.0051b2f7
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.005110d0
push 8
call fcn.0051b2f1
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.0051272e
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0051b2eb
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 0x50d630
mov ebx, dword [ebp - 0x28]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50d508
push 0x51a
push 0x40ad7db
push 4
call fcn.0051b2f7
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50d525
push 0x51a
push 0x40ad7db
push 1
call fcn.0051b2f7
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.00511093
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 0x50d575
push 0x54b
push 0x40ad7db
push 4
call fcn.0051b2f7
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50d592
push 0x54b
push 0x40ad7db
push 1
call fcn.0051b2f7
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.00511093
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 0x50d5e2
push 0x54b
push 0x40ad7db
push 4
call fcn.0051b2f7
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50d5ff
push 0x54b
push 0x40ad7db
push 1
call fcn.0051b2f7
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.005110d0
pop eax
pop ebx
pop ecx
jmp 0x50d4d3
add esp, 0xc
push 1
push dword [ebp - 0x10]
push dword [ebp - 0x24]
call fcn.005134b6
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x50d65e
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x50d65a
imul eax, dword [ebx]
jmp 0x50d64f
mov ecx, eax
test ecx, ecx
je 0x50d686
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051b2eb
add esp, 4
pop ebx
call fcn.0051b2eb
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x50d664
call fcn.0051b2eb
add esp, 4
mov eax, 0x631846
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x24]
call fcn.00513f05
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 0x510901
cmp dword [ebp - 4], 1
jne 0x50d7fd
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50d6ea
push 0x6bb
push 0x40ad7db
push 4
call fcn.0051b2f7
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50d707
push 0x6bb
push 0x40ad7db
push 1
call fcn.0051b2f7
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 0x50d735
mov eax, 0x63184e
push eax
push 2
mov ebx, 0x51bf10
call fcn.0051b2fd
add esp, 0x1c
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x5a
jne 0x50d7eb
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50d77c
push 0x70a
push 0x40ad7db
push 4
call fcn.0051b2f7
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50d799
push 0x70a
push 0x40ad7db
push 1
call fcn.0051b2f7
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 0x50d7c7
mov eax, 0x63184e
push eax
push 2
mov ebx, 0x51bf10
call fcn.0051b2fd
add esp, 0x1c
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x77
jne 0x50d7eb
xor eax, eax
jmp 0x50d7f0
mov eax, 1
test eax, eax
je 0x50d7fd
jmp 0x5108f9
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50d824
push 0x7b6
push 0x40ad7db
push 4
call fcn.0051b2f7
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50d841
push 0x7b6
push 0x40ad7db
push 1
call fcn.0051b2f7
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.0051b2f1
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.005149ca
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
push ebx
call fcn.0051b2eb
add esp, 4
cmp dword [ebp - 0x44], 0
je 0x50d8db
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x50d8c3
push 0x7f0
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
cmp byte [ebx], 0xb8
jne 0x50d8db
mov eax, 1
jmp 0x50d8e0
mov eax, 0
test eax, eax
je 0x5108f9
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 0x50d918
push 0x81b
push 0x40ad7db
push 4
call fcn.0051b2f7
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50d935
push 0x81b
push 0x40ad7db
push 1
call fcn.0051b2f7
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 0x50d960
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x50d973
push ebx
call fcn.0051b2eb
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 0x50d9bf
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50d9f3
and eax, 0xff
jmp 0x50da48
cmp ecx, 0x80000201
jne 0x50d9fe
cwde
jmp 0x50da48
cmp ecx, 0x80000301
je 0x50da48
cmp ecx, 0x80000401
je 0x50da48
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50da38
cmp ecx, 0x80000601
je 0x50da3d
push 0x8a3
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50da43
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0x12ef120]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 5
jne 0x50da84
mov ebx, dword [0x12ef120]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x50da84
mov eax, 1
jmp 0x50da89
mov eax, 0
test eax, eax
je 0x50e1ca
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x50dab9
push 0xcc1
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xcd
jne 0x50db0a
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x50daf2
push 0xcea
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x2e
jne 0x50db0a
mov eax, 1
jmp 0x50db0f
mov eax, 0
test eax, eax
je 0x50e1c5
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50db3f
push 0xd36
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50dccd
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 0x50db84
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50dbb8
and eax, 0xff
jmp 0x50dc0d
cmp ecx, 0x80000201
jne 0x50dbc3
cwde
jmp 0x50dc0d
cmp ecx, 0x80000301
je 0x50dc0d
cmp ecx, 0x80000401
je 0x50dc0d
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50dbfd
cmp ecx, 0x80000601
je 0x50dc02
push 0xd82
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50dc08
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50dc59
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50dcb5
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50dcf5
push 0xdf2
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x50ddc1
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50dd4d
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50dda9
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50dde9
push 0xe67
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe9
jne 0x50e1c5
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0x10
push dword [ebp - 0x38]
call fcn.00511093
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 0x50de41
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50de81
and eax, 0xff
jmp 0x50ded6
cmp ecx, 0x80000201
jne 0x50de8c
cwde
jmp 0x50ded6
cmp ecx, 0x80000301
je 0x50ded6
cmp ecx, 0x80000401
je 0x50ded6
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50dec6
cmp ecx, 0x80000601
je 0x50decb
push 0xf00
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50ded1
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
push eax
push dword [ebp - 0x38]
call fcn.00511093
mov dword [ebp - 0x38], eax
push 8
call fcn.0051b2f1
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.005149ca
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0051b2eb
add esp, 4
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x50df48
push 0xfa3
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50e0d6
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 0x50df8d
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50dfc1
and eax, 0xff
jmp 0x50e016
cmp ecx, 0x80000201
jne 0x50dfcc
cwde
jmp 0x50e016
cmp ecx, 0x80000301
je 0x50e016
cmp ecx, 0x80000401
je 0x50e016
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50e006
cmp ecx, 0x80000601
je 0x50e00b
push 0xfef
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50e011
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50e062
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50e0be
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x50e0fe
push 0x105f
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x50e1c5
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50e156
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50e1b2
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
jmp 0x5108f9
mov ebx, dword [0x12ef120]
add ebx, 0x1c
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0
je 0x510118
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 [0x12ef120]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0xa
jne 0x50e22b
mov ebx, dword [0x12ef120]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x50e22b
mov eax, 1
jmp 0x50e230
mov eax, 0
test eax, eax
je 0x50e66d
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50e260
push 0x16b1
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x50e2b1
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x1f
cmp eax, ecx
jl 0x50e299
push 0x16da
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xba
jne 0x50e2b1
mov eax, 1
jmp 0x50e2b6
mov eax, 0
test eax, eax
je 0x50e436
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 0x50e2f2
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50e326
and eax, 0xff
jmp 0x50e37b
cmp ecx, 0x80000201
jne 0x50e331
cwde
jmp 0x50e37b
cmp ecx, 0x80000301
je 0x50e37b
cmp ecx, 0x80000401
je 0x50e37b
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50e36b
cmp ecx, 0x80000601
je 0x50e370
push 0x1727
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50e376
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50e3c7
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50e423
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50e45e
push 0x17b4
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x50e4e8
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x50e497
push 0x17dd
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x50e4e8
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50e4d0
push 0x1806
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xd2
jne 0x50e4e8
mov eax, 1
jmp 0x50e4ed
mov eax, 0
test eax, eax
je 0x50e66d
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 0x50e529
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50e55d
and eax, 0xff
jmp 0x50e5b2
cmp ecx, 0x80000201
jne 0x50e568
cwde
jmp 0x50e5b2
cmp ecx, 0x80000301
je 0x50e5b2
cmp ecx, 0x80000401
je 0x50e5b2
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50e5a2
cmp ecx, 0x80000601
je 0x50e5a7
push 0x199e
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50e5ad
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50e5fe
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50e65a
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50e695
push 0x1a52
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x64
jne 0x50e71f
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 6
cmp eax, ecx
jl 0x50e6ce
push 0x1a7b
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x50e71f
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 8
cmp eax, ecx
jl 0x50e707
push 0x1aa4
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc0
jne 0x50e71f
mov eax, 1
jmp 0x50e724
mov eax, 0
test eax, eax
je 0x50e9d1
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x50e754
push 0x1bf6
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50e8e2
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 0x50e799
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50e7cd
and eax, 0xff
jmp 0x50e822
cmp ecx, 0x80000201
jne 0x50e7d8
cwde
jmp 0x50e822
cmp ecx, 0x80000301
je 0x50e822
cmp ecx, 0x80000401
je 0x50e822
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50e812
cmp ecx, 0x80000601
je 0x50e817
push 0x1c42
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50e81d
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50e86e
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50e8ca
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x50e90a
push 0x1cb2
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x50e9d1
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50e962
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50e9be
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50e9f9
push 0x1d73
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x33
jne 0x50ea83
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 7
cmp eax, ecx
jl 0x50ea32
push 0x1d9c
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x50ea83
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50ea6b
push 0x1dc5
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x50ea83
mov eax, 1
jmp 0x50ea88
mov eax, 0
test eax, eax
je 0x50ef35
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x50eab8
push 0x21f8
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x50eb06
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x50eaf1
push 0x2221
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x50eb06
xor eax, eax
jmp 0x50eb0b
mov eax, 1
test eax, eax
je 0x50ebce
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50eb5a
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50ebb6
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x50ebf6
push 0x2293
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50ed84
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 0x50ec3b
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50ec6f
and eax, 0xff
jmp 0x50ecc4
cmp ecx, 0x80000201
jne 0x50ec7a
cwde
jmp 0x50ecc4
cmp ecx, 0x80000301
je 0x50ecc4
cmp ecx, 0x80000401
je 0x50ecc4
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50ecb4
cmp ecx, 0x80000601
je 0x50ecb9
push 0x22df
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50ecbf
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50ed10
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50ed6c
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x50edac
push 0x234f
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50ef35
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 0x50edf1
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50ee25
and eax, 0xff
jmp 0x50ee7a
cmp ecx, 0x80000201
jne 0x50ee30
cwde
jmp 0x50ee7a
cmp ecx, 0x80000301
je 0x50ee7a
cmp ecx, 0x80000401
je 0x50ee7a
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50ee6a
cmp ecx, 0x80000601
je 0x50ee6f
push 0x239b
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50ee75
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50eec6
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50ef22
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50ef5d
push 0x246c
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x50efe7
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x50ef96
push 0x2495
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x33
jne 0x50efe7
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50efcf
push 0x24be
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x50efe7
mov eax, 1
jmp 0x50efec
mov eax, 0
test eax, eax
je 0x50f499
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x50f01c
push 0x28f7
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x50f06a
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x50f055
push 0x2920
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x50f06a
xor eax, eax
jmp 0x50f06f
mov eax, 1
test eax, eax
je 0x50f132
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50f0be
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50f11a
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x50f15a
push 0x2992
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50f2e8
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 0x50f19f
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50f1d3
and eax, 0xff
jmp 0x50f228
cmp ecx, 0x80000201
jne 0x50f1de
cwde
jmp 0x50f228
cmp ecx, 0x80000301
je 0x50f228
cmp ecx, 0x80000401
je 0x50f228
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50f218
cmp ecx, 0x80000601
je 0x50f21d
push 0x29de
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50f223
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50f274
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50f2d0
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x50f310
push 0x2a4e
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50f499
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 0x50f355
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50f389
and eax, 0xff
jmp 0x50f3de
cmp ecx, 0x80000201
jne 0x50f394
cwde
jmp 0x50f3de
cmp ecx, 0x80000301
je 0x50f3de
cmp ecx, 0x80000401
je 0x50f3de
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50f3ce
cmp ecx, 0x80000601
je 0x50f3d3
push 0x2a9a
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50f3d9
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50f42a
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50f486
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50f4c1
push 0x2b7c
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xb9
jne 0x50f54b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x50f4fa
push 0x2ba5
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x50f54b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xe
cmp eax, ecx
jl 0x50f533
push 0x2bce
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x50f54b
mov eax, 1
jmp 0x50f550
mov eax, 0
test eax, eax
je 0x50fad6
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 0x50f58c
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50f5c0
and eax, 0xff
jmp 0x50f615
cmp ecx, 0x80000201
jne 0x50f5cb
cwde
jmp 0x50f615
cmp ecx, 0x80000301
je 0x50f615
cmp ecx, 0x80000401
je 0x50f615
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50f605
cmp ecx, 0x80000601
je 0x50f60a
push 0x305e
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50f610
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 0x50f642
push 0x30b0
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x50f690
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x50f67b
push 0x30d9
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x50f690
xor eax, eax
jmp 0x50f695
mov eax, 1
test eax, eax
je 0x50f758
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50f6e4
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50f740
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x50f780
push 0x314b
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50f90e
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 0x50f7c5
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50f7f9
and eax, 0xff
jmp 0x50f84e
cmp ecx, 0x80000201
jne 0x50f804
cwde
jmp 0x50f84e
cmp ecx, 0x80000301
je 0x50f84e
cmp ecx, 0x80000401
je 0x50f84e
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50f83e
cmp ecx, 0x80000601
je 0x50f843
push 0x3197
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50f849
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50f89a
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50f8f6
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x50f936
push 0x3207
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50fac4
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 0x50f97b
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50f9af
and eax, 0xff
jmp 0x50fa04
cmp ecx, 0x80000201
jne 0x50f9ba
cwde
jmp 0x50fa04
cmp ecx, 0x80000301
je 0x50fa04
cmp ecx, 0x80000401
je 0x50fa04
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50f9f4
cmp ecx, 0x80000601
je 0x50f9f9
push 0x3253
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50f9ff
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50fa50
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50faac
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
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 0x50fafe
push 0x3344
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x50fb88
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x50fb37
push 0x336d
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xb9
jne 0x50fb88
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xe
cmp eax, ecx
jl 0x50fb70
push 0x3396
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x50fb88
mov eax, 1
jmp 0x50fb8d
mov eax, 0
test eax, eax
je 0x510113
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 0x50fbc9
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50fbfd
and eax, 0xff
jmp 0x50fc52
cmp ecx, 0x80000201
jne 0x50fc08
cwde
jmp 0x50fc52
cmp ecx, 0x80000301
je 0x50fc52
cmp ecx, 0x80000401
je 0x50fc52
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50fc42
cmp ecx, 0x80000601
je 0x50fc47
push 0x381d
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50fc4d
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 0x50fc7f
push 0x386f
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x50fccd
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x50fcb8
push 0x3898
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x50fccd
xor eax, eax
jmp 0x50fcd2
mov eax, 1
test eax, eax
je 0x50fd95
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50fd21
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50fd7d
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x50fdbd
push 0x390a
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50ff4b
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 0x50fe02
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50fe36
and eax, 0xff
jmp 0x50fe8b
cmp ecx, 0x80000201
jne 0x50fe41
cwde
jmp 0x50fe8b
cmp ecx, 0x80000301
je 0x50fe8b
cmp ecx, 0x80000401
je 0x50fe8b
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50fe7b
cmp ecx, 0x80000601
je 0x50fe80
push 0x3956
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50fe86
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x50fed7
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x50ff33
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x50ff73
push 0x39c6
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x510101
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 0x50ffb8
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x50ffec
and eax, 0xff
jmp 0x510041
cmp ecx, 0x80000201
jne 0x50fff7
cwde
jmp 0x510041
cmp ecx, 0x80000301
je 0x510041
cmp ecx, 0x80000401
je 0x510041
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x510031
cmp ecx, 0x80000601
je 0x510036
push 0x3a12
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x51003c
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x51008d
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x5100e9
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
jmp 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x510140
push 0x3af5
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x51054b
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 0x51017c
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x5101b0
and eax, 0xff
jmp 0x510205
cmp ecx, 0x80000201
jne 0x5101bb
cwde
jmp 0x510205
cmp ecx, 0x80000301
je 0x510205
cmp ecx, 0x80000401
je 0x510205
mov dword [ebp - 0x4c], eax
cmp ecx, 0x80000501
je 0x5101f5
cmp ecx, 0x80000601
je 0x5101fa
push 0x3f56
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x4c]
jmp 0x510200
mov dword [ebp - 0x48], edx
fld qword [ebp - 0x4c]
call fcn.0040127a
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x510223
cmp dword [ebp - 0x38], 0xa
jge 0x510223
mov eax, 1
jmp 0x510228
mov eax, 0
test eax, eax
je 0x510546
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0xd
push dword [ebp - 0x38]
call fcn.00511093
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 0x510273
push 0x405d
push 0x40ad7db
push 4
call fcn.0051b2f7
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x510290
push 0x405d
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xf
jne 0x510546
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x5102c9
push 0x40a9
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x510457
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 0x51030e
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x510342
and eax, 0xff
jmp 0x510397
cmp ecx, 0x80000201
jne 0x51034d
cwde
jmp 0x510397
cmp ecx, 0x80000301
je 0x510397
cmp ecx, 0x80000401
je 0x510397
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x510387
cmp ecx, 0x80000601
je 0x51038c
push 0x40f5
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x510392
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x5103e3
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x51043f
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x51047f
push 0x4165
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x510546
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x5104d7
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x510533
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
jmp 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x510573
push 0x4253
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x5105c4
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x5105ac
push 0x427c
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x5105c4
mov eax, 1
jmp 0x5105c9
mov eax, 0
test eax, eax
je 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x5105f9
push 0x4678
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x12
je 0x510647
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x510632
push 0x46a1
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xd2
je 0x510647
xor eax, eax
jmp 0x51064c
mov eax, 1
test eax, eax
je 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x51067c
push 0x46ed
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x51080a
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 0x5106c1
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d270
call fcn.0051b2fd
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 0x5106f5
and eax, 0xff
jmp 0x51074a
cmp ecx, 0x80000201
jne 0x510700
cwde
jmp 0x51074a
cmp ecx, 0x80000301
je 0x51074a
cmp ecx, 0x80000401
je 0x51074a
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x51073a
cmp ecx, 0x80000601
je 0x51073f
push 0x4739
push 0x40ad7db
push 2
call fcn.0051b2f7
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x510745
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x510796
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x5107f2
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x510832
push 0x47a9
push 0x40ad7db
push 1
call fcn.0051b2f7
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x5108f9
push 0x12ef14c
push 4
mov eax, 2
call fcn.0051b2e5
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12ef14c]
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 0x51088a
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.0051b309
add esp, 8
mov dword [0x12ef14c], 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.0051b2f1
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 0x5108e6
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b2f1
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 0x5108f9
pop eax
pop ebx
pop ecx
jmp 0x50d6ab
add esp, 0xc
mov dword [ebp - 0x3c], esp
push 0x8000
push 0
push dword [ebp - 0x24]
push 0xffffffff
mov eax, 0xdf
call fcn.0051b303
cmp dword [ebp - 0x3c], esp
je 0x51093f
push 0x48ac
push 0x40ad7db
push 6
call fcn.0051b2f7
add esp, 0xc
pop ebx
pop ecx
jmp 0x50d1a0
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x510959
push ebx
call fcn.0051b2eb
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x510970
push ebx
call fcn.0051b2eb
add esp, 4
pop ebx
call fcn.0051b2eb
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x510989
push ebx
call fcn.0051b2eb
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x510999
push ebx
call fcn.0051b2eb
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 0x68
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051b2eb
add esp, 4
pop ebx
call fcn.0051b2eb
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x5109d3
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x5109cf
imul eax, dword [ebx]
jmp 0x5109c4
mov ecx, eax
test ecx, ecx
je 0x5109fb
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051b2eb
add esp, 4
pop ebx
call fcn.0051b2eb
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x5109d9
call fcn.0051b2eb
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x510a21
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x510a1d
imul eax, dword [ebx]
jmp 0x510a12
mov ecx, eax
test ecx, ecx
je 0x510a78
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x510a3f
push ebx
call fcn.0051b2eb
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x510a53
push ebx
call fcn.0051b2eb
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x510a67
push ebx
call fcn.0051b2eb
add esp, 4
pop ebx
call fcn.0051b2eb
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x510a27
call fcn.0051b2eb
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x510a90
push ebx
call fcn.0051b2eb
add esp, 4
mov esp, ebp
pop ebp
ret