Function at 0x401d4f
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.0043b963
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.0043b963
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.0043b963
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x509c22
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.0043b963
add esp, 4
mov dword [ebp - 0x28], eax
mov edi, eax
mov esi, 0x509bf3
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.0043b963
add esp, 4
mov dword [ebp - 0x30], eax
mov edi, eax
mov esi, 0x509bf3
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 [0x5527ac]
call fcn.004019ac
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x4058b9
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x4058b6
cmp dword [ebp - 4], 1
jne 0x401e8c
mov eax, str.ntdll.dll
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x401e83
push ebx
call fcn.0043b95d
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x401ee3
cmp dword [ebp - 4], 2
jne 0x401eb5
mov eax, 0x509c0b
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x401eac
push ebx
call fcn.0043b95d
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x401ee3
cmp dword [ebp - 4], 3
jne 0x401ede
mov eax, str.gdi32.dll
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x401ed5
push ebx
call fcn.0043b95d
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x401ee3
jmp 0x4058b9
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.00405a04
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.00406bd0
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x401f31
push ebx
call fcn.0043b95d
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x401f41
push ebx
call fcn.0043b95d
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x401f55
push ebx
call fcn.0043b95d
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
call fcn.00406cef
mov dword [ebp - 0x3c], eax
push dword [ebp - 8]
push 0x509c20
push dword [ebp - 0x3c]
mov ecx, 3
call fcn.0040111c
add esp, 0xc
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x401f8c
push ebx
call fcn.0043b95d
add esp, 4
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x40]
mov eax, 2
call fcn.0043b975
cmp dword [ebp - 0x44], esp
je 0x401fc0
push 0x267
push 0x401c3e2
push 6
call fcn.0043b969
add esp, 0xc
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x401fd0
push ebx
call fcn.0043b95d
add esp, 4
push getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x401fe3
mov eax, 0x509b5d
push eax
push 1
mov ebx, 0x43e370
call fcn.0043b96f
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40200d
push ebx
call fcn.0043b95d
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00406da0
mov dword [ebp - 0x1c], eax
push getpeername
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x402030
mov eax, 0x509b5d
push eax
push 1
mov ebx, 0x43e330
call fcn.0043b96f
add esp, 0x10
push 1
push 0
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
call fcn.00406dc4
test eax, eax
je 0x402079
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp word [ebx], 0x10b
jne 0x402079
mov eax, 1
jmp 0x40207e
mov eax, 0
test eax, eax
je 0x4058af
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.00407165
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, 3
call fcn.0043b975
cmp dword [ebp - 0x54], esp
je 0x402118
push 0x433
push 0x401c3e2
push 6
call fcn.0043b969
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.00407188
push 8
call fcn.0043b963
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x509bf3
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.004072b5
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0043b95d
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 0x4022e5
mov ebx, dword [ebp - 0x28]
call fcn.004016af
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4021bd
push 0x51a
push 0x401c3e2
push 4
call fcn.0043b969
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4021da
push 0x51a
push 0x401c3e2
push 1
call fcn.0043b969
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.0040196f
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x28]
call fcn.004016af
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x40222a
push 0x54b
push 0x401c3e2
push 4
call fcn.0043b969
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x402247
push 0x54b
push 0x401c3e2
push 1
call fcn.0043b969
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.0040196f
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x28]
call fcn.004016af
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x402297
push 0x54b
push 0x401c3e2
push 4
call fcn.0043b969
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4022b4
push 0x54b
push 0x401c3e2
push 1
call fcn.0043b969
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.00407188
pop eax
pop ebx
pop ecx
jmp 0x402188
add esp, 0xc
push 1
push dword [ebp - 0x10]
push dword [ebp - 0x24]
call fcn.004078b4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x402313
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40230f
imul eax, dword [ebx]
jmp 0x402304
mov ecx, eax
test ecx, ecx
je 0x40233b
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0043b95d
add esp, 4
pop ebx
call fcn.0043b95d
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x402319
call fcn.0043b95d
add esp, 4
mov eax, 0x509bf3
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x24]
call fcn.004087d9
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 0x405893
cmp dword [ebp - 4], 1
jne 0x4024b2
mov ebx, dword [ebp - 0x30]
call fcn.004016af
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x40239f
push 0x6bb
push 0x401c3e2
push 4
call fcn.0043b969
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4023bc
push 0x6bb
push 0x401c3e2
push 1
call fcn.0043b969
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 0x4023ea
mov eax, 0x509b5d
push eax
push 2
mov ebx, 0x43c3d0
call fcn.0043b96f
add esp, 0x1c
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x5a
jne 0x4024a0
mov ebx, dword [ebp - 0x30]
call fcn.004016af
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x402431
push 0x70a
push 0x401c3e2
push 4
call fcn.0043b969
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40244e
push 0x70a
push 0x401c3e2
push 1
call fcn.0043b969
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 0x40247c
mov eax, 0x509b5d
push eax
push 2
mov ebx, 0x43c3d0
call fcn.0043b96f
add esp, 0x1c
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x77
jne 0x4024a0
xor eax, eax
jmp 0x4024a5
mov eax, 1
test eax, eax
je 0x4024b2
jmp 0x40588b
mov ebx, dword [ebp - 0x30]
call fcn.004016af
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4024d9
push 0x7b6
push 0x401c3e2
push 4
call fcn.0043b969
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4024f6
push 0x7b6
push 0x401c3e2
push 1
call fcn.0043b969
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.0043b963
add esp, 4
mov dword [ebp - 0x40], eax
mov edi, eax
mov esi, 0x509bf3
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.004093ef
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
push ebx
call fcn.0043b95d
add esp, 4
cmp dword [ebp - 0x44], 0
je 0x402590
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0
cmp eax, ecx
jl 0x402578
push 0x7f0
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
cmp byte [ebx], 0xb8
jne 0x402590
mov eax, 1
jmp 0x402595
mov eax, 0
test eax, eax
je 0x40588b
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x30]
call fcn.004016af
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4025cd
push 0x81b
push 0x401c3e2
push 4
call fcn.0043b969
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4025ea
push 0x81b
push 0x401c3e2
push 1
call fcn.0043b969
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 0x402615
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x402628
push ebx
call fcn.0043b95d
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 0x402674
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x4026a8
and eax, 0xff
jmp 0x4026fd
cmp ecx, 0x80000201
jne 0x4026b3
cwde
jmp 0x4026fd
cmp ecx, 0x80000301
je 0x4026fd
cmp ecx, 0x80000401
je 0x4026fd
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4026ed
cmp ecx, 0x80000601
je 0x4026f2
push 0x8a3
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4026f8
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0x5527b0]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 5
jne 0x402739
mov ebx, dword [0x5527b0]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x402739
mov eax, 1
jmp 0x40273e
mov eax, 0
test eax, eax
je 0x402e7f
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 9
cmp eax, ecx
jl 0x40276e
push 0xcc1
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xcd
jne 0x4027bf
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xa
cmp eax, ecx
jl 0x4027a7
push 0xcea
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x2e
jne 0x4027bf
mov eax, 1
jmp 0x4027c4
mov eax, 0
test eax, eax
je 0x402e7a
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xb
cmp eax, ecx
jl 0x4027f4
push 0xd36
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x402982
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 0x402839
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x40286d
and eax, 0xff
jmp 0x4028c2
cmp ecx, 0x80000201
jne 0x402878
cwde
jmp 0x4028c2
cmp ecx, 0x80000301
je 0x4028c2
cmp ecx, 0x80000401
je 0x4028c2
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4028b2
cmp ecx, 0x80000601
je 0x4028b7
push 0xd82
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4028bd
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x40290e
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x40296a
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xb
cmp eax, ecx
jl 0x4029aa
push 0xdf2
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x402a76
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x402a02
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x402a5e
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xb
cmp eax, ecx
jl 0x402a9e
push 0xe67
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe9
jne 0x402e7a
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0x10
push dword [ebp - 0x38]
call fcn.0040196f
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 0x402af6
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x402b36
and eax, 0xff
jmp 0x402b8b
cmp ecx, 0x80000201
jne 0x402b41
cwde
jmp 0x402b8b
cmp ecx, 0x80000301
je 0x402b8b
cmp ecx, 0x80000401
je 0x402b8b
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x402b7b
cmp ecx, 0x80000601
je 0x402b80
push 0xf00
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x402b86
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
push eax
push dword [ebp - 0x38]
call fcn.0040196f
mov dword [ebp - 0x38], eax
push 8
call fcn.0043b963
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x509bf3
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.004093ef
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0043b95d
add esp, 4
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0
cmp eax, ecx
jl 0x402bfd
push 0xfa3
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x402d8b
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 0x402c42
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x402c76
and eax, 0xff
jmp 0x402ccb
cmp ecx, 0x80000201
jne 0x402c81
cwde
jmp 0x402ccb
cmp ecx, 0x80000301
je 0x402ccb
cmp ecx, 0x80000401
je 0x402ccb
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x402cbb
cmp ecx, 0x80000601
je 0x402cc0
push 0xfef
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x402cc6
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x402d17
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x402d73
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0
cmp eax, ecx
jl 0x402db3
push 0x105f
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x402e7a
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x402e0b
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x402e67
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
jmp 0x40588b
mov ebx, dword [0x5527b0]
add ebx, 0x1c
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0
je 0x4050aa
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.004016af
mov eax, 5
cmp eax, ecx
jl 0x402ed1
push 0x11fb
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x402f22
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xa
cmp eax, ecx
jl 0x402f0a
push 0x1224
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x402f22
mov eax, 1
jmp 0x402f27
mov eax, 0
test eax, eax
je 0x4031d9
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xc
cmp eax, ecx
jl 0x402f57
push 0x1262
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4030e5
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 0x402f9c
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x402fd0
and eax, 0xff
jmp 0x403025
cmp ecx, 0x80000201
jne 0x402fdb
cwde
jmp 0x403025
cmp ecx, 0x80000301
je 0x403025
cmp ecx, 0x80000401
je 0x403025
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x403015
cmp ecx, 0x80000601
je 0x40301a
push 0x12ae
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x403020
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x403071
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x4030cd
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xc
cmp eax, ecx
jl 0x40310d
push 0x131e
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x4031d4
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x403165
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x4031c1
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
jmp 0x4035ff
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 5
cmp eax, ecx
jl 0x403201
push 0x13b9
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x4033c8
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x1c
cmp eax, ecx
jl 0x40323a
push 0x13f6
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4033c3
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x1e
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40327f
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x4032b3
and eax, 0xff
jmp 0x403308
cmp ecx, 0x80000201
jne 0x4032be
cwde
jmp 0x403308
cmp ecx, 0x80000301
je 0x403308
cmp ecx, 0x80000401
je 0x403308
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4032f8
cmp ecx, 0x80000601
je 0x4032fd
push 0x1442
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x403303
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x403354
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x4033b0
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
jmp 0x4035ff
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 5
cmp eax, ecx
jl 0x4033f0
push 0x1543
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40347a
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 8
cmp eax, ecx
jl 0x403429
push 0x156c
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xcc
jne 0x40347a
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 9
cmp eax, ecx
jl 0x403462
push 0x1595
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xcc
jne 0x40347a
mov eax, 1
jmp 0x40347f
mov eax, 0
test eax, eax
je 0x4035ff
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 7
push 0x80000301
push 0
push 2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4034bb
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x4034ef
and eax, 0xff
jmp 0x403544
cmp ecx, 0x80000201
jne 0x4034fa
cwde
jmp 0x403544
cmp ecx, 0x80000301
je 0x403544
cmp ecx, 0x80000401
je 0x403544
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x403534
cmp ecx, 0x80000601
je 0x403539
push 0x15e2
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40353f
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x403590
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x4035ec
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 5
cmp eax, ecx
jl 0x403627
push 0x1709
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x64
jne 0x4036b1
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 6
cmp eax, ecx
jl 0x403660
push 0x1732
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x4036b1
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 8
cmp eax, ecx
jl 0x403699
push 0x175b
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc0
jne 0x4036b1
mov eax, 1
jmp 0x4036b6
mov eax, 0
test eax, eax
je 0x403963
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xc
cmp eax, ecx
jl 0x4036e6
push 0x18ad
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x403874
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 0x40372b
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x40375f
and eax, 0xff
jmp 0x4037b4
cmp ecx, 0x80000201
jne 0x40376a
cwde
jmp 0x4037b4
cmp ecx, 0x80000301
je 0x4037b4
cmp ecx, 0x80000401
je 0x4037b4
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4037a4
cmp ecx, 0x80000601
je 0x4037a9
push 0x18f9
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4037af
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x403800
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x40385c
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xc
cmp eax, ecx
jl 0x40389c
push 0x1969
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x403963
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x4038f4
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x403950
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 5
cmp eax, ecx
jl 0x40398b
push 0x1a2a
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x33
jne 0x403a15
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 7
cmp eax, ecx
jl 0x4039c4
push 0x1a53
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x403a15
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xb
cmp eax, ecx
jl 0x4039fd
push 0x1a7c
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x403a15
mov eax, 1
jmp 0x403a1a
mov eax, 0
test eax, eax
je 0x403ec7
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x12
cmp eax, ecx
jl 0x403a4a
push 0x1eaf
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x403a98
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x15
cmp eax, ecx
jl 0x403a83
push 0x1ed8
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x403a98
xor eax, eax
jmp 0x403a9d
mov eax, 1
test eax, eax
je 0x403b60
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x403aec
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x403b48
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x12
cmp eax, ecx
jl 0x403b88
push 0x1f4a
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x403d16
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 0x403bcd
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x403c01
and eax, 0xff
jmp 0x403c56
cmp ecx, 0x80000201
jne 0x403c0c
cwde
jmp 0x403c56
cmp ecx, 0x80000301
je 0x403c56
cmp ecx, 0x80000401
je 0x403c56
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x403c46
cmp ecx, 0x80000601
je 0x403c4b
push 0x1f96
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x403c51
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x403ca2
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x403cfe
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x15
cmp eax, ecx
jl 0x403d3e
push 0x2006
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x403ec7
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 0x403d83
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x403db7
and eax, 0xff
jmp 0x403e0c
cmp ecx, 0x80000201
jne 0x403dc2
cwde
jmp 0x403e0c
cmp ecx, 0x80000301
je 0x403e0c
cmp ecx, 0x80000401
je 0x403e0c
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x403dfc
cmp ecx, 0x80000601
je 0x403e01
push 0x2052
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x403e07
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x403e58
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x403eb4
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 5
cmp eax, ecx
jl 0x403eef
push 0x2123
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x403f79
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 9
cmp eax, ecx
jl 0x403f28
push 0x214c
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x33
jne 0x403f79
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xb
cmp eax, ecx
jl 0x403f61
push 0x2175
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x403f79
mov eax, 1
jmp 0x403f7e
mov eax, 0
test eax, eax
je 0x40442b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x12
cmp eax, ecx
jl 0x403fae
push 0x25ae
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x403ffc
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x15
cmp eax, ecx
jl 0x403fe7
push 0x25d7
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x403ffc
xor eax, eax
jmp 0x404001
mov eax, 1
test eax, eax
je 0x4040c4
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x404050
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x4040ac
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x12
cmp eax, ecx
jl 0x4040ec
push 0x2649
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40427a
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 0x404131
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x404165
and eax, 0xff
jmp 0x4041ba
cmp ecx, 0x80000201
jne 0x404170
cwde
jmp 0x4041ba
cmp ecx, 0x80000301
je 0x4041ba
cmp ecx, 0x80000401
je 0x4041ba
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4041aa
cmp ecx, 0x80000601
je 0x4041af
push 0x2695
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4041b5
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x404206
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x404262
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x15
cmp eax, ecx
jl 0x4042a2
push 0x2705
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40442b
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 0x4042e7
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x40431b
and eax, 0xff
jmp 0x404370
cmp ecx, 0x80000201
jne 0x404326
cwde
jmp 0x404370
cmp ecx, 0x80000301
je 0x404370
cmp ecx, 0x80000401
je 0x404370
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x404360
cmp ecx, 0x80000601
je 0x404365
push 0x2751
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40436b
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x4043bc
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x404418
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 5
cmp eax, ecx
jl 0x404453
push 0x2833
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xb9
jne 0x4044dd
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xa
cmp eax, ecx
jl 0x40448c
push 0x285c
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x4044dd
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xe
cmp eax, ecx
jl 0x4044c5
push 0x2885
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x4044dd
mov eax, 1
jmp 0x4044e2
mov eax, 0
test eax, eax
je 0x404a68
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 0x40451e
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x404552
and eax, 0xff
jmp 0x4045a7
cmp ecx, 0x80000201
jne 0x40455d
cwde
jmp 0x4045a7
cmp ecx, 0x80000301
je 0x4045a7
cmp ecx, 0x80000401
je 0x4045a7
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x404597
cmp ecx, 0x80000601
je 0x40459c
push 0x2d15
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4045a2
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x15
cmp eax, ecx
jl 0x4045d4
push 0x2d67
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x404622
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x18
cmp eax, ecx
jl 0x40460d
push 0x2d90
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x404622
xor eax, eax
jmp 0x404627
mov eax, 1
test eax, eax
je 0x4046ea
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x404676
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x4046d2
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x15
cmp eax, ecx
jl 0x404712
push 0x2e02
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4048a0
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 0x404757
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x40478b
and eax, 0xff
jmp 0x4047e0
cmp ecx, 0x80000201
jne 0x404796
cwde
jmp 0x4047e0
cmp ecx, 0x80000301
je 0x4047e0
cmp ecx, 0x80000401
je 0x4047e0
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4047d0
cmp ecx, 0x80000601
je 0x4047d5
push 0x2e4e
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4047db
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x40482c
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x404888
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x18
cmp eax, ecx
jl 0x4048c8
push 0x2ebe
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x404a56
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 0x40490d
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x404941
and eax, 0xff
jmp 0x404996
cmp ecx, 0x80000201
jne 0x40494c
cwde
jmp 0x404996
cmp ecx, 0x80000301
je 0x404996
cmp ecx, 0x80000401
je 0x404996
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x404986
cmp ecx, 0x80000601
je 0x40498b
push 0x2f0a
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x404991
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x4049e2
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x404a3e
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
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.004016af
mov eax, 5
cmp eax, ecx
jl 0x404a90
push 0x2ffb
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x404b1a
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 9
cmp eax, ecx
jl 0x404ac9
push 0x3024
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xb9
jne 0x404b1a
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xe
cmp eax, ecx
jl 0x404b02
push 0x304d
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x404b1a
mov eax, 1
jmp 0x404b1f
mov eax, 0
test eax, eax
je 0x4050a5
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 0x404b5b
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x404b8f
and eax, 0xff
jmp 0x404be4
cmp ecx, 0x80000201
jne 0x404b9a
cwde
jmp 0x404be4
cmp ecx, 0x80000301
je 0x404be4
cmp ecx, 0x80000401
je 0x404be4
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x404bd4
cmp ecx, 0x80000601
je 0x404bd9
push 0x34d4
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x404bdf
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x15
cmp eax, ecx
jl 0x404c11
push 0x3526
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x404c5f
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x18
cmp eax, ecx
jl 0x404c4a
push 0x354f
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x404c5f
xor eax, eax
jmp 0x404c64
mov eax, 1
test eax, eax
je 0x404d27
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x404cb3
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x404d0f
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x15
cmp eax, ecx
jl 0x404d4f
push 0x35c1
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x404edd
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 0x404d94
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x404dc8
and eax, 0xff
jmp 0x404e1d
cmp ecx, 0x80000201
jne 0x404dd3
cwde
jmp 0x404e1d
cmp ecx, 0x80000301
je 0x404e1d
cmp ecx, 0x80000401
je 0x404e1d
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x404e0d
cmp ecx, 0x80000601
je 0x404e12
push 0x360d
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x404e18
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x404e69
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x404ec5
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0x18
cmp eax, ecx
jl 0x404f05
push 0x367d
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x405093
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 0x404f4a
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x404f7e
and eax, 0xff
jmp 0x404fd3
cmp ecx, 0x80000201
jne 0x404f89
cwde
jmp 0x404fd3
cmp ecx, 0x80000301
je 0x404fd3
cmp ecx, 0x80000401
je 0x404fd3
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x404fc3
cmp ecx, 0x80000601
je 0x404fc8
push 0x36c9
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x404fce
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x40501f
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x40507b
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
jmp 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 5
cmp eax, ecx
jl 0x4050d2
push 0x37ac
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x4054dd
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 0x40510e
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x405142
and eax, 0xff
jmp 0x405197
cmp ecx, 0x80000201
jne 0x40514d
cwde
jmp 0x405197
cmp ecx, 0x80000301
je 0x405197
cmp ecx, 0x80000401
je 0x405197
mov dword [ebp - 0x4c], eax
cmp ecx, 0x80000501
je 0x405187
cmp ecx, 0x80000601
je 0x40518c
push 0x3c0d
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x4c]
jmp 0x405192
mov dword [ebp - 0x48], edx
fld qword [ebp - 0x4c]
call fcn.0040108a
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x4051b5
cmp dword [ebp - 0x38], 0xa
jge 0x4051b5
mov eax, 1
jmp 0x4051ba
mov eax, 0
test eax, eax
je 0x4054d8
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0xd
push dword [ebp - 0x38]
call fcn.0040196f
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
call fcn.004016af
push ebx
push ecx
mov eax, dword [ebp - 0x38]
dec eax
jns 0x405205
push 0x3d14
push 0x401c3e2
push 4
call fcn.0043b969
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x405222
push 0x3d14
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xf
jne 0x4054d8
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xa
cmp eax, ecx
jl 0x40525b
push 0x3d60
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4053e9
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 0x4052a0
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x4052d4
and eax, 0xff
jmp 0x405329
cmp ecx, 0x80000201
jne 0x4052df
cwde
jmp 0x405329
cmp ecx, 0x80000301
je 0x405329
cmp ecx, 0x80000401
je 0x405329
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x405319
cmp ecx, 0x80000601
je 0x40531e
push 0x3dac
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x405324
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x405375
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x4053d1
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xa
cmp eax, ecx
jl 0x405411
push 0x3e1c
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x4054d8
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x405469
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x4054c5
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
jmp 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 5
cmp eax, ecx
jl 0x405505
push 0x3f0a
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x405556
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xa
cmp eax, ecx
jl 0x40553e
push 0x3f33
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x405556
mov eax, 1
jmp 0x40555b
mov eax, 0
test eax, eax
je 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xb
cmp eax, ecx
jl 0x40558b
push 0x432f
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x12
je 0x4055d9
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xb
cmp eax, ecx
jl 0x4055c4
push 0x4358
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xd2
je 0x4055d9
xor eax, eax
jmp 0x4055de
mov eax, 1
test eax, eax
je 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xc
cmp eax, ecx
jl 0x40560e
push 0x43a4
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40579c
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 0x405653
mov eax, 0x509bf3
push eax
push 3
mov ebx, 0x43d5c0
call fcn.0043b96f
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 0x405687
and eax, 0xff
jmp 0x4056dc
cmp ecx, 0x80000201
jne 0x405692
cwde
jmp 0x4056dc
cmp ecx, 0x80000301
je 0x4056dc
cmp ecx, 0x80000401
je 0x4056dc
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4056cc
cmp ecx, 0x80000601
je 0x4056d1
push 0x43f0
push 0x401c3e2
push 2
call fcn.0043b969
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4056d7
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.0040108a
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x405728
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x405784
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
mov ebx, dword [ebp - 0x34]
call fcn.004016af
mov eax, 0xc
cmp eax, ecx
jl 0x4057c4
push 0x4460
push 0x401c3e2
push 1
call fcn.0043b969
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x40588b
push 0x5527ac
push 4
mov eax, 2
call fcn.0043b957
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x5527ac]
mov dword [ebp - 0x40], ebx
call fcn.004016af
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 0x40581c
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.0043b98d
add esp, 8
mov dword [0x5527ac], 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.0043b963
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 0x405878
push eax
mov ebx, eax
call fcn.004010b1
inc eax
push eax
call fcn.0043b963
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 0x40588b
pop eax
pop ebx
pop ecx
jmp 0x402360
add esp, 0xc
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push dword [ebp - 0x24]
push 0xffffffff
call fcn.004094e9
pop ebx
pop ecx
jmp 0x401e55
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4058c9
push ebx
call fcn.0043b95d
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4058e0
push ebx
call fcn.0043b95d
add esp, 4
pop ebx
call fcn.0043b95d
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4058f9
push ebx
call fcn.0043b95d
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x405909
push ebx
call fcn.0043b95d
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 0x68
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0043b95d
add esp, 4
pop ebx
call fcn.0043b95d
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x405943
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40593f
imul eax, dword [ebx]
jmp 0x405934
mov ecx, eax
test ecx, ecx
je 0x40596b
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0043b95d
add esp, 4
pop ebx
call fcn.0043b95d
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x405949
call fcn.0043b95d
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x405991
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40598d
imul eax, dword [ebx]
jmp 0x405982
mov ecx, eax
test ecx, ecx
je 0x4059e8
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4059af
push ebx
call fcn.0043b95d
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4059c3
push ebx
call fcn.0043b95d
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4059d7
push ebx
call fcn.0043b95d
add esp, 4
pop ebx
call fcn.0043b95d
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x405997
call fcn.0043b95d
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x405a00
push ebx
call fcn.0043b95d
add esp, 4
mov esp, ebp
pop ebp
ret