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

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x50
mov dword [rsp + 0x20], 0
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
inc rax
cmp rax, qword [rsp + 0x68]
jbe 0x1800c2e52
jmp 0x1800c3436
xor eax, eax
test eax, eax
jne 0x1800c2e3e
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax]
mov byte [rsp + 0x24], al
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x34], 0
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
movzx eax, byte [rsp + 0x24]
and eax, 3
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0
je 0x1800c2ece
cmp dword [rsp + 0x44], 1
je 0x1800c2f24
cmp dword [rsp + 0x44], 2
je 0x1800c2f76
cmp dword [rsp + 0x44], 3
je 0x1800c3012
jmp 0x1800c30e3
mov rax, qword [rsp + 0x28]
inc rax
cmp rax, qword [rsp + 0x68]
jbe 0x1800c2ee2
jmp 0x1800c3436
xor eax, eax
test eax, eax
jne 0x1800c2ece
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax]
mov byte [rsp + 0x25], al
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
movsx eax, byte [rsp + 0x25]
sar eax, 4
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp + 0x25]
shl eax, 4
movsx eax, al
sar eax, 4
mov dword [rsp + 0x34], eax
jmp 0x1800c30e3
mov rax, qword [rsp + 0x28]
add rax, 2
cmp rax, qword [rsp + 0x68]
jbe 0x1800c2f39
jmp 0x1800c3436
xor eax, eax
test eax, eax
jne 0x1800c2f24
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
jmp 0x1800c30e3
mov rax, qword [rsp + 0x28]
add rax, 4
cmp rax, qword [rsp + 0x68]
jbe 0x1800c2f8b
jmp 0x1800c3436
xor eax, eax
test eax, eax
jne 0x1800c2f76
mov rax, qword [rsp + 0x28]
add rax, 2
mov qword [rsp + 0x28], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x28]
movzx eax, byte [rcx + rax - 2]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x28]
movzx ecx, byte [rdx + rcx - 2]
or eax, ecx
cwde
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x28]
add rax, 2
mov qword [rsp + 0x28], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x28]
movzx eax, byte [rcx + rax - 2]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x28]
movzx ecx, byte [rdx + rcx - 2]
or eax, ecx
cwde
mov dword [rsp + 0x34], eax
jmp 0x1800c30e3
mov rax, qword [rsp + 0x28]
add rax, 6
cmp rax, qword [rsp + 0x68]
jbe 0x1800c3027
jmp 0x1800c3436
xor eax, eax
test eax, eax
jne 0x1800c3012
mov rax, qword [rsp + 0x28]
add rax, 3
mov qword [rsp + 0x28], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x28]
movzx eax, byte [rcx + rax - 3]
shl eax, 0x18
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x28]
movzx ecx, byte [rdx + rcx - 3]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x28]
movzx ecx, byte [rdx + rcx - 3]
shl ecx, 8
or eax, ecx
sar eax, 8
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x28]
add rax, 3
mov qword [rsp + 0x28], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x28]
movzx eax, byte [rcx + rax - 3]
shl eax, 0x18
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x28]
movzx ecx, byte [rdx + rcx - 3]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x28]
movzx ecx, byte [rdx + rcx - 3]
shl ecx, 8
or eax, ecx
sar eax, 8
mov dword [rsp + 0x34], eax
movzx eax, byte [rsp + 0x24]
shr al, 2
mov byte [rsp + 0x24], al
movzx eax, byte [rsp + 0x24]
and eax, 3
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x1800c3120
cmp dword [rsp + 0x48], 1
je 0x1800c3135
cmp dword [rsp + 0x48], 2
je 0x1800c3188
cmp dword [rsp + 0x48], 3
je 0x1800c31da
jmp 0x1800c3275
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x40], 0
jmp 0x1800c3275
mov rax, qword [rsp + 0x28]
inc rax
cmp rax, qword [rsp + 0x68]
jbe 0x1800c3149
jmp 0x1800c3436
xor eax, eax
test eax, eax
jne 0x1800c3135
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax]
mov byte [rsp + 0x25], al
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
movzx eax, byte [rsp + 0x25]
sar eax, 4
and eax, 0xf
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp + 0x25]
and eax, 0xf
mov dword [rsp + 0x40], eax
jmp 0x1800c3275
mov rax, qword [rsp + 0x28]
add rax, 2
cmp rax, qword [rsp + 0x68]
jbe 0x1800c319d
jmp 0x1800c3436
xor eax, eax
test eax, eax
jne 0x1800c3188
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax]
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
jmp 0x1800c3275
mov rax, qword [rsp + 0x28]
add rax, 4
cmp rax, qword [rsp + 0x68]
jbe 0x1800c31ef
jmp 0x1800c3436
xor eax, eax
test eax, eax
jne 0x1800c31da
mov rax, qword [rsp + 0x28]
add rax, 2
mov qword [rsp + 0x28], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x28]
movzx eax, byte [rcx + rax - 2]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x28]
movzx ecx, byte [rdx + rcx - 2]
or eax, ecx
movzx eax, ax
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x28]
add rax, 2
mov qword [rsp + 0x28], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x28]
movzx eax, byte [rcx + rax - 2]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x28]
movzx ecx, byte [rdx + rcx - 2]
or eax, ecx
movzx eax, ax
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0x24]
shr al, 2
mov byte [rsp + 0x24], al
movzx eax, byte [rsp + 0x24]
and eax, 3
mov dword [rsp + 0x4c], eax
cmp dword [rsp + 0x4c], 0
je 0x1800c32b2
cmp dword [rsp + 0x4c], 1
je 0x1800c32bf
cmp dword [rsp + 0x4c], 2
je 0x1800c32fd
cmp dword [rsp + 0x4c], 3
je 0x1800c3358
jmp 0x1800c33ce
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x38], eax
jmp 0x1800c33ce
mov rax, qword [rsp + 0x28]
inc rax
cmp rax, qword [rsp + 0x68]
jbe 0x1800c32d3
jmp 0x1800c3436
xor eax, eax
test eax, eax
jne 0x1800c32bf
mov rax, qword [rsp + 0x28]
movsx eax, byte [rax]
imul eax, eax, 0x100
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x28]
inc rax
mov qword [rsp + 0x28], rax
jmp 0x1800c33ce
mov rax, qword [rsp + 0x28]
add rax, 2
cmp rax, qword [rsp + 0x68]
jbe 0x1800c3312
jmp 0x1800c3436
xor eax, eax
test eax, eax
jne 0x1800c32fd
mov rax, qword [rsp + 0x28]
add rax, 2
mov qword [rsp + 0x28], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x28]
movzx eax, byte [rcx + rax - 2]
shl eax, 8
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x28]
movzx ecx, byte [rdx + rcx - 2]
or eax, ecx
cwde
mov dword [rsp + 0x38], eax
jmp 0x1800c33ce
mov rax, qword [rsp + 0x28]
add rax, 3
cmp rax, qword [rsp + 0x68]
jbe 0x1800c336d
jmp 0x1800c3436
xor eax, eax
test eax, eax
jne 0x1800c3358
mov rax, qword [rsp + 0x28]
add rax, 3
mov qword [rsp + 0x28], rax
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x28]
movzx eax, byte [rcx + rax - 3]
shl eax, 0x18
mov ecx, 1
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x28]
movzx ecx, byte [rdx + rcx - 3]
shl ecx, 0x10
or eax, ecx
mov ecx, 1
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x28]
movzx ecx, byte [rdx + rcx - 3]
shl ecx, 8
or eax, ecx
sar eax, 8
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x78]
mov ecx, dword [rsp + 0x30]
mov dword [rax], ecx
mov rax, qword [rsp + 0x80]
mov ecx, dword [rsp + 0x34]
mov dword [rax], ecx
mov rax, qword [rsp + 0x88]
mov ecx, dword [rsp + 0x3c]
mov dword [rax], ecx
mov rax, qword [rsp + 0x90]
mov ecx, dword [rsp + 0x40]
mov dword [rax], ecx
mov rax, qword [rsp + 0x98]
mov ecx, dword [rsp + 0x38]
mov dword [rax], ecx
movzx eax, byte [rsp + 0x24]
sar eax, 2
mov rcx, qword [rsp + 0xa0]
mov dword [rcx], eax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x28]
mov qword [rax], rcx
mov eax, dword [rsp + 0x20]
jmp 0x1800c3461
lea r8, [0x1801a05f0]
mov edx, 0x213
mov ecx, 8
call fcn.18012c620
or eax, 8
mov dword [rsp + 0x20], eax
lea rcx, str.pfr_load_bitmap_metrics:_invalid_glyph_data_n
call fcn.18012c4b0
jmp 0x1800c3430
add rsp, 0x50
pop rdi
ret