Function at 0x1400825e0
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 [0x1401f6040]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov rsi, qword [0x140209580]
test rsi, rsi
je 0x140082bd4
cmp rdi, 1
mov r14d, dword [rsi + 0x14]
adc r14, rdi
cmp r14, rdi
jb 0x140082bc7
movzx eax, byte [rsi + 2]
mov edx, 0x40
mov ecx, 0x40
test r14, r14
je 0x14008264f
bsr rcx, r14
xor rcx, 0x3f
sub rdx, rcx
lea rcx, [0x1401daa28]
movzx ecx, byte [rdx + rcx]
mov r8, r14
shr r8, cl
and r8d, 7
lea rcx, [0x1401daa70]
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, [0x1401da210]
movzx ebx, word [rdx + rcx + 0x400]
test al, al
jne 0x1400826af
cmp r14, 0x81
setae al
cmp bx, 0x6e
setb cl
and cl, al
movzx eax, cl
or eax, ebx
mov ebx, eax
mov byte [rsp + 0x56], 0
movzx ebp, byte [rsi]
cmp bpl, 2
je 0x140082cdc
cmp byte [rsi + 3], 1
jne 0x140082be1
mov eax, dword [0x1402053a0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x120], 0
je 0x140082bca
mov eax, dword [0x1402053a0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rdi, qword [rax + 0x180]
cmp rdi, 1
jbe 0x140082ccc
cmp rdi, 2
jb 0x140082be1
inc qword [rdi + 8]
movzx r15d, bx
cmp word [0x1401f8758], bx
jb 0x140082819
mov eax, r15d
shl eax, 4
lea r13, [rdi + rax]
add r13, 0x78
mov rbx, qword [rdi + rax + 0x78]
test rbx, rbx
je 0x140082927
inc qword [rdi + 0x10]
movzx r12d, word [r13 + 0xa]
mov r8, qword [rbx]
test r8, r8
je 0x1400827f6
mov rax, r8
bswap rax
test eax, 0x1fc000
je 0x140082dbb
mov rcx, qword [rbx + 8]
xor rcx, r8
cmp rcx, 0xffffffffffffffff
jne 0x140082dbb
prefetcht0 byte [rax]
dec byte [r13 + 8]
mov qword [r13], rax
sub dword [rdi], r12d
mov eax, dword [rsi + 0x14]
mov r14, r12
sub r14, rax
inc qword [rdi + 0x58]
add qword [rdi + 0x60], r14
cmp byte [rsi + 4], 1
jne 0x1400827bd
mov rax, rbx
shl rax, 0x34
je 0x1400827fa
lea rax, [r12 + rbx]
add rax, 0xfffffffffffffffc
mov dword [rax], 1
cmp bpl, 2
je 0x140082cf4
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.1400d4e20
mov rax, rbx
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 0x140082784
mov rax, rbx
and rax, 0xffffffffffe00000
mov ecx, ebx
shr ecx, 9
and ecx, 0xff8
add rax, rcx
add rax, 0x2000
jmp 0x1400827b7
inc qword [rdi + 0x28]
inc qword [rdi + 0x18]
jmp 0x140082852
mov ebx, r10d
movzx eax, word [r13 + 0xa]
imul eax, ebx
add dword [rdi], eax
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rbx, qword [r13]
test rbx, rbx
mov bpl, byte [rsp + 0x3b]
mov r15, qword [rsp + 0x48]
jne 0x14008274e
lea rax, [r15 + r15*2]
shl eax, 4
lea r12, [rsi + rax]
add r12, 0x48
lea r15, [rsi + 0x40]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140082bb8
mov rax, qword [r12]
mov qword [rsp + 0x58], rax
mov rbx, qword [rax]
test rbx, rbx
jne 0x140082b7f
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.140083900
test rax, rax
je 0x140082e60
mov rbx, rax
mov rax, qword [rsp + 0x58]
test byte [rax + 0x1b], 8
jne 0x140082921
mov rcx, qword [rax + 0x10]
mov r14d, dword [rcx + 0x18]
mov ecx, dword [rsi + 0x14]
sub r14, rcx
mov rcx, qword [rax + 0x10]
mov ecx, dword [rcx + 0x18]
add rcx, qword [rsi + 0x18a0]
mov qword [rsi + 0x18a0], rcx
mov rdx, qword [rsi + 0x18a8]
cmp rdx, rcx
cmova rcx, rdx
mov qword [rsi + 0x18a8], rcx
mov rax, qword [rax + 0x10]
mov r12d, dword [rax + 0x18]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140082798
mov r14, qword [rax + 0x20]
jmp 0x1400828db
mov byte [rsp + 0x3b], bpl
inc qword [rdi + 0x20]
inc qword [rdi + 0x18]
inc qword [rdi + 0x48]
mov al, byte [r13 + 9]
shr al, 3
movzx eax, al
cmp al, 2
mov ebx, 1
cmovae ebx, eax
mov r12, qword [rdi + 0x4f8]
add r12, 0x40
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140082986
mov qword [rsp + 0x40], r12
movzx r10d, bl
lea r11, [rsp + 0x57]
mov byte [r11], 0xaa
xor ebx, ebx
mov qword [rsp + 0x48], r15
lea rbp, [r15 + r15*2]
shl ebp, 4
jmp 0x1400829c0
mov rcx, r12
call fcn.140083890
jmp 0x140082964
xor edx, edx
jmp 0x140082a3f
movaps xmmword [r15 + 0x30], xmm0
inc ebx
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, ebx
je 0x140082823
mov r12, qword [rdi + 0x4f8]
lea rcx, [r12 + rbp]
add rcx, 0x48
mov r9d, dword [r12 + rbp + 0x60]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x58], rax
mov rax, qword [r12 + rbp + 0x48]
mov qword [rsp + 0x58], rax
mov r15, qword [rax]
test r15, r15
je 0x140082afd
mov byte [rsp + 0x57], 0
mov r8, qword [r15]
test r8, r8
je 0x140082990
mov rdx, r8
bswap rdx
test edx, 0x1fc000
je 0x140082e0c
mov r9, rdx
xor r9, r15
cmp r9, 0x1fffff
ja 0x140082e0c
mov r9, qword [r15 + 8]
xor r9, r8
cmp r9, 0xffffffffffffffff
jne 0x140082e0c
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 + 0x18a0]
mov qword [r12 + 0x18a0], rax
mov rcx, qword [r12 + 0x18a8]
cmp rcx, rax
cmova rax, rcx
mov qword [r12 + 0x18a8], rax
test r15, r15
je 0x140082826
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 0x140082bc5
cmp cx, 0x10
jb 0x14008299c
movaps xmm0, xmmword [0x1401d79c0]
movaps xmmword [r15], xmm0
cmp eax, 1
je 0x14008299c
movaps xmmword [r15 + 0x10], xmm0
cmp eax, 2
je 0x14008299c
movaps xmmword [r15 + 0x20], xmm0
cmp eax, 3
jne 0x140082997
jmp 0x14008299c
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.140083900
mov r11, r15
mov r10d, dword [rsp + 0x3c]
mov r15, rax
test rax, rax
jne 0x140082a59
jmp 0x140082826
mov rdx, r8
bswap rdx
test edx, 0x1fc000
je 0x140082eb3
mov r9, rdx
xor r9, rbx
cmp r9, 0x1fffff
ja 0x140082eb3
mov r9, qword [rbx + 8]
xor r9, r8
cmp r9, 0xffffffffffffffff
jne 0x140082eb3
prefetcht0 byte [rdx]
jmp 0x140082b96
mov byte [rsp + 0x56], 0
mov r14d, dword [r12 + 0x18]
mov ecx, dword [rsi + 0x14]
mov r8, qword [rbx]
test r8, r8
jne 0x140082b44
xor edx, edx
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
jmp 0x1400828e1
mov rcx, r15
call fcn.140083890
jmp 0x140082876
ud2
int3
call fcn.1400d4618
jmp 0x1400826eb
call fcn.14014b390
mov rsi, rax
jmp 0x140082620
movzx eax, bx
lea rax, [rax + rax*2]
shl eax, 4
lea r15, [rsi + rax]
add r15, 0x48
lea rdi, [rsi + 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x140082c0c
mov rcx, rdi
call fcn.140083890
mov rax, qword [r15]
mov qword [rsp + 0x58], rax
mov rbx, qword [rax]
test rbx, rbx
je 0x140082e70
mov byte [rsp + 0x56], 0
mov r8, qword [rbx]
test r8, r8
je 0x140082cc8
mov r14d, dword [r15 + 0x18]
mov rcx, r8
bswap rcx
test ecx, 0x1fc000
je 0x140082eb3
mov rdx, rcx
xor rdx, rbx
cmp rdx, 0x1fffff
ja 0x140082eb3
mov rdx, qword [rbx + 8]
xor rdx, r8
cmp rdx, 0xffffffffffffffff
jne 0x140082eb3
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 + 0x18a0]
mov qword [rsi + 0x18a0], rcx
mov rdx, qword [rsi + 0x18a8]
cmp rdx, rcx
cmova rcx, rdx
mov qword [rsi + 0x18a8], rcx
mov rax, qword [rax + 0x10]
mov r12d, dword [rax + 0x18]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1400827a0
xor ecx, ecx
jmp 0x140082c6e
mov rcx, rsi
call fcn.14000f350
mov rdi, rax
jmp 0x14008270f
mov al, byte [0x140204799]
test al, 1
je 0x1400826c1
call fcn.14014efb0
jmp 0x1400826c1
movabs rax, 0xfffffffc00000000
and rax, rbx
mov rcx, qword [0x1401f8688]
mov edx, 1
mov r8, rax
cmp rax, rcx
je 0x140082d40
cmp rax, qword [0x1401f8680]
je 0x140082d3b
mov r8, qword [0x1401f8698]
and r8, rbx
mov edx, 2
cmp r8, qword [0x1401f8690]
je 0x140082d40
jmp 0x140082f0c
xor edx, edx
mov r8, rax
mov r9, rbx
sub r9, r8
shl edx, 0xe
lea r8, [0x1401f875c]
add r8, rdx
shr r9, 0x15
cmp word [r8 + r9*2], 0xfffe
jne 0x1400827c7
mov rdx, rbx
and rdx, 0xffffffffffe00000
cmp rax, rcx
je 0x140082d92
cmp rax, qword [0x1401f8680]
je 0x140082d92
mov rax, qword [0x1401f8698]
and rax, rdx
cmp rax, qword [0x1401f8690]
jne 0x140082f0f
mov ecx, ebx
shr ecx, 3
and cl, 0x3e
mov eax, 3
shl rax, cl
mov ecx, ebx
shr ecx, 6
and ecx, 0x7ff8
lock or qword [rcx + rdx + 0x4000], rax
jmp 0x1400827c7
movaps xmm6, xmmword [0x1401c7000]
lea rsi, [rsp + 0x70]
movaps xmmword [rsi], xmm6
lea rdx, str.first
mov rcx, rsi
call fcn.14013eb20
mov rcx, rsi
call fcn.140008a60
lea rsi, [rsp + 0x60]
movaps xmmword [rsi], xmm6
mov r8, qword [rbx + 8]
lea rdx, str.second
mov rcx, rsi
call fcn.14013eb20
mov rcx, rsi
call fcn.140008a60
mov rcx, r12
call fcn.14014efd0
mov esi, dword [rcx + 0x18]
movaps xmm6, xmmword [0x1401c7000]
lea rdi, [rsp + 0x70]
movaps xmmword [rdi], xmm6
lea rdx, str.first
mov rcx, rdi
call fcn.14013eb20
mov rcx, rdi
call fcn.140008a60
lea rdi, [rsp + 0x60]
movaps xmmword [rdi], xmm6
mov r8, qword [r15 + 8]
lea rdx, str.second
mov rcx, rdi
call fcn.14013eb20
mov rcx, rdi
call fcn.140008a60
mov rcx, rsi
call fcn.14014efd0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
xor ebx, ebx
jmp 0x1400827c7
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.140083900
test rax, rax
je 0x140082f04
mov rbx, rax
mov rax, qword [rsp + 0x58]
jmp 0x140082c88
movaps xmm6, xmmword [0x1401c7000]
lea rsi, [rsp + 0x70]
movaps xmmword [rsi], xmm6
lea rdx, str.first
mov rcx, rsi
call fcn.14013eb20
mov rcx, rsi
call fcn.140008a60
lea rsi, [rsp + 0x60]
movaps xmmword [rsi], xmm6
mov r8, qword [rbx + 8]
lea rdx, str.second
mov rcx, rsi
call fcn.14013eb20
mov rcx, rsi
call fcn.140008a60
mov rcx, r14
call fcn.14014efd0
mov rcx, rdi
jmp 0x140082e63
int3
int3