Function at 0x1400bc5b0
Capabilities:
Allocate or change rwx memory
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
movdqa xmmword [rsp + 0x110], xmm12
movdqa xmmword [rsp + 0x100], xmm11
movdqa xmmword [rsp + 0xf0], xmm10
movdqa xmmword [rsp + 0xe0], xmm9
movdqa xmmword [rsp + 0xd0], xmm8
movdqa xmmword [rsp + 0xc0], xmm7
movdqa xmmword [rsp + 0xb0], xmm6
mov r14, r9
mov r12d, r8d
mov r13, rdx
mov rdi, rcx
mov r15, qword [rsp + 0x1a0]
mov rbp, qword [rsp + 0x190]
mov rax, qword [0x140231028]
xor rax, rsp
mov qword [rsp + 0xa8], rax
mov byte [r15], 0
cmp byte [rcx + 0x1c], 0
je 0x1400bcfe3
cmp rbp, 0x4000
ja 0x1400bcaf8
mov rcx, qword [rdi]
lea rax, [0x140218980]
cmp rcx, rax
je 0x1400bc6f7
test rcx, rcx
je 0x1400bc6f4
xor edx, edx
xor ebx, ebx
mov r8, rcx
mov r9, qword [rcx]
mov rcx, qword [rcx + 8]
mov r10d, dword [r8 + 0x18]
test r10d, 0x3ffe
je 0x1400bc76f
test r9, r9
sete r11b
test r10d, 0x7ffc000
sete sil
test sil, r11b
je 0x1400bc850
or r10d, 1
mov dword [r8 + 0x18], r10d
mov r9d, dword [rdi + 0x1c]
movzx r10d, r9b
and r9d, 0xffffff00
add r10d, r9d
add r10d, 0x100
mov dword [rdi + 0x1c], r10d
add r9d, 0x100
je 0x1400bd589
mov qword [r8 + 8], 0
mov r8, rdx
mov rdx, r8
test rcx, rcx
jne 0x1400bc670
test rbx, rbx
jne 0x1400bc861
mov qword [rdi], rax
mov rbx, qword [rdi + 8]
test rbx, rbx
je 0x1400bc7a7
mov rax, qword [rbx + 8]
mov qword [rdi + 8], rax
cmp qword [rbx], 0
je 0x1400bc789
mov qword [rbx + 8], 0
mov rax, rbx
and rax, 0xffffffffffe00000
inc word [rax + 0x1012]
mov rax, qword [rbx + 0x10]
mov ecx, dword [rax + 0x18]
mov edx, dword [rax + 0x1c]
movzx edx, dl
shl edx, 0xc
imul rdx, qword [rax + 0x20]
shr rdx, 0x2a
mov eax, dword [rbx + 0x18]
shr eax, 0xe
and eax, 0x1fff
sub rdx, rax
imul rcx, rdx
add rcx, 0xfff
and rcx, 0xfffffffffffff000
sub qword [r13 + 0x14d8], rcx
jmp 0x1400bc864
test r9, r9
je 0x1400bcae7
mov r9, qword [rdi + 8]
mov qword [r8 + 8], r9
mov qword [rdi + 8], r8
jmp 0x1400bc6e0
mov rax, qword [rdi + 0x10]
mov qword [rbx + 8], rax
mov qword [rdi + 0x10], rbx
mov rax, rbx
mov rbx, qword [rdi + 8]
test rbx, rbx
jne 0x1400bc704
jmp 0x1400bc7bf
mov rax, qword [rdi + 0x10]
test rax, rax
je 0x1400bcaf8
xor ebx, ebx
test rbx, rbx
jne 0x1400bc704
test r12b, 0x20
jne 0x1400bc83d
mov rcx, qword [rax + 8]
mov qword [rdi + 0x10], rcx
mov rcx, qword [rax + 0x10]
mov edx, dword [rcx + 0x1c]
movzx edx, dl
shl edx, 0xc
imul rdx, qword [rcx + 0x20]
shr rdx, 0x1c
mov ecx, 0xf8003fff
and ecx, dword [rax + 0x18]
and edx, 0x7ffc000
or ecx, edx
mov dword [rax + 0x18], ecx
mov rcx, rax
and rcx, 0xffffffffffe00000
inc word [rcx + 0x1012]
mov qword [rax + 8], 0
mov byte [r15], 1
mov rbx, rax
jmp 0x1400bc864
test rbx, rbx
cmove rbx, r8
test rdx, rdx
jne 0x1400bc831
mov qword [r8 + 8], 0
jmp 0x1400bc6e3
mov qword [rdx + 8], r8
jmp 0x1400bc824
mov qword [rbx + 0x20], r14
jmp 0x1400bc880
xor r14d, r14d
jmp 0x1400bc8ee
xor eax, eax
jmp 0x1400bc8cf
test r9, r9
je 0x1400bc818
test rbx, rbx
jne 0x1400bcc8e
mov rbx, r8
mov qword [rdi], rbx
mov rax, rdi
mov rcx, qword [rsp + 0x198]
mov qword [rcx], rbx
mov qword [rax], rbx
mov ebp, dword [rbx + 0x18]
test ebp, 0x8000000
jne 0x1400bc837
mov r14, qword [rbx]
test r14, r14
je 0x1400bc952
mov r8, qword [r14]
test r8, r8
je 0x1400bc845
mov esi, dword [rax + 0x18]
mov rax, r8
bswap rax
test eax, 0x1fc000
je 0x1400bd58c
mov rcx, rax
xor rcx, r14
cmp rcx, 0x1fffff
ja 0x1400bd58c
mov rcx, qword [r14 + 8]
xor rcx, r8
cmp rcx, 0xffffffffffffffff
jne 0x1400bd58c
prefetcht0 byte [rax]
mov qword [rbx], rax
lea eax, [rbp + 2]
and eax, 0x3ffe
and ebp, 0xffffc001
or ebp, eax
mov dword [rbx + 0x18], ebp
pxor xmm0, xmm0
movdqu xmmword [r14], xmm0
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.14012c2d0
mov rax, r14
movaps xmm6, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm8, xmmword [rsp + 0xd0]
movaps xmm9, xmmword [rsp + 0xe0]
movaps xmm10, xmmword [rsp + 0xf0]
movaps xmm11, xmmword [rsp + 0x100]
movaps xmm12, xmmword [rsp + 0x110]
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x3c], r12d
mov rax, rbx
and rax, 0xffffffffffe00000
mov rsi, r13
mov r13d, ebx
shl r13d, 9
and r13d, 0x3fffc000
mov qword [rsp + 0x58], rdi
mov edi, dword [rdi + 0x18]
shr ebp, 1
and ebp, 0x1fff
imul ebp, edi
add r13, rax
mov rax, r13
add rax, rbp
lea r14, [r13 - 0x1ff001]
add r14, rbp
and r14, 0xfffffffffffff000
mov qword [rsp + 0x30], rax
lea r12, [rdi + rax]
add r12, 0xffffffffffe00fff
and r12, 0xfffffffffffff000
mov r15, r12
sub r15, r14
lock inc qword [rsi + 0x14a8]
mov rcx, r14
mov rdx, r15
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x1400bd5e3
mov rdx, r15
lock xadd qword [rsi + 0x1478], rdx
lea r14, [r13 - 0x200000]
add r14, rbp
mov rax, qword [rsp + 0x30]
lea rcx, [rdi + rax]
add rcx, 0xffffffffffe00000
add rdx, r15
mov rax, qword [rsi + 0x1480]
cmp rax, rdx
mov r8, rdx
cmova r8, rax
lock cmpxchg qword [rsi + 0x1480], r8
jne 0x1400bca16
mov r9d, dword [rbx + 0x18]
lea eax, [r9 + 2]
and eax, 0x3ffe
mov r8d, r9d
and r8d, 0xffffc001
or r8d, eax
mov dword [rbx + 0x18], r8d
mov rax, r12
sub rax, r14
mov r11, qword [rsp + 0x58]
mov r10d, dword [r11 + 0x18]
xor edx, edx
div r10
shl eax, 0xe
sub r9d, eax
and r9d, 0x7ffc000
and r8d, 0xf8003fff
or r8d, r9d
mov dword [rbx + 0x18], r8d
mov eax, dword [r11 + 0x18]
add rax, rcx
cmp rax, r12
ja 0x1400bcace
xor r8d, r8d
nop word [rax + rax]
mov rdx, rax
mov qword [rcx], 0
mov qword [rcx + 8], 0xffffffffffffffff
cmp qword [rbx], 0
je 0x1400bcade
mov rax, rcx
bswap rax
mov qword [r8], rax
not rax
mov qword [r8 + 8], rax
mov eax, dword [r11 + 0x18]
add rax, rdx
mov r8, rcx
mov rcx, rdx
cmp rax, r12
jbe 0x1400bca90
mov r8d, dword [rbx + 0x18]
or r8d, 0x10000000
mov dword [rbx + 0x18], r8d
jmp 0x1400bc8ee
mov qword [rbx], rcx
and byte [rbx + 0x1b], 0xef
jmp 0x1400bcab8
mov r9, qword [rdi + 0x10]
mov qword [r8 + 8], r9
mov qword [rdi + 0x10], r8
jmp 0x1400bc6e0
test r12b, 0x20
jne 0x1400bc83d
mov esi, r12d
mov eax, dword [rdi + 0x1c]
movzx r12d, al
shl r12d, 0xc
add r12d, 0x3000
and r12d, 0x1fc000
mov r8, qword [r13 + 0x14f0]
lea r9, [r8 + rbp]
dec r9
mov rcx, r13
mov r13, rbp
neg r13
and r9, r13
lea rax, [r9 + r12]
mov qword [rsp + 0x28], rcx
cmp rax, qword [rcx + 0x14f8]
ja 0x1400bccd3
mov rax, 0xffffffffffe00000
mov rcx, r8
and rcx, rax
shr r8d, 9
and r8d, 0xfe0
or r8, rcx
mov edx, 0x1000
or r8, 0x1000
and rax, r9
mov ecx, r9d
shr ecx, 0xe
and ecx, 0x7f
mov r10d, ecx
shl r10d, 5
lea rbx, [rax + r10]
add rbx, 0x1000
cmp r8, rbx
jb 0x1400bd634
add r9, r12
mov r13, qword [rsp + 0x28]
mov qword [r13 + 0x14f0], r9
pxor xmm0, xmm0
movdqa xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
xor r8d, r8d
cmp dword [rdi + 0x18], 0x10001
setae r8b
shl r8d, 0x1b
mov r9d, 0xf7ffffff
and r9d, dword [rbx + 0x18]
or r9d, r8d
mov dword [rbx + 0x18], r9d
mov r8d, dword [rdi + 0x1c]
movzx r8d, r8b
shl r8d, 0xc
imul r8, qword [rdi + 0x20]
shr r8, 0x1c
and r8d, 0x7ffc000
and r9d, 0xf8003fff
or r9d, r8d
mov dword [rbx + 0x18], r9d
mov r8, rbx
and r8, 0xffffffffffe01000
inc word [r8 + 0x12]
mov qword [rbx + 8], 0
mov r8d, dword [rdi + 0x1c]
test r8b, r8b
je 0x1400bd581
or rax, rdx
movzx edx, r8b
lea edx, [rdx*8 + 0x18]
and edx, 0xffffffe0
shl ecx, 5
add rax, rcx
add rax, 0x1e
mov cl, 0x40
xor r8d, r8d
mov r12d, esi
movzx r9d, byte [rax + r8]
and r9b, 0x80
add r9b, cl
mov byte [rax + r8], r9b
add r8, 0x20
inc cl
cmp edx, r8d
jne 0x1400bcc4b
mov r8d, dword [rdi + 0x1c]
movzx eax, r8b
shl eax, 0xc
imul rax, qword [rdi + 0x20]
shr rax, 0x2a
cmp eax, 0x400
ja 0x1400bd631
mov byte [r15], 1
jmp 0x1400bc864
mov qword [r8 + 8], rbx
mov qword [rdx + 8], rcx
jmp 0x1400bc85e
mov rax, qword [0x140233698]
and rax, r8
mov ecx, 2
cmp rax, qword [0x140233690]
je 0x1400bcdc5
jmp 0x1400bd64e
mov eax, 3
jmp 0x1400bcd28
cmp rax, qword [0x140233680]
jne 0x1400bcc9b
xor ecx, ecx
jmp 0x1400bcdc5
mov eax, dword [rdi + 0x18]
lea rcx, [rsp + 0x90]
mov qword [rcx + 8], rax
movabs rbx, 0x657a69736e617073
lea rax, [rbx + 0x60dfc00]
mov qword [rcx], rax
call fcn.14000ff00
lea rcx, [rsp + 0x80]
mov qword [rcx + 8], r12
mov qword [rcx], rbx
call fcn.14000ff00
mov rax, qword [rsp + 0x28]
mov rbx, qword [rax + 0x14e8]
cmp byte [rax + 0x10], 0
jne 0x1400bccbc
movzx eax, byte [rax + 4]
inc rax
dec eax
imul rax, rax, 0x420
lea rcx, [0x140243d30]
add rcx, rax
test rbx, rbx
je 0x1400bcd61
mov r8d, 0x200000
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x30]
mov rdx, rbx
call fcn.140022b70
mov rcx, qword [rsp + 0x30]
test al, al
jne 0x1400bcd77
mov edx, 0x200000
call fcn.14000ff10
mov rbx, rax
test rax, rax
je 0x1400bd687
movabs rcx, 0xfffffffc00000000
mov rax, rbx
sub rax, 0xffffffffffe00000
mov qword [rsp + 0x48], rax
jae 0x1400bcf13
mov rax, qword [rsp + 0x28]
add rax, 0x1508
mov qword [rsp + 0x50], rax
mov r8, rbx
mov qword [rsp + 0x60], rbx
mov rax, r8
and rax, rcx
mov ecx, 1
cmp rax, qword [0x140233688]
jne 0x1400bccc3
mov rdx, r8
sub rdx, rax
shl ecx, 0xe
lea rax, [0x14023375c]
add rcx, rax
shr rdx, 0x15
mov word [rcx + rdx*2], 0xfffe
mov rbx, qword [rsp + 0x28]
lock add qword [rbx + 0x1488], 0x200000
lea rax, [r8 + 0x200000]
mov qword [rsp + 0x40], rax
mov qword [rbx + 0x14e8], rax
mov eax, 0x4000
add rax, r8
xor ecx, ecx
cmp byte [rbx], 0
setne cl
shl ecx, 0xf
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rcx
add rax, rcx
mov qword [rbx + 0x14f0], rax
lea rax, [r8 + 0x1fc000]
mov qword [rbx + 0x14f8], rax
lock inc qword [rbx + 0x14a8]
mov qword [rsp + 0x30], r8
lea rcx, [r8 + 0x1000]
mov edx, 0x1000
mov qword [rsp + 0x68], rcx
mov r8d, 3
call fcn.140012e00
cmp byte [rbx + 0x10], 0
jne 0x1400bce94
cmp byte [rbx + 4], 1
jne 0x1400bce94
lock inc qword [rbx + 0x14a8]
mov rax, qword [rsp + 0x30]
lea rcx, [rax + 0x2000]
mov edx, 0x1000
mov r8d, 3
call fcn.140012e00
mov r8, qword [rsp + 0x30]
mov qword [r8 + 0x1000], rbx
mov dword [r8 + 0x1010], 0
mov qword [r8 + 0x1008], 0
mov rax, qword [rbx + 0x1500]
test r8, r8
je 0x1400bd645
lea rcx, [rax + 8]
test rax, rax
cmove rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x68]
mov qword [rcx], rax
mov qword [rbx + 0x1500], rax
mov word [rax + 0x10], 1
movabs rcx, 0xfffffffc00000000
cmp byte [rbx], 2
je 0x1400bd784
mov rax, qword [rsp + 0x40]
mov r8, rax
cmp rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x60]
jb 0x1400bcdad
mov rax, qword [rsp + 0x28]
mov al, byte [rax]
and rcx, rbx
cmp rcx, qword [0x140233688]
je 0x1400bcf2f
cmp rcx, qword [0x140233680]
jne 0x1400bcf77
xor ecx, ecx
test al, al
setne cl
shl ecx, 0xf
or rcx, 0x4000
add rcx, rbx
je 0x1400bd65c
dec rbp
mov rcx, qword [rsp + 0x28]
mov r8, qword [rcx + 0x14f0]
add rbp, r8
mov r9, rbp
and r9, r13
lea rax, [r9 + r12]
cmp rax, qword [rcx + 0x14f8]
jbe 0x1400bcb4e
jmp 0x1400bd642
mov rcx, qword [0x140233698]
and rcx, rbx
cmp rcx, qword [0x140233690]
je 0x1400bcf2f
int3
mov rbx, r11
cmp rax, qword [0x140233680]
je 0x1400bd7c5
mov rax, qword [0x140233698]
and rax, r8
cmp rax, qword [0x140233690]
jne 0x1400bd7c2
mov rcx, r8
sub rcx, rax
shr rcx, 0x15
lea rax, [0x14023375c]
lea rax, [rax + rcx*2]
add rax, 0x8000
mov r9, qword [rsp + 0x30]
mov r11, rbx
jmp 0x1400bd0fd
mov esi, 3
jmp 0x1400bd02e
test r12b, 0x20
jne 0x1400bc83d
cmp r14, 0x7fe00001
mov qword [rsp + 0x28], r13
jae 0x1400bd651
lea rcx, [r13 + 0x40]
mov qword [rsp + 0x48], rcx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea rbx, [r14 + rbp]
add rbx, 0x203fff
and rbx, 0xffffffffffe00000
cmp byte [r13 + 0x10], 0
jne 0x1400bcfdc
movzx esi, byte [r13 + 4]
inc esi
lea eax, [rsi - 1]
imul rax, rax, 0x420
lea rcx, [0x140243d30]
add rcx, rax
mov rdx, rbx
call fcn.14000ff10
test rax, rax
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x3c], r12d
je 0x1400bd747
lock add qword [r13 + 0x1490], rbx
lock inc qword [r13 + 0x14a8]
lea rcx, [rax + 0x1000]
mov edx, 0x1000
mov qword [rsp + 0x40], rcx
mov rbx, rax
mov r8d, 3
call fcn.140012e00
cmp esi, 2
mov r11, rsi
jne 0x1400bd0be
lock inc qword [r13 + 0x14a8]
lea rcx, [rbx + 0x2000]
mov edx, 0x1000
mov r8d, 3
mov rsi, r11
call fcn.140012e00
mov r11, rsi
movabs rax, 0xfffffffc00000000
and rax, rbx
cmp rax, qword [0x140233688]
mov r8, rbx
jne 0x1400bcf8d
mov rax, r8
shr rax, 0x15
and eax, 0x1fff
lea rcx, [0x14023375c]
lea rax, [rcx + rax*2]
add rax, 0x4000
mov r9, qword [rsp + 0x30]
lea esi, [r14 + 0xfff]
and esi, 0xfffff000
mov qword [rsp + 0x60], r8
mov rcx, r8
add rcx, rbp
add rbp, 0xffffffffffffc000
lea r8, [r9 - 1]
shr r8, 0x15
inc r8d
movzx r9d, r8w
cmp r9, 1
adc r9, 0
lea r8, [r9 - 1]
movq xmm0, r8
pshufd xmm0, xmm0, 0x44
add r9d, 7
and r9d, 0x1fff8
xor r10d, r10d
movdqa xmm1, xmmword [0x140205110]
movdqa xmm2, xmmword [0x140205120]
movdqa xmm3, xmmword [0x140205130]
movdqa xmm4, xmmword [0x140205140]
movdqa xmm5, xmmword [0x1401f2fc0]
pxor xmm0, xmm5
pcmpeqd xmm6, xmm6
movq xmm7, r10
pshufd xmm7, xmm7, 0x44
movdqa xmm8, xmm7
por xmm8, xmm4
pxor xmm8, xmm5
movdqa xmm10, xmm8
pcmpgtd xmm10, xmm0
pshufd xmm9, xmm10, 0xa0
pshuflw xmm11, xmm9, 0xe8
pcmpeqd xmm8, xmm0
pshufd xmm8, xmm8, 0xf5
pshuflw xmm12, xmm8, 0xe8
pand xmm12, xmm11
pshufd xmm10, xmm10, 0xf5
pshuflw xmm11, xmm10, 0xe8
por xmm11, xmm12
pxor xmm11, xmm6
packssdw xmm11, xmm11
movd r8d, xmm11
test r8b, 1
je 0x1400bd1ef
mov word [rax + r10*2], r10w
pand xmm8, xmm9
por xmm8, xmm10
packssdw xmm8, xmm8
pxor xmm8, xmm6
packssdw xmm8, xmm8
movd r8d, xmm8
shr r8d, 0x10
test r8b, 1
je 0x1400bd221
lea r8d, [r10 + 1]
mov word [rax + r10*2 + 2], r8w
movdqa xmm9, xmm7
por xmm9, xmm3
pxor xmm9, xmm5
movdqa xmm10, xmm9
pcmpgtd xmm10, xmm0
pshufd xmm8, xmm10, 0xa0
pcmpeqd xmm9, xmm0
pshufd xmm9, xmm9, 0xf5
movdqa xmm11, xmm9
pand xmm11, xmm8
pshufd xmm10, xmm10, 0xf5
por xmm11, xmm10
packssdw xmm11, xmm11
pxor xmm11, xmm6
packssdw xmm11, xmm11
pextrw r8d, xmm11, 2
test r8b, 1
je 0x1400bd285
lea r8d, [r10 + 2]
mov word [rax + r10*2 + 4], r8w
pshufhw xmm8, xmm8, 0x84
pshufhw xmm9, xmm9, 0x84
pand xmm9, xmm8
pshufhw xmm8, xmm10, 0x84
por xmm8, xmm9
pxor xmm8, xmm6
packssdw xmm8, xmm8
pextrw r8d, xmm8, 3
test r8b, 1
je 0x1400bd2c1
lea r8d, [r10 + 3]
mov word [rax + r10*2 + 6], r8w
movdqa xmm8, xmm7
por xmm8, xmm2
pxor xmm8, xmm5
movdqa xmm10, xmm8
pcmpgtd xmm10, xmm0
pshufd xmm9, xmm10, 0xa0
pshuflw xmm11, xmm9, 0xe8
pcmpeqd xmm8, xmm0
pshufd xmm8, xmm8, 0xf5
pshuflw xmm12, xmm8, 0xe8
pand xmm12, xmm11
pshufd xmm10, xmm10, 0xf5
pshuflw xmm11, xmm10, 0xe8
por xmm11, xmm12
pxor xmm11, xmm6
packssdw xmm11, xmm11
pextrw r8d, xmm11, 4
test r8b, 1
je 0x1400bd32d
lea r8d, [r10 + 4]
mov word [rax + r10*2 + 8], r8w
pand xmm8, xmm9
por xmm8, xmm10
packssdw xmm8, xmm8
pxor xmm8, xmm6
packssdw xmm8, xmm8
pextrw r8d, xmm8, 5
test r8b, 1
je 0x1400bd35c
lea r8d, [r10 + 5]
mov word [rax + r10*2 + 0xa], r8w
por xmm7, xmm1
pxor xmm7, xmm5
movdqa xmm9, xmm7
pcmpgtd xmm9, xmm0
pshufd xmm8, xmm9, 0xa0
pcmpeqd xmm7, xmm0
pshufd xmm7, xmm7, 0xf5
movdqa xmm10, xmm7
pand xmm10, xmm8
pshufd xmm9, xmm9, 0xf5
por xmm10, xmm9
packssdw xmm10, xmm10
pxor xmm10, xmm6
packssdw xmm10, xmm10
pextrw r8d, xmm10, 6
test r8b, 1
je 0x1400bd3b7
lea r8d, [r10 + 6]
mov word [rax + r10*2 + 0xc], r8w
pshufhw xmm8, xmm8, 0x84
pshufhw xmm7, xmm7, 0x84
pand xmm7, xmm8
pshufhw xmm8, xmm9, 0x84
por xmm8, xmm7
pxor xmm8, xmm6
packssdw xmm7, xmm8
pextrw r8d, xmm7, 7
test r8b, 1
je 0x1400bd3f2
lea r8d, [r10 + 7]
mov word [rax + r10*2 + 0xe], r8w
add r10, 8
cmp r9, r10
jne 0x1400bd17f
mov qword [rsp + 0x68], r11
mov r10, qword [rsp + 0x40]
mov qword [r10], r13
lea rax, [r10 + 0x20]
mov r8, rcx
and r8, 0xffffffffffe00000
mov r9d, ecx
shr r9d, 9
and r9d, 0xfe0
lea rbx, [r9 + r8]
add rbx, 0x1000
cmp rbx, rax
jne 0x1400bd75d
or byte [rbx + 0x1e], 0x40
mov al, byte [rbx + 0x3e]
and al, 0xc0
inc al
mov byte [rbx + 0x3e], al
lea r12, [rbx + 0x40]
mov dword [rbx + 0x58], esi
pxor xmm0, xmm0
movdqa xmmword [rbx], xmm0
mov qword [rbx + 0x10], r12
xor eax, eax
cmp esi, 0x10001
setae al
shl eax, 0x1b
mov r8d, 0xf7ffffff
and r8d, dword [rbx + 0x18]
or r8d, eax
mov dword [rbx + 0x18], r8d
lock inc qword [r13 + 0x14a8]
mov qword [rsp + 0x40], rcx
mov rdx, rsi
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x1400bd6a9
mov rcx, rsi
lock xadd qword [r13 + 0x1478], rcx
add rcx, rsi
mov rax, qword [r13 + 0x1480]
cmp rax, rcx
mov rdx, rcx
cmova rdx, rax
lock cmpxchg qword [r13 + 0x1480], rdx
jne 0x1400bd4bd
mov rsi, qword [rsp + 0x40]
mov qword [rsi], 0
mov qword [rsi + 8], 0xffffffffffffffff
mov qword [rbx], rsi
and byte [rbx + 0x1b], 0xef
lea rdi, [rbx + 0x68]
mov rax, qword [rsp + 0x30]
mov qword [rbx + 0x80], rax
mov qword [rbx + 0x88], rbp
mov qword [rbx + 0x78], r12
mov r12b, 1
mov r13, qword [rsp + 0x48]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400bd577
test r12b, r12b
mov r12d, dword [rsp + 0x3c]
je 0x1400bd65f
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + 0x1510]
mov qword [rdi], rax
test rax, rax
je 0x1400bd543
mov qword [rax + 8], rdi
mov qword [rdi + 8], 0
mov rax, qword [rsp + 0x28]
mov qword [rax + 0x1510], rdi
test rbx, rbx
je 0x1400bd65f
mov rax, qword [rbx + 0x10]
mov byte [r15], 1
mov rdi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x28]
jmp 0x1400bc867
mov rcx, r13
call fcn.1400bc540
jmp 0x1400bd51d
mov r12d, esi
jmp 0x1400bcc6a
int3
movaps xmm6, xmmword [0x1401fd0c0]
lea rdi, [rsp + 0x90]
movaps xmmword [rdi], xmm6
lea rdx, str.first
mov rcx, rdi
call fcn.14018db00
mov rcx, rdi
call fcn.14000ff00
lea rdi, [rsp + 0x80]
movaps xmmword [rdi], xmm6
mov r8, qword [r14 + 8]
lea rdx, str.second
mov rcx, rdi
call fcn.14018db00
mov rcx, rdi
call fcn.14000ff00
mov rcx, rsi
call fcn.140197450
mov rcx, rsi
call fcn.140195340
mov rcx, r14
mov rdx, r15
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x1400bc9e5
test byte [rsp + 0x3c], 1
jne 0x1400bc83d
lea rcx, [rsi + 0x40]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x18]
mov rcx, rsi
call fcn.1401974c0
int3
or byte [r8 + 0x1e], 0x80
add r8, 0x20
jmp 0x1400bcb93
int3
inc word [rax + 0x10]
jmp 0x1400bcee8
int3
test r12b, 1
jne 0x1400bd65f
jmp 0x1400bd802
mov r12d, esi
mov byte [r15], 1
test r12b, 1
jne 0x1400bc83d
mov rsi, qword [rsp + 0x28]
lea rcx, [rsi + 0x40]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, rsi
mov rdx, r14
call fcn.140195270
test sil, 1
jne 0x1400bd65c
mov rsi, qword [rsp + 0x28]
lea rcx, [rsi + 0x40]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov edx, 0x200000
mov rcx, rsi
call fcn.140197490
mov qword [rsp + 0x50], rsi
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1400bd6c7
mov rcx, qword [rsp + 0x48]
call fcn.1400bc540
mov r13, qword [rsp + 0x28]
mov rcx, r13
call fcn.140195340
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov rdx, rsi
mov r8d, 0x1000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x1400bd4a7
test byte [rsp + 0x3c], 1
je 0x1400bd7f3
mov rdi, qword [rsp + 0x28]
lock inc qword [rdi + 0x14a8]
lea rcx, [0x140243d30]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x60]
mov r12, qword [rsp + 0x30]
mov r9, r12
call fcn.140006930
lock sub qword [rdi + 0x1490], r12
jmp 0x1400bd753
test r12b, 1
je 0x1400bd7e4
xor ebx, ebx
xor edi, edi
xor r12d, r12d
jmp 0x1400bd50b
test byte [r10 + 0x3e], 0x40
jne 0x1400bd7e1
mov rdx, rcx
mov ecx, ebx
sub ecx, eax
shr ecx, 5
and cl, 0x3f
or cl, 0x80
mov rax, qword [rsp + 0x40]
mov byte [rax + 0x3e], cl
mov rcx, rdx
jmp 0x1400bd43c
mov rbx, qword [rsp + 0x28]
lock inc qword [rbx + 0x14a8]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x70]
mov r8d, 3
call fcn.140012e00
mov rcx, rbx
mov rdx, qword [rsp + 0x30]
call fcn.1401973e0
movabs rcx, 0xfffffffc00000000
jmp 0x1400bcefb
int3
mov rax, r8
shr rax, 0x15
and eax, 0x1fff
lea rcx, [0x14023375c]
lea rax, [rcx + rax*2]
jmp 0x1400bcfcf
int3
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
call fcn.140197490
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x50]
call fcn.1401974c0
mov rcx, qword [rsp + 0x28]
add rcx, 0x40
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, r14
call fcn.1401aa440
int3