Function at 0x4148c0
Capabilities:
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x447cc8
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x458ad0]
xor eax, esp
mov dword [esp + 0x38], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x458ad0]
xor eax, esp
push eax
lea eax, [esp + 0x50]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x58], 4
mov eax, dword [esp + 0x80]
push 0x50
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov esi, esp
push eax
call fcn.00404f60
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00415dd0
mov esi, eax
or edi, 0xffffffff
add esp, 8
xor ebx, ebx
cmp esi, edi
jne 0x414b5d
push edi
push ebx
lea eax, [esp + 0x6c]
mov esi, 0xf
push eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
call fcn.00403f10
push 8
push 0x44f2c8
lea eax, [esp + 0x38]
mov byte [esp + 0x60], 5
call fcn.004050c0
mov eax, dword [esp + 0x34]
mov ebp, 0x10
cmp dword [esp + 0x48], ebp
jae 0x414982
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
cmp dword [0x45cfcc], 1
jne 0x414a7d
cmp dword [esp + 0x48], ebp
jb 0x4149b0
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0041e1fe
add esp, 4
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
cmp dword [esp + 0x7c], ebp
jb 0x4149cf
mov edx, dword [esp + 0x68]
push edx
call fcn.0041e1fe
add esp, 4
mov byte [esp + 0x58], 2
mov eax, dword [esp + 0x80]
add eax, 0xfffffff0
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414a02
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x58], 1
mov eax, dword [esp + 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414a29
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x58], bl
mov eax, dword [esp + 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414a4f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x58], edi
mov eax, dword [esp + 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edi
dec edi
test edi, edi
jg 0x414a73
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
jmp 0x414e60
cmp dword [esp + 0x48], ebp
jb 0x414a90
mov ecx, dword [esp + 0x34]
push ecx
call fcn.0041e1fe
add esp, 4
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
cmp dword [esp + 0x7c], ebp
jb 0x414aaf
mov edx, dword [esp + 0x68]
push edx
call fcn.0041e1fe
add esp, 4
mov byte [esp + 0x58], 2
mov eax, dword [esp + 0x80]
add eax, 0xfffffff0
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414ae2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x58], 1
mov eax, dword [esp + 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414b09
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x58], bl
mov eax, dword [esp + 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, edi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414b2f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x58], edi
mov eax, dword [esp + 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edi
dec edi
test edi, edi
jg 0x414b53
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 2
jmp 0x414e60
mov eax, dword [esp + 0x88]
push ebx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00404f60
add eax, 0x10
mov dword [edi], eax
mov byte [esp + 0x64], 6
mov eax, dword [esp + 0x90]
add eax, 0xfffffff0
mov dword [esp + 0x28], esp
mov edi, esp
push eax
call fcn.00404f60
add eax, 0x10
mov dword [edi], eax
mov byte [esp + 0x68], 7
mov eax, dword [esp + 0x90]
add eax, 0xfffffff0
mov dword [esp + 0x30], esp
mov edi, esp
push eax
call fcn.00404f60
add eax, 0x10
mov dword [edi], eax
add esp, 4
mov ecx, esi
mov byte [esp + 0x68], 4
call fcn.00415f00
add esp, 0x10
push esi
mov edi, eax
call dword [sym.imp.WS2_32.dll_closesocket]
cmp edi, ebx
jne 0x414ca7
push 0x44f2d4
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp dword [esp + 0x7c], 0x10
jb 0x414bfc
mov ecx, dword [esp + 0x68]
push ecx
call fcn.0041e1fe
add esp, 4
mov byte [esp + 0x58], 2
mov eax, dword [esp + 0x80]
add eax, 0xfffffff0
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x414c34
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x58], 1
mov eax, dword [esp + 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414c5c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x58], bl
mov eax, dword [esp + 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414c83
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x58], 0xffffffff
mov eax, dword [esp + 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x414b47
mov edx, dword [esp + 0x90]
mov ecx, dword [0x45cfd8]
mov eax, dword [esp + 0x8c]
push ebx
push edx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
mov dword [ebp], ecx
call fcn.00404f60
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x68], 8
mov eax, dword [esp + 0x98]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.00404f60
add eax, 0x10
mov dword [esi], eax
mov byte [esp + 0x6c], 9
mov eax, dword [esp + 0x98]
add eax, 0xfffffff0
mov dword [esp + 0x2c], esp
mov esi, esp
push eax
call fcn.00404f60
add eax, 0x10
add esp, 4
mov dword [esi], eax
mov byte [esp + 0x6c], 0xa
mov eax, dword [esp + 0x94]
push 0x50
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x40], esp
mov esi, esp
push eax
call fcn.00404f60
add eax, 0x10
add esp, 4
mov dword [esi], eax
push 0x50
push ecx
mov byte [esp + 0x7c], 0xb
mov ecx, esp
mov dword [esp + 0x50], esp
push 0x44e187
call fcn.00407a10
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
push 0xffffffffffffffff
mov byte [esp + 0x9c], 0xc
push ebx
lea eax, [esp + 0xac]
mov esi, 0xf
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00403f10
mov ecx, dword [esp + 0xa0]
push ecx
mov byte [esp + 0x9c], 4
call fcn.00414e90
cmp dword [esp + 0x7c], 0x10
mov edi, eax
jb 0x414db0
mov edx, dword [esp + 0x68]
push edx
call fcn.0041e1fe
add esp, 4
mov byte [esp + 0x58], 2
mov eax, dword [esp + 0x80]
add eax, 0xfffffff0
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov byte [esp + 0x68], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414de4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x58], 1
mov eax, dword [esp + 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414e0c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x58], bl
mov eax, dword [esp + 0x88]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414e33
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x58], 0xffffffff
mov eax, dword [esp + 0x8c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414e5e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, edi
mov ecx, dword [esp + 0x50]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.00428e93
add esp, 0x48
ret 0x38