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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x90
lea rdi, [rsp + 0x20]
mov ecx, 0x1c
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0xa0]
mov rax, qword [0x1801b9d00]
xor rax, rsp
mov qword [rsp + 0x88], rax
xor eax, eax
mov word [rsp + 0x38], ax
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x44], 0
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0xc]
add eax, 0xc
mov dword [rsp + 0x48], eax
mov edx, dword [rsp + 0x48]
mov rcx, qword [rsp + 0xa8]
call fcn.1800574e0
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x180115c94
jmp 0x18011606e
xor eax, eax
mov word [rsp + 0x34], ax
jmp 0x180115caa
movzx eax, word [rsp + 0x34]
inc ax
mov word [rsp + 0x34], ax
movzx eax, word [rsp + 0x34]
mov rcx, qword [rsp + 0xa0]
movzx ecx, word [rcx + 4]
cmp eax, ecx
jge 0x180115f7b
lea r8, [rsp + 0x58]
lea rdx, [0x180163d18]
mov rcx, qword [rsp + 0xa8]
call fcn.180058bf0
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x180115d71
mov eax, 4
imul rax, rax, 0x1f
mov rcx, qword [0x18023c728]
cmp dword [rcx + rax], 2
jl 0x180115d55
movzx eax, word [rsp + 0x34]
cmp eax, 1
jne 0x180115d1c
lea rax, [0x18023af69]
mov qword [rsp + 0x80], rax
jmp 0x180115d2b
lea rax, [0x1801af5fc]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xa0]
movzx eax, word [rax + 4]
movzx ecx, word [rsp + 0x34]
mov r9d, eax
mov r8, qword [rsp + 0x80]
mov edx, ecx
lea rcx, str.check_table_dir:_can_read_only__hu_table_s_in_font__instead_of__hu__n
call fcn.18012c4b0
xor eax, eax
test eax, eax
jne 0x180115ceb
mov rax, qword [rsp + 0xa0]
movzx ecx, word [rsp + 0x34]
mov word [rax + 4], cx
jmp 0x180115f7b
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax + 8]
cmp dword [rsp + 0x60], eax
jbe 0x180115db8
mov eax, 4
imul rax, rax, 0x1f
mov rcx, qword [0x18023c728]
cmp dword [rcx + rax], 2
jl 0x180115dab
movzx eax, word [rsp + 0x34]
mov edx, eax
lea rcx, [0x1801b2288]
call fcn.18012c4b0
xor eax, eax
test eax, eax
jne 0x180115d82
jmp 0x180115c9d
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rsp + 0x60]
mov eax, dword [rax + 8]
sub eax, ecx
cmp dword [rsp + 0x64], eax
jbe 0x180115e28
cmp dword [rsp + 0x58], 0x686d7478
je 0x180115de3
cmp dword [rsp + 0x58], 0x766d7478
jne 0x180115df2
movzx eax, word [rsp + 0x38]
inc ax
mov word [rsp + 0x38], ax
jmp 0x180115e26
mov eax, 4
imul rax, rax, 0x1f
mov rcx, qword [0x18023c728]
cmp dword [rcx + rax], 2
jl 0x180115e1b
movzx eax, word [rsp + 0x34]
mov edx, eax
lea rcx, str.check_table_dir:_table_entry__hu_invalid_n
call fcn.18012c4b0
xor eax, eax
test eax, eax
jne 0x180115df2
jmp 0x180115c9d
jmp 0x180115e35
movzx eax, word [rsp + 0x38]
inc ax
mov word [rsp + 0x38], ax
cmp dword [rsp + 0x58], 0x68656164
je 0x180115e4d
cmp dword [rsp + 0x58], 0x62686564
jne 0x180115f50
mov dword [rsp + 0x3c], 1
cmp dword [rsp + 0x64], 0x36
jae 0x180115ea8
mov eax, 4
imul rax, rax, 0x1f
mov rcx, qword [0x18023c728]
cmp dword [rcx + rax], 2
jl 0x180115e7e
lea rcx, str.check_table_dir:__head_or__bhed_table_too_small_n
call fcn.18012c4b0
xor eax, eax
test eax, eax
jne 0x180115e5c
lea r8, [0x1801b2320]
mov edx, 0x108
mov ecx, 0x8e
call fcn.18012c620
or eax, 0x8e
mov dword [rsp + 0x24], eax
jmp 0x18011606e
mov eax, dword [rsp + 0x60]
add eax, 0xc
mov edx, eax
mov rcx, qword [rsp + 0xa8]
call fcn.1800574e0
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
jne 0x180115ee6
lea rdx, [rsp + 0x24]
mov rcx, qword [rsp + 0xa8]
call fcn.1800586b0
mov dword [rsp + 0x74], eax
cmp dword [rsp + 0x24], 0
je 0x180115eeb
jmp 0x18011606e
cmp dword [rsp + 0x74], 0x5f0f3cf5
je 0x180115f1d
mov eax, 4
imul rax, rax, 0x1f
mov rcx, qword [0x18023c728]
cmp dword [rcx + rax], 2
jl 0x180115f17
lea rcx, str.check_table_dir:_invalid_magic_number_in__head_or__bhed_table_n
call fcn.18012c4b0
xor eax, eax
test eax, eax
jne 0x180115ef5
movzx eax, word [rsp + 0x34]
inc eax
imul eax, eax, 0x10
mov ecx, dword [rsp + 0x48]
add ecx, eax
mov eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0xa8]
call fcn.1800574e0
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0
je 0x180115f4e
jmp 0x18011606e
jmp 0x180115f76
cmp dword [rsp + 0x58], 0x53494e47
jne 0x180115f64
mov dword [rsp + 0x40], 1
jmp 0x180115f76
cmp dword [rsp + 0x58], 0x4d455441
jne 0x180115f76
mov dword [rsp + 0x44], 1
jmp 0x180115c9d
mov rax, qword [rsp + 0xb0]
movzx ecx, word [rsp + 0x38]
mov word [rax], cx
movzx eax, word [rsp + 0x38]
test eax, eax
jne 0x180115fde
mov eax, 4
imul rax, rax, 0x1f
mov rcx, qword [0x18023c728]
cmp dword [rcx + rax], 2
jl 0x180115fb6
lea rcx, str.check_table_dir:_no_valid_tables_found_n
call fcn.18012c4b0
xor eax, eax
test eax, eax
jne 0x180115f94
lea r8, [0x1801b2400]
mov edx, 0x122
mov ecx, 2
call fcn.18012c620
or eax, 2
mov dword [rsp + 0x24], eax
jmp 0x18011606e
cmp dword [rsp + 0x3c], 0
jne 0x180115ff3
cmp dword [rsp + 0x40], 0
je 0x180115fff
cmp dword [rsp + 0x44], 0
je 0x180115fff
mov dword [rsp + 0x24], 0
jmp 0x18011606e
mov eax, 4
imul rax, rax, 0x1f
mov rcx, qword [0x18023c728]
cmp dword [rcx + rax], 2
jl 0x180116021
lea rcx, str.check_table_dir:
call fcn.18012c4b0
xor eax, eax
test eax, eax
jne 0x180115fff
mov eax, 4
imul rax, rax, 0x1f
mov rcx, qword [0x18023c728]
cmp dword [rcx + rax], 2
jl 0x180116049
lea rcx, str._neither__head___bhed__nor__sing_table_found_n
call fcn.18012c4b0
xor eax, eax
test eax, eax
jne 0x180116027
lea r8, [0x1801b24c0]
mov edx, 0x134
mov ecx, 0x8e
call fcn.18012c620
or eax, 0x8e
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
mov edi, eax
mov rcx, rsp
lea rdx, [0x180166218]
call fcn.180138610
mov eax, edi
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.180137ad0
add rsp, 0x90
pop rdi
ret