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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
sub rsp, 0xc0
mov rbx, rcx
test rcx, rcx
jne 0x180085ca1
lea eax, [rcx + 0x14]
add rsp, 0xc0
pop rbx
ret
mov eax, edx
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov dword [rsp + 0x38], eax
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0xe8], eax
test ecx, ecx
jne 0x180085cc9
test eax, eax
je 0x1800860b5
mov rcx, rbx
call sym.Deceitik.dll_FT_Outline_Get_Orientation
cmp eax, 2
jne 0x180085cee
cmp word [rbx], 0
je 0x1800860b5
mov eax, 6
add rsp, 0xc0
pop rbx
ret
mov rdx, qword [rbx + 8]
mov qword [rsp + 0xb0], rdi
xor edi, edi
mov ecx, edi
movsxd r8, eax
mov r11d, edi
mov dword [rsp + 0x44], ecx
mov qword [rsp + 0x78], rdx
mov dword [rsp + 0x4c], edi
mov qword [rsp + 0x68], r8
cmp di, word [rbx]
jge 0x1800860ad
mov qword [rsp + 0xd8], rbp
mov r8d, edi
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xa8], r12
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0x98], r14
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x80], rdi
nop word [rax + rax]
mov rax, qword [rbx + 0x18]
mov r10d, edi
mov dword [rsp + 0x40], edi
mov r13d, edi
mov dword [rsp + 0x20], edi
mov r15d, ecx
mov qword [rsp + 0x60], 0
mov r12d, 0xffffffff
movsx r9d, word [r8 + rax]
mov r8d, edi
mov dword [rsp + 0x48], r9d
mov ebp, r9d
mov qword [rsp + 0x28], 0
cmp ecx, r9d
je 0x18008604d
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x60]
movsxd r14, ecx
mov qword [rsp + 0x70], r14
nop dword [rax + rax]
cmp ebp, r12d
je 0x18008603e
cmp r15d, r12d
je 0x180085e12
movsxd rax, ebp
lea rcx, [rdx + rax*8]
mov eax, dword [rdx + r14*8]
sub eax, dword [rcx]
mov dword [rsp + 0x30], eax
mov eax, dword [rdx + r14*8 + 4]
sub eax, dword [rcx + 4]
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x34], eax
call fcn.1800894a0
mov dword [rsp + 0x3c], eax
test eax, eax
je 0x180086006
mov rbx, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x2c]
mov r10d, dword [rsp + 0x40]
jmp 0x180085e1f
mov rbx, rsi
mov dword [rsp + 0x3c], r10d
mov qword [rsp + 0x30], rbx
test r13d, r13d
je 0x180085ff1
test r12d, r12d
mov eax, ebp
mov ecx, r8d
cmovns eax, r12d
cmovs rsi, rdi
mov dword [rsp + 0x58], eax
mov r12, rbx
mov eax, r13d
mov qword [rsp + 0x88], rsi
cmovns eax, r10d
mov qword [rsp + 0x60], rsi
shr r12, 0x20
mov edx, r12d
mov dword [rsp + 0x40], eax
call sym.Deceitik.dll_FT_MulFix
mov r13d, dword [rsp + 0x28]
mov edi, eax
mov edx, dword [rsp + 0x30]
mov ecx, r13d
call sym.Deceitik.dll_FT_MulFix
add edi, eax
cmp edi, 0xffff1000
jle 0x180085f80
mov rdx, qword [rsp + 0x68]
add edi, 0x10000
mov ecx, dword [rsp + 0x30]
mov r8d, dword [rsp + 0x2c]
add ecx, r13d
add r8d, r12d
mov eax, ecx
neg eax
test rdx, rdx
cmovne ecx, eax
mov eax, r8d
neg eax
mov dword [rsp + 0x54], ecx
test rdx, rdx
mov ecx, r12d
mov edx, r13d
cmovne eax, r8d
mov dword [rsp + 0x50], eax
call sym.Deceitik.dll_FT_MulFix
mov edx, dword [rsp + 0x2c]
mov r13d, eax
mov ecx, dword [rsp + 0x30]
call sym.Deceitik.dll_FT_MulFix
mov ecx, eax
mov edx, edi
sub ecx, r13d
sub r13d, eax
cmp qword [rsp + 0x68], 0
cmovne r13d, ecx
mov ecx, dword [rsp + 0x3c]
cmp dword [rsp + 0x20], ecx
mov r12d, ecx
cmovl r12d, dword [rsp + 0x20]
mov ecx, r12d
mov dword [rsp + 0x28], r12d
call sym.Deceitik.dll_FT_MulFix
mov ecx, dword [rsp + 0x38]
mov edx, r13d
mov dword [rsp + 0x20], eax
call sym.Deceitik.dll_FT_MulFix
cmp eax, dword [rsp + 0x20]
jg 0x180085f29
mov r12d, dword [rsp + 0x38]
mov r8d, edi
jmp 0x180085f2c
mov r8d, r13d
mov ecx, dword [rsp + 0x50]
mov edx, r12d
call sym.Deceitik.dll_FT_MulDiv
mov ecx, dword [rsp + 0xe8]
mov edx, r13d
mov r12d, eax
call sym.Deceitik.dll_FT_MulFix
cmp eax, dword [rsp + 0x20]
jg 0x180085f68
mov edx, dword [rsp + 0xe8]
mov r8d, edi
mov ecx, dword [rsp + 0x54]
call sym.Deceitik.dll_FT_MulDiv
mov r8d, eax
jmp 0x180085f86
mov edx, dword [rsp + 0x28]
mov r8d, r13d
mov ecx, dword [rsp + 0x54]
mov edi, r13d
call sym.Deceitik.dll_FT_MulDiv
mov r8d, eax
jmp 0x180085f86
xor r8d, r8d
xor r12d, r12d
movsxd rcx, ebp
cmp rcx, r14
je 0x180085fea
movsxd rdx, dword [rsp + 0x48]
mov r9d, dword [rsp + 0x44]
mov ebx, dword [rsp + 0xe8]
mov r10, qword [rsp + 0x78]
mov esi, dword [rsp + 0x38]
mov r11, qword [rsp + 0x70]
nop dword [rax]
lea eax, [r12 + rsi]
add dword [r10 + rcx*8], eax
lea eax, [r8 + rbx]
add dword [r10 + rcx*8 + 4], eax
lea rax, [rcx + 1]
cmp rcx, rdx
cmovge rax, r11
inc ebp
cmp rcx, rdx
mov rcx, rax
cmovge ebp, r9d
cmp rax, r14
jne 0x180085fb0
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x88]
mov r12d, dword [rsp + 0x58]
jmp 0x180085ff4
mov ebp, r15d
mov r13d, dword [rsp + 0x3c]
mov rdi, rbx
mov dword [rsp + 0x20], r13d
mov qword [rsp + 0x28], rbx
mov r9d, dword [rsp + 0x48]
inc r14
mov rdx, qword [rsp + 0x78]
cmp r15d, r9d
mov r8d, dword [rsp + 0x2c]
mov eax, r15d
cmovge r14, qword [rsp + 0x70]
inc r15d
mov r10d, dword [rsp + 0x40]
cmp eax, r9d
cmovge r15d, dword [rsp + 0x44]
cmp r15d, ebp
jne 0x180085dc0
mov rbx, qword [rsp + 0xd0]
xor edi, edi
mov r11d, dword [rsp + 0x4c]
mov r8, qword [rsp + 0x80]
lea ecx, [r9 + 1]
movsx eax, word [rbx]
add r8, 2
inc r11d
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x4c], r11d
mov qword [rsp + 0x80], r8
cmp r11d, eax
jl 0x180085d60
mov r15, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
mov r13, qword [rsp + 0xa0]
mov r12, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xb0]
xor eax, eax
add rsp, 0xc0
pop rbx
ret