Function at 0x1400b4950
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x538
mov rdi, rcx
mov rsi, qword [rcx + 0xd8]
mov r14, qword [rcx + 0xe0]
mov rcx, rsi
call qword [r14 + 0xb8]
test rax, rax
je 0x1400b49ec
mov rbx, rax
mov dword [rsp + 0x98], 0
mov rcx, qword [rax]
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x98]
mov edx, 0xffff
mov r8d, 0x1006
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400b4a07
mov dword [rsp + 0x98], 0
mov rcx, qword [rbx]
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x98]
mov edx, 0xffff
mov r8d, 0x1005
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400b4a07
movabs rbp, 0x8000000000000000
cmp qword [rdi + 8], rbp
jne 0x1400b4a79
mov rcx, rbp
mov rsi, rcx
jmp 0x1400b4cf9
call sub.ws2_32.dll_WSAGetLastError
mov ebx, eax
cmp qword [rdi + 0xb8], 0
je 0x1400b4a3b
mov r8, qword [rdi + 0xb0]
mov rcx, qword [0x14024d108]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rsi, qword [rdi + 0xd8]
mov r14, qword [rdi + 0xe0]
shl rbx, 0x20
mov rcx, rsi
call qword [r14]
cmp qword [r14 + 8], 0
je 0x1400b4a68
cmp qword [r14 + 0x10], 0x11
jb 0x1400b4a57
mov rsi, qword [rsi - 8]
mov rcx, qword [0x14024d108]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
or rbx, 2
mov rcx, rdi
call fcn.1400b4870
jmp 0x1400b5b0a
mov r14, qword [rdi]
cmp r14, 0xffffffffffffffff
je 0x1400b4a8d
lock inc qword [r14 + 8]
jle 0x1400b52c2
mov r15, qword [rdi + 0x10]
mov rbx, qword [rdi + 0x18]
mov r13d, 1
test rbx, rbx
je 0x1400b4ac8
js 0x1400b52c2
movzx eax, byte [0x14024d119]
xor ecx, ecx
mov rdx, rbx
call fcn.140082900
test rax, rax
je 0x1400b52c2
mov rcx, rax
mov rsi, rbx
jmp 0x1400b4acf
xor esi, esi
mov ecx, 1
mov qword [rsp + 0x58], rcx
mov rdx, r15
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov r12, qword [rdi + 0x28]
mov r15, qword [rdi + 0x30]
test r15, r15
je 0x1400b4b19
js 0x1400b52c2
movzx eax, byte [0x14024d119]
xor ecx, ecx
mov rdx, r15
call fcn.140082900
test rax, rax
je 0x1400b52c2
mov r13, rax
mov rax, r15
mov qword [rsp + 0x40], r15
jmp 0x1400b4b20
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], r13
mov rcx, r13
mov rdx, r12
mov r8, r15
call sub.msvcrt.dll_memcpy
movzx r9d, word [rdi + 0x88]
movzx r10d, word [rdi + 0x8a]
cmp qword [rdi + 0x38], rbp
jne 0x1400b4b60
mov rcx, rbp
mov qword [rsp + 0x48], rcx
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x40]
jmp 0x1400b4cef
mov word [rsp + 0x34], r10w
mov word [rsp + 0x36], r9w
mov r13, qword [rdi + 0x40]
mov r8, qword [rdi + 0x48]
test r8, r8
mov qword [rsp + 0x60], r8
je 0x1400b4bb0
js 0x1400b52c2
movzx eax, byte [0x14024d119]
xor ecx, ecx
mov rdx, r8
call fcn.140082900
mov r8, qword [rsp + 0x60]
test rax, rax
je 0x1400b52c2
mov r12, rax
mov rax, r8
mov qword [rsp + 0x48], r8
jmp 0x1400b4bbd
mov r12d, 1
xor eax, eax
mov qword [rsp + 0x48], rax
mov rcx, r12
mov rdx, r13
call sub.msvcrt.dll_memcpy
mov eax, dword [rdi + 0x80]
mov dword [rsp + 0x38], eax
cmp qword [rdi + 0x50], rbp
jne 0x1400b4be2
mov rax, rbp
mov qword [rsp + 0x70], rbp
jmp 0x1400b4c47
mov rdx, qword [rdi + 0x58]
mov r13, qword [rdi + 0x60]
test r13, r13
je 0x1400b4c23
mov qword [rsp + 0x68], rdx
js 0x1400b52c2
movzx eax, byte [0x14024d119]
xor ecx, ecx
mov rdx, r13
call fcn.140082900
test rax, rax
je 0x1400b52c2
mov rcx, r13
mov qword [rsp + 0x70], r13
mov rdx, qword [rsp + 0x68]
jmp 0x1400b4c2f
mov eax, 1
xor ecx, ecx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x88], rax
mov rcx, rax
mov qword [rsp + 0x68], r13
mov r8, r13
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x40]
cmp qword [rdi + 0x68], rbp
movzx r9d, word [rsp + 0x36]
movzx r10d, word [rsp + 0x34]
mov r11, qword [rsp + 0x60]
mov qword [rsp + 0x90], r12
jne 0x1400b4c75
mov r12, rbp
jmp 0x1400b4ce8
mov rdx, qword [rdi + 0x70]
mov r13, qword [rdi + 0x78]
test r13, r13
je 0x1400b4cba
mov qword [rsp + 0x80], rdx
js 0x1400b52c2
movzx eax, byte [0x14024d119]
xor ecx, ecx
mov rdx, r13
call fcn.140082900
test rax, rax
je 0x1400b52c2
mov rbp, rax
mov r12, r13
mov rdx, qword [rsp + 0x80]
jmp 0x1400b4cc2
mov ebp, 1
xor r12d, r12d
mov rcx, rbp
mov r8, r13
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x40]
movzx r9d, word [rsp + 0x36]
movzx r10d, word [rsp + 0x34]
mov r11, qword [rsp + 0x60]
movzx eax, byte [rdi + 0x84]
movabs rcx, 0x8000000000000000
mov qword [rsp + 0x260], r14
mov qword [rsp + 0x268], rsi
mov qword [rsp + 0x270], rdx
mov qword [rsp + 0x278], rbx
mov qword [rsp + 0x280], r8
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x288], rdx
mov qword [rsp + 0x290], r15
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x298], rdx
mov rdx, qword [rsp + 0x90]
mov qword [rsp + 0x2a0], rdx
mov qword [rsp + 0x2a8], r11
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x2b0], rdx
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x2b8], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x2c0], rdx
mov qword [rsp + 0x2c8], r12
mov qword [rsp + 0x2d0], rbp
mov qword [rsp + 0x2d8], r13
mov edx, dword [rsp + 0x38]
mov dword [rsp + 0x2e0], edx
mov byte [rsp + 0x2e4], al
mov word [rsp + 0x2e8], r9w
mov word [rsp + 0x2ea], r10w
cmp rsi, rcx
mov rbp, rcx
je 0x1400b4faa
cmp r14, 0xffffffffffffffff
je 0x1400b4faa
lea r13, [rsp + 0x268]
mov rax, qword [r14]
nop word cs:[rax + rax]
test rax, rax
je 0x1400b4faa
js 0x1400b52c2
lea rcx, [rax + 1]
lock cmpxchg qword [r14], rcx
jne 0x1400b4df0
mov qword [rsp + 0x78], r14
cmp qword [r14 + 0x90], 0
je 0x1400b5038
cmp qword [r14 + 0x98], 0
je 0x1400b5038
lea rsi, [r14 + 0x38]
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi], cl
jne 0x1400b59fc
mov qword [rsp + 0x50], rsi
lea r15, [rsp + 0x180]
mov rcx, r15
mov rdx, r13
call fcn.1400d3980
lea rdx, [r14 + 0x60]
lea rcx, [rsp + 0x98]
mov qword [rsp + 0x48], rdx
mov r8, r15
call fcn.1400d2880
mov rbx, qword [rsp + 0x98]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x4b0]
mov r8d, 0x88
call sub.msvcrt.dll_memcpy
mov r12, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x130]
test rbx, rbx
je 0x1400b50c6
movzx eax, byte [0x14024d119]
mov edx, 0xe8
xor ecx, ecx
call fcn.140082900
test rax, rax
je 0x1400b52c2
mov r15, rax
mov r8d, 0xe8
mov rcx, rax
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov rdi, qword [r12]
mov rax, qword [r12 + 8]
mov rcx, rax
and rcx, rsi
movdqu xmm0, xmmword [rdi + rcx]
pmovmskb edx, xmm0
test edx, edx
jne 0x1400b4f17
mov r8d, 0x10
nop dword [rax]
add rcx, r8
and rcx, rax
movdqu xmm0, xmmword [rdi + rcx]
pmovmskb edx, xmm0
add r8, 0x10
test edx, edx
je 0x1400b4f00
tzcnt edx, edx
add rdx, rcx
and rdx, rax
movzx ecx, byte [rdi + rdx]
test cl, cl
js 0x1400b4f39
movdqa xmm0, xmmword [rdi]
pmovmskb ecx, xmm0
tzcnt edx, ecx
movzx ecx, byte [rdi + rdx]
shr rsi, 0x39
lea r8, [rdx - 0x10]
and r8, rax
mov byte [rdi + rdx], sil
mov byte [rdi + r8 + 0x10], sil
neg rdx
imul rsi, rdx, 0xa8
and cl, 1
movzx eax, cl
sub qword [r12 + 0x10], rax
lea rcx, [rdi + rsi]
add rcx, 0xffffffffffffff58
lea rdx, [rsp + 0x4b0]
mov r8d, 0x88
call sub.msvcrt.dll_memcpy
mov qword [rdi + rsi - 0x20], 1
mov qword [rdi + rsi - 0x18], r15
mov qword [rdi + rsi - 0x10], 0
mov qword [rdi + rsi - 8], 1
inc qword [r12 + 0x18]
jmp 0x1400b558c
cmp qword [rdi + 0xb8], 0
je 0x1400b4fc9
mov r8, qword [rdi + 0xb0]
mov rcx, qword [0x14024d108]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rsi, qword [rdi + 0xd8]
mov rbx, qword [rdi + 0xe0]
mov rcx, rsi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x1400b4fff
cmp qword [rbx + 0x10], 0x11
jb 0x1400b4fee
mov rsi, qword [rsi - 8]
mov rcx, qword [0x14024d108]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
cmp qword [rdi + 8], rbp
je 0x1400b5afb
mov r8, qword [rdi]
add rdi, 8
cmp r8, 0xffffffffffffffff
je 0x1400b502b
lock dec qword [r8 + 8]
jne 0x1400b502b
mov rcx, qword [0x14024d108]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rcx, rdi
call fcn.1400b8060
jmp 0x1400b5afb
cmp qword [rdi + 0xb8], 0
je 0x1400b5057
mov r8, qword [rdi + 0xb0]
mov rcx, qword [0x14024d108]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rsi, qword [rdi + 0xd8]
mov rbx, qword [rdi + 0xe0]
mov rcx, rsi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x1400b508d
cmp qword [rbx + 0x10], 0x11
jb 0x1400b507c
mov rsi, qword [rsi - 8]
mov rcx, qword [0x14024d108]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
cmp qword [rdi + 8], rbp
je 0x1400b5ae6
mov r8, qword [rdi]
add rdi, 8
cmp r8, 0xffffffffffffffff
je 0x1400b5ade
lock dec qword [r8 + 8]
jne 0x1400b5ade
mov rcx, qword [0x14024d108]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x1400b5ade
lea rcx, [rsp + 0x410]
lea rdx, [rsp + 0x4b0]
mov r8d, 0x88
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x498], r12
mov qword [rsp + 0x4a0], rsi
mov rax, qword [r12 - 0x20]
mov rsi, qword [r12 - 8]
cmp rsi, rax
jne 0x1400b5114
lea rcx, [r12 - 0x20]
call fcn.1400b7fc0
mov rax, qword [r12 - 0x20]
mov rsi, qword [r12 - 8]
mov rcx, qword [r12 - 0x10]
add rcx, rsi
xor edx, edx
cmp rcx, rax
cmovae rdx, rax
sub rcx, rdx
imul rcx, rcx, 0xe8
add rcx, qword [r12 - 0x18]
mov r8d, 0xe8
mov rdx, rdi
call sub.msvcrt.dll_memcpy
lea rax, [rsi + 1]
mov qword [r12 - 8], rax
cmp rax, qword [r14 + 0x98]
jbe 0x1400b5575
mov rax, qword [r12 - 0x10]
lea rcx, [rax + 1]
mov rdx, qword [r12 - 0x20]
mov r8, qword [r12 - 0x18]
xor r9d, r9d
cmp rcx, rdx
cmovae r9, rdx
neg r9
lea rcx, [rax + r9]
inc rcx
mov qword [r12 - 0x10], rcx
mov qword [r12 - 8], rsi
imul rax, rax, 0xe8
mov rsi, qword [r8 + rax]
mov rdi, qword [r8 + rax + 8]
lea rdx, [r8 + rax]
add rdx, 0x10
lea rcx, [rsp + 0x180]
mov r8d, 0xd8
call sub.msvcrt.dll_memcpy
lea rax, [rbp + 1]
cmp rdi, rax
je 0x1400b52c2
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0xa0], rdi
lea rcx, [rsp + 0xa8]
lea rdx, [rsp + 0x180]
mov r8d, 0xd8
call sub.msvcrt.dll_memcpy
mov rax, qword [r14 + 0x58]
mov qword [rsp + 0x38], rax
test rax, rax
je 0x1400b52c2
mov r15, qword [r14 + 0x40]
mov rdi, qword [r14 + 0x48]
mov rax, qword [r14 + 0x50]
xor esi, esi
cmp rax, r15
mov rcx, r15
cmovb rcx, rsi
sub rax, rcx
mov rcx, r15
sub rcx, rax
mov rbp, qword [rsp + 0x38]
lea rdx, [rax + rbp]
sub rbp, rcx
cmova rdx, r15
cmovbe rbp, rsi
cmp rax, rdx
je 0x1400b5281
mov rdx, rax
shl rdx, 7
lea r12, [rdx + rax*8]
add r12, rdi
mov rax, qword [rsp + 0x38]
cmp rax, rcx
cmovb rcx, rax
mov rax, rcx
shl rax, 7
lea rbx, [rax + rcx*8]
xor esi, esi
mov rcx, r12
mov rdx, r13
call fcn.1400be570
test al, al
jne 0x1400b52c4
inc rsi
add r12, 0x88
add rbx, 0xffffffffffffff78
jne 0x1400b525f
test rbp, rbp
je 0x1400b52c2
mov rax, rbp
shl rax, 7
lea rbx, [rax + rbp*8]
mov r12, rdi
nop word cs:[rax + rax]
mov rcx, r12
mov rdx, r13
call fcn.1400be570
test al, al
jne 0x1400b52c4
inc rsi
add r12, 0x88
add rbx, 0xffffffffffffff78
jne 0x1400b52a0
ud2
cmp qword [rsp + 0x38], rsi
jbe 0x1400b52c2
mov r8, qword [r14 + 0x50]
lea r9, [r8 + rsi]
xor eax, eax
cmp r9, r15
cmovae rax, r15
sub r9, rax
mov rax, r9
shl rax, 7
lea rax, [rax + r9*8]
mov r12, qword [rdi + rax]
movups xmm0, xmmword [rdi + rax + 0x78]
movaps xmmword [rsp + 0x1f0], xmm0
movups xmm0, xmmword [rdi + rax + 0x68]
movaps xmmword [rsp + 0x1e0], xmm0
movups xmm0, xmmword [rdi + rax + 0x58]
movaps xmmword [rsp + 0x1d0], xmm0
movups xmm0, xmmword [rdi + rax + 0x48]
movaps xmmword [rsp + 0x1c0], xmm0
movups xmm0, xmmword [rdi + rax + 0x38]
movaps xmmword [rsp + 0x1b0], xmm0
movups xmm0, xmmword [rdi + rax + 0x28]
movaps xmmword [rsp + 0x1a0], xmm0
movups xmm0, xmmword [rdi + rax + 0x18]
movaps xmmword [rsp + 0x190], xmm0
movups xmm0, xmmword [rdi + rax + 8]
movaps xmmword [rsp + 0x180], xmm0
mov rax, rsi
not rax
add rax, qword [rsp + 0x38]
cmp rax, rsi
jae 0x1400b5384
lea rcx, [r9 + 1]
xor edx, edx
cmp rcx, r15
cmovae rdx, r15
neg rdx
lea r8, [r9 + rdx]
inc r8
mov qword [rsp + 0x20], rax
jmp 0x1400b53a4
lea rax, [r8 + 1]
xor ecx, ecx
cmp rax, r15
cmovae rcx, r15
neg rcx
lea r9, [r8 + rcx]
inc r9
mov qword [r14 + 0x50], r9
mov qword [rsp + 0x20], rsi
mov rcx, r15
mov rdx, rdi
call fcn.1400b7c40
movabs rax, 0x8000000000000000
mov rcx, qword [rsp + 0x38]
dec rcx
mov qword [r14 + 0x58], rcx
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmmword [rsp + 0x360], xmm0
movaps xmm0, xmmword [rsp + 0x1e0]
movaps xmmword [rsp + 0x350], xmm0
movaps xmm0, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0x340], xmm0
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0x330], xmm0
movdqa xmm0, xmmword [rsp + 0x180]
movdqa xmm1, xmmword [rsp + 0x190]
movaps xmm2, xmmword [rsp + 0x1a0]
movaps xmm3, xmmword [rsp + 0x1b0]
movaps xmmword [rsp + 0x320], xmm3
movaps xmmword [rsp + 0x310], xmm2
movdqa xmmword [rsp + 0x300], xmm1
movdqa xmmword [rsp + 0x2f0], xmm0
cmp r12, rax
je 0x1400b52c2
mov qword [rsp + 0x180], r12
movaps xmm0, xmmword [rsp + 0x2f0]
movdqa xmm1, xmmword [rsp + 0x300]
movaps xmm2, xmmword [rsp + 0x310]
movaps xmm3, xmmword [rsp + 0x320]
movups xmmword [rsp + 0x188], xmm0
movdqu xmmword [rsp + 0x198], xmm1
movups xmmword [rsp + 0x1a8], xmm2
movups xmmword [rsp + 0x1b8], xmm3
movaps xmm0, xmmword [rsp + 0x330]
movups xmmword [rsp + 0x1c8], xmm0
movaps xmm0, xmmword [rsp + 0x340]
movups xmmword [rsp + 0x1d8], xmm0
movaps xmm0, xmmword [rsp + 0x350]
movups xmmword [rsp + 0x1e8], xmm0
movdqa xmm0, xmmword [rsp + 0x360]
movdqu xmmword [rsp + 0x1f8], xmm0
lea rcx, [rsp + 0x180]
call fcn.1400b8060
cmp qword [rsp + 0x150], 0
je 0x1400b550c
mov r8, qword [rsp + 0x148]
mov rcx, qword [0x14024d108]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rdi, qword [rsp + 0x170]
mov rsi, qword [rsp + 0x178]
mov rcx, rdi
call qword [rsi]
cmp qword [rsi + 8], 0
movabs rbp, 0x8000000000000000
je 0x1400b554e
cmp qword [rsi + 0x10], 0x11
jb 0x1400b553d
mov rdi, qword [rdi - 8]
mov rcx, qword [0x14024d108]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0xa0], rbp
je 0x1400b5575
lea rdi, [rsp + 0xa0]
mov rcx, qword [rsp + 0x98]
call fcn.1400c49d0
mov rcx, rdi
call fcn.1400b8060
cmp qword [rsp + 0x410], rbp
je 0x1400b558c
lea rcx, [rsp + 0x410]
call fcn.1400b8060
mov r15, qword [rsp + 0x50]
lea rcx, [rsp + 0x98]
mov rdx, r13
call fcn.1400d3980
mov rax, qword [r14 + 0x40]
mov rsi, qword [r14 + 0x58]
cmp rsi, rax
jne 0x1400b55bf
lea rcx, [r14 + 0x40]
call fcn.1400b7f10
mov rax, qword [r14 + 0x40]
mov rsi, qword [r14 + 0x58]
mov rcx, qword [r14 + 0x50]
add rcx, rsi
xor edi, edi
cmp rcx, rax
mov edx, 0
cmovae rdx, rax
sub rcx, rdx
mov rax, rcx
shl rax, 7
lea rcx, [rax + rcx*8]
add rcx, qword [r14 + 0x48]
lea rdx, [rsp + 0x98]
mov r8d, 0x88
call sub.msvcrt.dll_memcpy
inc rsi
mov qword [r14 + 0x58], rsi
cmp rsi, qword [r14 + 0x90]
xchg byte [r14 + 0x38], dil
jbe 0x1400b58c1
cmp dil, 2
jne 0x1400b561f
mov rcx, r15
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
cmp qword [r14 + 0x90], 0
je 0x1400b52c2
cmp qword [r14 + 0x98], 0
je 0x1400b52c2
mov cl, 1
xor eax, eax
lock cmpxchg byte [r15], cl
jne 0x1400b5b21
mov rcx, qword [r14 + 0x58]
test rcx, rcx
je 0x1400b52c2
mov rdx, qword [r14 + 0x50]
lea r8, [rdx + 1]
mov r9, qword [r14 + 0x40]
mov rax, qword [r14 + 0x48]
xor r10d, r10d
cmp r8, r9
cmovae r10, r9
neg r10
lea r8, [rdx + r10]
inc r8
mov qword [r14 + 0x50], r8
dec rcx
mov qword [r14 + 0x58], rcx
mov rcx, rdx
shl rcx, 7
lea rdx, [rcx + rdx*8]
mov rcx, qword [rax + rdx]
cmp rcx, rbp
je 0x1400b52c2
add rax, rdx
mov qword [rsp + 0x388], rcx
movups xmm0, xmmword [rax + 8]
movdqu xmm1, xmmword [rax + 0x18]
movups xmm2, xmmword [rax + 0x28]
movups xmm3, xmmword [rax + 0x38]
movups xmmword [rsp + 0x390], xmm0
movdqu xmmword [rsp + 0x3a0], xmm1
movups xmmword [rsp + 0x3b0], xmm2
movups xmmword [rsp + 0x3c0], xmm3
movups xmm0, xmmword [rax + 0x48]
movups xmmword [rsp + 0x3d0], xmm0
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x3e0], xmm0
movups xmm0, xmmword [rax + 0x68]
movups xmmword [rsp + 0x3f0], xmm0
movdqu xmm0, xmmword [rax + 0x78]
movdqu xmmword [rsp + 0x400], xmm0
lea rcx, [rsp + 0x98]
lea r8, [rsp + 0x388]
mov rdx, qword [rsp + 0x48]
call fcn.1400d2880
cmp qword [rsp + 0x98], 0
jne 0x1400b52c2
lea rdx, [rsp + 0xa0]
lea rdi, [rsp + 0x418]
mov r8d, 0x98
mov rcx, rdi
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x410], 0
lea rcx, [rsp + 0x2f0]
mov r8d, 0x98
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x378]
mov rsi, qword [rax - 8]
test rsi, rsi
je 0x1400b52c2
mov rcx, qword [rax - 0x10]
lea rdx, [rcx + 1]
mov r8, qword [rax - 0x20]
mov r9, qword [rax - 0x18]
xor r10d, r10d
cmp rdx, r8
cmovae r10, r8
neg r10
lea rdx, [rcx + r10]
inc rdx
mov qword [rax - 0x10], rdx
dec rsi
mov qword [rax - 8], rsi
imul rax, rcx, 0xe8
mov rbx, qword [r9 + rax]
mov r14, qword [r9 + rax + 8]
lea rdx, [r9 + rax]
add rdx, 0x10
lea rcx, [rsp + 0x180]
mov r8d, 0xd8
call sub.msvcrt.dll_memcpy
lea rax, [rbp + 1]
cmp r14, rax
je 0x1400b52c2
mov qword [rsp + 0x98], rbx
lea rbx, [rsp + 0xa0]
mov qword [rsp + 0xa0], r14
lea rcx, [rsp + 0xa8]
lea rdx, [rsp + 0x180]
mov r8d, 0xd8
call sub.msvcrt.dll_memcpy
test rsi, rsi
je 0x1400b58d8
cmp qword [rsp + 0x150], 0
je 0x1400b584f
mov r8, qword [rsp + 0x148]
mov rcx, qword [0x14024d108]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov r14, qword [rsp + 0x170]
mov rsi, qword [rsp + 0x178]
mov rcx, r14
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x1400b5887
cmp qword [rsi + 0x10], 0x11
jb 0x1400b5876
mov r14, qword [r14 - 8]
mov rcx, qword [0x14024d108]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0xa0], rbp
je 0x1400b58a6
mov rcx, qword [rsp + 0x98]
call fcn.1400c49d0
mov rcx, rbx
call fcn.1400b8060
cmp qword [rsp + 0x2f0], rbp
je 0x1400b5ac2
lea rcx, [rsp + 0x2f0]
jmp 0x1400b5abd
cmp dil, 2
jne 0x1400b5ae6
mov rcx, r15
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
jmp 0x1400b5ae6
mov rdx, qword [rsp + 0x4a0]
mov rax, qword [rsp + 0x4a8]
mov rcx, qword [rax]
mov r9, rcx
sub r9, rdx
sar r9, 3
movabs r8, 0xcf3cf3cf3cf3cf3d
imul r8, r9
lea r9, [r8 - 0x10]
and r9, qword [rax + 8]
movdqu xmm0, xmmword [rcx + r9]
pcmpeqd xmm1, xmm1
pcmpeqb xmm0, xmm1
psllw xmm0, 7
pmovmskb r11d, xmm0
movdqu xmm0, xmmword [rcx + r8]
pcmpeqb xmm0, xmm1
pmovmskb r10d, xmm0
test r11d, r11d
je 0x1400b5942
bsr r11w, r11w
xor r11d, 0xf
jmp 0x1400b5947
mov r11w, 0x10
mov rsi, qword [rsp + 0x418]
or r10d, 0x10000
tzcnt r10d, r10d
add r11d, r10d
mov r10b, pe_nt_image_headers64
cmp r11w, 0xf
ja 0x1400b596f
inc qword [rax + 0x10]
mov r10b, 0xff
mov byte [rcx + r8], r10b
mov byte [rcx + r9 + 0x10], r10b
dec qword [rax + 0x18]
add rdx, 0xffffffffffffff58
lea rcx, [rsp + 0x180]
mov r8d, 0xa8
call sub.msvcrt.dll_memcpy
cmp rsi, rbp
je 0x1400b59a3
mov rcx, rdi
call fcn.1400b8060
mov rsi, qword [rsp + 0x208]
mov r14, qword [rsp + 0x210]
mov r13, qword [rsp + 0x218]
mov r15, qword [rsp + 0x220]
lea rcx, [rsp + 0x180]
call fcn.1400b8060
test r15, r15
je 0x1400b59f4
xor eax, eax
cmp r13, rsi
cmovae rax, rsi
sub r13, rax
mov rax, rsi
sub rax, r13
mov r12, r15
sub r12, rax
jbe 0x1400b5a09
mov r15, rsi
jmp 0x1400b5a0f
xor r13d, r13d
xor r15d, r15d
jmp 0x1400b5a0c
mov rcx, rsi
call fcn.1400905e0
jmp 0x1400b4e3d
add r15, r13
xor r12d, r12d
imul rcx, r13, 0xe8
add rcx, r14
sub r15, r13
mov rdx, r15
call fcn.1400b8120
mov rcx, r14
mov rdx, r12
call fcn.1400b8120
test rsi, rsi
je 0x1400b5a45
mov rcx, qword [0x14024d108]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x150], 0
mov r15, qword [rsp + 0x50]
je 0x1400b5a6b
mov r8, qword [rsp + 0x148]
mov rcx, qword [0x14024d108]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov r14, qword [rsp + 0x170]
mov rsi, qword [rsp + 0x178]
mov rcx, r14
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x1400b5aa3
cmp qword [rsi + 0x10], 0x11
jb 0x1400b5a92
mov r14, qword [r14 - 8]
mov rcx, qword [0x14024d108]
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0xa0], rbp
je 0x1400b5ac2
mov rcx, qword [rsp + 0x98]
call fcn.1400c49d0
mov rcx, rbx
call fcn.1400b8060
xor eax, eax
xchg byte [r15], al
cmp al, 2
jne 0x1400b5ad3
mov rcx, r15
call sub.api_ms_win_core_synch_l1_2_0.dll_WakeByAddressSingle
cmp qword [rsp + 0x410], 0
je 0x1400b5ae6
mov rcx, rdi
call fcn.1400b8060
mov rax, qword [rsp + 0x78]
lock dec qword [rax]
jne 0x1400b5afb
lea rcx, [rsp + 0x78]
call fcn.1400c4130
lea rcx, [rsp + 0x260]
call fcn.1400b4870
xor ebx, ebx
mov rax, rbx
add rsp, 0x538
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r15
call fcn.1400905e0
mov rcx, qword [r14 + 0x58]
test rcx, rcx
jne 0x1400b5657
jmp 0x1400b52c2