Function at 0x418d60
Capabilities:
Resolve function by parsing pe exports
Set socket configuration

Disassembly:
sub esp, 0x10
push ebp
push esi
push edi
mov edi, dword [esp + 0x20]
mov ebp, 4
movzx eax, word [edi + 0x110]
lea edx, [ebp + 0xc]
movzx ecx, word [edi + 0x180]
cmp ax, cx
jne 0x418e18
cmp ecx, 0x17
mov esi, ebp
cmove esi, edx
xor edx, edx
cmp ecx, 0x17
sete dl
xor ecx, ecx
lea edx, [edx*4 + 0x184]
add edx, edi
cmp eax, 0x17
sete cl
lea ecx, [ecx*4 + 0x114]
add ecx, edi
sub esi, ebp
jb 0x418dc5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x418dca
add ecx, ebp
add edx, ebp
sub esi, ebp
jae 0x418db7
cmp esi, 0xfffffffc
je 0x418df7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x418e13
cmp esi, 0xfffffffd
je 0x418df7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x418e13
cmp esi, 0xfffffffe
je 0x418df7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x418e13
cmp esi, 0xffffffff
je 0x418df7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x418e13
mov ax, word [edi + 0x112]
cmp ax, word [edi + 0x182]
jne 0x418e13
pop edi
pop esi
mov eax, 0x207
pop ebp
add esp, 0x10
ret
mov edx, 0x10
mov eax, dword [edi + 0x6c]
push ebx
cmp eax, 0x1000000
je 0x41923f
cmp eax, 0x100000
je 0x41923f
cmp eax, 2
je 0x41923f
cmp eax, 4
je 0x41923f
mov eax, dword [edi + 0x3c]
lea ecx, [edi + 0x164]
cmp eax, 0xffffffff
je 0x418e7d
lea edx, [esp + 0x24]
mov dword [esp + 0x24], 0x1c
push edx
push ecx
push eax
call dword [0x44f264]
cmp eax, 0xffffffff
jne 0x41923f
pop ebx
pop edi
pop esi
mov eax, 0xe
pop ebp
add esp, 0x10
ret
mov ebx, dword [0x44f248]
mov eax, 1
mov word [esp + 0x10], ax
mov esi, ebp
mov ax, word [0x44f2b0]
mov word [esp + 0x12], ax
movzx eax, word [ecx]
cmp eax, 0x17
movzx ecx, ax
mov dword [esp + 0x14], ecx
cmove esi, edx
mov dword [esp + 0x24], eax
xor ecx, ecx
mov edx, ebx
cmp eax, 0x17
sete cl
lea ecx, [ecx*4 + 0x168]
add ecx, edi
sub esi, ebp
jb 0x418ed3
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x418ed8
add ecx, ebp
add edx, ebp
sub esi, ebp
jae 0x418ec5
cmp esi, 0xfffffffc
je 0x418f0c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x418f05
cmp esi, 0xfffffffd
je 0x418f0c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x418f05
cmp esi, 0xfffffffe
je 0x418f0c
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x418f05
cmp esi, 0xffffffff
je 0x418f0c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x418f0c
sbb eax, eax
or eax, 1
jmp 0x418f0e
xor eax, eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
movzx ecx, cx
movzx edx, dx
test eax, eax
jne 0x418fdf
movzx ecx, word [edi + 0x180]
mov esi, ebp
cmp ecx, 0x17
sete al
lea eax, [eax*4 + 0x184]
add eax, edi
cmp ecx, 0x17
mov ecx, 0x10
mov dword [esp + 0x24], eax
cmove esi, ecx
mov ecx, eax
mov edx, esi
sub edx, ebp
jb 0x418f61
mov eax, dword [ecx]
cmp eax, dword [ebx]
jne 0x418f6a
add ecx, ebp
add ebx, ebp
sub edx, ebp
jae 0x418f53
cmp edx, 0xfffffffc
je 0x419031
mov al, byte [ecx]
cmp al, byte [ebx]
jne 0x418fa7
cmp edx, 0xfffffffd
je 0x419031
mov al, byte [ecx + 1]
cmp al, byte [ebx + 1]
jne 0x418fa7
cmp edx, 0xfffffffe
je 0x419031
mov al, byte [ecx + 2]
cmp al, byte [ebx + 2]
jne 0x418fa7
cmp edx, 0xffffffff
je 0x419031
mov al, byte [ecx + 3]
cmp al, byte [ebx + 3]
je 0x419031
movzx ecx, word [edi + 0x180]
xor eax, eax
cmp ecx, 0x17
mov word [edi + 0x164], cx
push esi
push dword [esp + 0x28]
sete al
lea eax, [eax*4 + 0x168]
add eax, edi
push eax
call fcn.00421eb0
movzx eax, word [edi + 0x164]
add esp, 0xc
mov ecx, eax
mov edx, eax
cmp word [edi + 0x166], 0
movzx edx, dx
movzx ecx, cx
jne 0x418fff
mov ax, word [edi + 0x182]
mov ecx, edx
mov word [edi + 0x166], ax
mov edx, 0x17
mov eax, 2
push 6
cmp cx, dx
push 1
cmove eax, edx
push eax
call dword [0x44f250]
mov ecx, eax
mov dword [edi + 0x3c], ecx
cmp ecx, 0xffffffff
jne 0x41903e
pop ebx
pop edi
pop esi
mov eax, 0xb
pop ebp
add esp, 0x10
ret
pop ebx
pop edi
pop esi
mov eax, 0x64
pop ebp
add esp, 0x10
ret
mov eax, dword [edi + 8]
push dword [eax + 0x78]
push ecx
call fcn.00403b00
add esp, 8
lea eax, [esp + 0x10]
push 4
push eax
push 0x80
push 0xffff
push dword [edi + 0x3c]
call dword [0x44f270]
movzx eax, word [edi + 0x148]
lea ebx, [edi + 0x148]
mov edx, dword [0x44f248]
cmp eax, 0x17
mov esi, 0x10
cmove ebp, esi
xor ecx, ecx
cmp eax, 0x17
sete cl
lea ecx, [ecx*4 + 0x14c]
add ecx, edi
sub ebp, 4
jb 0x4190b1
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4190b6
add ecx, 4
add edx, 4
sub ebp, 4
jae 0x4190a0
cmp ebp, 0xfffffffc
je 0x4190e7
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x41913e
cmp ebp, 0xfffffffd
je 0x4190e7
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x41913e
cmp ebp, 0xfffffffe
je 0x4190e7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x41913e
cmp ebp, 0xffffffff
je 0x4190e7
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x41913e
cmp word [edi + 0x164], 0x17
lea ebp, [edi + 0x164]
mov eax, dword [edi + 8]
jne 0x41911c
movups xmm0, xmmword [eax + 0xb0]
movups xmmword [ebx], xmm0
movq xmm0, qword [eax + 0xc0]
movq qword [ebx + 0x10], xmm0
mov eax, dword [eax + 0xc8]
mov dword [ebx + 0x18], eax
jmp 0x419144
movups xmm0, xmmword [eax + 0xcc]
movups xmmword [ebx], xmm0
movq xmm0, qword [eax + 0xdc]
movq qword [ebx + 0x10], xmm0
mov eax, dword [eax + 0xe4]
mov dword [ebx + 0x18], eax
jmp 0x419144
lea ebp, [edi + 0x164]
xor eax, eax
mov ecx, 0x1c
mov word [edi + 0x14a], ax
mov eax, esi
cmp word [ebx], 0x17
cmove eax, ecx
push eax
push ebx
push dword [edi + 0x3c]
call dword [0x44f258]
cmp eax, 0xffffffff
jne 0x419178
pop ebx
pop edi
pop esi
mov eax, 0xc
pop ebp
add esp, 0x10
ret
mov eax, dword [edi + 0x6c]
cmp eax, 0x100
jge 0x41918a
test al, 1
je 0x419216
cmp word [ebp], 0x17
mov eax, 0x1c
mov ebp, dword [edi + 0x3c]
cmove esi, eax
mov dword [esp + 0x14], 1
lea eax, [esp + 0x14]
push eax
push 0x8004667e
push ebp
call dword [sym.imp.WS2_32.dll_ioctlsocket]
push esi
lea eax, [edi + 0x164]
push eax
push ebp
call dword [0x44f260]
test eax, eax
je 0x4191dc
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call esi
cmp eax, 0x2733
je 0x4191dc
call esi
cmp eax, 0x70
jne 0x419209
push 0x1f40
xorps xmm0, xmm0
lea eax, [esp + 0x1c]
push 1
movlpd qword [esp + 0x20], xmm0
mov ecx, 0x10
push eax
mov dword [esp + 0x24], ebp
mov word [esp + 0x28], cx
call dword [0x44f274]
test eax, eax
jg 0x419216
pop ebx
pop edi
pop esi
mov eax, 0xd
pop ebp
add esp, 0x10
ret
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0x1c
push eax
push ebx
push dword [edi + 0x3c]
call dword [0x44f268]
cmp eax, 0xffffffff
jne 0x41923f
pop ebx
pop edi
pop esi
mov eax, 0xf
pop ebp
add esp, 0x10
ret
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x10
ret