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

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
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, 0x230
call fcn.1401833f4
mov r14, rax
mov rcx, rax
mov rdx, rdi
call fcn.1401c3890
mov ecx, 0x320
call fcn.1401833f4
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, [0x14026e6e0]
mov qword [rbx], rdx
lea rdx, [0x14026e7c0]
mov qword [rbx + 8], rdx
lea rdx, [0x14026e800]
mov qword [rbx + 0x10], rdx
lea rdx, [0x14026f908]
mov qword [rbx + 0x18], rdx
mov rdx, qword [r14 + 8]
mov qword [rbx + 0x20], rdx
test rdx, rdx
je 0x140022308
mov r8d, 1
lock xadd dword [rdx], r8d
cmp r8d, 0x7fffffff
je 0x14002283b
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 0x14002235e
call fcn.140022870
movsd xmm1, qword [0x14025fae8]
xor eax, eax
ucomisd xmm1, xmm0
seta al
lea rcx, [0x140282170]
movsd xmm6, qword [rcx + rax*8]
call fcn.14015a680
test al, al
jne 0x14002236a
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 0x14002283e
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x140022845
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 0x140022406
mov eax, 1
lock xadd dword [rdx], eax
cmp eax, 0x7fffffff
je 0x140022848
lea r8, [rbx + 0x38]
lea rcx, [rbx + 0x128]
movabs r12, 0xfffffffc00000000
call fcn.14015a780
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 [0x14029be48]
je 0x140022854
mov qword [rbx + 0x228], r14
mov qword [rbx + 0x230], 0
mov ecx, 0x40
call fcn.1401833f4
mov r14, rax
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x1400224d2
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x14002284b
xorpd xmm0, xmm0
movupd xmmword [r14 + 0x1c], xmm0
movupd xmmword [r14 + 0x10], xmm0
mov qword [r14 + 0x30], rax
lea rax, [0x14026f9d0]
mov qword [r14], rax
mov rax, rbx
and rax, r12
cmp rax, qword [0x14029be48]
je 0x140022786
mov qword [r14 + 0x38], rbx
mov qword [rbx + 0x238], r14
mov ecx, 0x38
call fcn.1401833f4
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140022536
mov edx, 1
lock xadd dword [rcx], edx
cmp edx, 0x7fffffff
je 0x14002284e
xorpd xmm0, xmm0
movupd xmmword [rax + 0x1c], xmm0
movupd xmmword [rax + 0x10], xmm0
mov qword [rax + 0x30], rcx
lea rcx, str._N_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
mov word [rbx + 0x288], 0
lea rcx, [rbx + 0x2e0]
movupd xmmword [rbx + 0x290], xmm0
movupd xmmword [rbx + 0x2a0], xmm0
movupd xmmword [rbx + 0x2b0], xmm0
movupd xmmword [rbx + 0x2c0], xmm0
movupd xmmword [rbx + 0x2d0], xmm0
mov qword [rbx + 0x2e0], rcx
mov qword [rbx + 0x2e8], rcx
mov qword [rbx + 0x2f0], rax
mov dword [rbx + 0x2f8], 0
mov qword [rbx + 0x300], rax
cmp byte [rbx + 0x3c], 0
je 0x140022627
lea r15, [rbx + 0x110]
lea r14, [rsp + 0x60]
mov rcx, r14
call fcn.14015a940
cmp byte [rbx + 0x108], 0
movupd xmm0, xmmword [r14]
movupd xmmword [r15], xmm0
jne 0x140022627
mov byte [rbx + 0x108], 1
mov rax, qword [rbx + 0x40]
mov qword [rbx + 0x308], rax
mov ecx, 8
call fcn.1401833f4
mov dword [rax], 0
mov byte [rax + 4], 0
mov qword [rbx + 0x310], rax
test rax, rax
je 0x140022667
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x140022851
mov qword [rbx + 0x318], rbx
test byte [0x1402aa720], 0x19
jne 0x1400227e9
lea r15, [rbx + 0x10]
mov rcx, qword [rbx + 0x1b0]
mov rax, rcx
and rax, r12
cmp rax, qword [0x14029be48]
je 0x1400227a0
mov rax, r15
and rax, r12
cmp rax, qword [0x14029be48]
je 0x140022793
mov r14, rbx
add r14, 8
mov qword [rbx + 0x1b0], r15
mov rax, qword [rbx + 0x308]
mov rax, qword [fcn.140106270]
lea rcx, [0x140181ca0]
lea r15, [rsp + 0x60]
cmp rax, rcx
jne 0x1400227aa
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 0x1400227c2
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b6458]
add rax, 0x1c9c380
movabs rcx, 0x7fffffffffffffff
cmovno rcx, rax
mov qword [rbx + 0x250], rcx
mov rcx, qword [rbx + 0x30]
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
mov rdx, r14
call qword [0x1402c9008]
mov qword [rsi], rbx
mov rcx, qword [rdi + 8]
and r12, rcx
cmp r12, qword [0x14029be48]
je 0x1400227bb
mov qword [rdi + 8], 0
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140186020
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov rcx, rbx
call fcn.1400dc910
jmp 0x140022503
mov rcx, r15
call fcn.1400dc910
jmp 0x1400226ac
call fcn.1400dca60
jmp 0x140022699
mov rcx, r15
call qword [0x1402c9008]
mov rax, qword [r15]
jmp 0x140022713
call fcn.1400dfe50
jmp 0x140022755
mov rcx, qword [0x1402b6458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140022713
lea r14, [rsp + 0x60]
mov rcx, r14
call fcn.140106270
call qword [sym.imp.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, [0x1402aa720]
lea r8, [0x140282180]
mov cl, 0x4e
xor r9d, r9d
call fcn.14013ac20
jmp 0x14002267b
int3
xor edx, edx
jmp 0x14002239c
int3
int3
int3
int3
int3
mov rcx, r14
call fcn.1400dc910
jmp 0x140022495