Function at 0x140024870
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 [0x14029c028]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov ecx, 0x230
call fcn.140184dc4
mov r14, rax
mov rcx, rax
mov rdx, rdi
call fcn.1401c48e0
mov ecx, 0x320
call fcn.140184dc4
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, [0x14026f6e0]
mov qword [rbx], rdx
lea rdx, [0x14026f7c0]
mov qword [rbx + 8], rdx
lea rdx, [0x14026f800]
mov qword [rbx + 0x10], rdx
lea rdx, [0x140270908]
mov qword [rbx + 0x18], rdx
mov rdx, qword [r14 + 8]
mov qword [rbx + 0x20], rdx
test rdx, rdx
je 0x140024938
mov r8d, 1
lock xadd dword [rdx], r8d
cmp r8d, 0x7fffffff
je 0x140024e6b
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 0x14002498e
call fcn.140024ea0
movsd xmm1, qword [0x140260ae8]
xor eax, eax
ucomisd xmm1, xmm0
seta al
lea rcx, [0x140283170]
movsd xmm6, qword [rcx + rax*8]
call fcn.14015ee50
test al, al
jne 0x14002499a
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 0x140024e6e
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x140024e75
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 0x140024a36
mov eax, 1
lock xadd dword [rdx], eax
cmp eax, 0x7fffffff
je 0x140024e78
lea r8, [rbx + 0x38]
lea rcx, [rbx + 0x128]
movabs r12, 0xfffffffc00000000
call fcn.14015ef50
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 [0x14029ce48]
je 0x140024e84
mov qword [rbx + 0x228], r14
mov qword [rbx + 0x230], 0
mov ecx, 0x40
call fcn.140184dc4
mov r14, rax
mov rax, qword [rbx + 0x20]
test rax, rax
je 0x140024b02
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x140024e7b
xorpd xmm0, xmm0
movupd xmmword [r14 + 0x1c], xmm0
movupd xmmword [r14 + 0x10], xmm0
mov qword [r14 + 0x30], rax
lea rax, [0x1402709d0]
mov qword [r14], rax
mov rax, rbx
and rax, r12
cmp rax, qword [0x14029ce48]
je 0x140024db6
mov qword [r14 + 0x38], rbx
mov qword [rbx + 0x238], r14
mov ecx, 0x38
call fcn.140184dc4
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140024b66
mov edx, 1
lock xadd dword [rcx], edx
cmp edx, 0x7fffffff
je 0x140024e7e
xorpd xmm0, xmm0
movupd xmmword [rax + 0x1c], xmm0
movupd xmmword [rax + 0x10], xmm0
mov qword [rax + 0x30], rcx
lea rcx, [0x1402709f0]
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 0x140024c57
lea r15, [rbx + 0x110]
lea r14, [rsp + 0x60]
mov rcx, r14
call fcn.14015f110
cmp byte [rbx + 0x108], 0
movupd xmm0, xmmword [r14]
movupd xmmword [r15], xmm0
jne 0x140024c57
mov byte [rbx + 0x108], 1
mov rax, qword [rbx + 0x40]
mov qword [rbx + 0x308], rax
mov ecx, 8
call fcn.140184dc4
mov dword [rax], 0
mov byte [rax + 4], 0
mov qword [rbx + 0x310], rax
test rax, rax
je 0x140024c97
mov ecx, 1
lock xadd dword [rax], ecx
cmp ecx, 0x7fffffff
je 0x140024e81
mov qword [rbx + 0x318], rbx
test byte [0x1402ab720], 0x19
jne 0x140024e19
lea r15, [rbx + 0x10]
mov rcx, qword [rbx + 0x1b0]
mov rax, rcx
and rax, r12
cmp rax, qword [0x14029ce48]
je 0x140024dd0
mov rax, r15
and rax, r12
cmp rax, qword [0x14029ce48]
je 0x140024dc3
mov r14, rbx
add r14, 8
mov qword [rbx + 0x1b0], r15
mov rax, qword [rbx + 0x308]
mov rax, qword [fcn.14014f070]
lea rcx, [0x140183600]
lea r15, [rsp + 0x60]
cmp rax, rcx
jne 0x140024dda
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 0x140024df2
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402b7458]
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 [0x1402ca008]
mov qword [rsi], rbx
mov rcx, qword [rdi + 8]
and r12, rcx
cmp r12, qword [0x14029ce48]
je 0x140024deb
mov qword [rdi + 8], 0
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1401879f0
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.1400ddc60
jmp 0x140024b33
mov rcx, r15
call fcn.1400ddc60
jmp 0x140024cdc
call fcn.1400de590
jmp 0x140024cc9
mov rcx, r15
call qword [0x1402ca008]
mov rax, qword [r15]
jmp 0x140024d43
call fcn.1400e1670
jmp 0x140024d85
mov rcx, qword [0x1402b7458]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x140024d43
lea r14, [rsp + 0x60]
mov rcx, r14
call fcn.14014f070
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, [0x1402ab720]
lea r8, [0x140283180]
mov cl, 0x4e
xor r9d, r9d
call fcn.14013bad0
jmp 0x140024cab
int3
xor edx, edx
jmp 0x1400249cc
int3
int3
int3
int3
int3
mov rcx, r14
call fcn.1400ddc60
jmp 0x140024ac5