Function at 0x1400bb270
Capabilities:
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, 0xa8
movaps xmmword [rsp + 0x90], xmm6
mov rdi, rdx
mov rax, qword [0x140231028]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov rsi, qword [0x1402449c0]
test rsi, rsi
je 0x1400bb950
cmp rdi, 1
mov r14d, dword [rsi + 0x14]
adc r14, rdi
cmp r14, rdi
jb 0x1400bb943
movzx eax, byte [rsi + 2]
mov edx, 0x40
mov ecx, 0x40
test r14, r14
je 0x1400bb2df
bsr rcx, r14
xor rcx, 0x3f
sub rdx, rcx
lea rcx, [0x140216260]
movzx ecx, byte [rdx + rcx]
mov r8, r14
shr r8, cl
and r8d, 7
lea rcx, [0x1402162a8]
mov rcx, qword [rcx + rdx*8]
and rcx, r14
lea edx, [r8 + rdx*8]
cmp rcx, 1
sbb edx, 0xffffffff
add edx, edx
lea rcx, [0x140215a48]
movzx edi, word [rdx + rcx + 0x400]
test al, al
jne 0x1400bb33f
cmp r14, 0x81
setae al
cmp di, 0x6e
setb cl
and cl, al
movzx eax, cl
or eax, edi
mov edi, eax
mov byte [rsp + 0x56], 0
movzx ebp, byte [rsi]
cmp bpl, 2
je 0x1400bb96d
cmp byte [rsi + 3], 1
jne 0x1400bb867
mov eax, dword [0x1402403d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x120], 0
je 0x1400bb946
mov eax, dword [0x1402403d0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rbx, qword [rax + 0x188]
cmp rbx, 1
jbe 0x1400bb95d
cmp rbx, 2
jb 0x1400bb867
inc qword [rbx + 8]
movzx r15d, di
cmp word [0x140233758], di
jb 0x1400bb4a9
mov eax, r15d
shl eax, 4
lea r13, [rbx + rax]
add r13, 0x78
mov rdi, qword [rbx + rax + 0x78]
test rdi, rdi
je 0x1400bb5f9
inc qword [rbx + 0x10]
movzx r12d, word [r13 + 0xa]
mov r8, qword [rdi]
test r8, r8
je 0x1400bb486
mov rax, r8
bswap rax
test eax, 0x1fc000
je 0x1400bba5f
mov rcx, qword [rdi + 8]
xor rcx, r8
cmp rcx, 0xffffffffffffffff
jne 0x1400bba5f
prefetcht0 byte [rax]
dec byte [r13 + 8]
mov qword [r13], rax
sub dword [rbx], r12d
mov eax, dword [rsi + 0x14]
mov r14, r12
sub r14, rax
inc qword [rbx + 0x58]
add qword [rbx + 0x60], r14
cmp byte [rsi + 4], 1
jne 0x1400bb44d
mov rax, rdi
shl rax, 0x34
je 0x1400bb48a
lea rax, [r12 + rdi]
add rax, 0xfffffffffffffffc
mov dword [rax], 1
cmp bpl, 2
je 0x1400bb998
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.14012c2d0
mov rax, rdi
movaps xmm6, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
jmp 0x1400bb414
mov rax, rdi
and rax, 0xffffffffffe00000
mov ecx, edi
shr ecx, 9
and ecx, 0xff8
add rax, rcx
add rax, 0x2000
jmp 0x1400bb447
inc qword [rbx + 0x28]
inc qword [rbx + 0x18]
lea rax, [r15 + r15*4]
lea r12, [rsi + rax*8]
add r12, 0x48
lea r15, [rsi + 0x40]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400bb853
mov rax, qword [r12]
mov qword [rsp + 0x58], rax
mov rdi, qword [rax]
test rdi, rdi
je 0x1400bb59a
mov byte [rsp + 0x56], 0
mov r14d, dword [r12 + 0x18]
mov ecx, dword [rsi + 0x14]
mov r8, qword [rdi]
test r8, r8
je 0x1400bb596
mov rdx, r8
bswap rdx
test edx, 0x1fc000
je 0x1400bbb14
mov r9, rdx
xor r9, rdi
cmp r9, 0x1fffff
ja 0x1400bbb14
mov r9, qword [rdi + 8]
xor r9, r8
cmp r9, 0xffffffffffffffff
jne 0x1400bbb14
prefetcht0 byte [rdx]
sub r14, rcx
mov qword [rax], rdx
mov ecx, dword [rax + 0x18]
lea edx, [rcx + 2]
and edx, 0x3ffe
and ecx, 0xffffc001
or ecx, edx
mov dword [rax + 0x18], ecx
mov rcx, qword [rax + 0x10]
mov ecx, dword [rcx + 0x18]
add rcx, qword [rsi + 0x1498]
mov qword [rsi + 0x1498], rcx
mov rdx, qword [rsi + 0x14a0]
cmp rdx, rcx
cmova rcx, rdx
mov qword [rsi + 0x14a0], rcx
mov rax, qword [rax + 0x10]
mov r12d, dword [rax + 0x18]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400bb428
xor edx, edx
jmp 0x1400bb539
lea rax, [rsp + 0x56]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x4000
mov rcx, r12
mov rdx, rsi
mov r8d, 0x11
mov r9, r14
call fcn.1400bc5b0
test rax, rax
je 0x1400bbb04
mov rdi, rax
mov rax, qword [rsp + 0x58]
test byte [rax + 0x1b], 8
jne 0x1400bb84a
mov rcx, qword [rax + 0x10]
mov r14d, dword [rcx + 0x18]
mov ecx, dword [rsi + 0x14]
sub r14, rcx
jmp 0x1400bb556
mov byte [rsp + 0x3b], bpl
inc qword [rbx + 0x20]
inc qword [rbx + 0x18]
inc qword [rbx + 0x48]
mov al, byte [r13 + 9]
shr al, 3
movzx eax, al
cmp al, 2
mov edi, 1
cmovae edi, eax
mov r12, qword [rbx + 0x4f8]
add r12, 0x40
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400bb83d
mov qword [rsp + 0x40], r12
movzx r10d, dil
lea r11, [rsp + 0x57]
mov byte [r11], 0xaa
xor edi, edi
mov qword [rsp + 0x48], r15
lea rbp, [r15 + r15*4]
jmp 0x1400bb6b9
mov edi, r10d
movzx eax, word [r13 + 0xa]
imul eax, edi
add dword [rbx], eax
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rdi, qword [r13]
test rdi, rdi
mov bpl, byte [rsp + 0x3b]
mov r15, qword [rsp + 0x48]
jne 0x1400bb3de
jmp 0x1400bb4b1
xor edx, edx
jmp 0x1400bb738
movaps xmmword [r15 + 0x30], xmm0
inc edi
mov rax, qword [r13]
bswap rax
mov qword [r15], rax
not rax
mov qword [r15 + 8], rax
mov qword [r13], r15
inc byte [r13 + 8]
cmp r10d, edi
je 0x1400bb659
mov r12, qword [rbx + 0x4f8]
lea rcx, [r12 + rbp*8]
add rcx, 0x48
mov r9d, dword [r12 + rbp*8 + 0x60]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x58], rax
mov rax, qword [r12 + rbp*8 + 0x48]
mov qword [rsp + 0x58], rax
mov r15, qword [rax]
test r15, r15
je 0x1400bb7f6
mov byte [rsp + 0x57], 0
mov r8, qword [r15]
test r8, r8
je 0x1400bb68d
mov rdx, r8
bswap rdx
test edx, 0x1fc000
je 0x1400bbab0
mov r9, rdx
xor r9, r15
cmp r9, 0x1fffff
ja 0x1400bbab0
mov r9, qword [r15 + 8]
xor r9, r8
cmp r9, 0xffffffffffffffff
jne 0x1400bbab0
prefetcht0 byte [rdx]
mov qword [rax], rdx
mov ecx, dword [rax + 0x18]
lea edx, [rcx + 2]
and edx, 0x3ffe
and ecx, 0xffffc001
or ecx, edx
mov dword [rax + 0x18], ecx
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x10]
mov eax, dword [rax + 0x18]
add rax, qword [r12 + 0x1498]
mov qword [r12 + 0x1498], rax
mov rcx, qword [r12 + 0x14a0]
cmp rcx, rax
cmova rax, rcx
mov qword [r12 + 0x14a0], rax
test r15, r15
je 0x1400bb65c
mov eax, r15d
shr eax, 4
and eax, 3
mov edx, 4
sub edx, eax
movzx ecx, word [r13 + 0xa]
mov eax, ecx
shr eax, 4
cmp edx, eax
cmovb eax, edx
test r15b, 0xf
jne 0x1400bb985
cmp cx, 0x10
jb 0x1400bb699
movaps xmm0, xmmword [0x140210140]
movaps xmmword [r15], xmm0
cmp eax, 1
je 0x1400bb699
movaps xmmword [r15 + 0x10], xmm0
cmp eax, 2
je 0x1400bb699
movaps xmmword [r15 + 0x20], xmm0
cmp eax, 3
jne 0x1400bb694
jmp 0x1400bb699
mov qword [rsp + 0x30], r11
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x4000
mov rdx, r12
mov r8d, 0x21
mov dword [rsp + 0x3c], r10d
mov r15, r11
call fcn.1400bc5b0
mov r11, r15
mov r10d, dword [rsp + 0x3c]
mov r15, rax
test rax, rax
jne 0x1400bb752
jmp 0x1400bb65c
mov rcx, r12
call fcn.1400bc540
jmp 0x1400bb63a
mov r14, qword [rax + 0x20]
jmp 0x1400bb5ee
mov rcx, r15
call fcn.1400bc540
jmp 0x1400bb4d2
xor ecx, ecx
jmp 0x1400bb8e9
movzx eax, di
lea rax, [rax + rax*4]
lea r15, [rsi + rax*8]
add r15, 0x48
lea rbx, [rsi + 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1400bbb65
mov rax, qword [r15]
mov qword [rsp + 0x58], rax
mov rdi, qword [rax]
test rdi, rdi
je 0x1400bbb72
mov byte [rsp + 0x56], 0
mov r8, qword [rdi]
test r8, r8
je 0x1400bb860
mov r14d, dword [r15 + 0x18]
mov rcx, r8
bswap rcx
test ecx, 0x1fc000
je 0x1400bbb14
mov rdx, rcx
xor rdx, rdi
cmp rdx, 0x1fffff
ja 0x1400bbb14
mov rdx, qword [rdi + 8]
xor rdx, r8
cmp rdx, 0xffffffffffffffff
jne 0x1400bbb14
prefetcht0 byte [rcx]
mov qword [rax], rcx
mov ecx, dword [rax + 0x18]
lea edx, [rcx + 2]
and edx, 0x3ffe
and ecx, 0xffffc001
or ecx, edx
mov dword [rax + 0x18], ecx
mov rcx, qword [rax + 0x10]
mov ecx, dword [rcx + 0x18]
add rcx, qword [rsi + 0x1498]
mov qword [rsi + 0x1498], rcx
mov rdx, qword [rsi + 0x14a0]
cmp rdx, rcx
cmova rcx, rdx
mov qword [rsi + 0x14a0], rcx
mov rax, qword [rax + 0x10]
mov r12d, dword [rax + 0x18]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400bb430
int3
call fcn.14012bac8
jmp 0x1400bb37b
call fcn.140195810
mov rsi, rax
jmp 0x1400bb2b0
mov rcx, rsi
call fcn.140014c70
mov rbx, rax
jmp 0x1400bb39f
mov al, byte [0x14023f799]
test al, 1
je 0x1400bb351
call fcn.140197430
jmp 0x1400bb351
lea rcx, [0x14020233c]
lea rdx, [0x140210150]
call fcn.140163630
movabs rax, 0xfffffffc00000000
and rax, rdi
mov rcx, qword [0x140233688]
mov edx, 1
mov r8, rax
cmp rax, rcx
je 0x1400bb9e4
cmp rax, qword [0x140233680]
je 0x1400bb9df
mov r8, qword [0x140233698]
and r8, rdi
mov edx, 2
cmp r8, qword [0x140233690]
je 0x1400bb9e4
jmp 0x1400bbbb5
xor edx, edx
mov r8, rax
mov r9, rdi
sub r9, r8
shl edx, 0xe
lea r8, [0x14023375c]
add r8, rdx
shr r9, 0x15
cmp word [r8 + r9*2], 0xfffe
jne 0x1400bb457
mov rdx, rdi
and rdx, 0xffffffffffe00000
cmp rax, rcx
je 0x1400bba36
cmp rax, qword [0x140233680]
je 0x1400bba36
mov rax, qword [0x140233698]
and rax, rdx
cmp rax, qword [0x140233690]
jne 0x1400bbbb8
mov ecx, edi
shr ecx, 3
and cl, 0x3e
mov eax, 3
shl rax, cl
mov ecx, edi
shr ecx, 6
and ecx, 0x7ff8
lock or qword [rcx + rdx + 0x4000], rax
jmp 0x1400bb457
movaps xmm6, xmmword [0x1401fd0c0]
lea rsi, [rsp + 0x70]
movaps xmmword [rsi], xmm6
lea rdx, str.first
mov rcx, rsi
call fcn.14018db00
mov rcx, rsi
call fcn.14000ff00
lea rsi, [rsp + 0x60]
movaps xmmword [rsi], xmm6
mov r8, qword [rdi + 8]
lea rdx, str.second
mov rcx, rsi
call fcn.14018db00
mov rcx, rsi
call fcn.14000ff00
mov rcx, r12
call fcn.140197450
mov esi, dword [rcx + 0x18]
movaps xmm6, xmmword [0x1401fd0c0]
lea rdi, [rsp + 0x70]
movaps xmmword [rdi], xmm6
lea rdx, str.first
mov rcx, rdi
call fcn.14018db00
mov rcx, rdi
call fcn.14000ff00
lea rdi, [rsp + 0x60]
movaps xmmword [rdi], xmm6
mov r8, qword [r15 + 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, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
xor edi, edi
jmp 0x1400bb457
movaps xmm6, xmmword [0x1401fd0c0]
lea rsi, [rsp + 0x70]
movaps xmmword [rsi], xmm6
lea rdx, str.first
mov rcx, rsi
call fcn.14018db00
mov rcx, rsi
call fcn.14000ff00
lea rsi, [rsp + 0x60]
movaps xmmword [rsi], xmm6
mov r8, qword [rdi + 8]
lea rdx, str.second
mov rcx, rsi
call fcn.14018db00
mov rcx, rsi
call fcn.14000ff00
mov rcx, r14
call fcn.140197450
mov rcx, rbx
call fcn.1400bc540
jmp 0x1400bb88b
lea rax, [rsp + 0x56]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x4000
mov rcx, r15
mov rdx, rsi
mov r8d, 0x11
mov r9, r14
call fcn.1400bc5b0
test rax, rax
je 0x1400bbbbb
mov rdi, rax
mov rax, qword [rsp + 0x58]
jmp 0x1400bb903
int3
int3
mov rcx, rbx
jmp 0x1400bbb07