Function at 0x14011f3f0
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 [0x1402b4040]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov rsi, qword [0x1402c7d00]
test rsi, rsi
je 0x14011fad0
cmp rdi, 1
mov r14d, dword [rsi + 0x14]
adc r14, rdi
cmp r14, rdi
jb 0x14011fac3
movzx eax, byte [rsi + 2]
mov edx, 0x40
mov ecx, 0x40
test r14, r14
je 0x14011f45f
bsr rcx, r14
xor rcx, 0x3f
sub rdx, rcx
lea rcx, [0x14028a8a0]
movzx ecx, byte [rdx + rcx]
mov r8, r14
shr r8, cl
and r8d, 7
lea rcx, [0x14028a8e8]
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, [0x14028a088]
movzx edi, word [rdx + rcx + 0x400]
test al, al
jne 0x14011f4bf
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 0x14011faed
cmp byte [rsi + 3], 1
jne 0x14011f9e7
mov eax, dword [0x1402c36f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x120], 0
je 0x14011fac6
mov eax, dword [0x1402c36f0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rbx, qword [rax + 0x188]
cmp rbx, 1
jbe 0x14011fadd
cmp rbx, 2
jb 0x14011f9e7
inc qword [rbx + 8]
movzx r15d, di
cmp word [0x1402b6888], di
jb 0x14011f629
mov eax, r15d
shl eax, 4
lea r13, [rbx + rax]
add r13, 0x78
mov rdi, qword [rbx + rax + 0x78]
test rdi, rdi
je 0x14011f779
inc qword [rbx + 0x10]
movzx r12d, word [r13 + 0xa]
mov r8, qword [rdi]
test r8, r8
je 0x14011f606
mov rax, r8
bswap rax
test eax, 0x1fc000
je 0x14011fbdf
mov rcx, qword [rdi + 8]
xor rcx, r8
cmp rcx, 0xffffffffffffffff
jne 0x14011fbdf
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 0x14011f5cd
mov rax, rdi
shl rax, 0x34
je 0x14011f60a
lea rax, [r12 + rdi]
add rax, 0xfffffffffffffffc
mov dword [rax], 1
cmp bpl, 2
je 0x14011fb18
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.140192360
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 0x14011f594
mov rax, rdi
and rax, 0xffffffffffe00000
mov ecx, edi
shr ecx, 9
and ecx, 0xff8
add rax, rcx
add rax, 0x2000
jmp 0x14011f5c7
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 0x14011f9d3
mov rax, qword [r12]
mov qword [rsp + 0x58], rax
mov rdi, qword [rax]
test rdi, rdi
je 0x14011f71a
mov byte [rsp + 0x56], 0
mov r14d, dword [r12 + 0x18]
mov ecx, dword [rsi + 0x14]
mov r8, qword [rdi]
test r8, r8
je 0x14011f716
mov rdx, r8
bswap rdx
test edx, 0x1fc000
je 0x14011fc94
mov r9, rdx
xor r9, rdi
cmp r9, 0x1fffff
ja 0x14011fc94
mov r9, qword [rdi + 8]
xor r9, r8
cmp r9, 0xffffffffffffffff
jne 0x14011fc94
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 0x14011f5a8
xor edx, edx
jmp 0x14011f6b9
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.140120730
test rax, rax
je 0x14011fc84
mov rdi, rax
mov rax, qword [rsp + 0x58]
test byte [rax + 0x1b], 8
jne 0x14011f9ca
mov rcx, qword [rax + 0x10]
mov r14d, dword [rcx + 0x18]
mov ecx, dword [rsi + 0x14]
sub r14, rcx
jmp 0x14011f6d6
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 0x14011f9bd
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 0x14011f839
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 0x14011f55e
jmp 0x14011f631
xor edx, edx
jmp 0x14011f8b8
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 0x14011f7d9
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 0x14011f976
mov byte [rsp + 0x57], 0
mov r8, qword [r15]
test r8, r8
je 0x14011f80d
mov rdx, r8
bswap rdx
test edx, 0x1fc000
je 0x14011fc30
mov r9, rdx
xor r9, r15
cmp r9, 0x1fffff
ja 0x14011fc30
mov r9, qword [r15 + 8]
xor r9, r8
cmp r9, 0xffffffffffffffff
jne 0x14011fc30
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 0x14011f7dc
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 0x14011fb05
cmp cx, 0x10
jb 0x14011f819
movaps xmm0, xmmword [0x140283e50]
movaps xmmword [r15], xmm0
cmp eax, 1
je 0x14011f819
movaps xmmword [r15 + 0x10], xmm0
cmp eax, 2
je 0x14011f819
movaps xmmword [r15 + 0x20], xmm0
cmp eax, 3
jne 0x14011f814
jmp 0x14011f819
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.140120730
mov r11, r15
mov r10d, dword [rsp + 0x3c]
mov r15, rax
test rax, rax
jne 0x14011f8d2
jmp 0x14011f7dc
mov rcx, r12
call fcn.1401206c0
jmp 0x14011f7ba
mov r14, qword [rax + 0x20]
jmp 0x14011f76e
mov rcx, r15
call fcn.1401206c0
jmp 0x14011f652
xor ecx, ecx
jmp 0x14011fa69
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 0x14011fce5
mov rax, qword [r15]
mov qword [rsp + 0x58], rax
mov rdi, qword [rax]
test rdi, rdi
je 0x14011fcf2
mov byte [rsp + 0x56], 0
mov r8, qword [rdi]
test r8, r8
je 0x14011f9e0
mov r14d, dword [r15 + 0x18]
mov rcx, r8
bswap rcx
test ecx, 0x1fc000
je 0x14011fc94
mov rdx, rcx
xor rdx, rdi
cmp rdx, 0x1fffff
ja 0x14011fc94
mov rdx, qword [rdi + 8]
xor rdx, r8
cmp rdx, 0xffffffffffffffff
jne 0x14011fc94
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 0x14011f5b0
int3
call fcn.140191c18
jmp 0x14011f4fb
call fcn.140208150
mov rsi, rax
jmp 0x14011f430
mov rcx, rsi
call fcn.14000c6a0
mov rbx, rax
jmp 0x14011f51f
mov al, byte [0x1402c28d1]
test al, 1
je 0x14011f4d1
call fcn.140209d70
jmp 0x14011f4d1
lea rcx, [0x140275393]
lea rdx, [0x140283e60]
call fcn.1401cf0c0
movabs rax, 0xfffffffc00000000
and rax, rdi
mov rcx, qword [0x1402b6788]
mov edx, 1
mov r8, rax
cmp rax, rcx
je 0x14011fb64
cmp rax, qword [0x1402b6780]
je 0x14011fb5f
mov r8, qword [0x1402b6798]
and r8, rdi
mov edx, 2
cmp r8, qword [0x1402b6790]
je 0x14011fb64
jmp 0x14011fd35
xor edx, edx
mov r8, rax
mov r9, rdi
sub r9, r8
shl edx, 0xe
lea r8, [0x1402b688c]
add r8, rdx
shr r9, 0x15
cmp word [r8 + r9*2], 0xfffe
jne 0x14011f5d7
mov rdx, rdi
and rdx, 0xffffffffffe00000
cmp rax, rcx
je 0x14011fbb6
cmp rax, qword [0x1402b6780]
je 0x14011fbb6
mov rax, qword [0x1402b6798]
and rax, rdx
cmp rax, qword [0x1402b6790]
jne 0x14011fd38
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 0x14011f5d7
movaps xmm6, xmmword [0x140270080]
lea rsi, [rsp + 0x70]
movaps xmmword [rsi], xmm6
lea rdx, str.first
mov rcx, rsi
call fcn.140200410
mov rcx, rsi
call fcn.140007930
lea rsi, [rsp + 0x60]
movaps xmmword [rsi], xmm6
mov r8, qword [rdi + 8]
lea rdx, str.second
mov rcx, rsi
call fcn.140200410
mov rcx, rsi
call fcn.140007930
mov rcx, r12
call fcn.140209d90
mov esi, dword [rcx + 0x18]
movaps xmm6, xmmword [0x140270080]
lea rdi, [rsp + 0x70]
movaps xmmword [rdi], xmm6
lea rdx, str.first
mov rcx, rdi
call fcn.140200410
mov rcx, rdi
call fcn.140007930
lea rdi, [rsp + 0x60]
movaps xmmword [rdi], xmm6
mov r8, qword [r15 + 8]
lea rdx, str.second
mov rcx, rdi
call fcn.140200410
mov rcx, rdi
call fcn.140007930
mov rcx, rsi
call fcn.140209d90
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
xor edi, edi
jmp 0x14011f5d7
movaps xmm6, xmmword [0x140270080]
lea rsi, [rsp + 0x70]
movaps xmmword [rsi], xmm6
lea rdx, str.first
mov rcx, rsi
call fcn.140200410
mov rcx, rsi
call fcn.140007930
lea rsi, [rsp + 0x60]
movaps xmmword [rsi], xmm6
mov r8, qword [rdi + 8]
lea rdx, str.second
mov rcx, rsi
call fcn.140200410
mov rcx, rsi
call fcn.140007930
mov rcx, r14
call fcn.140209d90
mov rcx, rbx
call fcn.1401206c0
jmp 0x14011fa0b
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.140120730
test rax, rax
je 0x14011fd3b
mov rdi, rax
mov rax, qword [rsp + 0x58]
jmp 0x14011fa83
int3
int3
mov rcx, rbx
jmp 0x14011fc87