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

Disassembly:
jmp 0x1400416e0
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 8]
sub rsp, 0x108
mov rdi, rdx
mov r14, rcx
xor ecx, ecx
mov dword [rbp + 0x68], ecx
mov r12d, ecx
mov r15d, ecx
xor al, al
mov byte [rbp + 0x50], al
mov byte [rbp + 0x60], al
mov dword [rsp + 0x44], 4
mov r13d, ecx
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rcx
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.140001884
test al, al
je 0x14004200b
mov esi, dword [rsp + 0x38]
test esi, esi
je 0x140041ff6
lea rcx, [rsp + 0x30]
call fcn.14000229d
mov rbx, rax
mov r9d, dword [rdi + 0x24]
test r9d, r9d
jle 0x1400418e7
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x20], eax
mov r8d, dword [rdi + 0x20]
mov edx, esi
mov rcx, rbx
call fcn.14000263f
mov rbx, rax
lea rax, [0x14008e5ec]
cmp qword [rbx + 8], rax
jne 0x140041856
mov edx, dword [rbx + 0x10]
lea rdi, [r14 + 0x68]
cmp edx, dword [r14 + 0x70]
jl 0x1400417af
add edx, 0x1e
xor r8d, r8d
mov rcx, rdi
call fcn.140002a7c
movsxd rcx, dword [rbx + 0x10]
mov rax, qword [rdi]
mov rcx, qword [rax + rcx*8]
test rcx, rcx
je 0x1400417c9
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
movsxd rcx, dword [rbx + 0x10]
mov rax, qword [rdi]
mov qword [rax + rcx*8], rbx
cmp byte [rbp + 0x50], 0
jne 0x14004184d
cmp dword [r14 + 0x28], 0
je 0x14004184d
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 0x140041849
mov ecx, 0x48
call fcn.14000113b
mov qword [rbp - 0x38], rax
test rax, rax
je 0x140041826
lea r9, [rbx + 8]
mov r8b, 1
mov rdx, r14
mov rcx, rax
call fcn.140001226
mov r13, rax
jmp 0x140041829
xor r13d, r13d
xor eax, eax
mov dword [rsp + 0x40], eax
movsxd rcx, dword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov qword [rax + rcx*8 - 8], r13
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
mov byte [rbp + 0x50], 1
mov rdi, qword [rbp + 0x58]
jmp 0x140041d46
mov rdx, rbx
mov rcx, r14
call fcn.1400015c3
cmp byte [rbp + 0x60], 0
jne 0x140041d46
cmp dword [r14 + 0x28], 0
je 0x140041d46
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 0x1400418de
mov ecx, 0x48
call fcn.14000113b
mov qword [rbp - 0x30], rax
test rax, rax
je 0x1400418bb
lea r9, [rbx + 8]
xor r8d, r8d
mov rdx, r14
mov rcx, rax
call fcn.140001226
mov r13, rax
jmp 0x1400418be
xor r13d, r13d
xor eax, eax
mov dword [rsp + 0x40], eax
movsxd rcx, dword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov qword [rax + rcx*8 - 8], r13
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax]
mov byte [rbp + 0x60], 1
jmp 0x140041d46
cmp byte [rax], 0x25
jne 0x1400419a8
mov ecx, 0x20
call fcn.14000113b
mov rdi, rax
mov qword [rbp - 0x28], rax
test rax, rax
je 0x140041945
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.140002fef
nop
or dword [rbp + 0x68], 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 0x140041948
mov eax, dword [rdx]
inc eax
mov dword [rdx], eax
jmp 0x140041948
mov rdi, rax
mov eax, dword [r14 + 0x2c]
cmp dword [r14 + 0x28], eax
jl 0x140041964
mov edx, 0xffffffff
lea rcx, [r14 + 0x20]
call fcn.140002c0c
test al, al
je 0x140041974
movsxd rcx, dword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov qword [rax + rcx*8], rdi
inc dword [r14 + 0x28]
mov eax, dword [rbp + 0x68]
test al, 1
je 0x140041ff2
and dword [rbp + 0x68], 0xfffffffe
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x1400419a3
mov ecx, dword [rax]
sub ecx, 1
mov rax, qword [rbp - 0x70]
mov dword [rax], ecx
jne 0x1400419a3
mov rcx, qword [rbp - 0x70]
call fcn.1400019ec
nop
jmp 0x140041ff2
lea rax, [0x14008e5ec]
cmp qword [r14 + 0xa8], rax
jne 0x140041b1d
lea rdx, str.string_currentfile
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140041b1d
lea rdx, str.readstring
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140041b1d
mov rcx, rbx
cmp byte [rbx], 0
je 0x140041a05
movzx eax, byte [rbx]
cmp al, 0x2f
je 0x140041a05
inc rcx
movzx eax, byte [rcx]
test al, al
jne 0x1400419f7
lea r9, [rcx + 1]
mov r8, r9
cmp byte [rcx], 0
je 0x140041b1d
nop word [rax + rax]
movzx eax, byte [r8]
test al, al
je 0x140041b1d
cmp al, 0x20
je 0x140041a39
cmp al, 0x7b
je 0x140041a39
inc r8
jmp 0x140041a20
sub r8, rcx
dec r8
lea rdx, str.__s
lea rcx, [rbp - 0x20]
call fcn.1400021fd
mov rcx, qword [rax]
mov qword [r14 + 0xa8], rcx
mov rax, qword [rdi]
mov rdx, rcx
mov rcx, rdi
call qword [rax + 0x18]
mov ecx, 0x20
call fcn.14000113b
mov rdi, rax
mov qword [rbp - 0x18], rax
test rax, rax
je 0x140041aba
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x30]
call fcn.140002fef
nop
or dword [rbp + 0x68], 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 0x140041abd
mov eax, dword [rdx]
inc eax
mov dword [rdx], eax
jmp 0x140041abd
mov rdi, rax
mov eax, dword [r14 + 0x2c]
cmp dword [r14 + 0x28], eax
jl 0x140041ad9
mov edx, 0xffffffff
lea rcx, [r14 + 0x20]
call fcn.140002c0c
test al, al
je 0x140041ae9
movsxd rcx, dword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov qword [rax + rcx*8], rdi
inc dword [r14 + 0x28]
mov eax, dword [rbp + 0x68]
test al, 2
je 0x140041ff2
and dword [rbp + 0x68], 0xfffffffd
mov rax, qword [rbp - 0x58]
test rax, rax
je 0x140041b18
mov ecx, dword [rax]
sub ecx, 1
mov rax, qword [rbp - 0x58]
mov dword [rax], ecx
jne 0x140041b18
mov rcx, qword [rbp - 0x58]
call fcn.1400019ec
nop
jmp 0x140041ff2
cmp qword [r14 + 0xb0], 0
jne 0x140041b55
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 0x140041b55
lea r8, [rbx + 0xa]
mov rdx, rdi
mov rcx, r14
call fcn.14000100f
jmp 0x140041d46
movzx eax, byte [rbx]
cmp al, 0x2f
je 0x140041b71
cmp al, 0x20
jne 0x140041bd0
mov rax, rbx
lea rax, [rax + 1]
cmp byte [rax], 0x20
je 0x140041b63
cmp byte [rax], 0x2f
jne 0x140041bd0
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140001bd1
mov rdi, rax
test rax, rax
je 0x140041bcc
mov rcx, qword [rax + 8]
cmp rcx, qword [0x14008e450]
jne 0x140041ba3
lea rdx, [rsp + 0x44]
mov rcx, rax
call fcn.140002f18
mov r8, rdi
mov edx, r12d
mov rcx, r14
call fcn.14000193d
xor esi, esi
cmp dword [rsp + 0x3c], 0
jge 0x140041bc3
mov dword [rsp + 0x3c], esi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x38], esi
jmp 0x140041ff2
mov rdi, qword [rbp + 0x58]
cmp r15d, 2
jne 0x140041c73
xor eax, eax
mov edi, eax
cmp byte [rbx], al
jne 0x140041bf1
test esi, esi
jle 0x140041bf1
inc edi
inc rbx
dec esi
cmp byte [rbx], al
je 0x140041be2
mov ecx, 0x20
call fcn.14000113b
mov rbx, rax
mov qword [rbp - 0x10], rax
test rax, rax
je 0x140041c2d
lea r8d, [rsi + rdi*2]
mov edx, 0x30
lea rcx, [rbp - 0x50]
call fcn.140001c0d
nop
or dword [rbp + 0x68], 4
mov rdx, rax
mov rcx, rbx
call fcn.140002acc
xor esi, esi
jmp 0x140041c31
xor esi, esi
mov eax, esi
mov rdx, rax
mov rcx, r14
call fcn.1400025f9
nop
mov eax, dword [rbp + 0x68]
test al, 4
je 0x140041c68
and dword [rbp + 0x68], 0xfffffffb
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x140041c68
mov ecx, dword [rax]
sub ecx, 1
mov rax, qword [rbp - 0x40]
mov dword [rax], ecx
jne 0x140041c68
mov rcx, qword [rbp - 0x40]
call fcn.1400019ec
nop
mov r15d, 3
jmp 0x140041bb3
cmp r15d, 1
jne 0x140041ca8
lea rdx, str.FontDirectory
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140041ca8
lea r9, [rsp + 0x30]
mov r8, rbx
mov rdx, rdi
mov rcx, r14
call fcn.140001190
test al, al
jne 0x140041d46
test r13, r13
je 0x140041d60
mov esi, dword [rsp + 0x40]
test esi, esi
je 0x140041cfa
lea rdx, [0x140078828]
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x140041ce1
lea rdx, [0x140077e68]
mov rcx, rbx
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140041cf3
mov edx, 0x2f
mov rcx, rbx
call sub.VCRUNTIME140.dll_strchr
test rax, rax
je 0x140041cfa
xor esi, esi
mov r13d, esi
jmp 0x140041d62
xor r9d, r9d
lea r8d, [r9 - 1]
mov rdx, rbx
lea rcx, [rsp + 0x68]
call fcn.140001861
nop
lea rdx, [rsp + 0x68]
mov rcx, r13
call fcn.140001aaf
nop
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140041d40
mov ecx, dword [rax]
sub ecx, 1
mov rax, qword [rsp + 0x78]
mov dword [rax], ecx
jne 0x140041d40
mov rcx, qword [rsp + 0x78]
call fcn.1400019ec
nop
inc esi
mov dword [rsp + 0x40], esi
xor esi, esi
cmp dword [rsp + 0x3c], esi
jge 0x140041d57
mov dword [rsp + 0x3c], esi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x38], esi
jmp 0x140041ff6
xor esi, esi
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x30]
call fcn.140002fef
nop
mov ecx, 0x20
call fcn.14000113b
mov rdi, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140041dbb
lea rax, vtable.Efont::Type1CopyItem.0
mov qword [rdi], rax
mov r8, qword [rsp + 0x58]
mov edx, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov qword [rdi + 8], rcx
mov dword [rdi + 0x10], edx
mov qword [rdi + 0x18], r8
test r8, r8
je 0x140041dbe
mov eax, dword [r8]
inc eax
mov dword [r8], eax
jmp 0x140041dbe
mov rdi, rsi
mov eax, dword [r14 + 0x2c]
cmp dword [r14 + 0x28], eax
jl 0x140041dda
mov edx, 0xffffffff
lea rcx, [r14 + 0x20]
call fcn.140002c0c
test al, al
je 0x140041dea
movsxd rcx, dword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov qword [rax + rcx*8], rdi
inc dword [r14 + 0x28]
mov rdi, qword [rsp + 0x48]
test r15d, r15d
jne 0x140041eae
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 0x140041f3d
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 0x140041e2d
cmp byte [rbx], al
jne 0x140041f3d
movzx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
je 0x140041e50
nop word [rax + 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 0x140041e40
mov r9d, dword [rsp + 0x50]
sub r9d, ebx
add r9d, dword [rsp + 0x48]
mov r8, rbx
mov dl, 1
mov rcx, qword [rbp + 0x58]
call fcn.14000183e
mov ecx, 0x10
call fcn.14000113b
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140041e8f
lea rcx, vtable.Efont::Type1EexecItem.0
mov qword [rax], rcx
mov byte [rax + 8], 1
jmp 0x140041e92
mov rax, rsi
mov edx, dword [r14 + 0x28]
dec edx
mov r8, rax
mov rcx, r14
call fcn.1400021f8
mov r15d, 1
jmp 0x140041fcf
cmp r15d, 1
jne 0x140041f3d
lea rdx, str.currentfile_closefile
mov rcx, rdi
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140041f3d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 0x58]
call fcn.14000183e
lea ecx, [r15 + 0xf]
call fcn.14000113b
mov rdi, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140041f03
lea rax, vtable.Efont::Type1EexecItem.0
mov qword [rdi], rax
mov byte [rdi + 8], 0
jmp 0x140041f06
mov rdi, rsi
mov eax, dword [r14 + 0x2c]
cmp dword [r14 + 0x28], eax
jl 0x140041f22
mov edx, 0xffffffff
lea rcx, [r14 + 0x20]
call fcn.140002c0c
test al, al
je 0x140041f32
movsxd rcx, dword [r14 + 0x28]
mov rax, qword [r14 + 0x20]
mov qword [rax + rcx*8], rdi
inc dword [r14 + 0x28]
mov r15d, 2
jmp 0x140041fcf
lea rdx, str.begin
mov rcx, rdi
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140041fb3
mov ebx, r12d
lea rdx, str._Private
mov rcx, rdi
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140041f70
mov r12d, 2
jmp 0x140041f89
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 0x140041fa3
add r12d, 3
jmp 0x140041fcf
cmp ebx, 3
jne 0x140041fcf
cmp r12d, 1
jne 0x140041fcf
add r12d, ebx
jmp 0x140041fcf
cmp r12d, 1
jne 0x140041fcf
lea rdx, [0x140078828]
mov rcx, rdi
call sub.VCRUNTIME140.dll_strstr
test rax, rax
cmovne r12d, esi
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x140041ff2
mov ecx, dword [rax]
sub ecx, 1
mov rax, qword [rsp + 0x58]
mov dword [rax], ecx
jne 0x140041ff2
mov rcx, qword [rsp + 0x58]
call fcn.1400019ec
nop
mov rdi, qword [rbp + 0x58]
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.140001884
test al, al
jne 0x140041744
mov rax, qword [r14 + 0x30]
mov ebx, dword [rax + 0x28]
mov edx, 1
mov rcx, r14
call fcn.14000277f
sub eax, ebx
mov dword [r14 + 0x54], eax
mov rax, qword [r14 + 0x30]
mov ebx, dword [rax + 0x48]
mov edx, 2
mov rcx, r14
call fcn.14000277f
sub eax, ebx
mov dword [r14 + 0x58], eax
mov rax, qword [r14 + 0x30]
mov ebx, dword [rax + 0x68]
mov edx, 3
mov rcx, r14
call fcn.14000277f
sub eax, ebx
mov dword [r14 + 0x5c], eax
mov rax, qword [r14 + 0x30]
mov ebx, dword [rax + 0x88]
mov edx, 4
mov rcx, r14
call fcn.14000277f
sub eax, ebx
mov dword [r14 + 0x60], eax
mov rax, qword [r14 + 0x30]
mov ebx, dword [rax + 0xa8]
mov edx, 5
mov rcx, r14
call fcn.14000277f
sub eax, ebx
mov dword [r14 + 0x64], eax
cmp dword [r14 + 0x80], 0
jne 0x1400420d8
mov rdx, qword [r14 + 0xc8]
test rdx, rdx
je 0x1400420d8
mov rdx, qword [rdx + 8]
add rdx, 0x78
lea rcx, [r14 + 0x78]
call fcn.140002e0a
mov rax, qword [r14 + 0xc8]
mov rdx, qword [rax + 8]
add rdx, 0x88
lea rcx, [r14 + 0x88]
call fcn.140002c2f
mov rcx, r14
call fcn.140001e92
movzx ebx, al
cmp dword [rsp + 0x3c], 0
jle 0x1400420f8
mov rcx, qword [rsp + 0x30]
add rcx, 0xfffffffffffffff4
call fcn.140001ee7
lea eax, [rbx - 1]
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret