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

Disassembly:
mov r11, rsp
push rdi
push r14
sub rsp, 0x158
mov rax, qword [0x7ff7c01ca008]
xor rax, rsp
mov qword [rsp + 0xc8], rax
mov eax, dword [r8 + 8]
xor r14d, r14d
mov dword [rsp + 0x44], eax
mov rdi, r8
mov eax, dword [r8 + 0x28]
bswap eax
shr eax, 8
mov dword [rsp + 0xac], eax
mov eax, dword [r8 + 0x30]
bswap eax
shr eax, 8
mov dword [rsp + 0x98], 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 + 0xb8], rcx
mov ecx, dword [r8 + 4]
mov dword [rsp + 0x90], eax
mov eax, ecx
imul eax, ebp
mov qword [r11 - 0x28], r12
movaps xmmword [r11 - 0x88], xmm10
mov dword [rsp + 0x80], 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 + 0x3c], r14d
test edx, edx
jne 0x7ff7c00fd756
lea r8, [r8*4]
call fcn.7ff7c0123170
jmp 0x7ff7c00fd765
bswap edx
shr edx, 8
call sym.ProcessHacker.exe_PhFillMemoryUlong
movss xmm11, dword [0x7ff7c01a94b0]
lea r14d, [rbp - 1]
xor r8d, r8d
mov qword [rsp + 0x130], r15
mov r12d, 0x7fffffff
mov dword [rsp + 0x38], r8d
xorps xmm10, xmm10
mov dword [rsp + 0x50], r12d
mov dword [rsp + 0x54], r8d
cmp dword [rdi + 0x14], r8d
jbe 0x7ff7c00fd7fd
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 rax, xmm0
mov qword [rsp + 0x88], rax
je 0x7ff7c00fd7f8
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 r15, xmm2
jmp 0x7ff7c00fd808
mov r15d, eax
jmp 0x7ff7c00fd808
mov dword [rsp + 0x88], r8d
mov r15d, r8d
mov r10d, dword [rsp + 0x44]
mov qword [rsp + 0x148], rsi
mov qword [rsp + 0x138], r13
movaps xmmword [rsp + 0x100], xmm8
mov qword [rsp + 0x70], r15
test r10b, 3
je 0x7ff7c00fd867
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 + 0x58], ecx
sub r13d, edx
dec r13d
shr esi, 8
jmp 0x7ff7c00fd885
mov eax, dword [rsp + 0x34]
movss xmm8, dword [rsp + 0x34]
movss xmm3, dword [rsp + 0x34]
mov r13d, dword [rsp + 0x34]
mov esi, dword [rsp + 0x34]
mov dword [rsp + 0x58], eax
mov eax, r10d
movaps xmmword [rsp + 0xf0], xmm9
and eax, 6
cmp al, 6
jne 0x7ff7c00fd93b
movss xmm9, dword [rdi + 0x4c]
comiss xmm9, xmm11
jbe 0x7ff7c00fd936
cvtps2pd xmm0, xmm9
movaps xmmword [rsp + 0x120], xmm6
movaps xmmword [rsp + 0x110], xmm7
call fcn.7ff7c0143430
movaps xmm6, xmm0
cvtps2pd xmm7, xmm8
movaps xmm0, xmm7
call fcn.7ff7c0143430
divsd xmm0, xmm6
xorps xmm0, xmmword [0x7ff7c01a9660]
call fcn.7ff7c01416a4
subsd xmm0, qword [0x7ff7c01a94d0]
mulsd xmm0, xmm6
call fcn.7ff7c0143030
mulsd xmm7, xmm0
cvtpd2ps xmm6, xmm7
movaps xmm7, xmmword [rsp + 0x110]
comiss xmm10, xmm6
ja 0x7ff7c00fd919
movaps xmm0, xmm6
call fcn.7ff7c014300c
test ax, ax
jle 0x7ff7c00fd91c
xorps xmm6, xmm6
mov r10d, dword [rsp + 0x44]
movaps xmm3, xmm11
minss xmm3, xmm6
xor r8d, r8d
movaps xmm6, xmmword [rsp + 0x120]
jmp 0x7ff7c00fd942
xorps xmm3, xmm3
jmp 0x7ff7c00fd942
movss xmm9, dword [rsp + 0x34]
mov eax, r10d
and eax, 0x1000
mov dword [rsp + 0x7c], eax
je 0x7ff7c00fd95c
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x60], r8d
jmp 0x7ff7c00fd96c
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x60], eax
test r14d, r14d
js 0x7ff7c00fdd7f
movsxd rax, r14d
mov r9, rbp
mov qword [rsp + 0x68], rax
mov eax, r10d
and eax, 1
mov dword [rsp + 0x9c], eax
mov eax, r10d
and eax, 2
mov dword [rsp + 0xa0], eax
mov eax, r10d
and eax, 0x10
mov dword [rsp + 0x78], eax
xor al, al
jmp 0x7ff7c00fd9b3
xor r8d, r8d
test al, al
jne 0x7ff7c00fda7f
mov ecx, dword [rsp + 0x3c]
mov r11d, r15d
mov r10d, dword [rsp + 0x88]
inc ecx
mov dword [rsp + 0x3c], ecx
cmp ecx, dword [rdi + 0x14]
jae 0x7ff7c00fda3a
mov rax, qword [rdi + 0x18]
movaps xmm0, xmm10
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 rdx, xmm0
mov qword [rsp + 0x88], rdx
je 0x7ff7c00fda35
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 r15, xmm2
jmp 0x7ff7c00fda48
mov r15d, edx
jmp 0x7ff7c00fda48
mov edx, r8d
mov r15d, r8d
mov qword [rsp + 0x88], rdx
lea eax, [r10 + rdx]
mov qword [rsp + 0x70], r15
shr eax, 1
mov dword [rsp + 0x4c], eax
lea eax, [r11 + r15]
shr eax, 1
cmp dword [rsp + 0x7c], 0
mov dword [rsp + 0x40], eax
je 0x7ff7c00fda99
cmp ecx, dword [rdi + 0x6c]
jae 0x7ff7c00fda99
cmp dword [rsp + 0x48], r15d
ja 0x7ff7c00fda99
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x60], ecx
jmp 0x7ff7c00fda99
mov r10d, dword [rsp + 0x4c]
mov eax, dword [rsp + 0x88]
mov r11d, dword [rsp + 0x40]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x40], r15d
mov r15d, dword [rsp + 0x4c]
mov r8d, r10d
lea eax, [r15 + r10]
shr eax, 1
mov edx, eax
mov dword [rsp + 0x5c], 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 + 0x5c]
cmovae eax, r15d
imul eax, ebp
mov dword [rsp + 0x5c], eax
mov eax, ebp
imul eax, r15d
cmp r15d, r10d
mov r15d, dword [rsp + 0x38]
cmovae eax, edx
cmp ecx, r12d
mov dword [rsp + 0x34], eax
cmovle r12d, ecx
add r12d, r14d
cmp r8d, r15d
cmovge r15d, r8d
add r15d, r14d
cmp dword [rsp + 0x78], 0
mov dword [rsp + 0x38], r15d
je 0x7ff7c00fdbcc
mov r15d, dword [rsp + 0x40]
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 + 0x38]
imul r15d, ebp
imul r10d, ebp
cmp dword [rsp + 0x40], r11d
mov r11d, dword [rsp + 0x50]
cmovae r15d, edx
cmp ecx, r11d
mov dword [rsp + 0x50], r15d
cmovle r11d, ecx
mov ecx, dword [rsp + 0x54]
add r11d, r14d
mov dword [rsp + 0x54], r10d
cmp r8d, ecx
mov dword [rsp + 0x94], r11d
cmovge ecx, r8d
add eax, ebp
add ecx, r14d
mov dword [rsp + 0xa4], ecx
movsxd rcx, eax
movsxd rax, r11d
cmp rcx, rax
jge 0x7ff7c00fdbc5
mov edx, dword [rsp + 0x90]
nop word [rax + rax]
mov dword [rbx + rcx*4], edx
add rcx, r9
cmp rcx, rax
jl 0x7ff7c00fdbb0
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x54], r10d
mov r15d, dword [rsp + 0x38]
jmp 0x7ff7c00fdbd4
mov r11d, dword [rsp + 0x94]
mov r10, qword ds:[rsp + 0x68]
movsxd rdx, r12d
mov rax, r10
cmp r10, rdx
jge 0x7ff7c00fdbfb
mov ecx, dword [rsp + 0x98]
nop dword [rax]
mov dword [rbx + rax*4], ecx
add rax, r9
cmp rax, rdx
jl 0x7ff7c00fdbf0
cmp dword [rsp + 0x9c], 0
je 0x7ff7c00fdc3d
test r13d, r13d
jne 0x7ff7c00fdc2b
mov rcx, qword [rsp + 0xb0]
mov rax, r10
cmp r10, rcx
jge 0x7ff7c00fdc2b
nop word [rax + rax]
mov dword [rbx + rax*4], esi
add rax, r9
cmp rax, rcx
jl 0x7ff7c00fdc20
inc r13d
mov eax, 0
cmp r13d, dword [rdi + 0x3c]
cmove r13d, eax
jmp 0x7ff7c00fdc3f
xor eax, eax
cmp dword [rsp + 0xa0], 0
je 0x7ff7c00fdcf7
mov r10d, dword [rsp + 0x80]
dec r10d
test byte [rsp + 0x44], 4
movd xmm2, r10d
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm2
je 0x7ff7c00fdca8
mulss xmm0, xmm3
movaps xmm1, xmm3
cvttss2si ecx, xmm0
cmp ecx, r10d
jg 0x7ff7c00fdcf2
mov r8d, dword [rsp + 0x58]
nop
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 0x7ff7c00fdc80
jmp 0x7ff7c00fdcf2
mulss xmm0, xmm8
movaps xmm1, xmm8
mov r8d, eax
cvttss2si ecx, xmm0
cmp ecx, r10d
jge 0x7ff7c00fdcf2
mov r9d, dword [rsp + 0x58]
lea eax, [r8 + r9]
cmp ecx, eax
jl 0x7ff7c00fdcda
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 0x7ff7c00fdcc2
mov r9, rbp
mov r10, qword [rsp + 0x68]
cmp dword [rsp + 0x78], 0
je 0x7ff7c00fdd2c
movsxd rcx, dword [rsp + 0xa4]
movsxd rax, r11d
cmp rax, rcx
jg 0x7ff7c00fdd2c
mov r8d, dword [rsp + 0xa8]
nop word [rax + rax]
mov dword [rbx + rax*4], r8d
add rax, r9
cmp rax, rcx
jle 0x7ff7c00fdd20
movsxd rax, r15d
cmp rdx, rax
jg 0x7ff7c00fdd4b
mov ecx, dword [rsp + 0xac]
nop dword [rax + rax]
mov dword [rbx + rdx*4], ecx
add rdx, r9
cmp rdx, rax
jle 0x7ff7c00fdd40
movzx eax, byte [rsp + 0x30]
dec r10
mov ecx, dword [rsp + 0x5c]
xor al, 1
sub r14d, 1
mov r12d, dword [rsp + 0x34]
mov r15, qword [rsp + 0x70]
mov byte [rsp + 0x30], al
mov qword [rsp + 0x68], r10
mov dword [rsp + 0x38], ecx
jns 0x7ff7c00fd9b0
mov r10d, dword [rsp + 0x44]
cmp dword [rsp + 0x7c], 0
movaps xmm11, xmmword [rsp + 0xd0]
movaps xmm10, xmmword [rsp + 0xe0]
movaps xmm9, xmmword [rsp + 0xf0]
movaps xmm8, xmmword [rsp + 0x100]
mov r13, qword [rsp + 0x138]
je 0x7ff7c00fdf12
mov r12d, dword ds:[rsp + 0x60]
cmp r12d, dword [rdi + 0x14]
jae 0x7ff7c00fdf12
mov rax, qword [rdi + 0x18]
movss xmm2, dword [rax + r12*4]
test r10b, 0x10
je 0x7ff7c00fdde4
mov rax, qword [rdi + 0x20]
addss xmm2, dword [rax + r12*4]
movss xmm3, dword [rdi + 0x58]
mov edx, r12d
mov rax, qword [rdi + 0x50]
mov rcx, rdi
call qword [case.0x7ff7c00c1f48.0]
mov r15, qword [rsp + 0xb8]
xor r14d, r14d
mov rbx, rax
test rax, rax
je 0x7ff7c00fdf1d
mov rdx, qword [rdi + 0x60]
mov esi, r14d
test rdx, rdx
je 0x7ff7c00fde29
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 ds:[rbx]
lea r9, [rsp + 0xb0]
mov rdx, qword [rbx + 8]
mov rcx, r15
shr r8d, 1
call qword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [0x7ff7c01cd07c]
mov edx, dword [rsp + 0x80]
sub edx, dword [rsp + 0x48]
mov ecx, dword [rsp + 0xb4]
sub edx, eax
mov dword [rsp + 0xc4], edx
sub edx, ecx
mov dword [rsp + 0xbc], edx
cmp edx, eax
jge 0x7ff7c00fdea4
mov dword [rsp + 0xbc], eax
add eax, ecx
mov dword [rsp + 0xc4], eax
mov r8d, dword [rbx]
lea eax, [r12 + r12]
mov rdx, qword [rbx + 8]
lea r9, [rsp + 0xb8]
cmp eax, ebp
mov dword [rsp + 0xb8], r14d
mov rcx, r15
mov dword [rsp + 0x20], 0x102
cmovge eax, ebp
shr r8d, 1
sub ebp, eax
sub ebp, dword [0x7ff7c01cd080]
mov dword [rsp + 0xc0], ebp
call qword [sym.imp.USER32.dll_DrawTextW]
test rsi, rsi
je 0x7ff7c00fdef8
mov rdx, rsi
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
lea rcx, [rbx - 0x10]
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x7ff7c00fdf1d
call fcn.7ff7c00c6290
jmp 0x7ff7c00fdf1d
mov r15, qword [rsp + 0xb8]
xor r14d, r14d
cmp qword [rdi + 0x78], 0
mov r12, qword [rsp + 0x140]
mov rsi, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x188]
je 0x7ff7c00fdfde
mov rdx, qword [rdi + 0xa0]
test rdx, rdx
je 0x7ff7c00fdf60
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov r14, rax
mov edx, 1
mov rcx, r15
call qword [sym.imp.GDI32.dll_SetBkMode]
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 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 0x7ff7c00fdfde
mov rdx, r14
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov r15, qword [rsp + 0x130]
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.7ff7c0121390
add rsp, 0x158
pop r14
pop rdi
ret