Function at 0x100acdd0
Capabilities:
Connect socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2ac
mov eax, dword [0x1014bb94]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x2a8], ecx
mov dword [ebp - 0x2a0], eax
push edi
test esi, esi
je 0x100ace60
lea edi, [esi + 4]
mov dword [ebp - 0x288], edi
cmp dword [edi], edi
je 0x100ace60
test eax, eax
je 0x100ace60
push 1
push dword [ebp + 0x10]
lea ecx, [ebp - 0x20]
push dword [ebp + 0xc]
call fcn.100a1750
xorps xmm0, xmm0
lea ecx, [ebp - 0x294]
movlpd qword [ebp - 0x294], xmm0
call fcn.100acbc0
push dword [esi + 0xc]
lea ecx, [ebp - 0x294]
call fcn.100acc90
test eax, eax
jne 0x100ace74
lea ecx, [ebp - 0x294]
call fcn.100acc60
lea ecx, [ebp - 0x20]
call fcn.100a1790
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100e3d0f
mov esp, ebp
pop ebp
ret 0x14
push ebx
xor esi, esi
lea eax, [ebp - 0x284]
push 0x214
push esi
xor ebx, ebx
mov dword [ebp - 0x298], esi
push eax
mov dword [ebp - 0x28c], ebx
call fcn.100e5000
add esp, 0xc
lea ecx, [ebp - 0x284]
call fcn.100a36f0
mov edi, dword [edi]
test edi, edi
je 0x100ad272
cmp edi, dword [ebp - 0x288]
je 0x100ad272
lea esi, [edi + 8]
mov dword [ebp - 0x29c], esi
jmp 0x100aced6
mov esi, dword [ebp - 0x29c]
push 0x50
lea eax, [ebp - 0x70]
push 0
push eax
call fcn.100e5000
add esp, 0xc
mov ecx, esi
push 6
push 1
call fcn.100a2180
push eax
call dword [sym.imp.WS2_32.dll_socket]
push 0
push eax
lea ecx, [ebp - 0x70]
call fcn.100a2f70
mov ecx, esi
mov dword [ebp - 0x24], 0
call fcn.100a2180
cmp eax, 0x17
jne 0x100acf42
lea ecx, [ebp - 0x70]
call fcn.100a31a0
test al, al
jne 0x100acf42
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x298], esi
test esi, esi
jne 0x100ad089
mov esi, 0x273b
jmp 0x100ad083
lea ecx, [ebp - 0x70]
call fcn.100a31a0
test al, al
je 0x100ad268
mov eax, dword [ebp - 0x2a8]
add eax, 0xa0
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.100ac920
add esp, 8
test eax, eax
je 0x100ad268
lea ecx, [ebp - 0x70]
call fcn.100a31a0
test al, al
je 0x100ad268
lea eax, [ebp - 8]
mov dword [ebp - 8], 1
push eax
push 0x8004667e
lea ecx, [ebp - 0x70]
call fcn.100a3250
push eax
call dword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
jne 0x100ad268
lea ecx, [ebp - 0x70]
call fcn.100a31a0
test al, al
je 0x100ad07b
test esi, esi
je 0x100ad07b
mov ecx, esi
call fcn.100a1e50
mov esi, eax
test esi, esi
je 0x100ad07b
mov ecx, dword [ebp - 0x29c]
call fcn.100a22f0
push eax
push esi
lea ecx, [ebp - 0x70]
call fcn.100a3250
push eax
call dword [sym.imp.WS2_32.dll_connect]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
test esi, esi
je 0x100ad008
cmp eax, 0x2733
je 0x100ad008
cmp eax, 0x2734
jne 0x100ad07b
push ebx
lea ecx, [ebp - 0x294]
call fcn.100ad440
mov esi, eax
test esi, esi
je 0x100ad268
push esi
lea ecx, [ebp - 0x70]
call fcn.100a3260
lea ecx, [esi + 0x4c]
test ecx, ecx
je 0x100ad044
mov eax, dword [ecx]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x24]
mov dword [ecx], eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x24], eax
push 0
push 0x10
mov ecx, esi
call fcn.100a33a0
test eax, eax
je 0x100ad268
inc ebx
lea ecx, [ebp - 0x284]
push ebx
push esi
mov dword [ebp - 0x28c], ebx
call fcn.100a3980
test eax, eax
je 0x100ad268
mov esi, dword [ebp - 0x298]
jmp 0x100ad089
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x298], esi
lea ecx, [ebp - 0x70]
call fcn.100a3020
test edi, edi
je 0x100ad0b0
mov edi, dword [edi]
test edi, edi
je 0x100ad0b0
cmp edi, dword [ebp - 0x288]
jne 0x100ad0a7
xor edi, edi
jmp 0x100ad0b0
lea ecx, [edi + 8]
mov dword [ebp - 0x29c], ecx
test edi, edi
jne 0x100aced0
test ebx, ebx
je 0x100ad272
mov edi, dword [ebp - 0x2a4]
test edi, edi
je 0x100ad0e0
push 0
push edi
lea ecx, [ebp - 0x284]
call fcn.100a3b90
test eax, eax
je 0x100ad279
mov ebx, dword [sym.imp.KERNEL32.dll_SetLastError]
mov esi, dword [ebp - 0x28c]
nop dword [eax]
push 0
push 0xffffffffffffffff
lea eax, [ebp - 0x2ac]
mov dword [ebp - 0x288], 0
push eax
lea ecx, [ebp - 0x20]
call fcn.100a19a0
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x284]
call fcn.100a40c0
test eax, eax
je 0x100ad279
mov eax, dword [ebp - 0x288]
test eax, eax
je 0x100ad255
cmp eax, 0x102
je 0x100ad24c
dec eax
lea ecx, [ebp - 0x294]
push eax
call fcn.100ad440
mov edi, eax
test edi, edi
je 0x100ad279
mov ecx, edi
call fcn.100a30f0
test al, 0x10
je 0x100ad176
test dword [edi + 0x20], 0x10
je 0x100ad183
mov esi, dword [edi + 0x34]
jmp 0x100ad18c
test al, 8
je 0x100ad1a0
test dword [edi + 0x20], 8
jne 0x100ad189
push 0
call ebx
jmp 0x100ad1a0
mov esi, dword [edi + 0x30]
push esi
call ebx
xor eax, eax
test esi, esi
sete al
test eax, eax
jne 0x100ad1d8
mov esi, dword [ebp - 0x28c]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp - 0x288]
dec esi
lea ecx, [ebp - 0x284]
mov edi, eax
mov dword [ebp - 0x28c], esi
call fcn.100a3e80
test eax, eax
je 0x100ad279
test esi, esi
jne 0x100ad0f0
push edi
call ebx
jmp 0x100ad279
push 0
push 0
mov ecx, edi
call fcn.100a33a0
test eax, eax
je 0x100ad279
mov esi, dword [ebp - 0x2a0]
mov ecx, esi
push edi
call fcn.100a3260
lea ecx, [esi + 0x4c]
add edi, 0x4c
je 0x100ad219
test ecx, ecx
je 0x100ad219
mov eax, dword [edi]
mov dword [ebp - 0x2a0], eax
mov eax, dword [ecx]
mov dword [edi], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ecx], eax
lea ecx, [ebp - 0x284]
call fcn.100a3800
lea ecx, [ebp - 0x294]
call fcn.100acc60
lea ecx, [ebp - 0x20]
call fcn.100a1790
pop ebx
pop edi
mov al, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100e3d0f
mov esp, ebp
pop ebp
ret 0x14
push 0x5b4
call ebx
jmp 0x100ad279
mov eax, dword [ebp - 0x2a4]
test eax, eax
je 0x100ad279
push 0x45b
call ebx
jmp 0x100ad279
lea ecx, [ebp - 0x70]
call fcn.100a3020
jmp 0x100ad279
push esi
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea ecx, [ebp - 0x284]
call fcn.100a3800
lea ecx, [ebp - 0x294]
call fcn.100acc60
lea ecx, [ebp - 0x20]
call fcn.100a1790
mov ecx, dword [ebp - 4]
xor al, al
pop ebx
pop edi
xor ecx, ebp
pop esi
call fcn.100e3d0f
mov esp, ebp
pop ebp
ret 0x14