Function at 0x43aaa0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xec
mov eax, dword [0x5290f4]
movzx ecx, byte [eax + 0x400]
mov edx, dword [0x5290f4]
mov dword [edx + ecx*4], 0x68050000
mov eax, dword [0x5290f4]
mov cl, byte [eax + 0x400]
add cl, 1
mov edx, dword [0x5290f4]
mov byte [edx + 0x400], cl
call fcn.00401bd0
mov dword [ebp - 4], 0x67
mov dword [ebp - 0x1c], 0
push 0
push 1
push 2
call sub.WS2_32.dll_socket
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov edx, dword [ebp + 0x10]
cmp dword [edx], 0xffffffff
jne 0x43ab1c
push 0x4d6ecc
call fcn.0040cc80
add esp, 4
add eax, 9
jmp 0x43ae60
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.00402c90
add esp, 8
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
jne 0x43ab54
call fcn.00484790
push eax
push str.cannot_get_host__rc_d_n
call fcn.0040cc80
add esp, 8
add eax, 9
jmp 0x43ae60
mov ecx, dword [ebp - 0xec]
movsx edx, word [ecx + 0xa]
push edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
push edx
lea eax, [ebp - 0x10]
push eax
call fcn.004bed60
add esp, 0xc
mov word [ebp - 0x14], 2
mov cx, word [ebp + 0xc]
push ecx
call sub.WS2_32.dll_htons
mov word [ebp - 0x12], ax
push 0x10
lea edx, [ebp - 0x14]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
call sub.WS2_32.dll_connect
cmp eax, 0xffffffff
jne 0x43abcb
push 0xffffffffffffffff
call fcn.004847a0
add esp, 4
push eax
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
push 0x4d6efc
call fcn.0040cc80
add esp, 0x10
mov eax, 9
jmp 0x43ae60
push 0
push 0x55dcf8
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
call fcn.004387d0
add esp, 0xc
test eax, eax
je 0x43abee
mov eax, 9
jmp 0x43ae60
push 0x4d6f1c
push 0x55dcf8
call fcn.004bfe50
add esp, 8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x43ac5c
mov eax, dword [ebp - 0x18]
add eax, 6
push eax
call fcn.004be87b
add esp, 4
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x64
jl 0x43ac4b
mov ecx, dword [ebp + 0x14]
mov byte [ecx], 1
cmp dword [0x56b184], 0
jne 0x43ac41
mov edx, dword [ebp - 0x1c]
push edx
push 0x4d6f24
call fcn.0044d350
add esp, 8
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], ecx
jmp 0x43ac5c
mov edx, dword [ebp - 0x18]
push edx
push 0x4d6f54
call fcn.0044d350
add esp, 8
mov eax, dword [ebp + 0x1c]
push eax
push str.USER__s
push 0xbe
lea ecx, [ebp - 0xe8]
push ecx
call fcn.004bf5ba
add esp, 0x10
push 0
lea edx, [ebp - 0xe8]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
call fcn.004384b0
add esp, 0xc
test eax, eax
je 0x43ac9e
mov eax, 9
jmp 0x43ae60
push 0
push 0x55dcf8
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
push eax
call fcn.004387d0
add esp, 0xc
test eax, eax
je 0x43acc1
mov eax, 9
jmp 0x43ae60
mov ecx, dword [ebp + 0x14]
movzx edx, byte [ecx]
test edx, edx
je 0x43ad20
cmp dword [ebp + 0x20], 0
jne 0x43acd8
mov dword [ebp + 0x20], 0x4d6f78
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp - 4]
push ecx
push str.PASS_sft_d__s
push 0xbe
lea edx, [ebp - 0xe8]
push edx
call fcn.004bf5ba
add esp, 0x14
push 0
lea eax, [ebp - 0xe8]
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
call fcn.004384b0
add esp, 0xc
test eax, eax
je 0x43ad1e
mov eax, 9
jmp 0x43ae60
jmp 0x43ad87
cmp dword [ebp + 0x20], 0
je 0x43ad45
mov eax, dword [ebp + 0x20]
push eax
push str.PASS__s
push 0xbe
lea ecx, [ebp - 0xe8]
push ecx
call fcn.004bf5ba
add esp, 0x10
jmp 0x43ad62
mov edx, dword [ebp - 4]
push edx
push str.PASS_sft_d_
push 0xbe
lea eax, [ebp - 0xe8]
push eax
call fcn.004bf5ba
add esp, 0x10
push 0
lea ecx, [ebp - 0xe8]
push ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
push eax
call fcn.004384b0
add esp, 0xc
test eax, eax
je 0x43ad87
mov eax, 9
jmp 0x43ae60
push 0
push 0x55dcf8
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
call fcn.004387d0
add esp, 0xc
test eax, eax
je 0x43adaa
mov eax, 9
jmp 0x43ae60
push str.500
push 0x55dcf8
call fcn.0040dd40
add esp, 8
movzx eax, al
test eax, eax
je 0x43adcd
mov eax, 9
jmp 0x43ae60
push 0
push 0x4d6fa8
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
call fcn.004384b0
add esp, 0xc
test eax, eax
je 0x43aded
mov eax, 9
jmp 0x43ae60
push 0
push 0x55dcf8
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
call fcn.004387d0
add esp, 0xc
test eax, eax
je 0x43ae0d
mov eax, 9
jmp 0x43ae60
movzx edx, byte [0x56b190]
test edx, edx
je 0x43ae5e
cmp dword [ebp - 0x1c], 0x67
jl 0x43ae5e
push 0
push str.SCHK_1
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
call fcn.004384b0
add esp, 0xc
test eax, eax
je 0x43ae3e
mov eax, 9
jmp 0x43ae60
push 0
push 0x55dcf8
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
push eax
call fcn.004387d0
add esp, 0xc
test eax, eax
je 0x43ae5e
mov eax, 9
jmp 0x43ae60
xor eax, eax
mov esp, ebp
pop ebp
ret