Function at 0x405ebc
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.0041056e
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.0041056e
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.0041056e
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4ac5e9
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.0041056e
add esp, 4
mov dword [ebp - 0x28], eax
mov edi, eax
mov esi, 0x4ac49d
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.0041056e
add esp, 4
mov dword [ebp - 0x30], eax
mov edi, eax
mov esi, 0x4ac49d
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 [0x4d9dac]
call fcn.004012d3
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x4092fc
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x4092f9
cmp dword [ebp - 4], 1
jne 0x405ff9
mov eax, 0x4ac531
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x405ff0
push ebx
call fcn.00410568
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x406050
cmp dword [ebp - 4], 2
jne 0x406022
mov eax, 0x4ac563
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x406019
push ebx
call fcn.00410568
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x406050
cmp dword [ebp - 4], 3
jne 0x40604b
mov eax, str.gdi32.dll
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x406042
push ebx
call fcn.00410568
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x406050
jmp 0x4092fc
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.00409447
mov dword [ebp - 0x10], eax
push 0
push 0
push 0
push 1
mov ebx, 0x4120f0
call fcn.00410574
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40609b
push ebx
call fcn.00410568
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
call fcn.00409465
mov dword [ebp - 0x3c], eax
push dword [ebp - 8]
push 0x4ac4d7
push dword [ebp - 0x3c]
mov ecx, 3
call fcn.004010b0
add esp, 0xc
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x4060d2
push ebx
call fcn.00410568
add esp, 4
push getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4060e5
mov eax, 0x4ac32d
push eax
push getpeername
push 0
mov eax, dword [ebp - 0x40]
test eax, eax
jne 0x4060f9
mov eax, 0x4ac32d
push eax
push 2
mov ebx, 0x412090
call fcn.00410574
add esp, 0x1c
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40611c
push ebx
call fcn.00410568
add esp, 4
push getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x40612f
mov eax, 0x4ac32d
push eax
push 1
mov ebx, 0x412250
call fcn.00410574
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406159
push ebx
call fcn.00410568
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00409516
mov dword [ebp - 0x1c], eax
push getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x40617c
mov eax, 0x4ac32d
push eax
push 1
mov ebx, 0x4120b0
call fcn.00410574
add esp, 0x10
push 1
push 0
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
call fcn.0040953a
test eax, eax
je 0x4061c5
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp word [ebx], 0x10b
jne 0x4061c5
mov eax, 1
jmp 0x4061ca
mov eax, 0
test eax, eax
je 0x4092f2
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.00409927
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, 6
call fcn.00410580
cmp dword [ebp - 0x54], esp
je 0x406264
push 0x41e
push 0x40155c8
push 6
call fcn.0041057a
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.0040994a
push 8
call fcn.0041056e
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x4ac49d
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.00409b7f
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.00410568
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 0x406431
mov ebx, dword [ebp - 0x28]
call fcn.004012b3
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x406309
push 0x51d
push 0x40155c8
push 4
call fcn.0041057a
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x406326
push 0x51d
push 0x40155c8
push 1
call fcn.0041057a
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.004057cb
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x28]
call fcn.004012b3
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x406376
push 0x54f
push 0x40155c8
push 4
call fcn.0041057a
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x406393
push 0x54f
push 0x40155c8
push 1
call fcn.0041057a
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.004057cb
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x28]
call fcn.004012b3
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4063e3
push 0x54f
push 0x40155c8
push 4
call fcn.0041057a
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x406400
push 0x54f
push 0x40155c8
push 1
call fcn.0041057a
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.0040994a
pop eax
pop ebx
pop ecx
jmp 0x4062d4
add esp, 0xc
push 1
push dword [ebp - 0x10]
push dword [ebp - 0x24]
call fcn.0040a2ae
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40645f
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40645b
imul eax, dword [ebx]
jmp 0x406450
mov ecx, eax
test ecx, ecx
je 0x406487
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.00410568
add esp, 4
pop ebx
call fcn.00410568
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x406465
call fcn.00410568
add esp, 4
mov eax, 0x4ac49d
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x24]
call fcn.0040b4a3
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 0x4092d6
cmp dword [ebp - 4], 1
jne 0x4065fe
mov ebx, dword [ebp - 0x30]
call fcn.004012b3
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4064eb
push 0x6d4
push 0x40155c8
push 4
call fcn.0041057a
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x406508
push 0x6d4
push 0x40155c8
push 1
call fcn.0041057a
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 getpeername
push 0
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebx]
test eax, eax
jne 0x406536
mov eax, 0x4ac32d
push eax
push 2
mov ebx, 0x410bb0
call fcn.00410574
add esp, 0x1c
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x5a
jne 0x4065ec
mov ebx, dword [ebp - 0x30]
call fcn.004012b3
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x40657d
push 0x723
push 0x40155c8
push 4
call fcn.0041057a
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40659a
push 0x723
push 0x40155c8
push 1
call fcn.0041057a
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 getpeername
push 0
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
test eax, eax
jne 0x4065c8
mov eax, 0x4ac32d
push eax
push 2
mov ebx, 0x410bb0
call fcn.00410574
add esp, 0x1c
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x77
jne 0x4065ec
xor eax, eax
jmp 0x4065f1
mov eax, 1
test eax, eax
je 0x4065fe
jmp 0x4092ce
mov ebx, dword [ebp - 0x30]
call fcn.004012b3
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x406625
push 0x7cf
push 0x40155c8
push 4
call fcn.0041057a
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x406642
push 0x7cf
push 0x40155c8
push 1
call fcn.0041057a
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.0041056e
add esp, 4
mov dword [ebp - 0x40], eax
mov edi, eax
mov esi, 0x4ac49d
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.0040c0b9
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
push ebx
call fcn.00410568
add esp, 4
cmp dword [ebp - 0x44], 0
je 0x4066dc
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0
cmp eax, ecx
jl 0x4066c4
push 0x80a
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
cmp byte [ebx], 0xb8
jne 0x4066dc
mov eax, 1
jmp 0x4066e1
mov eax, 0
test eax, eax
je 0x4092ce
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x30]
call fcn.004012b3
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x406719
push 0x835
push 0x40155c8
push 4
call fcn.0041057a
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x406736
push 0x835
push 0x40155c8
push 1
call fcn.0041057a
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 0x406761
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x406774
push ebx
call fcn.00410568
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 0x4067c0
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x4067f4
and eax, 0xff
jmp 0x406849
cmp ecx, 0x80000201
jne 0x4067ff
cwde
jmp 0x406849
cmp ecx, 0x80000301
je 0x406849
cmp ecx, 0x80000401
je 0x406849
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x406839
cmp ecx, 0x80000601
je 0x40683e
push 0x8bd
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x406844
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0x4d9d80]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 5
jne 0x406885
mov ebx, dword [0x4d9d80]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x406885
mov eax, 1
jmp 0x40688a
mov eax, 0
test eax, eax
je 0x406fcb
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 9
cmp eax, ecx
jl 0x4068ba
push 0x99d
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xcd
jne 0x40690b
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xa
cmp eax, ecx
jl 0x4068f3
push 0x9c6
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x2e
jne 0x40690b
mov eax, 1
jmp 0x406910
mov eax, 0
test eax, eax
je 0x406fc6
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xb
cmp eax, ecx
jl 0x406940
push 0xa12
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x406ace
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 0x406985
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x4069b9
and eax, 0xff
jmp 0x406a0e
cmp ecx, 0x80000201
jne 0x4069c4
cwde
jmp 0x406a0e
cmp ecx, 0x80000301
je 0x406a0e
cmp ecx, 0x80000401
je 0x406a0e
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4069fe
cmp ecx, 0x80000601
je 0x406a03
push 0xa5e
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x406a09
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x406a5a
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x406ab6
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xb
cmp eax, ecx
jl 0x406af6
push 0xace
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x406bc2
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x406b4e
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x406baa
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xb
cmp eax, ecx
jl 0x406bea
push 0xb43
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe9
jne 0x406fc6
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0x10
push dword [ebp - 0x38]
call fcn.004057cb
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 0x406c42
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x406c82
and eax, 0xff
jmp 0x406cd7
cmp ecx, 0x80000201
jne 0x406c8d
cwde
jmp 0x406cd7
cmp ecx, 0x80000301
je 0x406cd7
cmp ecx, 0x80000401
je 0x406cd7
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x406cc7
cmp ecx, 0x80000601
je 0x406ccc
push 0xbdd
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x406cd2
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
push eax
push dword [ebp - 0x38]
call fcn.004057cb
mov dword [ebp - 0x38], eax
push 8
call fcn.0041056e
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x4ac49d
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.0040c0b9
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.00410568
add esp, 4
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0
cmp eax, ecx
jl 0x406d49
push 0xc82
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x406ed7
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 0x406d8e
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x406dc2
and eax, 0xff
jmp 0x406e17
cmp ecx, 0x80000201
jne 0x406dcd
cwde
jmp 0x406e17
cmp ecx, 0x80000301
je 0x406e17
cmp ecx, 0x80000401
je 0x406e17
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x406e07
cmp ecx, 0x80000601
je 0x406e0c
push 0xcce
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x406e12
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x406e63
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x406ebf
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0
cmp eax, ecx
jl 0x406eff
push 0xd3e
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x406fc6
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x406f57
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x406fb3
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
jmp 0x4092ce
mov ebx, dword [0x4d9d80]
add ebx, 0x1c
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 1
jne 0x407023
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 5
cmp eax, ecx
jl 0x40700b
push 0xe50
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xba
je 0x407023
mov eax, 1
jmp 0x407028
mov eax, 0
test eax, eax
je 0x408aed
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.004012b3
mov eax, 5
cmp eax, ecx
jl 0x40706a
push 0xed4
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x64
jne 0x4070f4
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 6
cmp eax, ecx
jl 0x4070a3
push 0xefd
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x4070f4
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 8
cmp eax, ecx
jl 0x4070dc
push 0xf26
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc0
jne 0x4070f4
mov eax, 1
jmp 0x4070f9
mov eax, 0
test eax, eax
je 0x4073a6
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xc
cmp eax, ecx
jl 0x407129
push 0xf72
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4072b7
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 0x40716e
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x4071a2
and eax, 0xff
jmp 0x4071f7
cmp ecx, 0x80000201
jne 0x4071ad
cwde
jmp 0x4071f7
cmp ecx, 0x80000301
je 0x4071f7
cmp ecx, 0x80000401
je 0x4071f7
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4071e7
cmp ecx, 0x80000601
je 0x4071ec
push 0xfbe
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4071f2
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x407243
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x40729f
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xc
cmp eax, ecx
jl 0x4072df
push 0x102e
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x4073a6
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x407337
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x407393
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 5
cmp eax, ecx
jl 0x4073ce
push 0x10ef
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x33
jne 0x407458
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 7
cmp eax, ecx
jl 0x407407
push 0x1118
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x407458
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xb
cmp eax, ecx
jl 0x407440
push 0x1141
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x407458
mov eax, 1
jmp 0x40745d
mov eax, 0
test eax, eax
je 0x40790a
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0x12
cmp eax, ecx
jl 0x40748d
push 0x1195
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x4074db
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0x15
cmp eax, ecx
jl 0x4074c6
push 0x11be
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x4074db
xor eax, eax
jmp 0x4074e0
mov eax, 1
test eax, eax
je 0x4075a3
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x40752f
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x40758b
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0x12
cmp eax, ecx
jl 0x4075cb
push 0x1230
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x407759
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 0x407610
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x407644
and eax, 0xff
jmp 0x407699
cmp ecx, 0x80000201
jne 0x40764f
cwde
jmp 0x407699
cmp ecx, 0x80000301
je 0x407699
cmp ecx, 0x80000401
je 0x407699
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x407689
cmp ecx, 0x80000601
je 0x40768e
push 0x127c
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x407694
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x4076e5
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x407741
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0x15
cmp eax, ecx
jl 0x407781
push 0x12ec
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40790a
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 0x4077c6
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x4077fa
and eax, 0xff
jmp 0x40784f
cmp ecx, 0x80000201
jne 0x407805
cwde
jmp 0x40784f
cmp ecx, 0x80000301
je 0x40784f
cmp ecx, 0x80000401
je 0x40784f
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40783f
cmp ecx, 0x80000601
je 0x407844
push 0x1338
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40784a
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x40789b
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x4078f7
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 5
cmp eax, ecx
jl 0x407932
push 0x1409
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x4079bc
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 9
cmp eax, ecx
jl 0x40796b
push 0x1432
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x33
jne 0x4079bc
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xb
cmp eax, ecx
jl 0x4079a4
push 0x145b
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x4079bc
mov eax, 1
jmp 0x4079c1
mov eax, 0
test eax, eax
je 0x407e6e
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0x12
cmp eax, ecx
jl 0x4079f1
push 0x14af
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x407a3f
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0x15
cmp eax, ecx
jl 0x407a2a
push 0x14d8
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x407a3f
xor eax, eax
jmp 0x407a44
mov eax, 1
test eax, eax
je 0x407b07
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x407a93
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x407aef
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0x12
cmp eax, ecx
jl 0x407b2f
push 0x154a
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x407cbd
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 0x407b74
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x407ba8
and eax, 0xff
jmp 0x407bfd
cmp ecx, 0x80000201
jne 0x407bb3
cwde
jmp 0x407bfd
cmp ecx, 0x80000301
je 0x407bfd
cmp ecx, 0x80000401
je 0x407bfd
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x407bed
cmp ecx, 0x80000601
je 0x407bf2
push 0x1596
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x407bf8
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x407c49
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x407ca5
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0x15
cmp eax, ecx
jl 0x407ce5
push 0x1606
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x407e6e
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 0x407d2a
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x407d5e
and eax, 0xff
jmp 0x407db3
cmp ecx, 0x80000201
jne 0x407d69
cwde
jmp 0x407db3
cmp ecx, 0x80000301
je 0x407db3
cmp ecx, 0x80000401
je 0x407db3
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x407da3
cmp ecx, 0x80000601
je 0x407da8
push 0x1652
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x407dae
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x407dff
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x407e5b
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 5
cmp eax, ecx
jl 0x407e96
push 0x1734
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xb9
jne 0x407f20
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xa
cmp eax, ecx
jl 0x407ecf
push 0x175d
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x407f20
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xe
cmp eax, ecx
jl 0x407f08
push 0x1786
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x407f20
mov eax, 1
jmp 0x407f25
mov eax, 0
test eax, eax
je 0x4084ab
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 0x407f61
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x407f95
and eax, 0xff
jmp 0x407fea
cmp ecx, 0x80000201
jne 0x407fa0
cwde
jmp 0x407fea
cmp ecx, 0x80000301
je 0x407fea
cmp ecx, 0x80000401
je 0x407fea
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x407fda
cmp ecx, 0x80000601
je 0x407fdf
push 0x17d3
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x407fe5
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0x15
cmp eax, ecx
jl 0x408017
push 0x1825
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x408065
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0x18
cmp eax, ecx
jl 0x408050
push 0x184e
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x408065
xor eax, eax
jmp 0x40806a
mov eax, 1
test eax, eax
je 0x40812d
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x4080b9
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x408115
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0x15
cmp eax, ecx
jl 0x408155
push 0x18c0
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4082e3
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 0x40819a
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x4081ce
and eax, 0xff
jmp 0x408223
cmp ecx, 0x80000201
jne 0x4081d9
cwde
jmp 0x408223
cmp ecx, 0x80000301
je 0x408223
cmp ecx, 0x80000401
je 0x408223
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408213
cmp ecx, 0x80000601
je 0x408218
push 0x190c
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40821e
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x40826f
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x4082cb
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0x18
cmp eax, ecx
jl 0x40830b
push 0x197c
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x408499
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 0x408350
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x408384
and eax, 0xff
jmp 0x4083d9
cmp ecx, 0x80000201
jne 0x40838f
cwde
jmp 0x4083d9
cmp ecx, 0x80000301
je 0x4083d9
cmp ecx, 0x80000401
je 0x4083d9
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4083c9
cmp ecx, 0x80000601
je 0x4083ce
push 0x19c8
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4083d4
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x408425
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x408481
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
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.004012b3
mov eax, 5
cmp eax, ecx
jl 0x4084d3
push 0x1ab9
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x40855d
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 9
cmp eax, ecx
jl 0x40850c
push 0x1ae2
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xb9
jne 0x40855d
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xe
cmp eax, ecx
jl 0x408545
push 0x1b0b
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x40855d
mov eax, 1
jmp 0x408562
mov eax, 0
test eax, eax
je 0x408ae8
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 0x40859e
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x4085d2
and eax, 0xff
jmp 0x408627
cmp ecx, 0x80000201
jne 0x4085dd
cwde
jmp 0x408627
cmp ecx, 0x80000301
je 0x408627
cmp ecx, 0x80000401
je 0x408627
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408617
cmp ecx, 0x80000601
je 0x40861c
push 0x1b58
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x408622
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0x15
cmp eax, ecx
jl 0x408654
push 0x1baa
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x4086a2
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0x18
cmp eax, ecx
jl 0x40868d
push 0x1bd3
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x4086a2
xor eax, eax
jmp 0x4086a7
mov eax, 1
test eax, eax
je 0x40876a
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x4086f6
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x408752
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0x15
cmp eax, ecx
jl 0x408792
push 0x1c45
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x408920
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 0x4087d7
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x40880b
and eax, 0xff
jmp 0x408860
cmp ecx, 0x80000201
jne 0x408816
cwde
jmp 0x408860
cmp ecx, 0x80000301
je 0x408860
cmp ecx, 0x80000401
je 0x408860
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408850
cmp ecx, 0x80000601
je 0x408855
push 0x1c91
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40885b
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x4088ac
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x408908
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0x18
cmp eax, ecx
jl 0x408948
push 0x1d01
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x408ad6
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 0x40898d
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x4089c1
and eax, 0xff
jmp 0x408a16
cmp ecx, 0x80000201
jne 0x4089cc
cwde
jmp 0x408a16
cmp ecx, 0x80000301
je 0x408a16
cmp ecx, 0x80000401
je 0x408a16
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408a06
cmp ecx, 0x80000601
je 0x408a0b
push 0x1d4d
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x408a11
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x408a62
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x408abe
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
jmp 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 5
cmp eax, ecx
jl 0x408b15
push 0x1e30
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x408f20
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 0x408b51
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x408b85
and eax, 0xff
jmp 0x408bda
cmp ecx, 0x80000201
jne 0x408b90
cwde
jmp 0x408bda
cmp ecx, 0x80000301
je 0x408bda
cmp ecx, 0x80000401
je 0x408bda
mov dword [ebp - 0x4c], eax
cmp ecx, 0x80000501
je 0x408bca
cmp ecx, 0x80000601
je 0x408bcf
push 0x1e73
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x4c]
jmp 0x408bd5
mov dword [ebp - 0x48], edx
fld qword [ebp - 0x4c]
call fcn.00402f39
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x408bf8
cmp dword [ebp - 0x38], 0xa
jge 0x408bf8
mov eax, 1
jmp 0x408bfd
mov eax, 0
test eax, eax
je 0x408f1b
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0xd
push dword [ebp - 0x38]
call fcn.004057cb
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
push ebx
push ecx
mov eax, dword [ebp - 0x38]
dec eax
jns 0x408c48
push 0x1f7b
push 0x40155c8
push 4
call fcn.0041057a
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x408c65
push 0x1f7b
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xf
jne 0x408f1b
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xa
cmp eax, ecx
jl 0x408c9e
push 0x1fc7
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x408e2c
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 0x408ce3
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x408d17
and eax, 0xff
jmp 0x408d6c
cmp ecx, 0x80000201
jne 0x408d22
cwde
jmp 0x408d6c
cmp ecx, 0x80000301
je 0x408d6c
cmp ecx, 0x80000401
je 0x408d6c
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x408d5c
cmp ecx, 0x80000601
je 0x408d61
push 0x2013
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x408d67
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x408db8
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x408e14
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xa
cmp eax, ecx
jl 0x408e54
push 0x2083
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x408f1b
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x408eac
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x408f08
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
jmp 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 5
cmp eax, ecx
jl 0x408f48
push 0x2171
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x408f99
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xa
cmp eax, ecx
jl 0x408f81
push 0x219a
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x408f99
mov eax, 1
jmp 0x408f9e
mov eax, 0
test eax, eax
je 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xb
cmp eax, ecx
jl 0x408fce
push 0x21e9
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x12
je 0x40901c
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xb
cmp eax, ecx
jl 0x409007
push 0x2212
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xd2
je 0x40901c
xor eax, eax
jmp 0x409021
mov eax, 1
test eax, eax
je 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xc
cmp eax, ecx
jl 0x409051
push 0x225e
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4091df
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 0x409096
mov eax, 0x4ac49d
push eax
push 3
mov ebx, 0x411910
call fcn.00410574
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 0x4090ca
and eax, 0xff
jmp 0x40911f
cmp ecx, 0x80000201
jne 0x4090d5
cwde
jmp 0x40911f
cmp ecx, 0x80000301
je 0x40911f
cmp ecx, 0x80000401
je 0x40911f
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40910f
cmp ecx, 0x80000601
je 0x409114
push 0x22aa
push 0x40155c8
push 2
call fcn.0041057a
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40911a
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.00402f39
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x40916b
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x4091c7
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
mov ebx, dword [ebp - 0x34]
call fcn.004012b3
mov eax, 0xc
cmp eax, ecx
jl 0x409207
push 0x231a
push 0x40155c8
push 1
call fcn.0041057a
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x4092ce
push 0x4d9dac
push 4
mov eax, 2
call fcn.00410562
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4d9dac]
mov dword [ebp - 0x40], ebx
call fcn.004012b3
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 0x40925f
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.00410586
add esp, 8
mov dword [0x4d9dac], 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.0041056e
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 0x4092bb
push eax
mov ebx, eax
call fcn.00401045
inc eax
push eax
call fcn.0041056e
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 0x4092ce
pop eax
pop ebx
pop ecx
jmp 0x4064ac
add esp, 0xc
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push dword [ebp - 0x24]
push 0xffffffff
call fcn.0040c1b3
pop ebx
pop ecx
jmp 0x405fc2
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40930c
push ebx
call fcn.00410568
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x409323
push ebx
call fcn.00410568
add esp, 4
pop ebx
call fcn.00410568
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x40933c
push ebx
call fcn.00410568
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40934c
push ebx
call fcn.00410568
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 0x68
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.00410568
add esp, 4
pop ebx
call fcn.00410568
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x409386
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x409382
imul eax, dword [ebx]
jmp 0x409377
mov ecx, eax
test ecx, ecx
je 0x4093ae
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.00410568
add esp, 4
pop ebx
call fcn.00410568
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40938c
call fcn.00410568
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4093d4
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4093d0
imul eax, dword [ebx]
jmp 0x4093c5
mov ecx, eax
test ecx, ecx
je 0x40942b
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4093f2
push ebx
call fcn.00410568
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x409406
push ebx
call fcn.00410568
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40941a
push ebx
call fcn.00410568
add esp, 4
pop ebx
call fcn.00410568
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4093da
call fcn.00410568
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x409443
push ebx
call fcn.00410568
add esp, 4
mov esp, ebp
pop ebp
ret