Function at 0x1002da9f
Capabilities:
Connect socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push 0x10
xor ebx, ebx
lea eax, [ebp - 0x14]
push ebx
push eax
mov esi, ecx
call fcn.1003e4bd
add esp, 0xc
lea ecx, [esi + 0x10]
call fcn.10001d04
mov dword [esi + 4], ebx
mov dword [esi + 0x1978], ebx
cmp dword [ebp + 8], ebx
jne 0x1002dadd
push ebx
mov ecx, esi
call fcn.1002a0e4
jmp 0x1002dd42
cmp dword [esi + 0x1a4], 0xffffffff
je 0x1002dafa
push str.Already_connected._If_you_want_to_reconnect__close_the_current_connection_first.
mov ecx, esi
call fcn.100029c8
push 0x68
pop eax
jmp 0x1002dd42
mov byte [esi + 0x1d9c], bl
mov dword [esi + 0x1dd8], ebx
mov dword [esi + 0x1dd4], ebx
mov cl, byte [esi + 0x1c20]
lea eax, [esi + 0x1d7c]
test cl, cl
jne 0x1002db22
lea eax, [esi + 0x18a4]
mov edx, dword [eax]
mov dword [ebp - 4], edx
test cl, cl
je 0x1002db33
mov eax, dword [esi + 0x1c1c]
jmp 0x1002db39
mov eax, dword [esi + 0x1970]
mov dword [ebp + 8], eax
mov al, byte [esi + 0x210]
test al, al
jne 0x1002db6e
cmp edx, ebx
jne 0x1002db6e
push str.The_RemoteHost_address_is_invalid__0.0.0.0_.
mov ecx, esi
call fcn.100029c8
cmp byte [esi + 0x1c20], bl
je 0x1002db6a
push str.The_FirewallHost_address_is_invalid__0.0.0.0_.
mov ecx, esi
call fcn.100029c8
push 0x66
jmp 0x1002daf4
cmp dword [ebp + 8], ebx
jne 0x1002db9a
push str.RemotePort_cant_be_zero._Please_specify_a_valid_service_port_number.
mov ecx, esi
call fcn.100029c8
cmp byte [esi + 0x1c20], bl
je 0x1002db93
push str.The_FirewallPort_is_invalid__0_.
mov ecx, esi
call fcn.100029c8
push 0x74
jmp 0x1002daf4
push edi
mov edi, dword [sym.imp.WS2_32.dll_htons]
push ebx
mov byte [esi + 0x1d80], bl
push 1
test al, al
je 0x1002dbef
push 0x17
call dword [sym.imp.WS2_32.dll_socket]
mov dword [esi + 0x1a4], eax
cmp eax, 0xffffffff
je 0x1002dc02
cmp byte [esi + 0x1dc8], bl
je 0x1002dc58
push 0x17
pop eax
lea ebx, [esi + 0x1b8]
mov word [ebx], ax
movzx eax, word [esi + 0x1974]
push eax
call edi
push 0x1c
mov word [esi + 0x1ba], ax
push ebx
jmp 0x1002dc31
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [esi + 0x1a4], eax
cmp eax, 0xffffffff
jne 0x1002dc0d
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x1002dd41
push 2
pop eax
mov word [ebp - 0x14], ax
mov eax, dword [esi + 0x1b4]
mov dword [ebp - 0x10], eax
movzx eax, word [esi + 0x1974]
push eax
call edi
mov word [ebp - 0x12], ax
push 0x10
lea eax, [ebp - 0x14]
push eax
push dword [esi + 0x1a4]
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x1002dc58
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x38]
mov eax, edi
jmp 0x1002dd41
movzx eax, byte [esi + 0x1d8c]
push eax
mov ecx, esi
call fcn.10021d1c
movzx eax, byte [esi + 0x1d84]
push eax
mov ecx, esi
call fcn.10021bba
push dword [esi + 0x1a8]
mov ecx, esi
call fcn.100216fe
push dword [esi + 0x1ac]
mov ecx, esi
call fcn.10021781
push 1
mov ecx, esi
call fcn.10021b26
mov al, byte [esi + 0x1d9d]
test al, al
je 0x1002dcae
movzx eax, al
push eax
mov ecx, esi
call fcn.10021cd3
mov eax, dword [esi]
push 0x33
push 0x465
push dword [esi + 0x128]
mov ecx, esi
push dword [esi + 0x1a4]
call dword [eax + 0xc]
test eax, eax
jne 0x1002dc42
mov byte [esi + 0x1d81], 1
cmp byte [esi + 0x210], al
je 0x1002dcf5
push dword [ebp + 8]
call edi
mov word [esi + 0x191a], ax
push 0x1c
lea eax, [esi + 0x1918]
jmp 0x1002dd10
push 2
pop eax
push dword [ebp + 8]
mov word [ebp - 0x14], ax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
call edi
mov word [ebp - 0x12], ax
push 0x10
lea eax, [ebp - 0x14]
push eax
push dword [esi + 0x1a4]
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x1002dd3f
mov edi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call edi
cmp eax, 0x2733
je 0x1002dd3f
mov byte [esi + 0x1d81], 0
call edi
jmp 0x1002dc48
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 4