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

Disassembly:
mov r11, rsp
push rdi
push r12
sub rsp, 0x168
mov rax, qword [0x140237008]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov eax, dword [r8 + 8]
xor r12d, r12d
mov dword [rsp + 0x44], eax
mov rdi, r8
mov eax, dword [r8 + 0x28]
bswap eax
shr eax, 8
mov dword [rsp + 0x34], eax
mov eax, dword [r8 + 0x30]
bswap eax
shr eax, 8
mov dword [rsp + 0x9c], eax
mov eax, dword [r8 + 0x2c]
bswap eax
shr eax, 8
mov dword [rsp + 0xa8], eax
mov eax, dword [r8 + 0x34]
mov qword [r11 + 0x20], rbx
mov rbx, rdx
mov edx, dword [r8 + 0x10]
mov qword [r11 - 0x18], rbp
movsxd rbp, dword [r8]
bswap eax
shr eax, 8
mov qword [rsp + 0x88], rcx
mov ecx, dword [r8 + 4]
mov dword [rsp + 0x98], eax
mov eax, ecx
imul eax, ebp
mov qword [r11 - 0x38], r15
movaps xmmword [r11 - 0x88], xmm10
mov dword [rsp + 0x7c], ecx
mov rcx, rbx
movaps xmmword [r11 - 0x98], xmm11
movsxd r8, eax
mov qword [rsp + 0xb0], r8
mov byte [rsp + 0x30], 0
mov dword [rsp + 0x68], r12d
test edx, edx
jne 0x14015ab13
lea r8, [r8*4]
call fcn.1401868c0
jmp 0x14015ab1d
bswap edx
shr edx, 8
call sym.ProcessHacker.exe_PhFillMemoryUlong
lea r15d, [rbp - 1]
movss xmm11, dword [0x140211938]
mov eax, 0x7fffffff
mov qword [rsp + 0x150], r13
xorps xmm10, xmm10
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x3c], eax
mov qword [rsp + 0x148], r14
mov dword [rsp + 0x6c], r12d
mov dword [rsp + 0x40], r12d
cmp dword [rdi + 0x14], r12d
jbe 0x14015abbc
mov rax, qword [rdi + 0x18]
xorps xmm0, xmm0
xorps xmm2, xmm2
movaps xmm1, xmm11
maxss xmm0, dword [rax]
mov eax, dword [rdi + 4]
dec eax
test byte [rdi + 8], 0x10
minss xmm1, xmm0
cvtsi2ss xmm2, rax
movaps xmm0, xmm2
mulss xmm0, xmm1
cvttss2si r14, xmm0
mov qword [rsp + 0x90], r14
je 0x14015abb7
mov rax, qword [rdi + 0x20]
xorps xmm0, xmm0
addss xmm1, dword [rax]
maxss xmm0, xmm1
movaps xmm1, xmm11
minss xmm1, xmm0
mulss xmm2, xmm1
cvttss2si r13, xmm2
jmp 0x14015abca
mov r13d, r14d
jmp 0x14015abca
mov r14d, r12d
mov r13d, r12d
mov qword [rsp + 0x90], r14
mov r9d, dword [rsp + 0x44]
mov qword [rsp + 0x158], rsi
movaps xmmword [rsp + 0x110], xmm8
test r9b, 3
je 0x14015ac1a
mov ecx, dword [rdi + 0x3c]
xor edx, edx
mov eax, dword [rdi + 0x44]
imul eax, dword [rdi + 0xc]
movss xmm8, dword [rdi + 0x40]
mov esi, dword [rdi + 0x38]
maxss xmm8, xmm10
mov r8d, dword [rdi + 0x48]
bswap esi
div ecx
movaps xmm3, xmm8
mov dword [rsp + 0x58], r8d
sub ecx, edx
dec ecx
shr esi, 8
jmp 0x14015ac37
mov eax, dword [rsp + 0x34]
movss xmm8, dword [rsp + 0x34]
movss xmm3, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x34]
mov esi, dword [rsp + 0x34]
mov dword [rsp + 0x58], eax
mov eax, r9d
mov dword [rsp + 0x54], ecx
and eax, 6
movaps xmmword [rsp + 0x100], xmm9
cmp al, 6
jne 0x14015acf1
movss xmm9, dword ds:[rdi + 0x4c]
comiss xmm9, xmm11
jbe 0x14015acec
cvtps2pd xmm0, xmm9
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x120], xmm7
call fcn.1401a87e0
movaps xmm6, xmm0
cvtps2pd xmm7, xmm8
movaps xmm0, xmm7
call fcn.1401a87e0
xorps xmm0, xmmword [0x140211b70]
divsd xmm0, xmm6
call fcn.1401a6a54
subsd xmm0, qword [0x140211958]
mulsd xmm0, xmm6
call fcn.1401a83e0
mulsd xmm7, xmm0
cvtpd2ps xmm6, xmm7
movaps xmm7, xmmword [rsp + 0x120]
comiss xmm10, xmm6
ja 0x14015acd2
movaps xmm0, xmm6
call fcn.1401a83bc
test ax, ax
jle 0x14015acd5
xorps xmm6, xmm6
mov r9d, dword [rsp + 0x44]
movaps xmm3, xmm11
minss xmm3, xmm6
movaps xmm6, xmmword [rsp + 0x130]
jmp 0x14015acf8
xorps xmm3, xmm3
jmp 0x14015acf8
movss xmm9, dword [rsp + 0x34]
mov eax, r9d
and eax, 0x1000
mov dword [rsp + 0x78], eax
je 0x14015ad12
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x64], r12d
jmp 0x14015ad22
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x64], eax
test r15d, r15d
js 0x14015b14b
movsxd rax, r15d
mov r10, rbp
mov qword [rsp + 0x80], rax
mov eax, r9d
and eax, 1
mov dword [rsp + 0xa0], eax
mov eax, r9d
and eax, 2
mov dword [rsp + 0xa4], eax
mov eax, r9d
and eax, 0x10
mov dword [rsp + 0x74], eax
xor al, al
nop
test al, al
jne 0x14015ae33
mov r8d, dword ds:[rsp + 0x68]
mov r11d, r14d
inc r8d
mov r14d, r13d
mov dword [rsp + 0x68], r8d
cmp r8d, dword [rdi + 0x14]
jae 0x14015adf0
lfence
mov rax, qword [rdi + 0x18]
movaps xmm0, xmm10
xorps xmm2, xmm2
movaps xmm1, xmm11
maxss xmm0, dword [rax + r8*4]
mov eax, dword [rdi + 4]
dec eax
test byte [rdi + 8], 0x10
minss xmm1, xmm0
cvtsi2ss xmm2, rax
movaps xmm0, xmm2
mulss xmm0, xmm1
cvttss2si rdx, xmm0
mov qword [rsp + 0x90], rdx
je 0x14015adeb
mov rax, qword [rdi + 0x20]
movaps xmm0, xmm10
addss xmm1, dword [rax + r8*4]
maxss xmm0, xmm1
movaps xmm1, xmm11
minss xmm1, xmm0
mulss xmm2, xmm1
cvttss2si r13, xmm2
jmp 0x14015adfe
mov r13d, edx
jmp 0x14015adfe
mov edx, r12d
mov r13d, r12d
mov qword [rsp + 0x90], rdx
lea eax, [r11 + rdx]
shr eax, 1
lea ecx, [r14 + r13]
shr ecx, 1
cmp dword [rsp + 0x78], 0
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x4c], ecx
je 0x14015ae49
cmp r8d, dword [rdi + 0x6c]
jae 0x14015ae49
nop
cmp dword [rsp + 0x48], r13d
ja 0x14015ae49
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x64], r8d
jmp 0x14015ae49
mov r11d, dword [rsp + 0x38]
mov eax, r14d
mov r14d, dword [rsp + 0x4c]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x4c], r13d
mov r9d, dword [rsp + 0x6c]
lea ecx, [rax + r11]
mov r8d, dword [rsp + 0x70]
mov r12d, r11d
shr ecx, 1
mov edx, ecx
imul edx, ebp
add edx, ebp
cmp eax, r11d
mov eax, ebp
cmovae r12d, ecx
imul eax, r11d
imul r12d, ebp
cmp dword [rsp + 0x38], r11d
mov dword [rsp + 0x50], r12d
mov r12d, edx
cmovae r12d, eax
mov eax, dword [rsp + 0x38]
cmp eax, r11d
cmovae ecx, eax
imul ecx, ebp
mov dword [rsp + 0x6c], ecx
mov ecx, ebp
imul ecx, eax
cmp eax, r11d
mov r11d, dword [rsp + 0x50]
cmovae ecx, edx
cmp r12d, r8d
mov dword [rsp + 0x70], ecx
cmovg r12d, r8d
cmp r11d, r9d
cmovl r11d, r9d
add r12d, r15d
add r11d, r15d
cmp dword [rsp + 0x74], 0
mov dword [rsp + 0x50], r11d
je 0x14015af8b
mov r11d, dword ds:[rsp + 0x4c]
mov eax, r14d
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x3c]
lea ecx, [r11 + r14]
shr ecx, 1
mov edx, ecx
imul edx, ebp
add edx, ebp
cmp r11d, r14d
mov r10d, edx
cmovae eax, ecx
imul eax, ebp
mov dword [rsp + 0x60], eax
mov eax, ebp
imul eax, r14d
cmp r11d, r14d
cmovae r10d, eax
mov eax, ecx
cmovae eax, r11d
imul eax, ebp
mov dword [rsp + 0x40], eax
mov eax, r11d
imul eax, ebp
cmp r11d, r14d
mov r11d, dword [rsp + 0x50]
cmovae eax, edx
cmp r10d, r8d
mov dword [rsp + 0x3c], eax
mov edx, r10d
mov eax, dword [rsp + 0x60]
cmovg edx, r8d
cmp eax, r9d
mov r10, rbp
cmovl eax, r9d
add edx, r15d
add eax, r15d
mov dword [rsp + 0x5c], edx
mov dword [rsp + 0x60], eax
lea eax, [r11 + rbp]
movsxd rcx, eax
movsxd rax, edx
cmp rcx, rax
jge 0x14015af8b
mov edx, dword [rsp + 0x98]
nop dword [rax]
mov dword [rbx + rcx*4], edx
add rcx, rbp
cmp rcx, rax
jl 0x14015af70
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x40], eax
mov r8, qword [rsp + 0x80]
movsxd rdx, r12d
mov rax, r8
cmp r8, rdx
jge 0x14015afb0
mov ecx, dword [rsp + 0x9c]
mov dword [rbx + rax*4], ecx
add rax, r10
cmp rax, rdx
jl 0x14015afa5
cmp dword [rsp + 0xa0], 0
je 0x14015affd
mov r14d, dword ds:[rsp + 0x54]
test r14d, r14d
jne 0x14015afe5
mov rcx, qword [rsp + 0xb0]
mov rax, r8
cmp r8, rcx
jge 0x14015afe5
mov dword ds:[rbx + rax*4], esi
add rax, r10
cmp rax, rcx
jl 0x14015afd5
inc r14d
mov r12d, 0
cmp r14d, dword [rdi + 0x3c]
cmove r14d, r12d
mov dword [rsp + 0x54], r14d
jmp 0x14015b000
xor r12d, r12d
cmp dword [rsp + 0xa4], 0
je 0x14015b0ca
mov r9d, dword [rsp + 0x7c]
dec r9d
test byte [rsp + 0x44], 4
movd xmm2, r9d
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm2
je 0x14015b078
mulss xmm0, xmm3
movaps xmm1, xmm3
cvttss2si ecx, xmm0
cmp ecx, r9d
jg 0x14015b0ca
mov r8d, dword [rsp + 0x58]
nop dword [rax]
nop word [rax + rax]
mov eax, ecx
movaps xmm0, xmm2
imul eax, ebp
divss xmm1, xmm9
add eax, r15d
cdqe
mov dword [rbx + rax*4], esi
mov eax, ecx
sub eax, r8d
mulss xmm0, xmm1
cvttss2si ecx, xmm0
cmp ecx, eax
jle 0x14015b050
jmp 0x14015b0c2
mulss xmm0, xmm8
movaps xmm1, xmm8
mov r8d, r12d
cvttss2si ecx, xmm0
cmp ecx, r9d
jge 0x14015b0c2
mov r10d, dword [rsp + 0x58]
lea eax, [r8 + r10]
cmp ecx, eax
jl 0x14015b0aa
mov eax, ecx
mov r8d, ecx
imul eax, ebp
add eax, r15d
cdqe
mov dword [rbx + rax*4], esi
addss xmm1, xmm8
movaps xmm0, xmm2
mulss xmm0, xmm1
cvttss2si ecx, xmm0
cmp ecx, r9d
jl 0x14015b092
mov r10, rbp
mov r8, qword [rsp + 0x80]
cmp dword [rsp + 0x74], 0
je 0x14015b0fc
movsxd rax, dword ds:[rsp + 0x5c]
movsxd rcx, dword [rsp + 0x60]
cmp rax, rcx
jg 0x14015b0fc
mov r9d, dword [rsp + 0xa8]
nop dword [rax]
mov dword [rbx + rax*4], r9d
add rax, r10
cmp rax, rcx
jle 0x14015b0f0
movsxd rax, r11d
cmp rdx, rax
jg 0x14015b11b
mov ecx, dword [rsp + 0x34]
nop dword [rax]
mov dword [rbx + rdx*4], ecx
add rdx, r10
cmp rdx, rax
jle 0x14015b110
movzx eax, byte ds:[rsp + 0x30]
dec r8
mov r14, qword [rsp + 0x90]
xor al, 1
sub r15d, 1
mov byte [rsp + 0x30], al
mov qword [rsp + 0x80], r8
jns 0x14015ad60
mov r9d, dword [rsp + 0x44]
cmp dword ds:[rsp + 0x78], 0
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm10, xmmword [rsp + 0xf0]
movaps xmm9, xmmword [rsp + 0x100]
movaps xmm8, xmmword [rsp + 0x110]
mov r13, qword [rsp + 0x150]
je 0x14015b2e7
mov r15d, dword [rsp + 0x64]
cmp r15d, dword [rdi + 0x14]
jae 0x14015b2e7
lfence
mov rax, qword [rdi + 0x18]
movss xmm2, dword [rax + r15*4]
test r9b, 0x10
je 0x14015b1b5
lfence
mov rax, qword [rdi + 0x20]
addss xmm2, dword [rax + r15*4]
movss xmm3, dword [rdi + 0x58]
mov edx, r15d
mov rax, qword [rdi + 0x50]
mov rcx, rdi
call qword [case.0x1400f654f.0]
mov r14, qword [rsp + 0x88]
mov rbx, rax
test rax, rax
je 0x14015b2ef
lfence
mov rdx, qword [rdi + 0x60]
mov rsi, r12
test rdx, rdx
je 0x14015b1f9
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov rsi, rax
mov edx, dword ds:[rdi + 0x68]
mov rcx, r14
call qword [sym.imp.GDI32.dll_SetTextColor]
mov edx, 1
mov rcx, r14
call qword [sym.imp.GDI32.dll_SetBkMode]
mov r8d, dword [rbx]
lea r9, [rsp + 0xb8]
mov rdx, qword [rbx + 8]
mov rcx, r14
shr r8d, 1
call qword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [0x14023a64c]
mov edx, dword [rsp + 0x7c]
sub edx, dword [rsp + 0x48]
mov ecx, dword [rsp + 0xbc]
sub edx, eax
mov dword [rsp + 0xcc], edx
sub edx, ecx
mov dword [rsp + 0xc4], edx
cmp edx, eax
jge 0x14015b26a
mov dword [rsp + 0xc4], eax
add eax, ecx
mov dword [rsp + 0xcc], eax
mov r8d, dword [rbx]
lea eax, [r15 + r15]
mov rdx, qword [rbx + 8]
lea r9, [rsp + 0xc0]
cmp eax, ebp
mov dword [rsp + 0xc0], r12d
mov ecx, ebp
mov dword [rsp + 0x20], 0x102
cmovl ecx, eax
shr r8d, 1
sub ebp, ecx
mov rcx, r14
sub ebp, dword [0x14023a650]
mov dword [rsp + 0xc8], ebp
call qword [sym.imp.USER32.dll_DrawTextW]
test rsi, rsi
je 0x14015b2c6
mov rdx, rsi
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
lea rcx, [rbx - 0x10]
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14015b2ef
lfence
call fcn.1400fbcc0
jmp 0x14015b2ef
mov r14, qword [rsp + 0x88]
cmp qword [rdi + 0x78], 0
mov r15, qword [rsp + 0x140]
mov rsi, qword [rsp + 0x158]
mov rbp, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x198]
je 0x14015b3bc
mov rdx, qword [rdi + 0xa0]
test rdx, rdx
je 0x14015b332
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov r12, rax
mov edx, 1
mov rcx, r14
call qword [sym.imp.GDI32.dll_SetBkMode]
mov edx, dword [rdi + 0xac]
mov rcx, r14
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
mov ecx, 0x12
call qword [sym.imp.GDI32.dll_GetStockObject]
lea rdx, [rdi + 0x90]
mov rcx, r14
mov r8, rax
call qword [sym.imp.USER32.dll_FillRect]
mov edx, dword [rdi + 0xa8]
mov rcx, r14
call qword [sym.imp.GDI32.dll_SetTextColor]
mov r8d, dword [rdi + 0x70]
lea r9, [rdi + 0x80]
mov rdx, qword [rdi + 0x78]
mov rcx, r14
shr r8d, 1
mov dword [rsp + 0x20], 0x100
call qword [sym.imp.USER32.dll_DrawTextW]
test r12, r12
je 0x14015b3bc
mov rdx, r12
mov rcx, r14
call qword [sym.imp.GDI32.dll_SelectObject]
mov r14, qword [rsp + 0x148]
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.1401848a0
add rsp, 0x168
pop r12
pop rdi
ret