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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rdi
push r14
push r15
sub rsp, 0x140
mov qword [rax - 0x20], rbx
xor r14d, r14d
mov qword [rax - 0x28], rbp
mov rbx, rdx
movsxd rbp, dword [r8]
mov rdi, r8
mov edx, dword [r8 + 0x10]
mov rcx, rbx
mov qword [rax - 0x38], r12
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
mov eax, dword [r8 + 4]
mov r15d, eax
mov dword [rsp + 0x6c], eax
mov eax, dword [r8 + 8]
mov dword [rsp + 0x30], eax
mov eax, dword [r8 + 0x28]
bswap eax
shr eax, 8
mov dword [rsp + 0xa4], eax
mov eax, dword [r8 + 0x30]
bswap eax
shr eax, 8
mov dword [rsp + 0x90], eax
mov eax, dword [r8 + 0x2c]
bswap eax
shr eax, 8
mov dword [rsp + 0xa0], eax
mov eax, dword [r8 + 0x34]
bswap eax
shr eax, 8
imul r15d, ebp
mov byte [rsp + 0x168], 0
mov dword [rsp + 0x40], r14d
mov dword [rsp + 0x88], eax
test edx, edx
jne 0x1400f27fc
lea eax, [r15*4]
movsxd r8, eax
call fcn.14010ed90
jmp 0x1400f2809
bswap edx
shr edx, 8
movsxd r8, r15d
call sym.ProcessHacker.exe_PhFillMemoryUlong
movss xmm11, dword [0x14016e680]
lea r14d, [rbp - 1]
xor r8d, r8d
mov r12d, 0x7fffffff
xorps xmm10, xmm10
mov dword [rsp + 0x170], r8d
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x48], r8d
cmp dword [rdi + 0x14], r8d
jbe 0x1400f2898
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 rcx, xmm0
mov qword [rsp + 0x70], rcx
je 0x1400f2894
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 rax, xmm2
jmp 0x1400f28a0
mov eax, ecx
jmp 0x1400f28a0
mov dword [rsp + 0x70], r8d
mov eax, r8d
mov r10d, dword [rsp + 0x30]
mov qword [rsp + 0x128], rsi
mov qword [rsp + 0x118], r13
movaps xmmword [rsp + 0xe0], xmm8
mov qword [rsp + 0x38], rax
test r10b, 3
je 0x1400f28ff
mov r13d, 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 ecx, dword [rdi + 0x48]
bswap esi
div r13d
movaps xmm3, xmm8
mov dword [rsp + 0x4c], ecx
sub r13d, edx
dec r13d
shr esi, 8
jmp 0x1400f292c
mov eax, dword [rsp + 0x168]
movss xmm8, dword [rsp + 0x168]
movss xmm3, dword [rsp + 0x168]
mov r13d, dword [rsp + 0x168]
mov esi, dword [rsp + 0x168]
mov dword [rsp + 0x4c], eax
mov eax, r10d
movaps xmmword [rsp + 0xd0], xmm9
and eax, 6
cmp al, 6
jne 0x1400f29e1
movss xmm9, dword [rdi + 0x4c]
comiss xmm9, xmm11
jbe 0x1400f29dc
cvtps2pd xmm0, xmm9
movaps xmmword [rsp + 0x100], xmm6
movaps xmmword [rsp + 0xf0], xmm7
call fcn.14012ef00
movaps xmm6, xmm0
cvtps2pd xmm7, xmm8
movaps xmm0, xmm7
call fcn.14012ef00
divsd xmm0, xmm6
xorps xmm0, xmmword [0x14016e820]
call fcn.140128e10
subsd xmm0, qword [0x14016e6a0]
mulsd xmm0, xmm6
call fcn.14012eb00
mulsd xmm7, xmm0
cvtpd2ps xmm6, xmm7
movaps xmm7, xmmword [rsp + 0xf0]
comiss xmm10, xmm6
ja 0x1400f29bf
movaps xmm0, xmm6
call fcn.140117a80
test ax, ax
jle 0x1400f29c2
xorps xmm6, xmm6
mov r10d, dword [rsp + 0x30]
movaps xmm3, xmm11
minss xmm3, xmm6
xor r8d, r8d
movaps xmm6, xmmword [rsp + 0x100]
jmp 0x1400f29eb
xorps xmm3, xmm3
jmp 0x1400f29eb
movss xmm9, dword [rsp + 0x168]
mov eax, r10d
and eax, 0x1000
mov dword [rsp + 0x68], eax
je 0x1400f2a09
mov rax, qword [rsp + 0x38]
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x54], r8d
jmp 0x1400f2a24
mov eax, dword [rsp + 0x168]
mov ecx, dword [rsp + 0x168]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x38]
mov dword [rsp + 0x54], ecx
movsxd rcx, r15d
mov qword [rsp + 0x78], rcx
test r14d, r14d
js 0x1400f2e52
movsxd rcx, r14d
mov r9, rbp
mov qword [rsp + 0x58], rcx
mov ecx, r10d
and ecx, 1
mov dword [rsp + 0x94], ecx
mov ecx, r10d
and ecx, 2
mov dword [rsp + 0x98], ecx
mov ecx, r10d
and ecx, 0x10
mov dword [rsp + 0x64], ecx
jmp 0x1400f2a73
xor r8d, r8d
cmp byte [rsp + 0x168], 0
jne 0x1400f2b42
mov r10d, dword [rsp + 0x70]
mov r11d, eax
mov eax, dword [rsp + 0x40]
inc eax
mov dword [rsp + 0x40], eax
cmp eax, dword [rdi + 0x14]
jae 0x1400f2af9
mov ecx, eax
movaps xmm0, xmm10
mov rax, qword [rdi + 0x18]
xorps xmm2, xmm2
movaps xmm1, xmm11
maxss xmm0, dword [rax + rcx*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 rax, xmm0
mov edx, eax
mov qword [rsp + 0x70], rdx
je 0x1400f2b04
mov rax, qword [rdi + 0x20]
movaps xmm0, xmm10
addss xmm1, dword [rax + rcx*4]
maxss xmm0, xmm1
movaps xmm1, xmm11
minss xmm1, xmm0
mulss xmm2, xmm1
cvttss2si rax, xmm2
jmp 0x1400f2b04
mov edx, r8d
mov eax, r8d
mov qword [rsp + 0x70], rdx
lea r15d, [r10 + rdx]
mov qword [rsp + 0x38], rax
shr r15d, 1
lea ecx, [r11 + rax]
shr ecx, 1
cmp dword [rsp + 0x68], 0
mov dword [rsp + 0x60], r15d
mov dword [rsp + 0x178], ecx
je 0x1400f2b60
mov ecx, dword [rsp + 0x40]
cmp ecx, dword [rdi + 0x6c]
jae 0x1400f2b60
cmp dword [rsp + 0x34], eax
ja 0x1400f2b60
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x54], ecx
jmp 0x1400f2b60
mov r10d, dword [rsp + 0x60]
mov r15d, dword [rsp + 0x70]
mov r11d, dword [rsp + 0x178]
mov dword [rsp + 0x60], r15d
mov dword [rsp + 0x178], eax
lea eax, [r15 + r10]
mov r8d, r10d
shr eax, 1
mov edx, eax
mov dword [rsp + 0x50], eax
imul edx, ebp
add edx, ebp
cmp r15d, r10d
mov ecx, edx
cmovae r8d, eax
mov eax, ebp
imul eax, r10d
imul r8d, ebp
cmp r15d, r10d
cmovae ecx, eax
mov eax, dword [rsp + 0x50]
cmovae eax, r15d
imul eax, ebp
mov dword [rsp + 0x50], eax
mov eax, r15d
imul eax, ebp
cmp r15d, r10d
mov r15d, dword [rsp + 0x170]
cmovae eax, edx
cmp ecx, r12d
mov dword [rsp + 0xa8], eax
cmovle r12d, ecx
add r12d, r14d
cmp r8d, r15d
cmovge r15d, r8d
add r15d, r14d
cmp dword [rsp + 0x64], 0
mov dword [rsp + 0x170], r15d
je 0x1400f2c9f
mov r15d, dword [rsp + 0x178]
mov r8d, r11d
mov eax, ebp
lea r10d, [r15 + r11]
shr r10d, 1
mov edx, r10d
imul edx, ebp
add edx, ebp
cmp r15d, r11d
mov ecx, edx
cmovae r8d, r10d
imul eax, r11d
imul r8d, ebp
cmp r15d, r11d
cmovae r10d, r15d
cmovae ecx, eax
mov eax, dword [rsp + 0x170]
imul r15d, ebp
imul r10d, ebp
cmp dword [rsp + 0x178], r11d
mov r11d, dword [rsp + 0x44]
cmovae r15d, edx
cmp ecx, r11d
mov dword [rsp + 0x44], r15d
cmovle r11d, ecx
mov ecx, dword [rsp + 0x48]
add r11d, r14d
mov dword [rsp + 0x48], r10d
cmp r8d, ecx
mov dword [rsp + 0x8c], r11d
cmovge ecx, r8d
add eax, ebp
add ecx, r14d
mov dword [rsp + 0x9c], ecx
movsxd rcx, eax
movsxd rax, r11d
cmp rcx, rax
jge 0x1400f2c95
mov edx, dword [rsp + 0x88]
nop word [rax + rax]
mov dword [rbx + rcx*4], edx
add rcx, r9
cmp rcx, rax
jl 0x1400f2c80
mov dword [rsp + 0x44], r15d
mov dword [rsp + 0x48], r10d
mov r15d, dword [rsp + 0x170]
jmp 0x1400f2ca7
mov r11d, dword [rsp + 0x8c]
mov r10, qword [rsp + 0x58]
movsxd rdx, r12d
mov rax, r10
cmp r10, rdx
jge 0x1400f2ccb
mov ecx, dword [rsp + 0x90]
nop
mov dword [rbx + rax*4], ecx
add rax, r9
cmp rax, rdx
jl 0x1400f2cc0
cmp dword [rsp + 0x94], 0
je 0x1400f2d0d
test r13d, r13d
jne 0x1400f2cfb
mov rcx, qword [rsp + 0x78]
mov rax, r10
cmp r10, rcx
jge 0x1400f2cfb
nop word [rax + rax]
mov dword [rbx + rax*4], esi
add rax, r9
cmp rax, rcx
jl 0x1400f2cf0
inc r13d
mov eax, 0
cmp r13d, dword [rdi + 0x3c]
cmove r13d, eax
jmp 0x1400f2d0f
xor eax, eax
cmp dword [rsp + 0x98], 0
je 0x1400f2dc7
mov r10d, dword [rsp + 0x6c]
dec r10d
test byte [rsp + 0x30], 4
movd xmm2, r10d
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm2
je 0x1400f2d78
mulss xmm0, xmm3
movaps xmm1, xmm3
cvttss2si ecx, xmm0
cmp ecx, r10d
jg 0x1400f2dc2
mov r8d, dword [rsp + 0x4c]
nop dword [rax]
mov eax, ecx
movaps xmm0, xmm2
imul eax, ebp
divss xmm1, xmm9
add eax, r14d
cdqe
mov dword [rbx + rax*4], esi
mov eax, ecx
sub eax, r8d
mulss xmm0, xmm1
cvttss2si ecx, xmm0
cmp ecx, eax
jle 0x1400f2d50
jmp 0x1400f2dc2
mulss xmm0, xmm8
movaps xmm1, xmm8
mov r8d, eax
cvttss2si ecx, xmm0
cmp ecx, r10d
jge 0x1400f2dc2
mov r9d, dword [rsp + 0x4c]
lea eax, [r8 + r9]
cmp ecx, eax
jl 0x1400f2daa
mov eax, ecx
mov r8d, ecx
imul eax, ebp
add eax, r14d
cdqe
mov dword [rbx + rax*4], esi
addss xmm1, xmm8
movaps xmm0, xmm2
mulss xmm0, xmm1
cvttss2si ecx, xmm0
cmp ecx, r10d
jl 0x1400f2d92
mov r9, rbp
mov r10, qword [rsp + 0x58]
cmp dword [rsp + 0x64], 0
je 0x1400f2dfc
movsxd rcx, dword [rsp + 0x9c]
movsxd rax, r11d
cmp rax, rcx
jg 0x1400f2dfc
mov r8d, dword [rsp + 0xa0]
nop word [rax + rax]
mov dword [rbx + rax*4], r8d
add rax, r9
cmp rax, rcx
jle 0x1400f2df0
movsxd rax, r15d
cmp rdx, rax
jg 0x1400f2e1b
mov ecx, dword [rsp + 0xa4]
nop dword [rax + rax]
mov dword [rbx + rdx*4], ecx
add rdx, r9
cmp rdx, rax
jle 0x1400f2e10
mov eax, dword [rsp + 0x50]
dec r10
xor byte [rsp + 0x168], 1
sub r14d, 1
mov r12d, dword [rsp + 0xa8]
mov dword [rsp + 0x170], eax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x58], r10
jns 0x1400f2a70
mov r10d, dword [rsp + 0x30]
cmp dword [rsp + 0x68], 0
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm10, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
mov r13, qword [rsp + 0x118]
je 0x1400f2fbf
mov r12d, dword [rsp + 0x54]
cmp r12d, dword [rdi + 0x14]
jae 0x1400f2fbf
mov rax, qword [rdi + 0x18]
movss xmm2, dword [rax + r12*4]
test r10b, 0x10
je 0x1400f2eb2
mov rax, qword [rdi + 0x20]
addss xmm2, dword [rax + r12*4]
movss xmm3, dword [rdi + 0x58]
mov edx, r12d
mov rcx, rdi
call qword [rdi + 0x50]
mov r15, qword [rsp + 0x160]
xor r14d, r14d
mov rbx, rax
test rax, rax
je 0x1400f2fca
mov rdx, qword [rdi + 0x60]
mov esi, r14d
test rdx, rdx
je 0x1400f2eef
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov rsi, rax
mov edx, dword [rdi + 0x68]
mov rcx, r15
call qword [sym.imp.GDI32.dll_SetTextColor]
mov edx, 1
mov rcx, r15
call qword [sym.imp.GDI32.dll_SetBkMode]
mov r8d, dword [rbx]
lea r9, [rsp + 0x170]
mov rdx, qword [rbx + 8]
mov rcx, r15
shr r8d, 1
call qword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [0x1401909c4]
mov edx, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0x174]
sub edx, eax
sub edx, dword [rsp + 0x34]
mov dword [rsp + 0x84], edx
sub edx, ecx
mov dword [rsp + 0x7c], edx
cmp edx, eax
jge 0x1400f2f59
mov dword [rsp + 0x7c], eax
add eax, ecx
mov dword [rsp + 0x84], eax
mov r8d, dword [rbx]
lea eax, [r12 + r12]
mov rdx, qword [rbx + 8]
lea r9, [rsp + 0x78]
cmp eax, ebp
mov dword [rsp + 0x78], r14d
mov rcx, r15
mov dword [rsp + 0x20], 0x102
cmovge eax, ebp
shr r8d, 1
sub ebp, eax
sub ebp, dword [0x1401909c8]
mov dword [rsp + 0x80], ebp
call qword [sym.imp.USER32.dll_DrawTextW]
test rsi, rsi
je 0x1400f2fa7
mov rdx, rsi
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
lea rcx, [rbx - 0x10]
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400f2fca
call fcn.1400c8bc0
jmp 0x1400f2fca
mov r15, qword [rsp + 0x160]
xor r14d, r14d
cmp qword [rdi + 0x78], 0
mov r12, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x128]
mov rbp, qword [rsp + 0x130]
mov rbx, qword [rsp + 0x138]
je 0x1400f308b
mov rdx, qword [rdi + 0xa0]
test rdx, rdx
je 0x1400f300d
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov r14, rax
mov edx, dword [rdi + 0xac]
mov rcx, r15
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
mov ecx, 0x12
call qword [sym.imp.GDI32.dll_GetStockObject]
lea rdx, [rdi + 0x90]
mov rcx, r15
mov r8, rax
call qword [sym.imp.USER32.dll_FillRect]
mov edx, dword [rdi + 0xa8]
mov rcx, r15
call qword [sym.imp.GDI32.dll_SetTextColor]
mov edx, 1
mov rcx, r15
call qword [sym.imp.GDI32.dll_SetBkMode]
mov r8d, dword [rdi + 0x70]
lea r9, [rdi + 0x80]
mov rdx, qword [rdi + 0x78]
mov rcx, r15
shr r8d, 1
mov dword [rsp + 0x20], 0x100
call qword [sym.imp.USER32.dll_DrawTextW]
test r14, r14
je 0x1400f308b
mov rdx, r14
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
add rsp, 0x140
pop r15
pop r14
pop rdi
ret