Function at 0x1800baa90
Capabilities:
Check for time delay via queryperformancecounter

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
movapd xmmword [rsp + 0xe0], xmm6
mov rax, qword [rcx]
cmp rax, 3
je 0x1800bb8b8
mov rdi, rdx
mov rsi, rcx
movabs r13, 0x7fffffffffffffff
lea rbx, [rcx + 8]
cmp rax, 2
cmovne rbx, rcx
cmp eax, 2
je 0x1800bb690
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1800bb976
mov r14, qword [rsp + 0x30]
mov r8, qword [0x18021a978]
test r8, r8
jne 0x1800bab3c
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1800bb976
mov r8, qword [rsp + 0x30]
mov qword [0x18021a978], r8
test r8, r8
je 0x1800bb8b8
mov rax, r14
or rax, r8
shr rax, 0x20
je 0x1800bab55
mov rax, r14
xor edx, edx
div r8
mov rcx, rax
jmp 0x1800bab5f
mov eax, r14d
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x1800bab79
xor edx, edx
div r8
jmp 0x1800bab7e
xor edx, edx
div r8d
imul r15, rcx, 0x3b9aca00
add r15, rax
mov rax, r15
shr rax, 9
movabs rcx, 0x44b82fa09b5a53
mul rcx
mov r14, rdx
mov rbp, qword [rbx + 0x500]
lea rcx, [rbp + 0x10]
mov qword [rsp + 0xa8], rcx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x18021a998]
test rax, r13
jne 0x1800badee
mov dword [rsp + 0x2c], 0
movzx eax, byte [rbp + 0x18]
test al, al
jne 0x1800bb8b8
mov rax, qword [rbx + 0x500]
mov rax, qword [rax]
mov qword [rsp + 0xa0], rax
mov r8d, dword [rbx + 0x4d8]
cmp r8d, 0x3b9aca00
je 0x1800baed5
movzx eax, byte [rbx + 0x4f9]
test rax, rax
je 0x1800bac1e
cmp eax, 1
je 0x1800bac32
cmp dword [rbp + 0x38], 0x3b9aca00
je 0x1800bac3f
jmp 0x1800bac32
cmp qword [rsp + 0xa0], 2
ja 0x1800bac3f
cmp byte [rbx + 0x4f8], 0
jne 0x1800bac3f
cmp al, 1
je 0x1800baccb
jmp 0x1800baed5
mov byte [rbx + 0x4f9], 1
mov ecx, dword [rbp + 0x58]
cmp ecx, 0x3b9aca00
je 0x1800bb8b8
mov rax, qword [rbp + 0x50]
add rax, qword [rbx + 0x4d0]
jb 0x1800bb8b8
add r8d, ecx
cmp r8d, 0x3b9ac9ff
jbe 0x1800bac82
inc rax
je 0x1800bb8b8
add r8d, 0xc4653600
mov ecx, r8d
shr ecx, 9
imul rdx, rcx, 0x44b83
shr rdx, 0x27
add rdx, rax
jb 0x1800bb8b8
imul rax, rcx, 0x44b83
shr rax, 0x27
imul eax, eax, 0x3b9aca00
sub r8d, eax
mov rcx, qword [rbx + 0x4f0]
call fcn.18011ca40
movzx eax, byte [rbx + 0x4f9]
cmp al, 1
jne 0x1800baed5
mov r13, qword [rbx + 0x4f0]
mov r12, qword [rdi]
mov rcx, r13
mov rdx, r12
call fcn.18011c880
test al, al
jne 0x1800baed5
mov eax, dword [rbp + 0x58]
cmp eax, 0x3b9aca00
je 0x1800bb8b8
mov rcx, qword [rbp + 0x50]
add rcx, qword [rbx + 0x4d0]
jb 0x1800bb8b8
add eax, dword [rbx + 0x4d8]
cmp eax, 0x3b9ac9ff
jbe 0x1800bad22
inc rcx
je 0x1800bb8b8
add eax, 0xc4653600
mov edx, eax
shr edx, 9
imul r8, rdx, 0x44b83
shr r8, 0x27
add r8, rcx
jb 0x1800bb8b8
mov rcx, qword [r13 + 0x10]
cmp r8, rcx
jb 0x1800bad67
jne 0x1800bb044
imul rcx, rdx, 0x44b83
shr rcx, 0x27
imul ecx, ecx, 0x3b9aca00
sub eax, ecx
cmp eax, dword [r13 + 0x18]
ja 0x1800bb044
lea rcx, [rbp + 0x20]
call fcn.180054900
mov byte [rbx + 0x4f9], 2
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1800bb976
mov r12, qword [rsp + 0x30]
mov r8, qword [0x18021a978]
test r8, r8
jne 0x1800badd5
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1800bb976
mov r8, qword [rsp + 0x30]
mov qword [0x18021a978], r8
test r8, r8
je 0x1800bb8b8
mov rax, r12
or rax, r8
shr rax, 0x20
je 0x1800bae0a
mov rax, r12
xor edx, edx
div r8
mov rcx, rax
jmp 0x1800bae14
call fcn.180186710
xor al, 1
mov dword [rsp + 0x2c], eax
movzx eax, byte [rbp + 0x18]
test al, al
je 0x1800babdc
jmp 0x1800bb8b8
mov eax, r12d
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
movabs r10, 0x44b82fa09b5a53
je 0x1800bae38
xor edx, edx
div r8
jmp 0x1800bae3d
xor edx, edx
div r8d
imul r8, rcx, 0x3b9aca00
add r8, rax
mov r9, r8
shr r9, 9
mov rax, r9
mul r10
mov rcx, rdx
shr rcx, 0xb
add rcx, qword [rbx + 0x4e0]
jb 0x1800bb8b8
mov rax, r9
mul r10
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub r8d, eax
add r8d, dword [rbx + 0x4e8]
cmp r8d, 0x3b9ac9ff
jbe 0x1800bae9b
inc rcx
je 0x1800bb8b8
add r8d, 0xc4653600
mov eax, r8d
shr eax, 9
imul rdx, rax, 0x44b83
shr rdx, 0x27
add rdx, rcx
jb 0x1800bb8b8
imul rax, rax, 0x44b83
shr rax, 0x27
imul eax, eax, 0x3b9aca00
sub r8d, eax
mov rcx, qword [rbx + 0x4f0]
call fcn.18011ca40
cmp dword [rbp + 0x38], 0x3b9aca00
jne 0x1800bb064
mov r15d, 2
movabs r13, 0x7fffffffffffffff
cmp byte [rsp + 0x2c], 0
jne 0x1800baf09
mov rax, qword [0x18021a998]
test rax, r13
jne 0x1800bb55c
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r15d, r15d
je 0x1800baf2e
mov bpl, 5
cmp r15d, 1
je 0x1800bb7c9
jmp 0x1800bb690
mov r15, qword [rbx + 0x3f0]
lea r14, [r15 + 0x10]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x18021a998]
test rax, r13
jne 0x1800bb56e
xor ebp, ebp
movzx eax, byte [r15 + 0x18]
test al, al
jne 0x1800bb8b8
mov ecx, dword [r15 + 0xb0]
mov eax, dword [r15 + 0x6c]
add eax, ecx
js 0x1800bb8b8
mov eax, r12d
sub eax, ecx
mov dword [r15 + 0x6c], eax
mov ecx, dword [r15 + 0x68]
sub eax, ecx
jle 0x1800bafb3
mov edx, ecx
shr edx, 0x1f
add edx, ecx
sar edx, 1
cmp eax, edx
jl 0x1800bafb3
mov rax, qword [r15 + 0x160]
mov rcx, qword [r15 + 0x168]
mov qword [r15 + 0x160], 0
test rax, rax
je 0x1800bafb3
call qword [rax + 8]
test bpl, bpl
jne 0x1800bafc8
mov rax, qword [0x18021a998]
test rax, r13
jne 0x1800bb8ef
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp dword [rbx + 0x428], 2
jb 0x1800bb034
mov dword [rbx + 0x434], 0
mov dword [rbx + 0x43c], 0
mov dword [rbx + 0x444], 1
mov dword [rbx + 0x448], r12d
mov dword [rbx + 0x44c], 0
mov dword [rbx + 0x454], 0
mov dword [rbx + 0x45c], 0
mov byte [rbx + 0x464], 0
mov qword [rbx + 0x428], 0
jmp 0x1800bb690
mov byte [rsp + 0xb9], 0xa
mov bpl, 3
jmp 0x1800bb7c9
mov byte [rbx + 0x4f9], 0
mov rax, qword [r12]
mov rcx, qword [r12 + 8]
call qword [rax + 0x10]
cmp dword [rbp + 0x38], 0x3b9aca00
je 0x1800baee2
mov r12, qword [rbp + 0x60]
mov rdx, qword [rdi]
lea rcx, [r12 + 0x30]
call fcn.18003ae30
xor ecx, ecx
mov eax, 3
lock cmpxchg qword [r12 + 0x10], rcx
cmp rax, 3
je 0x1800bb0e9
cmp rax, 4
jne 0x1800bb1eb
mov word [rsp + 0x30], 0xb04
mov eax, dword [rsp + 0xb2]
mov dword [rsp + 0x32], eax
movzx eax, word [rsp + 0xb6]
mov word [rsp + 0x36], ax
movabs rax, 0xb00000003
mov qword [rsp + 0x38], rax
movupd xmm0, xmmword [rsp + 0x70]
movupd xmmword [rsp + 0x40], xmm0
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x30]
call fcn.180054570
jmp 0x1800bb661
mov r8d, dword [rbp + 0x38]
cmp r8d, 0x3b9aca00
je 0x1800bb8b8
shr r14, 0xb
imul eax, r14d, 0x3b9aca00
sub r15d, eax
mov rdx, qword [rbp + 0x30]
mov dword [rbp + 0x38], 0x3b9aca00
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x38], r15d
lea rcx, [rsp + 0x30]
call fcn.180104610
mov r14, rax
mov r13d, edx
xor r12d, r12d
cmp edx, 0x3b9aca00
cmovne r12d, edx
cmp dword [rbx + 0x4d8], 0x3b9aca00
je 0x1800bb390
mov r8d, 0x3b9aca00
cmp dword [rbp + 0x58], 0x3b9aca00
je 0x1800bb2d0
mov qword [rsp + 0x98], r14
mov r14d, r12d
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x1800bb976
mov r12, qword [rsp + 0x30]
mov r8, qword [0x18021a978]
test r8, r8
jne 0x1800bb1cb
mov qword [rsp + 0x30], 0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x1800bb976
mov r8, qword [rsp + 0x30]
mov qword [0x18021a978], r8
test r8, r8
je 0x1800bb8b8
mov rax, r12
or rax, r8
shr rax, 0x20
je 0x1800bb269
mov rax, r12
xor edx, edx
div r8
mov rcx, rax
jmp 0x1800bb273
cmp dword [rbx + 0x4d8], 0x3b9aca00
je 0x1800bb661
cmp byte [rbx + 0x4f9], 2
jb 0x1800bb661
mov rcx, qword [rbx + 0x4f0]
mov rdx, qword [rdi]
call fcn.18011c880
test al, al
jne 0x1800bb661
cmp dword [rbx + 0x4d8], 0x3b9aca00
je 0x1800bb937
mov r12, qword [rbx + 0x4f0]
mov rcx, r12
call fcn.180119600
mov rdx, qword [r12]
mov rcx, qword [r12 + 8]
lock dec qword [rcx]
sete al
test rdx, rdx
je 0x1800bb906
test al, al
je 0x1800bb90f
call fcn.18000bf20
jmp 0x1800bb90f
mov eax, r12d
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
movabs r9, 0x44b82fa09b5a53
mov r12d, r14d
je 0x1800bb29a
xor edx, edx
div r8
jmp 0x1800bb29f
xor edx, edx
div r8d
mov r14, qword [rsp + 0x98]
imul r8, rcx, 0x3b9aca00
add r8, rax
mov rax, r8
shr rax, 9
mul r9
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub r8d, eax
mov qword [rbp + 0x50], rdx
mov dword [rbp + 0x58], r8d
movzx eax, byte [rbx + 0x4f9]
test rax, rax
je 0x1800bb2f3
cmp eax, 1
je 0x1800bb390
cmp dword [rbp + 0x38], 0x3b9aca00
je 0x1800bb30b
jmp 0x1800bb390
cmp qword [rsp + 0xa0], 2
ja 0x1800bb30b
cmp byte [rbx + 0x4f8], 0
je 0x1800bb390
mov byte [rbx + 0x4f9], 1
cmp r8d, 0x3b9aca00
je 0x1800bb8b8
mov rax, qword [rbp + 0x50]
add rax, qword [rbx + 0x4d0]
jb 0x1800bb8b8
add r8d, dword [rbx + 0x4d8]
cmp r8d, 0x3b9ac9ff
jbe 0x1800bb350
inc rax
je 0x1800bb8b8
add r8d, 0xc4653600
mov ecx, r8d
shr ecx, 9
imul rdx, rcx, 0x44b83
shr rdx, 0x27
add rdx, rax
jb 0x1800bb8b8
mov eax, r8d
shr eax, 9
imul rax, rax, 0x44b83
shr rax, 0x27
imul eax, eax, 0x3b9aca00
sub r8d, eax
mov rcx, qword [rbx + 0x4f0]
call fcn.18011ca40
cmp dword [rbx + 0x4b0], 0x3b9aca00
je 0x1800bb661
cmp qword [rbp + 0x20], 0
je 0x1800bb8b8
mov rcx, qword [rbp + 0x28]
mov qword [rbp + 0x20], 1
mov qword [rbp + 0x28], 0
mov eax, dword [rbx + 0x4c8]
cmp rax, 0x1000000
jne 0x1800bb3ff
mov rax, qword [rbx + 0x4a8]
cmp rax, 9
ja 0x1800bb550
mov ecx, dword [rbx + 0x4cc]
inc ecx
mov dword [rbx + 0x4cc], ecx
cmp ecx, 2
mov r14, qword [rsp + 0x68]
jae 0x1800bb4fe
jmp 0x1800bb549
movdqa xmm2, xmmword [0x18018c920]
movapd xmm1, xmmword [0x18018c930]
xorpd xmm0, xmm0
xorpd xmm3, xmm3
cmp r13d, 0x3b9aca00
je 0x1800bb439
movq xmm4, r14
punpckldq xmm4, xmm2
subpd xmm4, xmm1
movapd xmm3, xmm4
unpckhpd xmm3, xmm4
addsd xmm3, xmm4
mov edx, r12d
xorps xmm4, xmm4
cvtsi2sd xmm4, rdx
divsd xmm4, qword [0x18018cbf0]
addsd xmm4, xmm3
movsd xmm3, qword [rbx + 0x4b8]
movsd xmm5, qword [rbx + 0x4c0]
movapd xmm6, xmm4
subsd xmm6, xmm5
mulsd xmm6, qword [0x18018cbf8]
addsd xmm6, xmm5
cmpeqsd xmm0, xmm5
andpd xmm4, xmm0
andnpd xmm0, xmm6
orpd xmm0, xmm4
movlpd qword [rbx + 0x4c0], xmm0
movq xmm4, rcx
punpckldq xmm4, xmm2
subpd xmm4, xmm1
movapd xmm1, xmm4
unpckhpd xmm1, xmm4
mulsd xmm0, qword [0x18018cc00]
addsd xmm1, xmm4
divsd xmm1, xmm0
ucomisd xmm3, xmm1
mov r14, qword [rsp + 0x68]
ja 0x1800bb4de
movsd qword [rbx + 0x4b8], xmm1
add rax, rax
movabs rdx, 0x5555555555555556
mul rdx
cmp rdx, rcx
jbe 0x1800bb58b
mov rax, qword [rbx + 0x4a8]
cmp rax, 9
ja 0x1800bb549
mov ecx, dword [rbx + 0x4cc]
inc ecx
mov dword [rbx + 0x4cc], ecx
cmp ecx, 2
jb 0x1800bb549
mov ecx, dword [rbx + 0x4b0]
imul rdx, rcx, 0x44b82fa1
shr rdx, 0x3a
lea ecx, [rcx*4]
lea rax, [rdx + rax*4]
mov edx, ecx
shr edx, 9
imul rdx, rdx, 0x44b83
shr rdx, 0x27
imul edx, edx, 0x3b9aca00
sub ecx, edx
mov qword [rbx + 0x4a8], rax
mov dword [rbx + 0x4b0], ecx
mov dword [rbx + 0x4cc], 0
xor ecx, ecx
jmp 0x1800bb5f7
xor ecx, ecx
mov r14, qword [rsp + 0x68]
jmp 0x1800bb5f7
call fcn.180186710
test al, al
jne 0x1800baf09
jmp 0x1800bb8e6
call fcn.180186710
mov ebp, eax
xor bpl, 1
movzx eax, byte [r15 + 0x18]
test al, al
je 0x1800baf61
jmp 0x1800bb8b8
add rcx, rcx
cmp rcx, 0x1000000
mov r12d, 0x1000000
cmovb r12, rcx
mov dword [rbx + 0x4c8], r12d
mov dword [rbx + 0x4cc], 0
mov rcx, qword [rbx + 0x4a8]
mov rax, rcx
shr rax, 1
mov edx, dword [rbx + 0x4b0]
shr edx, 1
lea r8d, [rdx + 0x1dcd6500]
test cl, 1
cmove r8d, edx
imul rcx, r8, 0x44b82fa1
shr rcx, 0x3c
imul ecx, ecx, 0x3b9aca00
sub r8d, ecx
mov qword [rbx + 0x4a8], rax
mov dword [rbx + 0x4b0], r8d
mov cl, 1
add r14, rax
jb 0x1800bb8b8
add r15d, dword [rbx + 0x4b0]
cmp r15d, 0x3b9ac9ff
jbe 0x1800bb620
inc r14
je 0x1800bb8b8
add r15d, 0xc4653600
mov edx, r15d
shr edx, 9
imul rax, rdx, 0x44b83
shr rax, 0x27
add rax, r14
jb 0x1800bb8b8
imul rdx, rdx, 0x44b83
shr rdx, 0x27
imul edx, edx, 0x3b9aca00
sub r15d, edx
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x48], r15d
xor r15d, r15d
test cl, cl
jne 0x1800baee8
cmp byte [rsp + 0x2c], 0
movabs r13, 0x7fffffffffffffff
jne 0x1800bb682
mov rax, qword [0x18021a998]
test rax, r13
jne 0x1800bb8d3
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov r15, qword [rbx + 0x3f0]
lea r14, [r15 + 0x10]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x18021a998]
test rax, r13
jne 0x1800bb8a4
xor eax, eax
movzx ecx, byte [r15 + 0x18]
test cl, cl
jne 0x1800bb8b8
mov rcx, qword [r15 + 0x178]
mov bpl, 1
or rcx, qword [r15 + 0x188]
jne 0x1800bb6e2
cmp qword [r15 + 0x228], 2
setae bpl
test al, al
jne 0x1800bb6f6
mov rax, qword [0x18021a998]
test rax, r13
jne 0x1800bb8bc
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test bpl, bpl
jne 0x1800bb758
lea rax, [rbx + 0x3e8]
lea rcx, [rbx + 0x390]
lea rdx, [rbx + 0x400]
lea r8, [rbx + 0x3c8]
mov r9, qword [rbx + 0x3f8]
add r9, 0x10
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r9
mov byte [rsp + 0x60], 0
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], r8
lea rcx, [rsp + 0x30]
call fcn.1800bce90
lea rcx, [rsp + 0x70]
mov rdx, rbx
mov r8, rdi
call fcn.1800bd010
movzx eax, byte [rsp + 0x70]
cmp eax, 3
je 0x1800bb7c6
cmp eax, 4
je 0x1800bb7bf
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x50], rax
movupd xmm0, xmmword [rsp + 0x70]
movupd xmm1, xmmword [rsp + 0x80]
movapd xmmword [rsp + 0x40], xmm1
movapd xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0xb8]
lea rdx, [rsp + 0x30]
call fcn.18003fb60
movzx ebp, byte [rsp + 0xb8]
cmp bpl, 6
jne 0x1800bb7c9
mov al, 2
jmp 0x1800bb888
mov bpl, 5
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x8f], rax
movzx eax, byte [rsp + 0xb9]
mov rcx, qword [rsp + 0xba]
mov edx, dword [rsp + 0xc2]
movzx r8d, word [rsp + 0xc6]
movzx r9d, byte [rsp + 0xc8]
movupd xmm0, xmmword [rsp + 0xc9]
movapd xmmword [rsp + 0x80], xmm0
mov byte [rsp + 0x70], al
mov qword [rsp + 0x71], rcx
mov dword [rsp + 0x79], edx
mov word [rsp + 0x7d], r8w
mov byte [rsp + 0x7f], r9b
cmp dword [rsi], 3
je 0x1800bb97f
mov rcx, rsi
call fcn.1800bbbc0
mov qword [rsi], 3
cmp bpl, 5
je 0x1800bb881
mov byte [rsp + 0x30], bpl
movapd xmm0, xmmword [rsp + 0x70]
movapd xmm1, xmmword [rsp + 0x80]
movupd xmmword [rsp + 0x31], xmm0
movupd xmmword [rsp + 0x41], xmm1
mov rax, qword [rsp + 0x8f]
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0x30]
call fcn.180054570
cmp bpl, 5
setne al
movaps xmm6, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.180186710
xor al, 1
movzx ecx, byte [r15 + 0x18]
test cl, cl
je 0x1800bb6c3
ud2
call fcn.180186710
test al, al
jne 0x1800bb6f6
mov byte [r15 + 0x18], 1
jmp 0x1800bb6f6
call fcn.180186710
test al, al
jne 0x1800bb682
mov r15d, 2
mov byte [rbp + 0x18], 1
jmp 0x1800baf09
call fcn.180186710
test al, al
jne 0x1800bafc8
mov byte [r15 + 0x18], 1
jmp 0x1800bafc8
test al, al
je 0x1800bb90f
call fcn.18000c720
mov rax, qword [r12 + 0x48]
test rax, rax
je 0x1800bb921
mov rcx, qword [r12 + 0x50]
call qword [rax + 0x18]
mov r8, qword [rbx + 0x4f0]
mov rcx, qword [0x18021a960]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [rbx + 0x4d8], 0x3b9aca00
movupd xmm0, xmmword [rsp + 0x30]
movupd xmm1, xmmword [rsp + 0x40]
movupd xmmword [rbx + 0x4dc], xmm0
movupd xmmword [rbx + 0x4ec], xmm1
mov eax, dword [rsp + 0x50]
mov dword [rbx + 0x4fc], eax
mov byte [rbp + 0x68], 1
mov r15d, 1
jmp 0x1800baee8
call sub.KERNEL32.dll_GetLastError
ud2
mov qword [rsi], 3
ud2