Function at 0x49a6e0
Capabilities:
Connect socket
Set socket configuration

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov ebp, dword [esp + 0x2c]
mov eax, dword [0x5c0b00]
xor eax, esp
mov dword [esp + 0x14], eax
mov dword [esp], ecx
mov eax, dword [esp]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov eax, 0x335b5196
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x49a7d5
mov dword [esp + 0x10], 0
lea edi, [esp + 0x10]
push edi
push 0x8004667e
push ebp
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov eax, dword [esp]
mov eax, dword [eax + 0x10]
imul ebx, dword [eax], 0x3e8
mov eax, dword [esp]
mov eax, dword [eax + 0x14]
push 0
push 0x3e8
push dword [eax + 4]
push dword [eax]
call fcn.005893d0
mov ecx, 0x5e4fc9ce
sub eax, ecx
add eax, ecx
add eax, ebx
mov dword [esp + 0x10], eax
push 4
push edi
push 0x1006
push 0xffff
push ebp
mov edi, esi
mov esi, dword [sym.imp.WS2_32.dll_setsockopt]
call esi
mov eax, dword [esp]
mov eax, dword [eax + 0x18]
imul ebx, dword [eax], 0x3e8
mov eax, dword [esp]
mov eax, dword [eax + 0x1c]
push 0
push 0x3e8
push dword [eax + 4]
push dword [eax]
call fcn.005893d0
add eax, ebx
mov dword [esp + 0x10], eax
push 4
lea eax, [esp + 0x14]
push eax
push 0x1005
push 0xffff
push ebp
call esi
mov esi, edi
mov eax, dword [esp]
mov eax, dword [eax + 4]
mov dword [eax], 0
mov eax, 0xe6072d46
mov cl, 1
mov dword [esp + 8], ecx
jmp 0x49a815
mov eax, dword [0x5c4cd8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0x26cc71cd
mov ebx, 0x9a5d16da
cmove eax, ebx
cmp dword [0x5c4cdc], 0xa
mov edx, 0x26cc71cd
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, ebx
cmp eax, 0xe6072d45
jle 0x49a850
cmp eax, 0x335b5195
jg 0x49a8c0
cmp eax, 0x2407e6d9
jg 0x49a92b
cmp eax, 0xe6072d46
je 0x49aa8c
cmp eax, 0x4d7ecb2
je 0x49a8ed
jmp 0x49a815
cmp eax, 0xaa1fb322
jle 0x49a900
cmp eax, 0xd7e08065
jg 0x49a94b
cmp eax, 0xaa1fb323
je 0x49aab1
cmp eax, 0xb4e7425c
jne 0x49a815
mov eax, dword [esp]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp]
mov ecx, dword [ecx + 8]
push dword [eax + 4]
push dword [eax]
push dword [ecx + 4]
push dword [ecx]
push ebp
call fcn.0049aba0
add esp, 0x14
mov ecx, dword [esp]
mov ecx, dword [ecx + 4]
mov dword [ecx], eax
mov eax, dword [esp]
mov eax, dword [eax + 4]
cmp dword [eax], 0
mov eax, 0x4d7ecb2
mov ecx, 0x90afcce0
cmove eax, ecx
jmp 0x49a815
cmp eax, 0x61cfeaae
jg 0x49a96b
cmp eax, 0x335b5196
je 0x49aaef
cmp eax, 0x5d2daa3d
jne 0x49a815
mov eax, dword [esp]
mov eax, dword [eax + 4]
mov dword [eax], 2
mov eax, 0xe6072d46
mov dword [esp + 8], 0
jmp 0x49a815
cmp eax, 0x9a5d16d9
jg 0x49aa5d
cmp eax, 0x84b82010
je 0x49ab09
cmp eax, 0x90afcce0
jne 0x49a815
mov eax, 0x61cfeaaf
jmp 0x49a815
cmp eax, 0x2407e6da
je 0x49a7db
cmp eax, 0x26cc71cd
jne 0x49a815
mov eax, 0x9a5d16da
jmp 0x49a815
cmp eax, 0xd7e08066
je 0x49ab13
cmp eax, 0xdff1c64a
jne 0x49a815
mov eax, 0xd7e08066
jmp 0x49a815
cmp eax, 0x61cfeaaf
je 0x49a720
cmp eax, 0x7bdd2f99
jne 0x49a815
mov eax, dword [0x5c4ce0]
mov ecx, dword [0x5c4ce4]
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esp + 6]
cmp ecx, 0xa
setl byte [esp + 7]
mov eax, 0x71d3f86f
nop dword [eax]
cmp eax, 0x6ceb547b
jg 0x49a9d0
cmp eax, 0xab88183e
je 0x49aa0c
cmp eax, 0xd906f30e
jne 0x49a9b0
jmp 0x49ab51
cmp eax, 0x6ceb547c
je 0x49aa15
cmp eax, 0x71d3f86f
jne 0x49a9b0
movzx ecx, byte [esp + 6]
movzx eax, byte [esp + 7]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0xab88183e
mov edi, 0x6ceb547c
cmovne eax, edi
test cl, cl
mov ecx, 0xab88183e
cmove eax, ecx
test dl, dl
cmovne eax, edi
jmp 0x49a9b0
call esi
mov eax, 0x6ceb547c
jmp 0x49a9b0
call esi
cmp eax, 0x2733
setne bl
mov eax, dword [0x5c4ce0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0xab88183e
mov edi, 0xd906f30e
cmove eax, edi
cmp dword [0x5c4ce4], 0xa
mov edx, 0xab88183e
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x49a9b0
cmp eax, 0x9a5d16da
jne 0x49ab6f
mov eax, dword [0x5c4cd8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0x26cc71cd
mov ebx, 0x84b82010
jmp 0x49a7fb
mov eax, dword [0x5c4cd8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0xdff1c64a
mov ebx, 0xd7e08066
jmp 0x49ab3d
mov dword [esp + 0x10], 1
lea eax, [esp + 0x10]
push eax
push 0x8004667e
push ebp
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov eax, dword [esp + 0x30]
push dword [eax + 0x10]
push dword [eax + 0x18]
push ebp
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
mov eax, 0x61cfeaaf
mov ecx, 0x7bdd2f99
cmovs eax, ecx
jmp 0x49a815
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x10], 0
mov eax, 0x2407e6da
mov ecx, 0xaa1fb323
cmove eax, ecx
jmp 0x49a815
mov eax, 0xaa1fb323
jmp 0x49a815
mov eax, dword [esp + 8]
and al, 1
mov byte [esp + 5], al
mov eax, dword [0x5c4cd8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
mov eax, 0xdff1c64a
mov ebx, 0x9c164c95
cmove eax, ebx
cmp dword [0x5c4cdc], 0xa
mov edx, 0xdff1c64a
jmp 0x49a80a
and bl, 1
mov byte [esp + 0x10], bl
cmp byte [esp + 0x10], 0
mov eax, 0xb4e7425c
mov ecx, 0x5d2daa3d
cmovne eax, ecx
jmp 0x49a815
cmp eax, 0x9c164c95
jne 0x49a815
movzx ebx, byte [esp + 5]
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.005892d5
mov eax, ebx
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret 8