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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rsi
push r12
sub rsp, 0x148
mov r10d, dword [r8 + 8]
mov rsi, r8
mov qword [rax - 0x18], rbx
mov rbx, rdx
mov qword [rax - 0x28], rdi
mov qword [rax - 0x38], r14
movsxd r14, dword [r8]
mov edx, dword [rsi + 0x10]
mov qword [rax - 0x40], r15
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
mov eax, dword [r8 + 4]
mov r12d, eax
mov dword [rsp + 0x6c], eax
xor r8d, r8d
mov eax, dword [rsi + 0x28]
bswap eax
shr eax, 8
mov dword [rsp + 0xa4], eax
mov eax, dword [rsi + 0x30]
bswap eax
shr eax, 8
mov dword [rsp + 0x94], eax
mov eax, dword [rsi + 0x2c]
bswap eax
shr eax, 8
mov dword [rsp + 0xa0], eax
mov eax, dword [rsi + 0x34]
bswap eax
shr eax, 8
imul r12d, r14d
mov dword [rsp + 0x40], r10d
mov byte [rsp + 0x168], 0
mov dword [rsp + 0x170], r8d
mov dword [rsp + 0x90], eax
test edx, edx
jne 0x1400078cd
lea eax, [r12*4]
mov rcx, rbx
movsxd r8, eax
call fcn.14007e7d0
mov r10d, dword [rsp + 0x40]
xor r8d, r8d
jmp 0x140007991
bswap edx
shr edx, 8
mov rax, rbx
cmp byte [0x1400a6b20], 1
movsxd rcx, r12d
jae 0x1400078f6
test r12d, r12d
je 0x140007991
mov eax, edx
mov rdi, rbx
rep stosd dword [rdi], eax
jmp 0x140007991
mov rdi, rbx
and edi, 0xf
je 0x14000793f
cmp rdi, 4
je 0x140007912
cmp rdi, 8
je 0x140007921
cmp rdi, 0xc
je 0x140007930
jmp 0x14000793f
cmp rcx, 1
jb 0x14000793f
mov dword [rbx], edx
lea rax, [rbx + 4]
dec rcx
cmp rcx, 1
jb 0x14000793f
mov dword [rax], edx
add rax, 4
dec rcx
cmp rcx, 1
jb 0x14000793f
mov dword [rax], edx
add rax, 4
dec rcx
mov rdi, rcx
movd xmm0, edx
shr rdi, 2
pshufd xmm0, xmm0, 0
test rdi, rdi
je 0x14000796e
nop dword [rax]
nop dword [rax + rax]
movdqu xmmword [rax], xmm0
add rax, 0x10
sub rdi, 1
jne 0x140007960
and ecx, 3
sub rcx, 1
je 0x14000798f
sub rcx, 1
je 0x140007989
cmp rcx, 1
jne 0x140007991
mov dword [rax], edx
add rax, 4
mov dword [rax], edx
add rax, 4
mov dword [rax], edx
cmp dword [rsi + 0x14], 0
lea r15d, [r14 - 1]
movss xmm11, dword [0x140094380]
mov eax, 0x7fffffff
mov dword [rsp + 0x60], eax
xorps xmm10, xmm10
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x128], r13
mov dword [rsp + 0x5c], r8d
mov dword [rsp + 0x34], r8d
jbe 0x140007a25
mov rax, qword [rsi + 0x18]
xorps xmm0, xmm0
xorps xmm2, xmm2
movaps xmm1, xmm11
maxss xmm0, dword [rax]
mov eax, dword [rsi + 4]
dec eax
test byte [rsi + 8], 0x10
minss xmm1, xmm0
cvtsi2ss xmm2, rax
movaps xmm0, xmm2
mulss xmm0, xmm1
cvttss2si rax, xmm0
mov qword [rsp + 0x70], rax
je 0x140007a20
mov rax, qword [rsi + 0x20]
xorps xmm0, xmm0
addss xmm1, dword [rax]
maxss xmm0, xmm1
movaps xmm1, xmm11
minss xmm1, xmm0
mulss xmm1, xmm2
cvttss2si r13, xmm1
jmp 0x140007a2d
mov r13d, eax
jmp 0x140007a2d
mov dword [rsp + 0x70], r8d
mov r13d, r8d
mov qword [rsp + 0x138], rbp
test r10b, 3
je 0x140007a69
mov ecx, dword [rsi + 0x3c]
xor edx, edx
mov eax, dword [rsi + 0x44]
imul eax, dword [rsi + 0xc]
mov ebp, dword [rsi + 0x38]
movss xmm8, dword [rsi + 0x40]
mov edi, dword [rsi + 0x48]
maxss xmm8, xmm10
bswap ebp
div ecx
mov dword [rsp + 0x54], edi
sub ecx, edx
dec ecx
shr ebp, 8
jmp 0x140007a8c
mov eax, dword [rsp + 0x168]
movss xmm8, dword [rsp + 0x168]
mov ecx, dword [rsp + 0x168]
mov ebp, dword [rsp + 0x168]
mov dword [rsp + 0x54], eax
mov eax, r10d
mov dword [rsp + 0x50], ecx
and eax, 6
movaps xmmword [rsp + 0xd0], xmm9
movaps xmm3, xmm8
cmp al, 6
jne 0x140007b51
movss xmm9, dword [rsi + 0x4c]
comiss xmm9, xmm11
jbe 0x140007b4c
movaps xmmword [rsp + 0x100], xmm6
cvtps2pd xmm0, xmm9
movaps xmmword [rsp + 0xf0], xmm7
call fcn.14007e0f0
cvtps2pd xmm7, xmm8
movaps xmm6, xmm0
movaps xmm0, xmm7
call fcn.14007e0f0
xorps xmm0, xmmword [0x140094400]
divsd xmm0, xmm6
call fcn.140075d98
subsd xmm0, qword [0x140094388]
mulsd xmm0, xmm6
call fcn.14007dcf0
movaps xmm6, xmmword [rsp + 0x100]
mulsd xmm7, xmm0
cvtpd2ps xmm1, xmm7
movaps xmm7, xmmword [rsp + 0xf0]
comiss xmm10, xmm1
ja 0x140007b37
movd eax, xmm1
and eax, 0x7f800000
cmp eax, 0x7f800000
setne al
cmp al, 1
je 0x140007b3a
xorps xmm1, xmm1
mov r10d, dword [rsp + 0x40]
movaps xmm3, xmm11
minss xmm3, xmm1
xor r8d, r8d
jmp 0x140007b5b
xorps xmm3, xmm3
jmp 0x140007b5b
movss xmm9, dword [rsp + 0x168]
mov eax, r10d
and eax, 0x1000
mov dword [rsp + 0x68], eax
je 0x140007b73
mov edi, r13d
mov dword [rsp + 0x58], r8d
jmp 0x140007b85
mov eax, dword [rsp + 0x168]
mov edi, dword [rsp + 0x168]
mov dword [rsp + 0x58], eax
movsxd rax, r12d
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x44], edi
test r15d, r15d
js 0x140007fa5
movsxd rax, r15d
mov r9, r14
mov qword [rsp + 0x78], rax
mov eax, r10d
and eax, 1
mov dword [rsp + 0x98], eax
mov eax, r10d
and eax, 2
mov dword [rsp + 0x9c], eax
mov eax, r10d
and eax, 0x10
mov dword [rsp + 0x64], eax
xor al, al
jmp 0x140007bd7
mov edi, dword [rsp + 0x44]
xor r8d, r8d
test al, al
jne 0x140007c9e
mov ecx, dword [rsp + 0x170]
mov r11d, r13d
mov r10d, dword [rsp + 0x70]
inc ecx
mov dword [rsp + 0x170], ecx
cmp ecx, dword [rsi + 0x14]
jae 0x140007c5e
mov rax, qword [rsi + 0x18]
movaps xmm0, xmm10
xorps xmm2, xmm2
movaps xmm1, xmm11
maxss xmm0, dword [rax + rcx*4]
mov eax, dword [rsi + 4]
dec eax
test byte [rsi + 8], 0x10
minss xmm1, xmm0
cvtsi2ss xmm2, rax
movaps xmm0, xmm2
mulss xmm0, xmm1
cvttss2si rdx, xmm0
mov qword [rsp + 0x70], rdx
je 0x140007c59
mov rax, qword [rsi + 0x20]
movaps xmm0, xmm10
addss xmm1, dword [rax + rcx*4]
maxss xmm0, xmm1
movaps xmm1, xmm11
minss xmm1, xmm0
mulss xmm1, xmm2
cvttss2si r13, xmm1
jmp 0x140007c69
mov r13d, edx
jmp 0x140007c69
mov edx, r8d
mov r13d, r8d
mov qword [rsp + 0x70], rdx
lea r12d, [r10 + rdx]
shr r12d, 1
lea eax, [r11 + r13]
shr eax, 1
cmp dword [rsp + 0x68], 0
mov dword [rsp + 0x178], r12d
mov dword [rsp + 0x48], eax
je 0x140007cbd
cmp ecx, dword [rsi + 0x6c]
jae 0x140007cbd
cmp edi, r13d
ja 0x140007cbd
mov dword [rsp + 0x44], r13d
mov dword [rsp + 0x58], ecx
jmp 0x140007cbd
mov r10d, dword [rsp + 0x178]
mov r12d, dword [rsp + 0x70]
mov r11d, dword [rsp + 0x48]
mov dword [rsp + 0x178], r12d
mov dword [rsp + 0x48], r13d
mov r8d, dword [rsp + 0x5c]
lea ecx, [r12 + r10]
mov edi, dword [rsp + 0x60]
mov eax, r10d
shr ecx, 1
mov edx, ecx
imul edx, r14d
add edx, r14d
cmp r12d, r10d
mov r12d, edx
cmovae eax, ecx
imul eax, r14d
mov dword [rsp + 0x4c], eax
mov eax, r10d
imul eax, r14d
cmp dword [rsp + 0x178], r10d
cmovae r12d, eax
mov eax, dword [rsp + 0x178]
cmp eax, r10d
cmovae ecx, eax
imul ecx, r14d
mov dword [rsp + 0x5c], ecx
mov ecx, eax
imul ecx, r14d
cmp eax, r10d
mov r10d, dword [rsp + 0x4c]
cmovae ecx, edx
cmp r12d, edi
mov dword [rsp + 0x60], ecx
cmovg r12d, edi
cmp r10d, r8d
cmovl r10d, r8d
add r12d, r15d
add r10d, r15d
cmp dword [rsp + 0x64], 0
mov dword [rsp + 0x4c], r10d
je 0x140007e10
mov r10d, dword [rsp + 0x48]
mov eax, r11d
mov r8d, dword [rsp + 0x34]
mov edi, dword [rsp + 0x30]
lea ecx, [r10 + r11]
shr ecx, 1
mov edx, ecx
imul edx, r14d
add edx, r14d
cmp r10d, r11d
mov r9d, edx
cmovae eax, ecx
imul eax, r14d
mov dword [rsp + 0x38], eax
mov eax, r11d
imul eax, r14d
cmp r10d, r11d
cmovae r9d, eax
mov eax, ecx
cmovae eax, r10d
imul eax, r14d
mov dword [rsp + 0x34], eax
mov eax, r10d
imul eax, r14d
cmp r10d, r11d
mov r11d, dword [rsp + 0x38]
mov r10d, dword [rsp + 0x4c]
cmovae eax, edx
cmp r9d, edi
mov edx, r9d
mov dword [rsp + 0x30], eax
cmovg edx, edi
lea eax, [r10 + r14]
cmp r11d, r8d
movsxd rcx, eax
mov r9, r14
cmovl r11d, r8d
add edx, r15d
add r11d, r15d
movsxd rax, edx
mov dword [rsp + 0x3c], edx
mov dword [rsp + 0x38], r11d
cmp rcx, rax
jge 0x140007e15
mov edi, dword [rsp + 0x30]
mov dword [rsp + 0x30], edi
mov edi, dword [rsp + 0x34]
mov dword [rsp + 0x3c], edx
mov edx, dword [rsp + 0x90]
mov dword [rsp + 0x34], edi
mov dword [rsp + 0x38], r11d
mov dword [rbx + rcx*4], edx
add rcx, r14
cmp rcx, rax
jl 0x140007e03
jmp 0x140007e15
mov r11d, dword [rsp + 0x38]
mov rdi, qword [rsp + 0x78]
movsxd rdx, r12d
mov rax, rdi
cmp rdi, rdx
jge 0x140007e3b
mov ecx, dword [rsp + 0x94]
nop dword [rax]
mov dword [rbx + rax*4], ecx
add rax, r9
cmp rax, rdx
jl 0x140007e30
cmp dword [rsp + 0x98], 0
je 0x140007e80
mov ecx, dword [rsp + 0x50]
test ecx, ecx
jne 0x140007e6b
mov r8, qword [rsp + 0x80]
mov rax, rdi
cmp rdi, r8
jge 0x140007e6b
nop dword [rax]
mov dword [rbx + rax*4], ebp
add rax, r9
cmp rax, r8
jl 0x140007e60
inc ecx
mov r12d, 0
cmp ecx, dword [rsi + 0x3c]
cmove ecx, r12d
mov dword [rsp + 0x50], ecx
jmp 0x140007e83
xor r12d, r12d
cmp dword [rsp + 0x9c], 0
je 0x140007f37
mov r8d, dword [rsp + 0x6c]
dec r8d
test byte [rsp + 0x40], 4
movd xmm2, r8d
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm2
je 0x140007ee8
mulss xmm0, xmm3
movaps xmm1, xmm3
cvttss2si ecx, xmm0
cmp ecx, r8d
jg 0x140007f37
mov edi, dword [rsp + 0x54]
nop
mov eax, ecx
movaps xmm0, xmm2
imul eax, r14d
divss xmm1, xmm9
add eax, r15d
cdqe
mov dword [rbx + rax*4], ebp
mov eax, ecx
sub eax, edi
mulss xmm0, xmm1
cvttss2si ecx, xmm0
cmp ecx, eax
jle 0x140007ec0
jmp 0x140007f32
mulss xmm0, xmm8
movaps xmm1, xmm8
mov edi, r12d
cvttss2si ecx, xmm0
cmp ecx, r8d
jge 0x140007f32
mov r9d, dword [rsp + 0x54]
lea eax, [rdi + r9]
cmp ecx, eax
jl 0x140007f1a
mov eax, ecx
mov edi, ecx
imul eax, r14d
add eax, r15d
cdqe
mov dword [rbx + rax*4], ebp
addss xmm1, xmm8
movaps xmm0, xmm2
mulss xmm0, xmm1
cvttss2si ecx, xmm0
cmp ecx, r8d
jl 0x140007f02
mov r9, r14
mov rdi, qword [rsp + 0x78]
cmp dword [rsp + 0x64], 0
je 0x140007f5f
movsxd rax, dword [rsp + 0x3c]
movsxd rcx, r11d
cmp rax, rcx
jg 0x140007f5f
mov r8d, dword [rsp + 0xa0]
mov dword [rbx + rax*4], r8d
add rax, r9
cmp rax, rcx
jle 0x140007f53
movsxd rax, r10d
cmp rdx, rax
jg 0x140007f7b
mov ecx, dword [rsp + 0xa4]
nop
mov dword [rbx + rdx*4], ecx
add rdx, r9
cmp rdx, rax
jle 0x140007f70
movzx eax, byte [rsp + 0x168]
dec rdi
xor al, 1
mov qword [rsp + 0x78], rdi
sub r15d, 1
mov byte [rsp + 0x168], al
jns 0x140007bd0
mov r10d, dword [rsp + 0x40]
jmp 0x140007fa8
xor r12d, r12d
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 + 0x128]
je 0x140008127
mov r15d, dword [rsp + 0x58]
cmp r15d, dword [rsi + 0x14]
jae 0x140008127
mov rax, qword [rsi + 0x18]
movss xmm2, dword [rax + r15*4]
test r10b, 0x10
je 0x140008008
mov rax, qword [rsi + 0x20]
addss xmm2, dword [rax + r15*4]
movss xmm3, dword [rsi + 0x58]
mov edx, r15d
mov rcx, rsi
call qword [rsi + 0x50]
mov rbp, qword [rsp + 0x160]
mov rdi, rax
test rax, rax
je 0x14000812f
mov rdx, qword [rsi + 0x60]
mov rbx, r12
test rdx, rdx
je 0x140008042
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SelectObject]
mov rbx, rax
mov edx, dword [rsi + 0x68]
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SetTextColor]
mov edx, 1
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SetBkMode]
mov r8d, dword [rdi]
lea r9, [rsp + 0x170]
mov rdx, qword [rdi + 8]
mov rcx, rbp
shr r8d, 1
call qword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
mov eax, dword [0x1400a2b74]
mov edx, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0x174]
sub edx, eax
sub edx, dword [rsp + 0x44]
mov dword [rsp + 0x8c], edx
sub edx, ecx
mov dword [rsp + 0x84], edx
cmp edx, eax
jge 0x1400080b2
mov dword [rsp + 0x84], eax
add eax, ecx
mov dword [rsp + 0x8c], eax
mov r8d, dword [rdi]
lea eax, [r15 + r15]
mov rdx, qword [rdi + 8]
lea r9, [rsp + 0x80]
cmp eax, r14d
mov dword [rsp + 0x80], r12d
mov ecx, r14d
mov dword [rsp + 0x20], 0x102
cmovl ecx, eax
shr r8d, 1
sub r14d, ecx
mov rcx, rbp
sub r14d, dword [0x1400a2b78]
mov dword [rsp + 0x88], r14d
call qword [sym.imp.USER32.dll_DrawTextW]
test rbx, rbx
je 0x14000810d
mov rdx, rbx
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SelectObject]
lea rcx, [rdi - 0x10]
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14000812f
call fcn.140012750
jmp 0x14000812f
mov rbp, qword [rsp + 0x160]
cmp qword [rsi + 0x78], 0
mov r15, qword [rsp + 0x118]
mov r14, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x130]
mov rbx, qword [rsp + 0x140]
je 0x1400081f0
mov rdx, qword [rsi + 0xa0]
test rdx, rdx
je 0x140008172
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SelectObject]
mov r12, rax
mov edx, dword [rsi + 0xac]
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
mov ecx, 0x12
call qword [sym.imp.GDI32.dll_GetStockObject]
lea rdx, [rsi + 0x90]
mov rcx, rbp
mov r8, rax
call qword [sym.imp.USER32.dll_FillRect]
mov edx, dword [rsi + 0xa8]
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SetTextColor]
mov edx, 1
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SetBkMode]
mov r8d, dword [rsi + 0x70]
lea r9, [rsi + 0x80]
mov rdx, qword [rsi + 0x78]
mov rcx, rbp
shr r8d, 1
mov dword [rsp + 0x20], 0x100
call qword [sym.imp.USER32.dll_DrawTextW]
test r12, r12
je 0x1400081f0
mov rdx, r12
mov rcx, rbp
call qword [sym.imp.GDI32.dll_SelectObject]
mov rbp, qword [rsp + 0x138]
add rsp, 0x148
pop r12
pop rsi
ret