Function at 0x140069d00
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, 0x88
mov byte [rsp + 0x40], dl
mov byte [rsp + 0x27], cl
mov cl, 1
nop dword [rax]
movzx eax, byte [0x140174130]
test al, al
jne 0x140069d20
xor eax, eax
lock cmpxchg byte [0x140174130], cl
je 0x140069d3b
pause
jmp 0x140069d20
mov eax, dword [0x140178928]
cmp eax, dword [0x140178c34]
jae 0x140069f27
mov rcx, qword [0x140178c28]
movsxd rdx, dword [0x140178c30]
imul rdx, rax
cmp byte [rcx + rdx + 0x34], 2
jne 0x140069f27
mov rax, qword [rcx + rdx + 0x38]
mov qword [rsp + 0x28], rax
cmp qword [rax + 0x4508], 0
je 0x140069f27
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x44e0], 0
je 0x140069f27
mov rax, qword [rsp + 0x28]
mov r12, qword [rax + 0x44e8]
add r12, 0x10
lea rsi, [rsp + 0x30]
mov r13, qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea r14, [rsp + 0x48]
mov rbp, qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov dil, 1
xor r15d, r15d
jmp 0x140069deb
inc r15
mov r12, qword [r12]
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + 0x44e0]
cmp r15, rax
jae 0x140069f27
mov rcx, rsi
call r13
mov rcx, r14
call rbp
imul rax, qword [rsp + 0x30], 0xf4240
mov rcx, qword [rsp + 0x48]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x140069e20
xor edx, edx
div rcx
mov rbx, rax
jmp 0x140069e30
xor edx, edx
div ecx
mov ebx, eax
nop word cs:[rax + rax]
movzx eax, byte [r12 + 0x120]
test al, al
jne 0x140069e30
xor eax, eax
lock cmpxchg byte [r12 + 0x120], dil
je 0x140069ea0
mov rcx, rsi
call r13
mov rcx, r14
call rbp
imul rax, qword [rsp + 0x30], 0xf4240
mov rcx, qword [rsp + 0x48]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x140069e77
xor edx, edx
div rcx
jmp 0x140069e7b
xor edx, edx
div ecx
mov rcx, rbx
sub rcx, rax
cmp rcx, 0xc8
ja 0x140069dd0
pause
jmp 0x140069e30
mov rax, qword [rsp + 0x28]
cmp r12, qword [rax + 0x4508]
je 0x140069ebd
xor eax, eax
xchg byte [r12 + 0x120], al
jmp 0x140069dd0
mov ebp, dword [r12 + 0x110]
mov eax, dword [r12 + 0x114]
mov ecx, dword [r12 + 0x118]
mov r15d, dword [r12 + 0x11c]
cmp ebp, ecx
jle 0x140069eea
mov r14d, ebp
mov esi, eax
mov ebp, ecx
jmp 0x140069f01
jne 0x140069ef8
cmp eax, r15d
jle 0x140069ef8
mov r14d, ebp
mov esi, eax
jmp 0x140069f01
mov r14d, ecx
mov esi, r15d
mov r15d, eax
mov dword [0x140181944], 0
cmp ebp, r14d
jne 0x14006a2b8
cmp r15d, esi
jne 0x14006a2b8
xor eax, eax
xchg byte [r12 + 0x120], al
mov rbx, qword [0x140178920]
test rbx, rbx
je 0x14006a29c
mov rsi, qword [rbx + 0x44a0]
mov rcx, qword [rbx + 0x4580]
mov rax, qword [rbx + 0x4588]
mov qword [rsp + 0x80], rax
mov r9, qword [rax]
mov r10, qword [rcx]
sub r9, r10
jne 0x140069fdc
cmp byte [rsp + 0x40], 0
je 0x14006a29c
cmp dword [rbx + 0x44ac], 0
je 0x14006a29c
mov rdi, qword [rbx + 0x4570]
lea r8, [rsp + 0x30]
mov rcx, rbx
mov rdx, rdi
call fcn.1400650d0
mov r14, rax
lea r8, [rsp + 0x48]
mov rcx, rbx
mov rdx, rdi
call fcn.1400655c0
test r14, r14
js 0x14006a23b
cmp qword [rsp + 0x30], rdi
jne 0x14006a23b
lea rcx, [rsp + 0x38]
test rax, rax
js 0x140069fd4
mov rax, qword [rsp + 0x48]
mov edx, dword [rsp + 0x50]
add rdx, rax
cmp rdx, rdi
jg 0x14006a24c
mov rax, rdi
jmp 0x14006a256
movsxd rax, dword [rbx + 0x44ac]
mov qword [rsp + 0x40], rax
mov dword [0x140181944], 0
mov rax, qword [rcx]
test rax, rax
mov qword [rsp + 0x78], rcx
je 0x14006a03f
lea rcx, [rsi + rax]
dec rcx
jmp 0x14006a023
inc rcx
mov r13, rcx
sub r13, rsi
cmp edx, 0xd
je 0x14006a042
cmp edx, 0xa
je 0x14006a042
cmp rcx, rsi
jb 0x14006a03f
movzx edx, byte [rcx]
cmp edx, 0xd
je 0x14006a010
cmp edx, 0xa
je 0x14006a010
dec rcx
cmp edx, 0xd
jne 0x14006a01e
jmp 0x14006a042
xor r13d, r13d
add r10, rsi
lea rdx, [rsi + r13]
mov r8, qword [rsp + 0x40]
lea r14, [rsi + r8]
mov rcx, rdx
cmp r13, r8
jge 0x14006a078
mov rcx, rdx
jmp 0x14006a068
inc rcx
cmp rcx, r14
jae 0x14006a078
movzx r8d, byte [rcx]
cmp r8d, 0x20
je 0x14006a060
cmp r8d, 9
je 0x14006a060
sub rcx, rdx
lea rdx, [rcx + r13]
mov r8, rax
sub r8, r13
cmp rax, rdx
cmovge r8, rcx
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x38], r9
lea rcx, [rsp + 0x30]
call fcn.14006c440
mov dword [rsp + 0x5c], eax
test eax, eax
je 0x14006a1f7
xor edi, edi
mov qword [rsp + 0x28], rsi
jmp 0x14006a133
sub rcx, rsi
mov rdx, qword [rsp + 0x70]
cmp rcx, rdx
cmovge rcx, rdx
mov rsi, qword [rsp + 0x28]
mov edx, dword [rsp + 0x38]
test r15, r15
mov r8d, 0
cmovs rdx, r8
cmp rax, r12
cmovle rdx, r8
add rbx, rcx
sub rbp, rbx
add rbp, rdx
lea rcx, [0x140181938]
mov edx, ebp
call fcn.1400018f0
add rbx, rsi
mov rcx, rax
mov rdx, rbx
mov r8, rbp
call fcn.140091e40
inc edi
mov r13, r15
cmp edi, dword [rsp + 0x5c]
je 0x14006a1f7
add rsi, r13
mov r12, rsi
cmp r13, qword [rsp + 0x40]
jge 0x14006a170
mov r12, rsi
nop word cs:[rax + rax]
movzx eax, byte [r12]
cmp eax, 0xa
je 0x14006a170
cmp eax, 0xd
je 0x14006a170
inc r12
cmp r12, r14
jb 0x14006a150
nop word [rax + rax]
sub r12, qword [rsp + 0x28]
mov rcx, qword [0x140178920]
mov rdx, r12
lea r8, [rsp + 0x30]
call fcn.1400650d0
mov r15, rax
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
cmp r12, rax
mov rbp, rax
cmovl rbp, r12
mov rcx, qword [rsp + 0x78]
mov rbx, qword [rcx]
cmp rbx, r13
cmovle rbx, r13
jge 0x14006a1f0
mov rcx, rsi
cmp r13, qword [rsp + 0x40]
jge 0x14006a0d0
mov rcx, rsi
jmp 0x14006a1dc
inc rcx
cmp rcx, r14
jae 0x14006a0d0
movzx edx, byte [rcx]
cmp edx, 0x20
je 0x14006a1d0
cmp edx, 9
je 0x14006a1d0
jmp 0x14006a0d0
xor ecx, ecx
jmp 0x14006a0df
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x38], rax
lea rdx, [0x1400f2098]
lea rcx, [rsp + 0x30]
call fcn.140007110
cmp byte [rsp + 0x27], 0
je 0x14006a29c
test al, al
je 0x14006a29c
mov rax, qword [0x140178920]
test rax, rax
je 0x14006a29c
lock and word [rax + 2], 0xfffd
jmp 0x14006a29c
test rax, rax
js 0x14006a29c
mov rax, qword [rsp + 0x48]
mov edx, dword [rsp + 0x50]
add rdx, rax
cmp rdx, rdi
jl 0x14006a29c
lea rcx, [rsp + 0x50]
mov edi, dword [rcx]
add rsi, rax
mov dword [0x140181944], 0
lea rcx, [0x140181938]
mov edx, edi
call fcn.1400018f0
mov rcx, rax
mov rdx, rsi
mov r8, rdi
call fcn.140091e40
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rdi
lea rdx, [0x1400f2098]
lea rcx, [rsp + 0x30]
call fcn.140007110
xor eax, eax
xchg byte [0x140174130], al
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movsxd rdx, ebp
mov rdi, qword [r12 + 0x40]
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r12 + 0x80]
imul rcx, rdx
add rdi, qword [rax + rcx + 0x20]
mov ebx, esi
cmp ebp, r14d
je 0x14006a2e1
mov ebx, dword [rax + rcx + 0x28]
sub ebx, r15d
lea rcx, [0x140181938]
mov edx, ebx
call fcn.1400018f0
movsxd rcx, r15d
add rdi, rcx
mov rcx, rax
mov rdx, rdi
mov r8, rbx
call fcn.140091e40
cmp ebp, r14d
je 0x14006a3e7
inc ebp
mov rax, qword [r12 + 0x78]
mov ecx, dword [r12 + 0x80]
cmp ebp, r14d
jge 0x14006a3b7
movsxd r15, ecx
movsxd rdx, ebp
imul r15, rdx
add r15, rax
movsxd r8, r14d
lea r8, [r8 + r8*2]
shl r8, 4
neg rdx
lea r14, [rdx + rdx*2]
shl r14, 4
add r14, r8
add r14, r15
cmp r15, r14
jae 0x14006a3b7
lea rdi, [0x140181938]
jmp 0x14006a389
mov rbx, qword [r12 + 0x40]
add rbx, qword [r15 + 0x20]
mov rcx, rdi
call fcn.1400018f0
mov r8d, dword [r15 + 0x28]
mov rcx, rax
mov rdx, rbx
call fcn.140091e40
inc ebp
add r15, 0x30
cmp r15, r14
jae 0x14006a3aa
cmp byte [r15 + 0x2d], 2
mov edx, dword [r15 + 0x28]
jne 0x14006a35e
test edx, edx
jne 0x14006a35e
mov rcx, rdi
mov edx, 1
call fcn.1400018f0
mov byte [rax], 0xa
jmp 0x14006a37e
mov rax, qword [r12 + 0x78]
mov ecx, dword [r12 + 0x80]
movsxd rdx, ebp
movsxd rcx, ecx
imul rcx, rdx
mov rdi, qword [r12 + 0x40]
add rdi, qword [rax + rcx + 0x20]
lea rcx, [0x140181938]
mov edx, esi
call fcn.1400018f0
mov r8d, esi
mov rcx, rax
mov rdx, rdi
call fcn.140091e40
mov rax, qword [0x140181938]
movsxd rcx, dword [0x140181944]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rcx
lea rdx, [0x1400f2098]
lea rcx, [rsp + 0x30]
call fcn.140007110
mov rax, qword [rsp + 0x28]
mov qword [rax + 0x4508], 0
xor eax, eax
xchg byte [r12 + 0x120], al
jmp 0x14006a29c