Function at 0x1400b79a0
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x458
mov rdi, rcx
mov rsi, qword [rcx + 0xd8]
mov r14, qword [rcx + 0xe0]
mov rcx, rsi
call qword [r14 + 0xb8]
test rax, rax
je 0x1400b7a3c
mov rbx, rax
mov dword [rsp + 0xe8], 0
mov rcx, qword [rax]
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0xe8]
mov edx, 0xffff
mov r8d, 0x1006
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400b7a57
mov dword [rsp + 0xe8], 0
mov rcx, qword [rbx]
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0xe8]
mov edx, 0xffff
mov r8d, 0x1005
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400b7a57
movabs rbp, 0x8000000000000000
cmp qword [rdi + 8], rbp
jne 0x1400b7ac9
mov rcx, rbp
mov rsi, rcx
jmp 0x1400b7ce1
call sub.ws2_32.dll_WSAGetLastError
mov ebx, eax
shl rbx, 0x20
cmp qword [rdi + 0xb8], 0
je 0x1400b7a8f
mov r8, qword [rdi + 0xb0]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [rdi + 0xd8]
mov r14, qword [rdi + 0xe0]
or rbx, 2
mov rcx, rsi
call qword [r14]
cmp qword [r14 + 8], 0
je 0x1400b7abc
cmp qword [r14 + 0x10], 0x11
jb 0x1400b7aab
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rcx, rdi
call fcn.1400b78c0
jmp 0x1400b8a73
mov rbx, qword [rdi]
cmp rbx, 0xffffffffffffffff
je 0x1400b7add
lock inc qword [rbx + 8]
jle 0x1400b82af
mov r15, qword [rdi + 0x10]
mov rsi, qword [rdi + 0x18]
mov r13d, 1
mov r14d, 1
test rsi, rsi
je 0x1400b7b19
js 0x1400b82af
movzx eax, byte [0x140259141]
xor ecx, ecx
mov rdx, rsi
call fcn.14008b700
mov r14, rax
test rax, rax
je 0x1400b82af
mov rcx, r14
mov rdx, r15
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov r12, qword [rdi + 0x28]
mov r15, qword [rdi + 0x30]
test r15, r15
je 0x1400b7b57
js 0x1400b82af
movzx eax, byte [0x140259141]
xor ecx, ecx
mov rdx, r15
call fcn.14008b700
mov r13, rax
test rax, rax
je 0x1400b82af
mov qword [rsp + 0x38], r13
mov rcx, r13
mov rdx, r12
mov r8, r15
call sub.msvcrt.dll_memcpy
movzx r8d, word [rdi + 0x88]
movzx r9d, word [rdi + 0x8a]
cmp qword [rdi + 0x38], rbp
jne 0x1400b7b88
mov r12, rbp
jmp 0x1400b7cd7
mov r13, qword [rdi + 0x40]
mov r12, qword [rdi + 0x48]
test r12, r12
mov word [rsp + 0x2e], r8w
mov word [rsp + 0x2c], r9w
je 0x1400b7bc5
js 0x1400b82af
movzx eax, byte [0x140259141]
xor ecx, ecx
mov rdx, r12
call fcn.14008b700
mov rcx, rax
test rax, rax
jne 0x1400b7bca
jmp 0x1400b82af
mov ecx, 1
mov qword [rsp + 0x48], rcx
mov rdx, r13
mov r8, r12
call sub.msvcrt.dll_memcpy
mov r10d, dword [rdi + 0x80]
cmp qword [rdi + 0x50], rbp
mov dword [rsp + 0x44], r10d
jne 0x1400b7c06
mov r13, rbp
cmp qword [rdi + 0x68], r13
movzx r8d, word [rsp + 0x2e]
movzx r9d, word [rsp + 0x2c]
jne 0x1400b7c6d
jmp 0x1400b7ccb
mov r13, qword [rdi + 0x58]
mov rbp, qword [rdi + 0x60]
test rbp, rbp
je 0x1400b7c37
js 0x1400b82af
movzx eax, byte [0x140259141]
xor ecx, ecx
mov rdx, rbp
call fcn.14008b700
mov rcx, rax
test rax, rax
jne 0x1400b7c3c
jmp 0x1400b82af
mov ecx, 1
mov qword [rsp + 0x50], rcx
mov rdx, r13
mov r8, rbp
call sub.msvcrt.dll_memcpy
movabs r13, 0x8000000000000000
mov r10d, dword [rsp + 0x44]
cmp qword [rdi + 0x68], r13
movzx r8d, word [rsp + 0x2e]
movzx r9d, word [rsp + 0x2c]
je 0x1400b7c01
mov rdx, qword [rdi + 0x70]
mov r13, qword [rdi + 0x78]
test r13, r13
je 0x1400b7ca8
mov qword [rsp + 0x30], rdx
js 0x1400b82af
movzx eax, byte [0x140259141]
xor ecx, ecx
mov rdx, r13
call fcn.14008b700
mov rcx, rax
test rax, rax
mov rdx, qword [rsp + 0x30]
jne 0x1400b7cad
jmp 0x1400b82af
mov ecx, 1
mov qword [rsp + 0x30], rcx
mov r8, r13
call sub.msvcrt.dll_memcpy
movzx r8d, word [rsp + 0x2e]
movzx r9d, word [rsp + 0x2c]
mov r10d, dword [rsp + 0x44]
mov r11, qword [rsp + 0x50]
movzx eax, byte [rdi + 0x84]
movabs rcx, 0x8000000000000000
mov qword [rsp + 0x2a8], rbx
mov qword [rsp + 0x2b0], rsi
mov qword [rsp + 0x2b8], r14
mov qword [rsp + 0x2c0], rsi
mov qword [rsp + 0x2c8], r15
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x2d0], rdx
mov qword [rsp + 0x2d8], r15
mov qword [rsp + 0x2e0], r12
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x2e8], rdx
mov qword [rsp + 0x2f0], r12
mov qword [rsp + 0x2f8], rbp
mov qword [rsp + 0x300], r11
mov qword [rsp + 0x308], rbp
mov qword [rsp + 0x310], r13
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0x318], rdx
mov qword [rsp + 0x320], r13
mov dword [rsp + 0x328], r10d
mov byte [rsp + 0x32c], al
mov word [rsp + 0x330], r8w
mov word [rsp + 0x332], r9w
cmp rsi, rcx
mov rbp, rcx
je 0x1400b7f7f
cmp rbx, 0xffffffffffffffff
je 0x1400b7f7f
lea r14, [rsp + 0x2b0]
mov rax, qword [rbx]
nop word cs:[rax + rax]
test rax, rax
je 0x1400b7f7f
js 0x1400b82af
lea rcx, [rax + 1]
lock cmpxchg qword [rbx], rcx
jne 0x1400b7dc0
mov qword [rsp + 0x58], rbx
cmp qword [rbx + 0x90], 0
je 0x1400b800d
cmp qword [rbx + 0x98], 0
je 0x1400b800d
lea r13, [rbx + 0x38]
mov rcx, r13
call sub.KERNEL32.dll_AcquireSRWLockExclusive
lea r15, [rsp + 0x1d0]
mov rcx, r15
mov rdx, r14
call fcn.1400d4bf0
lea rdx, [rbx + 0x60]
lea rcx, [rsp + 0xe8]
mov qword [rsp + 0x48], rdx
mov r8, r15
call fcn.1400d1730
cmp qword [rsp + 0xe8], 0
je 0x1400b809c
mov qword [rsp + 0x38], r13
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x3d0]
mov r8d, 0x88
call sub.msvcrt.dll_memcpy
mov r12, qword [rsp + 0x178]
mov r13, qword [rsp + 0x180]
movzx eax, byte [0x140259141]
mov edx, 0xe8
xor ecx, ecx
call fcn.14008b700
test rax, rax
je 0x1400b82af
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, r13
movdqu xmm0, xmmword [rdi + rcx]
pmovmskb edx, xmm0
test edx, edx
jne 0x1400b7ee7
mov r8d, 0x10
nop word cs:[rax + rax]
add rcx, r8
and rcx, rax
movdqu xmm0, xmmword [rdi + rcx]
pmovmskb edx, xmm0
add r8, 0x10
test edx, edx
je 0x1400b7ed0
tzcnt edx, edx
add rdx, rcx
and rdx, rax
movzx ecx, byte [rdi + rdx]
test cl, cl
js 0x1400b7f09
movdqa xmm0, xmmword [rdi]
pmovmskb ecx, xmm0
tzcnt edx, ecx
movzx ecx, byte [rdi + rdx]
shr r13, 0x39
lea r8, [rdx - 0x10]
and r8, rax
mov byte [rdi + rdx], r13b
mov byte [rdi + r8 + 0x10], r13b
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 + 0x3d0]
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]
mov r13, qword [rsp + 0x38]
jmp 0x1400b8573
cmp qword [rdi + 0xb8], 0
je 0x1400b7f9e
mov r8, qword [rdi + 0xb0]
mov rcx, qword [0x1402590e0]
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 0x1400b7fd4
cmp qword [rbx + 0x10], 0x11
jb 0x1400b7fc3
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
cmp qword [rdi + 8], rbp
je 0x1400b8a64
mov r8, qword [rdi]
add rdi, 8
cmp r8, 0xffffffffffffffff
je 0x1400b8000
lock dec qword [r8 + 8]
jne 0x1400b8000
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rcx, rdi
call fcn.1400bb2a0
jmp 0x1400b8a64
cmp qword [rdi + 0xb8], 0
je 0x1400b802c
mov r8, qword [rdi + 0xb0]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [rdi + 0xd8]
mov r14, qword [rdi + 0xe0]
mov rcx, rsi
call qword [r14]
cmp qword [r14 + 8], 0
je 0x1400b8063
cmp qword [r14 + 0x10], 0x11
jb 0x1400b8052
mov rsi, qword [rsi - 8]
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
cmp qword [rdi + 8], rbp
je 0x1400b8a54
mov r8, qword [rdi]
add rdi, 8
cmp r8, 0xffffffffffffffff
je 0x1400b808f
lock dec qword [r8 + 8]
jne 0x1400b808f
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rcx, rdi
call fcn.1400bb2a0
jmp 0x1400b8a54
lea rdx, [rsp + 0xf0]
lea r15, [rsp + 0x3d0]
mov r8d, 0x88
mov rcx, r15
call sub.msvcrt.dll_memcpy
mov r12, qword [rsp + 0x178]
mov rsi, qword [rsp + 0x180]
lea rcx, [rsp + 0x338]
mov r8d, 0x88
mov rdx, r15
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x3c0], r12
mov qword [rsp + 0x3c8], rsi
mov rax, qword [r12 - 0x20]
mov r15, qword [r12 - 8]
cmp r15, rax
jne 0x1400b8113
lea rcx, [r12 - 0x20]
call fcn.1400bb150
mov rax, qword [r12 - 0x20]
mov r15, qword [r12 - 8]
mov rcx, qword [r12 - 0x10]
add rcx, r15
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, [r15 + 1]
mov qword [r12 - 8], rax
cmp rax, qword [rbx + 0x98]
jbe 0x1400b855c
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], r15
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 + 0x1d0]
mov r8d, 0xd8
call sub.msvcrt.dll_memcpy
lea rax, [rbp + 1]
cmp rdi, rax
je 0x1400b82af
mov qword [rsp + 0x38], r13
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xf0], rdi
lea rcx, [rsp + 0xf8]
lea rdx, [rsp + 0x1d0]
mov r8d, 0xd8
call sub.msvcrt.dll_memcpy
mov r15, qword [rbx + 0x40]
mov rdx, qword [rbx + 0x58]
test rdx, rdx
mov qword [rsp + 0x30], rdx
je 0x1400b8225
mov rax, qword [rbx + 0x50]
xor ecx, ecx
cmp rax, r15
cmovae rcx, r15
sub rax, rcx
mov rcx, r15
sub rcx, rax
mov r13, rdx
sub r13, rcx
jbe 0x1400b822b
mov rcx, r15
jmp 0x1400b8232
xor eax, eax
xor ecx, ecx
jmp 0x1400b822f
lea rcx, [rax + rdx]
xor r13d, r13d
mov r12, qword [rbx + 0x48]
mov rdx, rax
shl rdx, 7
lea rsi, [rdx + rax*8]
mov rax, rcx
shl rax, 7
lea rdi, [rax + rcx*8]
xor ebp, ebp
cmp rdi, rsi
je 0x1400b8272
lea rcx, [r12 + rsi]
mov rdx, r14
call fcn.1400c33c0
test al, al
jne 0x1400b82b1
inc rbp
add rsi, 0x88
cmp rdi, rsi
jne 0x1400b8253
mov rax, r13
shl rax, 7
lea rsi, [rax + r13*8]
mov r13, r12
mov rdi, qword [rsp + 0x30]
test rsi, rsi
je 0x1400b82af
mov rcx, r13
mov rdx, r14
call fcn.1400c33c0
test al, al
jne 0x1400b82b6
add r13, 0x88
inc rbp
add rsi, 0xffffffffffffff78
test rsi, rsi
jne 0x1400b828a
ud2
mov rdi, qword [rsp + 0x30]
cmp rdi, rbp
jbe 0x1400b82af
mov r8, qword [rbx + 0x50]
lea r9, [r8 + rbp]
xor eax, eax
cmp r9, r15
cmovae rax, r15
sub r9, rax
mov rax, r9
shl rax, 7
lea rax, [rax + r9*8]
mov r13, qword [r12 + rax]
movups xmm0, xmmword [r12 + rax + 0x78]
movaps xmmword [rsp + 0x240], xmm0
movups xmm0, xmmword [r12 + rax + 0x68]
movaps xmmword [rsp + 0x230], xmm0
movups xmm0, xmmword [r12 + rax + 0x58]
movaps xmmword [rsp + 0x220], xmm0
movups xmm0, xmmword [r12 + rax + 0x48]
movaps xmmword [rsp + 0x210], xmm0
movups xmm0, xmmword [r12 + rax + 0x38]
movaps xmmword [rsp + 0x200], xmm0
movups xmm0, xmmword [r12 + rax + 0x28]
movaps xmmword [rsp + 0x1f0], xmm0
movups xmm0, xmmword [r12 + rax + 0x18]
movaps xmmword [rsp + 0x1e0], xmm0
movups xmm0, xmmword [r12 + rax + 8]
movaps xmmword [rsp + 0x1d0], xmm0
mov rax, rbp
not rax
add rax, rdi
cmp rax, rbp
jae 0x1400b837a
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 0x1400b839a
lea rax, [r8 + 1]
xor ecx, ecx
cmp rax, r15
cmovae rcx, r15
neg rcx
lea r9, [r8 + rcx]
inc r9
mov qword [rbx + 0x50], r9
mov qword [rsp + 0x20], rbp
mov rcx, r15
mov rdx, r12
call fcn.1400bae80
dec rdi
mov qword [rbx + 0x58], rdi
movaps xmm0, xmmword [rsp + 0x240]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0x230]
movaps xmmword [rsp + 0xc0], xmm0
movaps xmm0, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0xb0], xmm0
movaps xmm0, xmmword [rsp + 0x210]
movaps xmmword [rsp + 0xa0], xmm0
movdqa xmm0, xmmword [rsp + 0x1d0]
movdqa xmm1, xmmword [rsp + 0x1e0]
movaps xmm2, xmmword [rsp + 0x1f0]
movaps xmm3, xmmword [rsp + 0x200]
movaps xmmword [rsp + 0x90], xmm3
movaps xmmword [rsp + 0x80], xmm2
movdqa xmmword [rsp + 0x70], xmm1
movdqa xmmword [rsp + 0x60], xmm0
movabs rax, 0x8000000000000000
cmp r13, rax
je 0x1400b82af
mov qword [rsp + 0x1d0], r13
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movaps xmm3, xmmword [rsp + 0x90]
movups xmmword [rsp + 0x1d8], xmm0
movdqu xmmword [rsp + 0x1e8], xmm1
movups xmmword [rsp + 0x1f8], xmm2
movups xmmword [rsp + 0x208], xmm3
movaps xmm0, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0x218], xmm0
movaps xmm0, xmmword [rsp + 0xb0]
movups xmmword [rsp + 0x228], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
movups xmmword [rsp + 0x238], xmm0
movdqa xmm0, xmmword [rsp + 0xd0]
movdqu xmmword [rsp + 0x248], xmm0
lea rcx, [rsp + 0x1d0]
call fcn.1400bb2a0
cmp qword [rsp + 0x1a0], 0
je 0x1400b84f1
mov r8, qword [rsp + 0x198]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov r15, qword [rsp + 0x1c0]
mov rsi, qword [rsp + 0x1c8]
mov rcx, r15
call qword [rsi]
cmp qword [rsi + 8], 0
movabs rbp, 0x8000000000000000
mov r13, qword [rsp + 0x38]
je 0x1400b8538
cmp qword [rsi + 0x10], 0x11
jb 0x1400b8527
mov r15, qword [r15 - 8]
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0xf0], rbp
je 0x1400b855c
mov rcx, qword [rsp + 0xe8]
call fcn.1400c68d0
lea rcx, [rsp + 0xf0]
call fcn.1400bb2a0
cmp qword [rsp + 0x338], rbp
je 0x1400b8573
lea rcx, [rsp + 0x338]
call fcn.1400bb2a0
lea rcx, [rsp + 0xe8]
mov rdx, r14
call fcn.1400d4bf0
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x58]
cmp rdi, rax
jne 0x1400b85a1
lea rcx, [rbx + 0x40]
call fcn.1400bb1f0
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x58]
mov rcx, qword [rbx + 0x50]
add rcx, rdi
xor edx, edx
cmp rcx, rax
cmovae rdx, rax
sub rcx, rdx
mov rax, rcx
shl rax, 7
lea rcx, [rax + rcx*8]
add rcx, qword [rbx + 0x48]
lea rdx, [rsp + 0xe8]
mov r8d, 0x88
call sub.msvcrt.dll_memcpy
inc rdi
mov qword [rbx + 0x58], rdi
mov rsi, qword [rbx + 0x90]
mov rcx, r13
call fcn.140114ea8
cmp rdi, rsi
jbe 0x1400b8a54
cmp qword [rbx + 0x90], 0
je 0x1400b82af
cmp qword [rbx + 0x98], 0
je 0x1400b82af
mov rcx, r13
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x1400b82af
mov rdx, qword [rbx + 0x50]
lea r8, [rdx + 1]
mov r9, qword [rbx + 0x40]
mov rax, qword [rbx + 0x48]
xor r10d, r10d
cmp r8, r9
cmovae r10, r9
neg r10
lea r8, [rdx + r10]
inc r8
mov qword [rbx + 0x50], r8
dec rcx
mov qword [rbx + 0x58], rcx
mov rcx, rdx
shl rcx, 7
lea rdx, [rcx + rdx*8]
mov rcx, qword [rax + rdx]
cmp rcx, rbp
je 0x1400b82af
add rax, rdx
mov qword [rsp + 0x60], rcx
movups xmm0, xmmword [rax + 8]
movdqu xmm1, xmmword [rax + 0x18]
movups xmm2, xmmword [rax + 0x28]
movups xmm3, xmmword [rax + 0x38]
movups xmmword [rsp + 0x68], xmm0
movdqu xmmword [rsp + 0x78], xmm1
movups xmmword [rsp + 0x88], xmm2
movups xmmword [rsp + 0x98], xmm3
movups xmm0, xmmword [rax + 0x48]
movups xmmword [rsp + 0xa8], xmm0
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0xb8], xmm0
movups xmm0, xmmword [rax + 0x68]
movups xmmword [rsp + 0xc8], xmm0
movdqu xmm0, xmmword [rax + 0x78]
movdqu xmmword [rsp + 0xd8], xmm0
lea rcx, [rsp + 0xe8]
lea r8, [rsp + 0x60]
mov rdx, qword [rsp + 0x48]
call fcn.1400d1730
cmp qword [rsp + 0xe8], 0
jne 0x1400b82af
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x338]
mov r8d, 0x98
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x3c0]
mov r14, qword [rax - 8]
test r14, r14
je 0x1400b82af
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 r14
mov qword [rax - 8], r14
imul rax, rcx, 0xe8
mov rdi, qword [r9 + rax]
mov rsi, qword [r9 + rax + 8]
lea rdx, [r9 + rax]
add rdx, 0x10
lea rcx, [rsp + 0x1d0]
mov r8d, 0xd8
call sub.msvcrt.dll_memcpy
lea rax, [rbp + 1]
cmp rsi, rax
je 0x1400b82af
mov qword [rsp + 0xe8], rdi
lea rdi, [rsp + 0xf0]
mov qword [rsp + 0xf0], rsi
lea rcx, [rsp + 0xf8]
lea rdx, [rsp + 0x1d0]
mov r8d, 0xd8
call sub.msvcrt.dll_memcpy
test r14, r14
je 0x1400b885f
cmp qword [rsp + 0x1a0], 0
je 0x1400b87ed
mov r8, qword [rsp + 0x198]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov r14, qword [rsp + 0x1c0]
mov rsi, qword [rsp + 0x1c8]
mov rcx, r14
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x1400b8825
cmp qword [rsi + 0x10], 0x11
jb 0x1400b8814
mov r14, qword [r14 - 8]
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0xf0], rbp
je 0x1400b8844
mov rcx, qword [rsp + 0xe8]
call fcn.1400c68d0
mov rcx, rdi
call fcn.1400bb2a0
cmp qword [rsp + 0x338], rbp
je 0x1400b8a4c
lea rcx, [rsp + 0x338]
jmp 0x1400b8a47
mov rdx, qword [rsp + 0x3c0]
mov rax, qword [rsp + 0x3c8]
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 0x1400b88c9
bsr r11w, r11w
xor r11d, 0xf
jmp 0x1400b88ce
mov r11w, 0x10
mov r14, qword [rsp + 0x338]
or r10d, 0x10000
tzcnt r10d, r10d
add r11d, r10d
mov r10b, pe_nt_image_headers64
cmp r11w, 0xf
ja 0x1400b88f6
inc qword [rax + 0x10]
mov r10b, 0xff
mov rdi, r13
mov byte [rcx + r8], r10b
mov byte [rcx + r9 + 0x10], r10b
dec qword [rax + 0x18]
add rdx, 0xffffffffffffff58
lea rcx, [rsp + 0x1d0]
mov r8d, 0xa8
call sub.msvcrt.dll_memcpy
mov rsi, rbp
cmp r14, rbp
je 0x1400b8935
lea rcx, [rsp + 0x338]
call fcn.1400bb2a0
mov r13, qword [rsp + 0x258]
mov r12, qword [rsp + 0x260]
mov rbp, qword [rsp + 0x268]
mov r14, qword [rsp + 0x270]
lea rcx, [rsp + 0x1d0]
call fcn.1400bb2a0
test r14, r14
je 0x1400b8986
xor eax, eax
cmp rbp, r13
cmovae rax, r13
sub rbp, rax
mov rax, r13
sub rax, rbp
mov r15, r14
sub r15, rax
jbe 0x1400b898d
mov r14, r13
jmp 0x1400b8993
xor ebp, ebp
xor r14d, r14d
jmp 0x1400b8990
add r14, rbp
xor r15d, r15d
imul rcx, rbp, 0xe8
add rcx, r12
sub r14, rbp
mov rdx, r14
call fcn.1400bb360
mov rcx, r12
mov rdx, r15
call fcn.1400bb360
test r13, r13
je 0x1400b89c9
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, r12
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x1a0], 0
mov r15, rsi
mov r13, rdi
je 0x1400b89f0
mov r8, qword [rsp + 0x198]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov r14, qword [rsp + 0x1c0]
mov rsi, qword [rsp + 0x1c8]
mov rcx, r14
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x1400b8a28
cmp qword [rsi + 0x10], 0x11
jb 0x1400b8a17
mov r14, qword [r14 - 8]
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0xf0], r15
je 0x1400b8a4c
mov rcx, qword [rsp + 0xe8]
call fcn.1400c68d0
lea rcx, [rsp + 0xf0]
call fcn.1400bb2a0
mov rcx, r13
call fcn.140114ea8
lock dec qword [rbx]
jne 0x1400b8a64
lea rcx, [rsp + 0x58]
call fcn.1400c5e30
lea rcx, [rsp + 0x2a8]
call fcn.1400b78c0
xor ebx, ebx
mov rax, rbx
add rsp, 0x458
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret