Function at 0x53e880
Capabilities:
Connect socket
Set socket configuration

Disassembly:
sub esp, 0x118
push esi
mov esi, dword [esp + 0x124]
test esi, esi
push edi
mov edi, edx
je 0x53e8ab
mov ecx, esi
call fcn.004dbea0
test eax, eax
jne 0x53e8ba
pop edi
pop esi
add esp, 0x118
ret 8
call fcn.004dbf00
mov esi, eax
test esi, esi
je 0x53eb44
shr edi, 0x10
test edi, edi
je 0x53e912
mov eax, dword [esi + 0x41c]
test eax, eax
jne 0x53eb44
mov eax, dword [esi + 0x420]
test eax, eax
je 0x53e8e3
mov dword [esi + 0x830], 3
lea edi, [esi + 0x444]
mov edx, edi
mov ecx, 0x1779
call fcn.0041c9e0
mov ecx, esi
call fcn.0053e0b0
mov edx, esi
mov ecx, edi
call fcn.0053df20
pop edi
xor eax, eax
pop esi
add esp, 0x118
ret 8
mov dword [esi + 0x18], 0
xor eax, eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
xor ecx, ecx
mov dword [esp + 0x14], eax
mov word [esp + 8], 2
mov dword [esp + 0xc], eax
mov cx, word [esi + 0x10c0]
push ebp
push ecx
call dword [sym.imp.WSOCK32.dll_htons]
mov ebp, dword [sym.imp.WSOCK32.dll_inet_ntoa]
mov word [esp + 0xe], ax
mov eax, dword [esp + 0x128]
cmp eax, 0xffffffff
je 0x53e964
mov dword [esp + 0x10], eax
jmp 0x53e9db
mov edx, dword [esi + 0x28]
mov eax, dword [edx]
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x53e9db
mov eax, dword [esi + 0x28]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x53e9db
mov edi, 4
mov edx, dword [edi + eax]
mov eax, dword [edx]
push eax
call ebp
test eax, eax
je 0x53e9cd
push eax
mov edx, 0x104
lea ecx, [esp + 0x24]
call fcn.0041e120
lea eax, [esp + 0x20]
push eax
lea ecx, [esi + 0x10c2]
push ecx
call fcn.00572b46
add esp, 8
test eax, eax
je 0x53e9cd
mov ecx, dword [esi + 0x10]
push 0
lea edx, [esp + 0x24]
call fcn.004c2560
test eax, eax
je 0x53e9cd
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x28]
mov ecx, dword [edi + eax + 4]
add edi, 4
test ecx, ecx
jne 0x53e985
mov eax, dword [0x59761c]
test eax, eax
je 0x53ea54
mov ecx, dword [esi + 8]
call fcn.004844e0
mov edx, dword [esp + 0x10]
push edx
mov byte [esp + 0x24], 0
call ebp
test eax, eax
je 0x53ea0b
push eax
mov edx, 0x104
lea ecx, [esp + 0x24]
call fcn.0041e120
mov al, byte [esp + 0x20]
test al, al
je 0x53ea54
lea ecx, [esi + 0x10c2]
call fcn.00484350
test eax, eax
jne 0x53ea54
lea ecx, [esp + 0x20]
call fcn.00484350
test eax, eax
jne 0x53ea54
mov eax, dword [esi + 8]
mov dx, word [esi + 0x10c0]
push esi
push eax
push 0
lea ecx, [esp + 0x2c]
call fcn.00486340
pop ebp
pop edi
xor eax, eax
pop esi
add esp, 0x118
ret 8
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x2264], ecx
mov edx, dword [esp + 0x10]
push 0
mov dword [esi + 0x83c], edx
mov dx, word [0x589910]
mov cx, word [0x58990c]
push 2
push 0
call fcn.004fd380
cmp eax, 0xffffffff
mov dword [esi + 4], eax
jne 0x53eaa0
lea edi, [esi + 0x444]
mov edx, edi
mov ecx, 0x177a
call fcn.0041c9e0
jmp 0x53eb33
push 4
lea ecx, [esp + 0x20]
push ecx
push 8
push 0xffff
push eax
mov dword [esp + 0x30], 1
call dword [sym.imp.WSOCK32.dll_setsockopt]
mov edx, dword [0x5a1b00]
mov eax, dword [esi + 4]
push 0x10
push 0x800d
push edx
push eax
call dword [sym.imp.WSOCK32.dll_WSAAsyncSelect]
mov edx, dword [esi + 4]
push 0x10
lea ecx, [esp + 0x10]
push ecx
push edx
call dword [sym.imp.WSOCK32.dll_connect]
test eax, eax
je 0x53eb43
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov ebp, eax
cmp ebp, 0x2733
je 0x53eb43
mov eax, dword [esi + 0x41c]
test eax, eax
jne 0x53eb43
mov eax, dword [esi + 0x420]
test eax, eax
je 0x53eb18
mov dword [esi + 0x830], 4
lea edi, [esi + 0x444]
mov edx, 0x3e7
mov ecx, edi
call fcn.0041e210
mov edx, esi
mov ecx, ebp
call fcn.0053e3a0
mov ecx, esi
call fcn.0053e0b0
mov ecx, edi
mov edx, esi
call fcn.0053df20
pop ebp
pop edi
xor eax, eax
pop esi
add esp, 0x118
ret 8