Function at 0x3225890
Capabilities:
Set socket configuration

Disassembly:
push rbp
push rbx
push rdi
push r12
push r13
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov rax, qword [0x03260b88]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rax, qword [0x0325c200]
xorps xmm0, xmm0
mov r13, rcx
mov qword [rbp - 0x61], rdx
mov rcx, rdx
mov rbx, rdx
xor edi, edi
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
call qword [rax + 0xe0]
mov r12, rax
test rax, rax
jne 0x3225903
mov rax, qword [0x0325c200]
lea ecx, [rdi + 8]
mov r8, r12
mov rdx, r13
mov r9, qword [rax + 0xc0]
call r9
lea eax, [rdi + 8]
jmp 0x3225afb
mov ecx, 0x28
mov qword [rsp + 0x120], rsi
call fcn.0322fc58
mov rsi, rax
test rax, rax
jne 0x322593f
mov rax, qword [0x0325c200]
lea ecx, [rsi + 8]
mov r8, r12
mov rdx, r13
mov r9, qword [rax + 0xc0]
call r9
lea eax, [rsi + 8]
jmp 0x3225af3
mov qword [rsp + 0xd8], r14
mov edx, 0x205df
mov qword [rsp + 0xd0], r15
mov rcx, rbx
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], rdi
mov qword [rax], r13
mov rax, qword [0x0325c200]
call qword [rax + pe_nt_image_headers64]
mov dword [rbp - 0x71], eax
mov edx, 0x105de
mov rax, qword [0x0325c200]
mov rcx, rbx
call qword [rax + 0xc8]
mov r15, rax
mov ecx, 0x17
test rax, rax
je 0x32259b4
mov rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], dil
jne 0x32259a3
test rax, rax
jne 0x3225a09
mov r15, rdi
mov r14d, ecx
mov dword [rsp + 0x28], edi
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov ecx, r14d
mov edi, 6
mov r8d, edi
lea edx, [rdi - 5]
call qword [sym.imp.WS2_32.dll_WSASocketA]
mov qword [rsi + 0x18], rax
mov rbx, rax
cmp r14d, 0x17
jne 0x3225b77
cmp rax, 0xffffffffffffffff
jne 0x3225b16
test r15, r15
jne 0x3225b77
mov ebx, 2
mov r14d, ebx
mov ecx, ebx
jmp 0x3225b53
mov rax, qword [0x03264190]
mov r14d, edi
mov qword [rbp - 0x79], rdi
mov qword [0x032641b0], 4
test rax, rax
jne 0x3225a35
xor ecx, ecx
call fcn.0321f780
mov qword [0x03264190], rax
lea r9, [rbp - 0x79]
xor edx, edx
lea r8, [0x032641b0]
mov rcx, r15
call rax
mov ecx, eax
mov ebx, eax
call qword [sym.imp.WS2_32.dll_WSASetLastError]
test ebx, ebx
jne 0x3225a7d
mov rbx, qword [rbp - 0x79]
mov rax, qword [0x03264198]
mov r14d, dword [rbx + 4]
test rax, rax
jne 0x3225a78
lea ecx, [rax + 2]
call fcn.0321f780
mov qword [0x03264198], rax
mov rcx, rbx
call rax
cmp r14d, 2
je 0x32259b7
cmp r14d, 0x17
je 0x32259b7
mov rax, qword [0x0325c200]
mov edi, 0x57
mov r9, qword [rax + 0xc0]
mov r8, r12
mov rdx, r13
mov ecx, edi
call r9
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x3225abe
call qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x3225ad9
mov r8, qword [0x0325c200]
mov rdx, qword [rbp - 0x61]
call qword [r8 + 0x280]
mov rcx, rsi
call fcn.0322fc44
mov eax, edi
mov r14, qword [rsp + 0xd8]
mov r15, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0x120]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.03229100
add rsp, 0xe0
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret
mov edx, 0x29
mov dword [rbp - 0x79], 0
lea r9, [rbp - 0x79]
mov dword [rsp + 0x20], 4
mov rcx, rbx
lea r8d, [rdx - 0xe]
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x3225b77
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
mov eax, 2
mov r14d, eax
mov ecx, eax
xor r9d, r9d
mov dword [rsp + 0x28], 0
mov r8d, edi
mov dword [rsp + 0x20], 0
lea edx, [r9 + 1]
call qword [sym.imp.WS2_32.dll_WSASocketA]
mov qword [rsi + 0x18], rax
mov rax, qword [rsi + 0x18]
mov qword [rbp - 0x69], rax
cmp rax, 0xffffffffffffffff
je 0x3225dcc
mov qword [rbp + 0xb], 0
xorps xmm0, xmm0
mov ebx, 1
movdqu xmmword [rbp - 5], xmm0
cmp r14d, 2
jne 0x3225c8b
test r15, r15
je 0x3225c54
mov rax, qword [0x03264190]
xor r14d, r14d
mov qword [rbp - 0x79], r14
mov dword [rbp - 0x35], 2
mov dword [rbp - 0x39], 4
test rax, rax
jne 0x3225be0
xor ecx, ecx
call fcn.0321f780
mov qword [0x03264190], rax
lea r9, [rbp - 0x79]
xor edx, edx
lea r8, [rbp - 0x39]
mov rcx, r15
call rax
mov ecx, eax
mov ebx, eax
call qword [sym.imp.WS2_32.dll_WSASetLastError]
test ebx, ebx
je 0x3225c02
mov ebx, r14d
jmp 0x3225c65
mov rcx, qword [rbp - 0x79]
cmp dword [rcx + 4], 2
je 0x3225c16
call fcn.03226210
mov ebx, r14d
jmp 0x3225c65
mov rax, qword [rcx + 0x20]
add rax, 4
je 0x3225c31
mov eax, dword [rax]
mov dword [rbp - 5], eax
call fcn.03226210
mov ebx, 1
jmp 0x3225c65
xor eax, eax
mov dword [rbp - 5], eax
call fcn.03235dec
mov dword [rax], 0x16
call fcn.03235c0c
mov rcx, qword [rbp - 0x79]
call fcn.03226210
mov ebx, r14d
jmp 0x3225c65
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_htons]
movzx eax, ax
xor r14d, r14d
mov dword [rbp - 5], eax
movzx ecx, word [rbp - 0x71]
mov eax, 2
mov word [rbp - 9], ax
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp - 7], ax
mov r8d, 0x10
mov dword [rsi + 0x20], r14d
jmp 0x3225d74
cmp r14d, 0x17
jne 0x3225a91
xor r14d, r14d
test r15, r15
je 0x3225d45
mov rax, qword [0x03264190]
mov qword [rbp - 0x79], r14
mov dword [rbp - 0x35], 0x17
mov dword [rbp - 0x39], 4
test rax, rax
jne 0x3225ccd
xor ecx, ecx
call fcn.0321f780
mov qword [0x03264190], rax
lea r9, [rbp - 0x79]
xor edx, edx
lea r8, [rbp - 0x39]
mov rcx, r15
call rax
mov ecx, eax
mov ebx, eax
call qword [sym.imp.WS2_32.dll_WSASetLastError]
test ebx, ebx
je 0x3225cef
mov ebx, r14d
jmp 0x3225d50
mov rcx, qword [rbp - 0x79]
cmp dword [rcx + 4], 0x17
je 0x3225d03
call fcn.03226210
mov ebx, r14d
jmp 0x3225d50
mov rax, qword [rcx + 0x20]
add rax, 8
je 0x3225d20
movups xmm0, xmmword [rax]
movups xmmword [rbp - 1], xmm0
call fcn.03226210
mov ebx, 1
jmp 0x3225d50
xorps xmm0, xmm0
movups xmmword [rbp - 1], xmm0
call fcn.03235dec
mov dword [rax], 0x16
call fcn.03235c0c
mov rcx, qword [rbp - 0x79]
call fcn.03226210
mov ebx, r14d
jmp 0x3225d50
movups xmm0, xmmword [0x032641a0]
movups xmmword [rbp - 1], xmm0
movzx ecx, word [rbp - 0x71]
mov eax, 0x17
mov word [rbp - 9], ax
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp - 7], ax
mov r8d, 0x1c
mov dword [rsi + 0x20], 1
cmp ebx, 1
jne 0x3225a91
mov rbx, qword [rbp - 0x69]
lea rdx, [rbp - 9]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
je 0x3225dcc
mov edx, 0x7fffffff
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
je 0x3225dcc
call qword [sym.imp.WS2_32.dll_WSACreateEvent]
mov qword [rsi + 0x10], rax
test rax, rax
je 0x3225dcc
mov r8d, 8
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
cmp eax, 0xffffffff
jne 0x3225df6
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov r8, r12
mov rdx, r13
mov edi, eax
mov ecx, eax
mov rax, qword [0x0325c200]
call qword [rax + 0xc0]
test edi, edi
jne 0x3225aaf
jmp 0x3225ae1
lea rax, [0x032239f0]
mov qword [rbp - 0x51], r14
mov qword [rbp - 0x49], rax
lea r8, [rbp - 0x59]
mov rax, qword [0x0325c200]
mov edx, 1
xor ecx, ecx
mov qword [rbp - 0x41], r14
mov qword [rbp - 0x59], rsi
call qword [rax + 0x1f8]
mov qword [rsi + 8], rax
test rax, rax
mov rax, qword [0x0325c200]
je 0x3225a9d
mov rcx, qword [rsi + 0x10]
lea r9, [0x03225ea0]
xor r8d, r8d
mov qword [rsp + 0x20], r14
mov rdx, rsi
call qword [rax + 0x2c0]
mov rbx, qword [0x0325c200]
mov rcx, qword [rsi + 8]
call qword [rbx + 0x220]
mov edx, 0x20032
mov rcx, r12
mov r8d, eax
call qword [rbx + 0x58]
mov rdx, r12
mov rcx, rsi
call fcn.03228f30
mov rcx, qword [0x0325c200]
mov r8, r12
mov rdx, r13
mov r9, qword [rcx + 0xc0]
xor ecx, ecx
call r9
mov eax, r14d
jmp 0x3225ae3