Function at 0x14007894c
Capabilities:
Set socket configuration

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
lea rbp, [rax - 0x28]
sub rsp, 0x120
mov rdi, rcx
movzx ecx, word [rdx]
movaps xmmword [rax - 0x18], xmm6
mov rsi, rdx
cmp ecx, 0x24
jg 0x140078d8d
je 0x140078c4a
cmp ecx, 0xb
jg 0x140078b66
je 0x140078b50
cmp ecx, 5
jg 0x140078a46
je 0x140078a3f
test ecx, ecx
je 0x140078a2b
dec ecx
je 0x1400789ea
dec ecx
je 0x1400789e1
dec ecx
je 0x140078c2d
dec ecx
jne 0x140078f18
movss xmm6, dword [rdx + 8]
cvtps2pd xmm6, xmm6
mov rcx, rdi
call fcn.140006890
mov dword [rdi + 0x10], 3
movsd qword [rdi], xmm6
jmp 0x140078f58
movsx ebx, word [rdx + 8]
jmp 0x140078f47
lea rcx, [rbp - 0x38]
lea rdx, [0x1400ab2d0]
call fcn.14001f0bc
mov edx, 0x2a
lea rcx, [rsp + 0x40]
xor r8d, r8d
mov r9, rax
call fcn.140076fd8
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140077ff4
lea rcx, [rsp + 0x48]
call fcn.14001c29c
jmp 0x140078f58
lea rdx, [0x1400ab2d0]
mov rcx, rdi
call fcn.140006af4
jmp 0x140078f58
movsd xmm6, qword [rdx + 8]
jmp 0x1400789c9
sub ecx, 6
je 0x140078b3a
dec ecx
je 0x140078adf
dec ecx
je 0x140078a97
dec ecx
je 0x140078bcc
dec ecx
jne 0x140078f18
cmp dword [rdx + 8], 0x80020004
jne 0x140078a8e
lea rdx, str.Default
lea rcx, [rbp - 0x58]
call fcn.14001f0bc
mov edx, reloc.OLEAUT32.dll_SafeArrayCreateEx
jmp 0x1400789ff
lea rcx, [rbp - 0x18]
jmp 0x1400789ee
xor ebx, ebx
lea ecx, [rbx + 0x20]
cmp qword [rdx + 8], rbx
je 0x140078aba
call fcn.14002652c
test rax, rax
je 0x140078acf
mov rdx, qword [rsi + 8]
mov rcx, rax
call fcn.14001f0bc
jmp 0x140078acc
call fcn.14002652c
test rax, rax
je 0x140078acf
mov rcx, rax
call fcn.14001e640
mov rbx, rax
mov qword [rdi + 8], rbx
mov dword [rdi + 0x10], 4
jmp 0x140078f58
movsd xmm0, qword [rsi + 8]
lea rdx, [rsp + 0x68]
call qword [sym.imp.OLEAUT32.dll_UnRegisterTypeLib]
movzx ecx, word [rsp + 0x72]
movzx edx, word [rsp + 0x70]
movzx eax, word [rsp + 0x74]
movzx r10d, word [rsp + 0x6e]
movzx r9d, word [rsp + 0x6a]
movzx r8d, word [rsp + 0x68]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
lea rcx, [rbp - 0x78]
lea rdx, str._4d_02d_02d_02d_02d_02d
mov dword [rsp + 0x20], r10d
call fcn.1400279e0
lea rdx, [rbp - 0x78]
jmp 0x140078a32
xorps xmm6, xmm6
cvtsi2sd xmm6, qword [rdx + 8]
divsd xmm6, qword [0x1400d1ea8]
jmp 0x1400789c9
xor ebx, ebx
cmp word [rdx + 8], bx
setne dl
mov rcx, rdi
call fcn.140006688
jmp 0x140078f58
cmp ecx, 0x13
jg 0x140078c18
je 0x140078c2d
sub ecx, 0xd
je 0x140078bcc
dec ecx
je 0x140078baa
sub ecx, 2
je 0x140078ba1
dec ecx
je 0x140078b98
dec ecx
jne 0x140078f18
movzx ebx, word [rdx + 8]
jmp 0x140078f47
movzx ebx, byte [rdx + 8]
jmp 0x140078f47
movsx ebx, byte [rdx + 8]
jmp 0x140078f47
movups xmm0, xmmword [rdx]
lea rdx, [rbp + 0x38]
lea rcx, [rsp + 0x78]
movdqu xmmword [rsp + 0x78], xmm0
call qword [sym.imp.OLEAUT32.dll_VarDateFromI1]
movsd xmm6, qword [rbp + 0x38]
jmp 0x1400789c9
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov dword [rdi + 0x10], 8
call fcn.14002652c
mov rcx, rax
mov qword [rdi], rax
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rcx, qword [rdi]
mov rdx, rsi
call qword [sym.imp.WSOCK32.dll_inet_addr]
xor ebx, ebx
test eax, eax
jns 0x140078f58
mov rcx, qword [rdi]
call qword [sym.imp.WSOCK32.dll_htons]
mov rcx, qword [rdi]
call fcn.140024cec
mov qword [rdi], rbx
jmp 0x140078f58
sub ecx, 0x14
je 0x140078c35
dec ecx
je 0x140078c35
dec ecx
je 0x140078c2d
dec ecx
jne 0x140078f18
mov ebx, dword [rdx + 8]
jmp 0x140078f47
mov rbx, qword [rdx + 8]
mov rcx, rdi
call fcn.140006890
mov dword [rdi + 0x10], 2
jmp 0x140078c10
lea rcx, [rsp + 0x40]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsi + 0x10]
xor ebx, ebx
mov qword [rsp + 0x48], rbx
mov rax, qword [rcx]
lea r9, [rsp + 0x40]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rbx
call qword [rax + 0x58]
mov eax, 0x8000
test word [rsp + 0x40], ax
je 0x140078d7d
mov ecx, dword [rsp + 0x40]
and ecx, 0xfff
sub ecx, 0xc
je 0x140078d3a
dec ecx
je 0x140078d08
dec ecx
lea ecx, [rbx + 0x28]
je 0x140078cca
mov dword [rdi + 0x10], reloc.WSOCK32.dll_ntohs
call fcn.14002652c
test rax, rax
je 0x140078d60
mov rdx, qword [rsp + 0x48]
mov rcx, rax
call fcn.140070d2c
jmp 0x140078d5d
mov dword [rdi + 0x10], ntohs
call fcn.14002652c
mov rsi, rax
test rax, rax
je 0x140078ce8
mov rcx, rax
call fcn.14001e640
jmp 0x140078ceb
mov rsi, rbx
mov rdx, qword [rsp + 0x48]
mov rcx, rsi
mov qword [rdi], rsi
call fcn.14001edf8
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140078d63
mov ecx, SafeArrayCreateEx
mov dword [rdi + 0x10], reloc.WSOCK32.dll_listen
call fcn.14002652c
mov rsi, rax
test rax, rax
je 0x140078d2b
mov rcx, rax
call fcn.14001e640
jmp 0x140078d2e
mov rsi, rbx
mov eax, dword [rsp + 0x48]
mov qword [rdi], rsi
mov dword [rsi + 0x20], eax
jmp 0x140078d63
mov ecx, SafeArrayCreateEx
mov dword [rdi + 0x10], reloc.WSOCK32.dll_ioctlsocket
call fcn.14002652c
test rax, rax
je 0x140078d60
mov rdx, qword [rsp + 0x48]
mov rcx, rax
call fcn.140075de4
mov rbx, rax
mov qword [rdi], rbx
mov eax, 0x1a
lea rcx, [rsp + 0x40]
mov word [rsp + 0x40], ax
call qword [sym.imp.WSOCK32.dll_htons]
jmp 0x140078f58
lea rcx, [rsp + 0x40]
call qword [sym.imp.WSOCK32.dll_htons]
jmp 0x140078f18
mov eax, 0x4010
cmp ecx, eax
jg 0x140078ef8
je 0x140078eea
sub ecx, 0x4002
je 0x140078edc
dec ecx
je 0x140078ecb
dec ecx
je 0x140078eb5
dec ecx
je 0x140078e9f
sub ecx, 3
je 0x140078e68
dec ecx
je 0x140078e0f
sub ecx, 2
je 0x140078df8
dec ecx
jne 0x140078f18
mov rdx, qword [rdx + 8]
test rdx, rdx
je 0x140078f58
mov rcx, rdi
call fcn.140078068
jmp 0x140078f58
mov rax, qword [rdx + 8]
xor ebx, ebx
test rax, rax
je 0x140078f58
cmp word [rax], bx
jmp 0x140078b56
xor ebx, ebx
cmp qword [rdx + 8], rbx
je 0x140078f58
lea ecx, [rbx + 0x18]
mov dword [rdi + 0x10], 8
call fcn.14002652c
mov rcx, rax
mov qword [rdi], rax
call qword [sym.imp.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
lea ecx, [rbx + 9]
mov word [rax], cx
mov rax, qword [rsi + 8]
mov rcx, qword [rdi]
mov rax, qword [rax]
mov qword [rcx + 8], rax
mov rax, qword [rdi]
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x140078f58
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140078f58
mov rax, qword [rdx + 8]
xor ebx, ebx
test rax, rax
je 0x140078e95
cmp qword [rax], rbx
je 0x140078e95
lea ecx, [rbx + 0x20]
call fcn.14002652c
test rax, rax
je 0x140078acf
mov rdx, qword [rsi + 8]
mov rdx, qword [rdx]
jmp 0x140078ab0
mov ecx, reloc.OLEAUT32.dll_RegisterActiveObject
jmp 0x140078aba
mov rax, qword [rdx + 8]
test rax, rax
je 0x140078f58
movsd xmm6, qword [rax]
jmp 0x1400789c9
mov rax, qword [rdx + 8]
test rax, rax
je 0x140078f58
movss xmm6, dword [rax]
jmp 0x1400789c6
mov rax, qword [rdx + 8]
test rax, rax
je 0x140078f58
mov ebx, dword [rax]
jmp 0x140078f47
mov rax, qword [rdx + 8]
test rax, rax
je 0x140078f58
movsx ebx, word [rax]
jmp 0x140078f47
mov rax, qword [rdx + 8]
test rax, rax
je 0x140078f58
movsx ebx, byte [rax]
jmp 0x140078f47
sub ecx, 0x4011
je 0x140078f3b
dec ecx
je 0x140078f2d
dec ecx
je 0x140078ecb
dec ecx
je 0x140078f1c
dec ecx
je 0x140078f1c
dec ecx
je 0x140078ecb
dec ecx
je 0x140078ecb
xor al, al
jmp 0x140078f5a
mov rax, qword [rdx + 8]
test rax, rax
je 0x140078f58
mov rbx, qword [rax]
jmp 0x140078c39
mov rax, qword [rdx + 8]
test rax, rax
je 0x140078f58
movzx ebx, word [rax]
jmp 0x140078f47
mov rax, qword [rdx + 8]
test rax, rax
je 0x140078f58
movzx ebx, byte [rax]
mov rcx, rdi
call fcn.140006890
mov dword [rdi + 0x10], 1
mov dword [rdi], ebx
mov al, 1
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop rbp
ret