Function at 0x14002b1a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x90
movaps xmmword [rsp + 0x80], xmm6
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov ecx, 0x250
call fcn.140184834
mov r14, rax
mov rcx, rax
mov rdx, rdi
call fcn.1401c4990
mov ecx, 0x338
call fcn.140184834
mov rbx, rax
mov eax, dword [rdi]
mov dword [rsp + 0x70], eax
mov al, byte [rdi + 4]
mov byte [rsp + 0x74], al
mov rax, qword [rdi + 8]
mov qword [rdi + 8], 0
movzx ecx, word [rdi + 0x10]
movups xmm0, xmmword [rdi + 0x18]
movaps xmmword [rsp + 0x50], xmm0
lea rdx, [0x14026dec0]
mov qword [rbx], rdx
lea rdx, [0x14026dfa0]
mov qword [rbx + 8], rdx
lea rdx, [0x14026dfe0]
mov qword [rbx + 0x10], rdx
lea rdx, [0x14026f448]
mov qword [rbx + 0x18], rdx
mov rdx, qword [r14 + 8]
mov qword [rbx + 0x20], rdx
test rdx, rdx
je 0x14002b26a
mov r8d, 1
lock xadd dword [rdx], r8d
cmp r8d, 0x7fffffff
je 0x14002b798
movabs r15, 0xaaaaaaaaaaaaaaaa
mov qword [rbx + 0x28], 2
mov qword [rbx + 0x30], r14
mov edx, dword [rsp + 0x70]
mov dword [rbx + 0x38], edx
mov dl, byte [rsp + 0x74]
mov byte [rbx + 0x3c], dl
mov qword [rbx + 0x40], rax
mov word [rbx + 0x48], cx
movapd xmm0, xmmword [rsp + 0x50]
movupd xmmword [rbx + 0x50], xmm0
xorps xmm6, xmm6
test dl, dl
je 0x14002b2f9
lea r14, [rsp + 0x68]
mov qword [r14], r15
mov edx, 8
mov rcx, r14
call fcn.1400f2d10
movabs rax, 0x1fffffffffffff
and rax, qword [r14]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mov edx, 0xffffffcb
call fcn.140184fb4
movsd xmm1, qword [0x14025fae0]
xor eax, eax
ucomisd xmm1, xmm0
seta al
lea rcx, [0x140281d40]
movsd xmm6, qword [rcx + rax*8]
call fcn.14015e090
test al, al
jne 0x14002b305
xorps xmm6, xmm6
movsd qword [rbx + 0x60], xmm6
movzx eax, byte [rbx + 0x48]
mov dword [rbx + 0x68], eax
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x14002b79b
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x14002b7a2
mov rdx, qword [rbx + 0x20]
mov qword [rbx + 0x70], rax
xorps xmm6, xmm6
movups xmmword [rbx + 0x78], xmm6
mov r14, qword [rbx + 0x40]
mov dword [rbx + 0x88], 0
movups xmmword [rbx + 0x90], xmm6
movups xmmword [rbx + 0xa0], xmm6
movups xmmword [rbx + 0xb0], xmm6
movups xmmword [rbx + 0xc0], xmm6
movups xmmword [rbx + 0xd0], xmm6
movups xmmword [rbx + 0xe0], xmm6
movups xmmword [rbx + 0xf0], xmm6
movups xmmword [rbx + 0xf9], xmm6
test rdx, rdx
je 0x14002b3a1
mov eax, 1
lock xadd dword [rdx], eax
cmp eax, 0x7fffffff
je 0x14002b7a5
lea r8, [rbx + 0x38]
lea rcx, [rbx + 0x128]
movabs r12, 0xfffffffc00000000
call fcn.14015e190
lea rax, [rbx + 0x1d0]
movups xmmword [rbx + 0x1b8], xmm6
xor ecx, ecx
mov qword [rbx + 0x1c8], rcx
mov qword [rbx + 0x1d0], rax
mov qword [rbx + 0x1d8], rax
mov qword [rbx + 0x1e0], rcx
mov dword [rbx + 0x1e8], ecx
lea rax, [rbx + 0x208]
movups xmmword [rbx + 0x1f0], xmm6
mov qword [rbx + 0x200], rcx
mov qword [rbx + 0x208], rax
mov qword [rbx + 0x210], rax
mov qword [rbx + 0x218], rcx
mov dword [rbx + 0x220], ecx
mov rax, r14
and rax, r12
cmp rax, qword [0x1402aaec8]
je 0x14002b7a8
mov qword [rbx + 0x228], r14
mov qword [rbx + 0x230], 0
mov ecx, 0x40
call fcn.140184834
mov r14, rax
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x14002b46d
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x14002b7b5
xorpd xmm0, xmm0
movupd xmmword [r14 + 0x1c], xmm0
movupd xmmword [r14 + 0x10], xmm0
mov qword [r14 + 0x30], rax
lea rax, [0x14026f580]
mov qword [r14], rax
mov rax, rbx
and rax, r12
cmp rax, qword [0x1402aaec8]
je 0x14002b763
mov qword [r14 + 0x38], rbx
mov qword [rbx + 0x238], r14
mov ecx, 0x38
call fcn.140184834
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x14002b4d1
mov edx, 1
lock xadd dword [rcx], edx
cmp edx, 0x7fffffff
je 0x14002b7b8
xorpd xmm0, xmm0
movupd xmmword [rax + 0x1c], xmm0
movupd xmmword [rax + 0x10], xmm0
mov qword [rax + 0x30], rcx
lea rcx, str.PU_a_
mov qword [rax], rcx
mov qword [rbx + 0x240], rax
mov byte [rbx + 0x248], 0
xor eax, eax
mov qword [rbx + 0x250], rax
lea rcx, [rbx + 0x260]
movupd xmmword [rbx + 0x260], xmm0
mov qword [rbx + 0x258], rcx
lea rcx, [rbx + 0x278]
movupd xmmword [rbx + 0x278], xmm0
mov qword [rbx + 0x270], rcx
lea rcx, [rbx + 0x290]
movupd xmmword [rbx + 0x290], xmm0
mov qword [rbx + 0x288], rcx
mov word [rbx + 0x2a0], 0
lea rcx, [rbx + 0x2f8]
movupd xmmword [rbx + 0x2a8], xmm0
movupd xmmword [rbx + 0x2b8], xmm0
movupd xmmword [rbx + 0x2c8], xmm0
movupd xmmword [rbx + 0x2d8], xmm0
movupd xmmword [rbx + 0x2e8], xmm0
mov qword [rbx + 0x2f8], rcx
mov qword [rbx + 0x300], rcx
mov qword [rbx + 0x308], rax
mov dword [rbx + 0x310], 0
mov qword [rbx + 0x318], rax
cmp byte [rbx + 0x3c], 0
je 0x14002b5f8
lea r14, [rsp + 0x68]
mov qword [r14], r15
mov edx, 8
mov rcx, r14
call fcn.1400f2d10
mov r13, qword [r14]
mov qword [r14], r15
lea r14, [rsp + 0x68]
mov edx, 8
mov rcx, r14
call fcn.1400f2d10
mov rax, qword [r14]
cmp byte [rbx + 0x108], 0
mov qword [rbx + 0x110], r13
mov qword [rbx + 0x118], rax
jne 0x14002b5f8
mov byte [rbx + 0x108], 1
mov rax, qword [rbx + 0x40]
mov qword [rbx + 0x320], rax
mov ecx, 8
call fcn.140184834
mov dword [rax], 0
mov byte [rax + 4], 0
mov qword [rbx + 0x328], rax
test rax, rax
je 0x14002b638
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x14002b7bb
mov qword [rbx + 0x330], rbx
test byte [0x14029e620], 0x19
jne 0x14002b7be
lea r15, [rbx + 0x10]
mov rcx, qword [rbx + 0x1b0]
mov rax, rcx
and rax, r12
cmp rax, qword [0x1402aaec8]
je 0x14002b77d
mov rax, r15
and rax, r12
cmp rax, qword [0x1402aaec8]
je 0x14002b770
mov r14, rbx
add r14, 8
mov qword [rbx + 0x1b0], r15
mov rax, qword [rbx + 0x320]
mov rax, qword [fcn.140105050]
lea rcx, [0x140182e50]
lea r15, [rsp + 0x68]
cmp rax, rcx
jne 0x14002b787
mov qword [r15], 0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r15]
movabs rcx, 0x8637bd05af6
cmp rax, rcx
jg 0x14002b80f
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b0aa0]
lea rcx, [rax + 0x1c9c380]
sar rcx, 0x3f
btc rcx, 0x3f
add rax, 0x1c9c380
cmovo rax, rcx
mov qword [rbx + 0x250], rax
mov rcx, qword [rbx + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
mov rdx, r14
call qword [case.0x1401eda70.0]
mov qword [rsi], rbx
mov rcx, qword [rdi + 8]
and r12, rcx
cmp r12, qword [0x1402aaec8]
je 0x14002b836
mov qword [rdi + 8], 0
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1401874c0
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x80]
add rsp, 0x90
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
call fcn.1400da330
jmp 0x14002b49e
mov rcx, r15
call fcn.1400da330
jmp 0x14002b67d
call fcn.1400da480
jmp 0x14002b66a
mov rcx, r15
call qword [case.0x1401eda70.0]
mov rax, qword [r15]
jmp 0x14002b6e4
int3
xor edx, edx
jmp 0x14002b337
int3
int3
mov rcx, r14
call fcn.1400da330
jmp 0x14002b430
int3
int3
int3
lea r14, [rsp + 0x68]
mov rcx, r14
call fcn.140105050
call sub.KERNEL32.dll_GetCurrentThreadId
xor ecx, ecx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], r14
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x48], 0x800
lea rdx, [0x14029e620]
lea r8, [0x140281d50]
mov cl, 0x4e
xor r9d, r9d
call fcn.1401589f0
jmp 0x14002b64c
mov rcx, qword [0x1402b0aa0]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14002b6e4
call fcn.1400de100
jmp 0x14002b730