Function at 0x10031b74
Capabilities:
Connect socket

Disassembly:
sub esp, 0xec
mov eax, dword [0x100a5688]
xor eax, esp
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0xf4]
push ebx
mov ebx, dword [esp + 0xf4]
push esi
mov esi, dword [ebx]
or dword [ecx], 0xffffffff
push edi
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0xc]
push ecx
lea ecx, [esp + 0x38]
push ecx
push eax
xor edi, edi
push ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], esi
call fcn.100313cd
add esp, 0x10
mov dword [esp + 0x10], eax
test eax, eax
je 0x10031bd6
xor eax, eax
jmp 0x10031dec
push ebp
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0xcc]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.10031b1b
add esp, 0xc
test eax, eax
jne 0x10031c2b
call fcn.1005cd79
mov esi, eax
call fcn.1005cd79
push dword [esi]
mov edi, eax
push ebx
call fcn.1003cb1a
mov esi, dword [esp + 0x20]
push eax
push dword [edi]
push str.sa_addr_inet_ntop___failed_with_errno__d:__s
push esi
call fcn.1003054c
mov ebp, dword [esp + 0x28]
add esp, 0x18
xor edi, edi
jmp 0x10031cfc
lea eax, [esp + 0xc8]
push eax
push str.__Trying__s..._n
push esi
call fcn.10030603
mov ebp, dword [esp + 0x1c]
xor eax, eax
add esp, 0xc
inc eax
cmp dword [esp + 0x38], 2
jne 0x10031c6c
cmp dword [esp + 0x3c], eax
jne 0x10031c6c
mov dword [esp + 0x10], eax
cmp dword [esi + 0x42c], edi
je 0x10031c70
push ebp
push ebx
call fcn.1003149e
pop ecx
pop ecx
jmp 0x10031c70
mov dword [esp + 0x10], edi
push ebp
call fcn.10031343
pop ecx
cmp dword [esp + 0x10], edi
je 0x10031c8e
cmp dword [esi + 0x574], edi
je 0x10031c8e
push ebp
push esi
call fcn.10031e04
pop ecx
pop ecx
mov eax, dword [esi + 0x1e8]
test eax, eax
je 0x10031cb2
push edi
push ebp
push dword [esi + 0x1ec]
call eax
add esp, 0xc
cmp eax, 2
jne 0x10031cf5
mov dword [esp + 0x20], 1
cmp dword [esp + 0x38], 2
jne 0x10031d0c
lea eax, [esp + 0x48]
push eax
call fcn.100330fc
push eax
push dword [esp + 0x40]
push ebp
push ebx
call fcn.10031780
mov esi, eax
add esp, 0x14
mov dword [esp + 0x14], esi
test esi, esi
je 0x10031d0c
push ebp
push ebx
call fcn.10030c93
pop ecx
pop ecx
push 7
pop eax
cmp esi, 1
cmove esi, eax
mov eax, esi
jmp 0x10031deb
test eax, eax
je 0x10031cb2
push 0x2a
pop edi
push ebp
push ebx
call fcn.10030c93
pop ecx
pop ecx
mov eax, edi
jmp 0x10031deb
push 1
push ebp
call fcn.1004e80a
lea eax, [esp + 0x30]
push eax
call fcn.1002799f
lea edi, [ebx + 0x450]
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add esp, 0xc
cmp dword [ebx + 0x460], 1
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x18]
jle 0x10031d51
push 3
push dword [ebx + 0x46c]
push dword [ebx + 0x468]
push esi
call fcn.10023d8c
add esp, 0x10
cmp dword [esp + 0x20], 0
jne 0x10031de3
cmp dword [ebx + 0x94], 1
jne 0x10031de3
xor edi, edi
cmp dword [ebx + 0x438], edi
jne 0x10031d84
push dword [esp + 0x44]
lea eax, [esp + 0x4c]
push eax
push ebp
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x10031dd9
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esp + 0x14], eax
cmp eax, 0xb
je 0x10031dd5
cmp eax, 0x2732
jle 0x10031da1
cmp eax, 0x2734
jle 0x10031dd5
push eax
push ebx
call fcn.1003cb1a
push eax
lea eax, [esp + 0xd4]
push eax
push str.Immediate_connect_fail_for__s:__s_n
push esi
call fcn.10030603
mov eax, dword [esp + 0x2c]
push ebp
push ebx
mov dword [esi + 0x47e4], eax
call fcn.10030c93
add esp, 0x20
push 7
pop eax
jmp 0x10031deb
mov eax, edi
jmp 0x10031ddd
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x10031deb
jmp 0x10031de5
xor eax, eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx], ebp
pop ebp
mov ecx, dword [esp + 0xf4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1005ae75
add esp, 0xec
ret