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

Disassembly:
jmp 0x140012350
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov r8, rdx
mov r14, rcx
xor ecx, ecx
mov dword [rbp + 0x78], ecx
mov r12d, ecx
mov r15d, ecx
xor al, al
mov byte [rbp + 0x60], al
mov byte [rbp + 0x70], al
mov dword [rsp + 0x50], 4
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rcx
lea rdx, [rsp + 0x30]
mov rcx, r8
call fcn.1400015ff
mov edi, 0x20
lea r13d, [rdi - 0x1f]
test al, al
je 0x140012c85
jmp 0x1400123c6
mov edi, 0x20
mov esi, dword [rsp + 0x38]
test esi, esi
je 0x140012c6f
lea rcx, [rsp + 0x30]
call fcn.140001cb2
mov rbx, rax
mov rcx, qword [rbp + 0x68]
mov r9d, dword [rcx + 0x24]
test r9d, r9d
jle 0x140012577
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x20], eax
mov r8d, dword [rcx + 0x20]
mov edx, esi
mov rcx, rbx
call fcn.140001f41
mov rbx, rax
lea rax, [0x14004d23c]
cmp qword [rbx + 8], rax
jne 0x1400124e2
mov edx, dword [rbx + 0x10]
lea rdi, [r14 + 0x68]
cmp edx, dword [r14 + 0x70]
jl 0x140012435
add edx, 0x1e
xor r8d, r8d
mov rcx, rdi
call fcn.140002243
movsxd rcx, dword [rbx + 0x10]
mov rax, qword [rdi]
mov rcx, qword [rax + rcx*8]
test rcx, rcx
je 0x14001244d
mov rax, qword [rcx]
mov edx, r13d
call qword [rax]
movsxd rcx, dword [rbx + 0x10]
mov rax, qword [rdi]
mov qword [rax + rcx*8], rbx
cmp byte [rbp + 0x60], 0
jne 0x140012a1f
cmp dword [r14 + 0x28], 0
je 0x140012a1f
movsxd rcx, dword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov rcx, qword [rax + rcx*8 - 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, rax
test rax, rax
je 0x1400124d9
mov ecx, 0x48
call fcn.1400010d2
mov qword [rbp - 0x28], rax
test rax, rax
je 0x1400124b2
lea r9, [rbx + 8]
mov r8b, 1
mov rdx, r14
mov rcx, rax
call fcn.14000116d
mov rdx, rax
jmp 0x1400124b4
xor edx, edx
mov qword [rsp + 0x48], rdx
mov dword [rsp + 0x40], 0
movsxd rcx, dword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov qword [rax + rcx*8 - 8], rdx
mov rax, qword [rbx]
mov edx, r13d
mov rcx, rbx
call qword [rax]
mov byte [rbp + 0x60], 1
jmp 0x140012a1f
mov rdx, rbx
mov rcx, r14
call fcn.140001406
cmp byte [rbp + 0x70], 0
jne 0x140012a1f
cmp dword [r14 + 0x28], 0
je 0x140012a1f
movsxd rcx, dword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov rcx, qword [rax + rcx*8 - 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rbx, rax
test rax, rax
je 0x14001256e
mov ecx, 0x48
call fcn.1400010d2
mov qword [rbp - 0x20], rax
test rax, rax
je 0x140012547
lea r9, [rbx + 8]
xor r8d, r8d
mov rdx, r14
mov rcx, rax
call fcn.14000116d
mov rdx, rax
jmp 0x140012549
xor edx, edx
mov qword [rsp + 0x48], rdx
mov dword [rsp + 0x40], 0
movsxd rcx, dword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov qword [rax + rcx*8 - 8], rdx
mov rax, qword [rbx]
mov edx, r13d
mov rcx, rbx
call qword [rax]
mov byte [rbp + 0x70], 1
jmp 0x140012a1f
cmp byte [rax], 0x25
jne 0x140012636
mov rcx, rdi
call fcn.1400010d2
mov rdi, rax
mov qword [rbp - 0x18], rax
test rax, rax
je 0x1400125d3
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x30]
call fcn.1400025c7
nop
or dword [rbp + 0x78], 1
lea rcx, vtable.Efont::Type1CopyItem.0
mov qword [rdi], rcx
mov rdx, qword [rax + 0x10]
mov ecx, dword [rax + 8]
mov rax, qword [rax]
mov qword [rdi + 8], rax
mov dword [rdi + 0x10], ecx
mov qword [rdi + 0x18], rdx
test rdx, rdx
je 0x1400125d6
mov eax, dword [rdx]
inc eax
mov dword [rdx], eax
jmp 0x1400125d6
mov rdi, rax
mov eax, dword [r14 + 0x2c]
cmp dword [r14 + 0x28], eax
jl 0x1400125f2
mov edx, 0xffffffff
lea rcx, [r14 + 0x20]
call fcn.140002351
test al, al
je 0x140012602
movsxd rcx, dword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov qword [rax + rcx*8], rdi
inc dword [r14 + 0x28]
mov eax, dword [rbp + 0x78]
test al, 1
je 0x140012c6f
and dword [rbp + 0x78], 0xfffffffe
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x140012631
mov ecx, dword [rax]
sub ecx, 1
mov rax, qword [rbp - 0x60]
mov dword [rax], ecx
jne 0x140012631
mov rcx, qword [rbp - 0x60]
call fcn.1400016ef
nop
jmp 0x140012c6f
lea rax, [0x14004d23c]
cmp qword [r14 + 0xa8], rax
jne 0x1400127a3
lea rdx, str.string_currentfile
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x1400127a3
lea rdx, str.readstring
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x1400127a3
mov rcx, rbx
cmp byte [rbx], 0
je 0x140012693
movzx eax, byte [rbx]
cmp al, 0x2f
je 0x140012693
inc rcx
movzx eax, byte [rcx]
test al, al
jne 0x140012685
lea r9, [rcx + 1]
mov r8, r9
cmp byte [rcx], 0
je 0x1400127a3
movzx eax, byte [r8]
test al, al
je 0x1400127a3
cmp al, 0x20
je 0x1400126bc
cmp al, 0x7b
je 0x1400126bc
inc r8
jmp 0x1400126a3
sub r8, rcx
dec r8
lea rdx, str.__s
lea rcx, [rbp - 0x10]
call fcn.140001c49
mov rcx, qword [rax]
mov qword [r14 + 0xa8], rcx
mov rcx, qword [rbp + 0x68]
mov rax, qword [rcx]
mov rdx, qword [r14 + 0xa8]
call qword [rax + 0x18]
mov rcx, rdi
call fcn.1400010d2
mov rdi, rax
mov qword [rbp - 8], rax
test rax, rax
je 0x140012740
lea rdx, [rbp - 0x58]
lea rcx, [rsp + 0x30]
call fcn.1400025c7
nop
or dword [rbp + 0x78], 2
lea rcx, vtable.Efont::Type1CopyItem.0
mov qword [rdi], rcx
mov rdx, qword [rax + 0x10]
mov ecx, dword [rax + 8]
mov rax, qword [rax]
mov qword [rdi + 8], rax
mov dword [rdi + 0x10], ecx
mov qword [rdi + 0x18], rdx
test rdx, rdx
je 0x140012743
mov eax, dword [rdx]
inc eax
mov dword [rdx], eax
jmp 0x140012743
mov rdi, rax
mov eax, dword [r14 + 0x2c]
cmp dword [r14 + 0x28], eax
jl 0x14001275f
mov edx, 0xffffffff
lea rcx, [r14 + 0x20]
call fcn.140002351
test al, al
je 0x14001276f
movsxd rcx, dword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov qword [rax + rcx*8], rdi
inc dword [r14 + 0x28]
mov eax, dword [rbp + 0x78]
test al, 2
je 0x140012c6f
and dword [rbp + 0x78], 0xfffffffd
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x14001279e
mov ecx, dword [rax]
sub ecx, 1
mov rax, qword [rbp - 0x48]
mov dword [rax], ecx
jne 0x14001279e
mov rcx, qword [rbp - 0x48]
call fcn.1400016ef
nop
jmp 0x140012c6f
cmp qword [r14 + 0xb0], 0
jne 0x1400127dc
mov r8d, 0xa
lea rdx, str._Encoding
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x1400127dc
lea r8, [rbx + 0xa]
mov rdx, qword [rbp + 0x68]
mov rcx, r14
call fcn.14000100f
jmp 0x140012a1f
movzx eax, byte [rbx]
cmp al, 0x2f
je 0x1400127fe
cmp al, 0x20
jne 0x140012849
mov rax, rbx
nop word [rax + rax]
lea rax, [rax + 1]
cmp byte [rax], 0x20
je 0x1400127f0
cmp byte [rax], 0x2f
jne 0x140012849
xor r8d, r8d
mov rdx, qword [rbp + 0x68]
lea rcx, [rsp + 0x30]
call fcn.1400017f3
mov rdi, rax
test rax, rax
je 0x140012844
mov rcx, qword [rax + 8]
cmp rcx, qword [0x14004d1f0]
jne 0x140012831
lea rdx, [rsp + 0x50]
mov rcx, rax
call fcn.140002545
mov r8, rdi
mov edx, r12d
mov rcx, r14
call fcn.140001681
jmp 0x140012a1f
mov edi, 0x20
cmp r15d, 2
jne 0x1400128f1
xor eax, eax
mov edi, eax
cmp byte [rbx], al
jne 0x14001286f
nop dword [rax + rax]
test esi, esi
jle 0x14001286f
inc edi
inc rbx
dec esi
cmp byte [rbx], al
je 0x140012860
mov ecx, 0x20
call fcn.1400010d2
mov rbx, rax
mov qword [rbp], rax
test rax, rax
je 0x1400128ab
lea r8d, [rsi + rdi*2]
mov edx, 0x30
lea rcx, [rbp - 0x40]
call fcn.14000181b
nop
or dword [rbp + 0x78], 4
mov rdx, rax
mov rcx, rbx
call fcn.140002275
xor esi, esi
jmp 0x1400128af
xor esi, esi
mov eax, esi
mov rdx, rax
mov rcx, r14
call fcn.140001f19
nop
mov eax, dword [rbp + 0x78]
test al, 4
je 0x1400128e6
and dword [rbp + 0x78], 0xfffffffb
mov rax, qword [rbp - 0x30]
test rax, rax
je 0x1400128e6
mov ecx, dword [rax]
sub ecx, 1
mov rax, qword [rbp - 0x30]
mov dword [rax], ecx
jne 0x1400128e6
mov rcx, qword [rbp - 0x30]
call fcn.1400016ef
nop
mov r15d, 3
jmp 0x140012a21
cmp r15d, 1
jne 0x140012927
lea rdx, str.FontDirectory
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140012927
lea r9, [rsp + 0x30]
mov r8, rbx
mov rdx, qword [rbp + 0x68]
mov rcx, r14
call fcn.1400010fa
test al, al
jne 0x140012a1f
mov rsi, qword [rsp + 0x48]
test rsi, rsi
je 0x14001297d
cmp dword [rsp + 0x40], 0
je 0x1400129d8
lea rdx, [0x14003fd50]
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x140012964
lea rdx, [0x14003fd54]
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140012976
mov edx, 0x2f
mov rcx, rbx
call sub.VCRUNTIME140.dll_strchr
test rax, rax
je 0x1400129d8
xor esi, esi
mov qword [rsp + 0x48], rsi
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x30]
call fcn.1400025c7
nop
mov rcx, rdi
call fcn.1400010d2
mov rdi, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140012a3a
lea rax, vtable.Efont::Type1CopyItem.0
mov qword [rdi], rax
mov r8, qword [rsp + 0x68]
mov edx, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov qword [rdi + 8], rcx
mov dword [rdi + 0x10], edx
mov qword [rdi + 0x18], r8
test r8, r8
je 0x140012a3d
mov eax, dword [r8]
inc eax
mov dword [r8], eax
jmp 0x140012a3d
xor r9d, r9d
lea r8d, [r9 - 1]
mov rdx, rbx
lea rcx, [rsp + 0x78]
call fcn.1400015e6
nop
lea rdx, [rsp + 0x78]
mov rcx, rsi
call fcn.140001758
nop
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x140012a1b
mov ecx, dword [rax]
sub ecx, 1
mov rax, qword [rbp - 0x78]
mov dword [rax], ecx
jne 0x140012a1b
mov rcx, qword [rbp - 0x78]
call fcn.1400016ef
nop
inc dword [rsp + 0x40]
xor esi, esi
cmp dword [rsp + 0x3c], 0
jge 0x140012a31
mov dword [rsp + 0x3c], esi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x38], esi
jmp 0x140012c6f
mov rdi, rsi
mov eax, dword [r14 + 0x2c]
cmp dword [r14 + 0x28], eax
jl 0x140012a59
mov edx, 0xffffffff
lea rcx, [r14 + 0x20]
call fcn.140002351
test al, al
je 0x140012a69
movsxd rcx, dword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov qword [rax + rcx*8], rdi
inc dword [r14 + 0x28]
mov rdi, qword [rsp + 0x58]
test r15d, r15d
jne 0x140012b2b
lea r8d, [r15 + 0x11]
lea rdx, str.currentfile_eexec
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x140012bba
lea rbx, [rdi + 0x11]
movzx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
jne 0x140012aac
cmp byte [rbx], al
jne 0x140012bba
movzx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
je 0x140012ad0
nop dword [rax]
inc rbx
movzx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
jne 0x140012ac0
mov r9d, dword [rsp + 0x60]
sub r9d, ebx
add r9d, dword [rsp + 0x58]
mov r8, rbx
mov dl, 1
mov rcx, qword [rbp + 0x68]
call fcn.1400015cd
mov ecx, 0x10
call fcn.1400010d2
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140012b0f
lea rcx, vtable.Efont::Type1EexecItem.0
mov qword [rax], rcx
mov byte [rax + 8], 1
jmp 0x140012b12
mov rax, rsi
mov edx, dword [r14 + 0x28]
dec edx
mov r8, rax
mov rcx, r14
call fcn.140001c3f
mov r15d, r13d
jmp 0x140012c4c
cmp r15d, 1
jne 0x140012bba
lea rdx, str.currentfile_closefile
mov rcx, rdi
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140012bba
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x68]
call fcn.1400015cd
lea ecx, [r15 + 0xf]
call fcn.1400010d2
mov rdi, rax
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140012b80
lea rax, vtable.Efont::Type1EexecItem.0
mov qword [rdi], rax
mov byte [rdi + 8], 0
jmp 0x140012b83
mov rdi, rsi
mov eax, dword [r14 + 0x2c]
cmp dword [r14 + 0x28], eax
jl 0x140012b9f
mov edx, 0xffffffff
lea rcx, [r14 + 0x20]
call fcn.140002351
test al, al
je 0x140012baf
movsxd rcx, dword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov qword [rax + rcx*8], rdi
inc dword [r14 + 0x28]
mov r15d, 2
jmp 0x140012c4c
lea rdx, str.begin
mov rcx, rdi
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140012c30
mov ebx, r12d
lea rdx, str._Private
mov rcx, rdi
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140012bed
mov r12d, 2
jmp 0x140012c06
lea rdx, str._FontInfo
mov rcx, rdi
call sub.VCRUNTIME140.dll_strstr
mov r12d, esi
test rax, rax
setne r12b
lea rdx, str._Blend
mov rcx, rdi
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140012c20
add r12d, 3
jmp 0x140012c4c
cmp ebx, 3
jne 0x140012c4c
cmp r12d, 1
jne 0x140012c4c
add r12d, ebx
jmp 0x140012c4c
cmp r12d, 1
jne 0x140012c4c
lea rdx, [0x14003fd50]
mov rcx, rdi
call sub.VCRUNTIME140.dll_strstr
test rax, rax
cmovne r12d, esi
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140012c6f
mov ecx, dword [rax]
sub ecx, 1
mov rax, qword [rsp + 0x68]
mov dword [rax], ecx
jne 0x140012c6f
mov rcx, qword [rsp + 0x68]
call fcn.1400016ef
nop
lea rdx, [rsp + 0x30]
mov rcx, qword [rbp + 0x68]
call fcn.1400015ff
test al, al
jne 0x1400123c1
lea rdi, [r14 + 0x54]
mov esi, 0x20
nop
mov rax, qword [r14 + 0x30]
mov ebx, dword [rax + rsi + 8]
mov edx, r13d
mov rcx, r14
call fcn.14000202c
sub eax, ebx
mov dword [rdi], eax
inc r13d
lea rdi, [rdi + 4]
lea rsi, [rsi + 0x20]
cmp r13d, 6
jl 0x140012c90
cmp dword [r14 + 0x80], 0
jne 0x140012cfd
mov rdx, qword [r14 + 0xc8]
test rdx, rdx
je 0x140012cfd
mov rdx, qword [rdx + 8]
add rdx, 0x78
lea rcx, [r14 + 0x78]
call fcn.1400024b4
mov rax, qword [r14 + 0xc8]
mov rdx, qword [rax + 8]
add rdx, 0x88
lea rcx, [r14 + 0x88]
call fcn.140002374
mov rcx, r14
call fcn.1400019d3
neg al
sbb ebx, ebx
neg ebx
cmp dword [rsp + 0x3c], 0
jle 0x140012d20
mov rcx, qword [rsp + 0x30]
add rcx, 0xfffffffffffffff4
call fcn.140001a0a
lea eax, [rbx - 1]
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret