Function at 0x50e70c
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.0051b6e4
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.0051b6e4
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.0051b6e4
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x631b86
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.0051b6e4
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.0051b6e4
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 [0x12f8154]
call fcn.0040163b
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x511fbb
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x511fb8
cmp dword [ebp - 4], 1
jne 0x50e849
mov eax, 0x631ba9
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x50e840
push ebx
call fcn.0051b6de
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x50e8a0
cmp dword [ebp - 4], 2
jne 0x50e872
mov eax, 0x631bb3
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x50e869
push ebx
call fcn.0051b6de
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x50e8a0
cmp dword [ebp - 4], 3
jne 0x50e89b
mov eax, 0x631bbe
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x50e892
push ebx
call fcn.0051b6de
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x50e8a0
jmp 0x511fbb
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.00512106
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.00512124
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x50e8ee
push ebx
call fcn.0051b6de
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x50e8fe
push ebx
call fcn.0051b6de
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x50e912
push ebx
call fcn.0051b6de
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
call fcn.00512243
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 0x50e949
push ebx
call fcn.0051b6de
add esp, 4
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x40]
mov eax, 0xdd
call fcn.0051b6f6
cmp dword [ebp - 0x44], esp
je 0x50e97d
push 0x267
push 0x40ad8f1
push 6
call fcn.0051b6ea
add esp, 0xc
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x50e98d
push ebx
call fcn.0051b6de
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x50e9a0
mov eax, 0x63184e
push eax
push 1
mov ebx, 0x51ead0
call fcn.0051b6f0
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x50e9ca
push ebx
call fcn.0051b6de
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.005122f4
mov dword [ebp - 0x1c], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x50e9ed
mov eax, 0x63184e
push eax
push 1
mov ebx, 0x51ea20
call fcn.0051b6f0
add esp, 0x10
push 1
push 0
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
call fcn.00512318
test eax, eax
je 0x50ea36
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp word [ebx], 0x10b
jne 0x50ea36
mov eax, 1
jmp 0x50ea3b
mov eax, 0
test eax, eax
je 0x511fb1
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.0051271f
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.0051b6f6
cmp dword [ebp - 0x54], esp
je 0x50ead5
push 0x433
push 0x40ad8f1
push 6
call fcn.0051b6ea
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.00512742
push 8
call fcn.0051b6e4
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.00513da0
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0051b6de
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 0x50eca2
mov ebx, dword [ebp - 0x28]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50eb7a
push 0x51a
push 0x40ad8f1
push 4
call fcn.0051b6ea
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50eb97
push 0x51a
push 0x40ad8f1
push 1
call fcn.0051b6ea
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.00512705
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 0x50ebe7
push 0x54b
push 0x40ad8f1
push 4
call fcn.0051b6ea
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50ec04
push 0x54b
push 0x40ad8f1
push 1
call fcn.0051b6ea
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.00512705
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 0x50ec54
push 0x54b
push 0x40ad8f1
push 4
call fcn.0051b6ea
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50ec71
push 0x54b
push 0x40ad8f1
push 1
call fcn.0051b6ea
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.00512742
pop eax
pop ebx
pop ecx
jmp 0x50eb45
add esp, 0xc
push 1
push dword [ebp - 0x10]
push dword [ebp - 0x24]
call fcn.00514b28
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x50ecd0
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x50eccc
imul eax, dword [ebx]
jmp 0x50ecc1
mov ecx, eax
test ecx, ecx
je 0x50ecf8
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051b6de
add esp, 4
pop ebx
call fcn.0051b6de
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x50ecd6
call fcn.0051b6de
add esp, 4
mov eax, 0x631846
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x24]
call fcn.00515577
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 0x511f73
cmp dword [ebp - 4], 1
jne 0x50ee6f
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50ed5c
push 0x6bb
push 0x40ad8f1
push 4
call fcn.0051b6ea
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50ed79
push 0x6bb
push 0x40ad8f1
push 1
call fcn.0051b6ea
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 0x50eda7
mov eax, 0x63184e
push eax
push 2
mov ebx, 0x51c300
call fcn.0051b6f0
add esp, 0x1c
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x5a
jne 0x50ee5d
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50edee
push 0x70a
push 0x40ad8f1
push 4
call fcn.0051b6ea
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50ee0b
push 0x70a
push 0x40ad8f1
push 1
call fcn.0051b6ea
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 0x50ee39
mov eax, 0x63184e
push eax
push 2
mov ebx, 0x51c300
call fcn.0051b6f0
add esp, 0x1c
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x77
jne 0x50ee5d
xor eax, eax
jmp 0x50ee62
mov eax, 1
test eax, eax
je 0x50ee6f
jmp 0x511f6b
mov ebx, dword [ebp - 0x30]
call fcn.004012a1
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x50ee96
push 0x7b6
push 0x40ad8f1
push 4
call fcn.0051b6ea
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50eeb3
push 0x7b6
push 0x40ad8f1
push 1
call fcn.0051b6ea
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.0051b6e4
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.0051603c
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
push ebx
call fcn.0051b6de
add esp, 4
cmp dword [ebp - 0x44], 0
je 0x50ef4d
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x50ef35
push 0x7f0
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
cmp byte [ebx], 0xb8
jne 0x50ef4d
mov eax, 1
jmp 0x50ef52
mov eax, 0
test eax, eax
je 0x511f6b
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 0x50ef8a
push 0x81b
push 0x40ad8f1
push 4
call fcn.0051b6ea
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x50efa7
push 0x81b
push 0x40ad8f1
push 1
call fcn.0051b6ea
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 0x50efd2
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x50efe5
push ebx
call fcn.0051b6de
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 0x50f031
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x50f065
and eax, 0xff
jmp 0x50f0ba
cmp ecx, 0x80000201
jne 0x50f070
cwde
jmp 0x50f0ba
cmp ecx, 0x80000301
je 0x50f0ba
cmp ecx, 0x80000401
je 0x50f0ba
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50f0aa
cmp ecx, 0x80000601
je 0x50f0af
push 0x8a3
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50f0b5
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0x12f8128]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 5
jne 0x50f0f6
mov ebx, dword [0x12f8128]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x50f0f6
mov eax, 1
jmp 0x50f0fb
mov eax, 0
test eax, eax
je 0x50f83c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x50f12b
push 0xcc1
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xcd
jne 0x50f17c
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x50f164
push 0xcea
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x2e
jne 0x50f17c
mov eax, 1
jmp 0x50f181
mov eax, 0
test eax, eax
je 0x50f837
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50f1b1
push 0xd36
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50f33f
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 0x50f1f6
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x50f22a
and eax, 0xff
jmp 0x50f27f
cmp ecx, 0x80000201
jne 0x50f235
cwde
jmp 0x50f27f
cmp ecx, 0x80000301
je 0x50f27f
cmp ecx, 0x80000401
je 0x50f27f
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50f26f
cmp ecx, 0x80000601
je 0x50f274
push 0xd82
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50f27a
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x50f2cb
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x50f327
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50f367
push 0xdf2
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x50f433
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x50f3bf
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x50f41b
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50f45b
push 0xe67
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe9
jne 0x50f837
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0x10
push dword [ebp - 0x38]
call fcn.00512705
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 0x50f4b3
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x50f4f3
and eax, 0xff
jmp 0x50f548
cmp ecx, 0x80000201
jne 0x50f4fe
cwde
jmp 0x50f548
cmp ecx, 0x80000301
je 0x50f548
cmp ecx, 0x80000401
je 0x50f548
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50f538
cmp ecx, 0x80000601
je 0x50f53d
push 0xf00
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50f543
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
push eax
push dword [ebp - 0x38]
call fcn.00512705
mov dword [ebp - 0x38], eax
push 8
call fcn.0051b6e4
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.0051603c
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0051b6de
add esp, 4
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x50f5ba
push 0xfa3
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50f748
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 0x50f5ff
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x50f633
and eax, 0xff
jmp 0x50f688
cmp ecx, 0x80000201
jne 0x50f63e
cwde
jmp 0x50f688
cmp ecx, 0x80000301
je 0x50f688
cmp ecx, 0x80000401
je 0x50f688
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50f678
cmp ecx, 0x80000601
je 0x50f67d
push 0xfef
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50f683
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x50f6d4
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x50f730
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0
cmp eax, ecx
jl 0x50f770
push 0x105f
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x50f837
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x50f7c8
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x50f824
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
jmp 0x511f6b
mov ebx, dword [0x12f8128]
add ebx, 0x1c
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0
je 0x51178a
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 [0x12f8128]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0xa
jne 0x50f89d
mov ebx, dword [0x12f8128]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x50f89d
mov eax, 1
jmp 0x50f8a2
mov eax, 0
test eax, eax
je 0x50fcdf
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50f8d2
push 0x16b1
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x50f923
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x1f
cmp eax, ecx
jl 0x50f90b
push 0x16da
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xba
jne 0x50f923
mov eax, 1
jmp 0x50f928
mov eax, 0
test eax, eax
je 0x50faa8
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 0x50f964
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x50f998
and eax, 0xff
jmp 0x50f9ed
cmp ecx, 0x80000201
jne 0x50f9a3
cwde
jmp 0x50f9ed
cmp ecx, 0x80000301
je 0x50f9ed
cmp ecx, 0x80000401
je 0x50f9ed
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50f9dd
cmp ecx, 0x80000601
je 0x50f9e2
push 0x1727
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50f9e8
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x50fa39
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x50fa95
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50fad0
push 0x17b4
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x50fb5a
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x50fb09
push 0x17dd
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x50fb5a
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x50fb42
push 0x1806
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xd2
jne 0x50fb5a
mov eax, 1
jmp 0x50fb5f
mov eax, 0
test eax, eax
je 0x50fcdf
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 0x50fb9b
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x50fbcf
and eax, 0xff
jmp 0x50fc24
cmp ecx, 0x80000201
jne 0x50fbda
cwde
jmp 0x50fc24
cmp ecx, 0x80000301
je 0x50fc24
cmp ecx, 0x80000401
je 0x50fc24
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50fc14
cmp ecx, 0x80000601
je 0x50fc19
push 0x199e
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50fc1f
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x50fc70
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x50fccc
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x50fd07
push 0x1a52
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x64
jne 0x50fd91
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 6
cmp eax, ecx
jl 0x50fd40
push 0x1a7b
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x50fd91
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 8
cmp eax, ecx
jl 0x50fd79
push 0x1aa4
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc0
jne 0x50fd91
mov eax, 1
jmp 0x50fd96
mov eax, 0
test eax, eax
je 0x510043
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x50fdc6
push 0x1bf6
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x50ff54
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 0x50fe0b
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x50fe3f
and eax, 0xff
jmp 0x50fe94
cmp ecx, 0x80000201
jne 0x50fe4a
cwde
jmp 0x50fe94
cmp ecx, 0x80000301
je 0x50fe94
cmp ecx, 0x80000401
je 0x50fe94
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x50fe84
cmp ecx, 0x80000601
je 0x50fe89
push 0x1c42
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x50fe8f
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x50fee0
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x50ff3c
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x50ff7c
push 0x1cb2
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x510043
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x50ffd4
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x510030
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x51006b
push 0x1d73
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x33
jne 0x5100f5
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 7
cmp eax, ecx
jl 0x5100a4
push 0x1d9c
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x5100f5
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x5100dd
push 0x1dc5
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x5100f5
mov eax, 1
jmp 0x5100fa
mov eax, 0
test eax, eax
je 0x5105a7
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x51012a
push 0x21f8
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x510178
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x510163
push 0x2221
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x510178
xor eax, eax
jmp 0x51017d
mov eax, 1
test eax, eax
je 0x510240
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x5101cc
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x510228
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x510268
push 0x2293
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x5103f6
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 0x5102ad
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x5102e1
and eax, 0xff
jmp 0x510336
cmp ecx, 0x80000201
jne 0x5102ec
cwde
jmp 0x510336
cmp ecx, 0x80000301
je 0x510336
cmp ecx, 0x80000401
je 0x510336
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x510326
cmp ecx, 0x80000601
je 0x51032b
push 0x22df
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x510331
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x510382
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x5103de
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x51041e
push 0x234f
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x5105a7
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 0x510463
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x510497
and eax, 0xff
jmp 0x5104ec
cmp ecx, 0x80000201
jne 0x5104a2
cwde
jmp 0x5104ec
cmp ecx, 0x80000301
je 0x5104ec
cmp ecx, 0x80000401
je 0x5104ec
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5104dc
cmp ecx, 0x80000601
je 0x5104e1
push 0x239b
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5104e7
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x510538
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x510594
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x5105cf
push 0x246c
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x510659
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x510608
push 0x2495
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x33
jne 0x510659
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x510641
push 0x24be
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x510659
mov eax, 1
jmp 0x51065e
mov eax, 0
test eax, eax
je 0x510b0b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x51068e
push 0x28f7
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x5106dc
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x5106c7
push 0x2920
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x5106dc
xor eax, eax
jmp 0x5106e1
mov eax, 1
test eax, eax
je 0x5107a4
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x510730
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x51078c
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x12
cmp eax, ecx
jl 0x5107cc
push 0x2992
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x51095a
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 0x510811
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x510845
and eax, 0xff
jmp 0x51089a
cmp ecx, 0x80000201
jne 0x510850
cwde
jmp 0x51089a
cmp ecx, 0x80000301
je 0x51089a
cmp ecx, 0x80000401
je 0x51089a
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x51088a
cmp ecx, 0x80000601
je 0x51088f
push 0x29de
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x510895
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x5108e6
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x510942
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x510982
push 0x2a4e
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x510b0b
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 0x5109c7
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x5109fb
and eax, 0xff
jmp 0x510a50
cmp ecx, 0x80000201
jne 0x510a06
cwde
jmp 0x510a50
cmp ecx, 0x80000301
je 0x510a50
cmp ecx, 0x80000401
je 0x510a50
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x510a40
cmp ecx, 0x80000601
je 0x510a45
push 0x2a9a
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x510a4b
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x510a9c
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x510af8
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x510b33
push 0x2b7c
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xb9
jne 0x510bbd
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x510b6c
push 0x2ba5
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x510bbd
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xe
cmp eax, ecx
jl 0x510ba5
push 0x2bce
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x510bbd
mov eax, 1
jmp 0x510bc2
mov eax, 0
test eax, eax
je 0x511148
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 0x510bfe
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x510c32
and eax, 0xff
jmp 0x510c87
cmp ecx, 0x80000201
jne 0x510c3d
cwde
jmp 0x510c87
cmp ecx, 0x80000301
je 0x510c87
cmp ecx, 0x80000401
je 0x510c87
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x510c77
cmp ecx, 0x80000601
je 0x510c7c
push 0x305e
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x510c82
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 0x510cb4
push 0x30b0
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x510d02
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x510ced
push 0x30d9
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x510d02
xor eax, eax
jmp 0x510d07
mov eax, 1
test eax, eax
je 0x510dca
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x510d56
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x510db2
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x510df2
push 0x314b
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x510f80
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 0x510e37
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x510e6b
and eax, 0xff
jmp 0x510ec0
cmp ecx, 0x80000201
jne 0x510e76
cwde
jmp 0x510ec0
cmp ecx, 0x80000301
je 0x510ec0
cmp ecx, 0x80000401
je 0x510ec0
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x510eb0
cmp ecx, 0x80000601
je 0x510eb5
push 0x3197
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x510ebb
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x510f0c
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x510f68
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x510fa8
push 0x3207
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x511136
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 0x510fed
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x511021
and eax, 0xff
jmp 0x511076
cmp ecx, 0x80000201
jne 0x51102c
cwde
jmp 0x511076
cmp ecx, 0x80000301
je 0x511076
cmp ecx, 0x80000401
je 0x511076
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x511066
cmp ecx, 0x80000601
je 0x51106b
push 0x3253
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x511071
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x5110c2
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x51111e
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
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 0x511170
push 0x3344
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x5111fa
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 9
cmp eax, ecx
jl 0x5111a9
push 0x336d
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xb9
jne 0x5111fa
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xe
cmp eax, ecx
jl 0x5111e2
push 0x3396
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x5111fa
mov eax, 1
jmp 0x5111ff
mov eax, 0
test eax, eax
je 0x511785
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 0x51123b
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x51126f
and eax, 0xff
jmp 0x5112c4
cmp ecx, 0x80000201
jne 0x51127a
cwde
jmp 0x5112c4
cmp ecx, 0x80000301
je 0x5112c4
cmp ecx, 0x80000401
je 0x5112c4
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5112b4
cmp ecx, 0x80000601
je 0x5112b9
push 0x381d
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5112bf
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 0x5112f1
push 0x386f
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x51133f
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x51132a
push 0x3898
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x51133f
xor eax, eax
jmp 0x511344
mov eax, 1
test eax, eax
je 0x511407
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x511393
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x5113ef
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x15
cmp eax, ecx
jl 0x51142f
push 0x390a
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x5115bd
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 0x511474
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x5114a8
and eax, 0xff
jmp 0x5114fd
cmp ecx, 0x80000201
jne 0x5114b3
cwde
jmp 0x5114fd
cmp ecx, 0x80000301
je 0x5114fd
cmp ecx, 0x80000401
je 0x5114fd
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5114ed
cmp ecx, 0x80000601
je 0x5114f2
push 0x3956
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5114f8
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x511549
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x5115a5
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0x18
cmp eax, ecx
jl 0x5115e5
push 0x39c6
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x511773
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 0x51162a
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x51165e
and eax, 0xff
jmp 0x5116b3
cmp ecx, 0x80000201
jne 0x511669
cwde
jmp 0x5116b3
cmp ecx, 0x80000301
je 0x5116b3
cmp ecx, 0x80000401
je 0x5116b3
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5116a3
cmp ecx, 0x80000601
je 0x5116a8
push 0x3a12
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x5116ae
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x5116ff
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x51175b
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
jmp 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x5117b2
push 0x3af5
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x511bbd
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 0x5117ee
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x511822
and eax, 0xff
jmp 0x511877
cmp ecx, 0x80000201
jne 0x51182d
cwde
jmp 0x511877
cmp ecx, 0x80000301
je 0x511877
cmp ecx, 0x80000401
je 0x511877
mov dword [ebp - 0x4c], eax
cmp ecx, 0x80000501
je 0x511867
cmp ecx, 0x80000601
je 0x51186c
push 0x3f56
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x4c]
jmp 0x511872
mov dword [ebp - 0x48], edx
fld qword [ebp - 0x4c]
call fcn.0040127a
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x511895
cmp dword [ebp - 0x38], 0xa
jge 0x511895
mov eax, 1
jmp 0x51189a
mov eax, 0
test eax, eax
je 0x511bb8
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0xd
push dword [ebp - 0x38]
call fcn.00512705
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 0x5118e5
push 0x405d
push 0x40ad8f1
push 4
call fcn.0051b6ea
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x511902
push 0x405d
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xf
jne 0x511bb8
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x51193b
push 0x40a9
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x511ac9
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 0x511980
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x5119b4
and eax, 0xff
jmp 0x511a09
cmp ecx, 0x80000201
jne 0x5119bf
cwde
jmp 0x511a09
cmp ecx, 0x80000301
je 0x511a09
cmp ecx, 0x80000401
je 0x511a09
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x5119f9
cmp ecx, 0x80000601
je 0x5119fe
push 0x40f5
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x511a04
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x511a55
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x511ab1
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x511af1
push 0x4165
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x511bb8
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x511b49
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x511ba5
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
jmp 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 5
cmp eax, ecx
jl 0x511be5
push 0x4253
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x511c36
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xa
cmp eax, ecx
jl 0x511c1e
push 0x427c
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x511c36
mov eax, 1
jmp 0x511c3b
mov eax, 0
test eax, eax
je 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x511c6b
push 0x4678
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x12
je 0x511cb9
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xb
cmp eax, ecx
jl 0x511ca4
push 0x46a1
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xd2
je 0x511cb9
xor eax, eax
jmp 0x511cbe
mov eax, 1
test eax, eax
je 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x511cee
push 0x46ed
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x511e7c
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 0x511d33
mov eax, 0x631846
push eax
push 3
mov ebx, 0x51d660
call fcn.0051b6f0
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 0x511d67
and eax, 0xff
jmp 0x511dbc
cmp ecx, 0x80000201
jne 0x511d72
cwde
jmp 0x511dbc
cmp ecx, 0x80000301
je 0x511dbc
cmp ecx, 0x80000401
je 0x511dbc
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x511dac
cmp ecx, 0x80000601
je 0x511db1
push 0x4739
push 0x40ad8f1
push 2
call fcn.0051b6ea
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x511db7
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040127a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x511e08
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x511e64
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
mov ebx, dword [ebp - 0x34]
call fcn.004012a1
mov eax, 0xc
cmp eax, ecx
jl 0x511ea4
push 0x47a9
push 0x40ad8f1
push 1
call fcn.0051b6ea
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x511f6b
push 0x12f8154
push 4
mov eax, 2
call fcn.0051b6d8
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x12f8154]
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 0x511efc
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.0051b6fc
add esp, 8
mov dword [0x12f8154], 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.0051b6e4
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 0x511f58
push eax
mov ebx, eax
call fcn.00401004
inc eax
push eax
call fcn.0051b6e4
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 0x511f6b
pop eax
pop ebx
pop ecx
jmp 0x50ed1d
add esp, 0xc
mov dword [ebp - 0x3c], esp
push 0x8000
push 0
push dword [ebp - 0x24]
push 0xffffffff
mov eax, 0xdf
call fcn.0051b6f6
cmp dword [ebp - 0x3c], esp
je 0x511fb1
push 0x48ac
push 0x40ad8f1
push 6
call fcn.0051b6ea
add esp, 0xc
pop ebx
pop ecx
jmp 0x50e812
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x511fcb
push ebx
call fcn.0051b6de
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x511fe2
push ebx
call fcn.0051b6de
add esp, 4
pop ebx
call fcn.0051b6de
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x511ffb
push ebx
call fcn.0051b6de
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x51200b
push ebx
call fcn.0051b6de
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 0x68
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051b6de
add esp, 4
pop ebx
call fcn.0051b6de
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x512045
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x512041
imul eax, dword [ebx]
jmp 0x512036
mov ecx, eax
test ecx, ecx
je 0x51206d
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0051b6de
add esp, 4
pop ebx
call fcn.0051b6de
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x51204b
call fcn.0051b6de
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x512093
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x51208f
imul eax, dword [ebx]
jmp 0x512084
mov ecx, eax
test ecx, ecx
je 0x5120ea
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x5120b1
push ebx
call fcn.0051b6de
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x5120c5
push ebx
call fcn.0051b6de
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x5120d9
push ebx
call fcn.0051b6de
add esp, 4
pop ebx
call fcn.0051b6de
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x512099
call fcn.0051b6de
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x512102
push ebx
call fcn.0051b6de
add esp, 4
mov esp, ebp
pop ebp
ret