Function at 0x1401cd640
Capabilities:
Get common file path

Disassembly:
mov byte [rsp + 0x10], dl
mov byte [rsp + 8], cl
sub rsp, 0x138
movsx eax, byte [rsp + 0x148]
cmp eax, 0x79
jle 0x1401cd68b
lea r8, [rsp + 0x78]
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.USERENV.dll_GetUserProfileDirectoryA]
mov dword [rsp + 0x48], eax
mov edx, 0xb3
movzx ecx, byte [rsp + 0x148]
call fcn.1401cd170
nop
movsx eax, byte [rsp + 0x148]
add eax, 0x58
cmp eax, 0x10
jg 0x1401cd6a3
mov byte [rsp + 0x148], 0x66
movabs rax, 0x72b7144bcadd75
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
movabs rax, 0x78cd64a8e66cef
cmp qword [rsp + 0x70], rax
je 0x1401cd749
movabs rax, 0x7e0f350857d0be
cmp qword [rsp + 0x70], rax
je 0x1401cd6e3
jmp 0x1401cd82e
mov r8d, 0x56
lea rdx, [rsp + 0x48]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.GDI32.dll_PolyBezier]
mov dword [rsp + 0x5c], eax
movabs rax, 0x701440cac1460a
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
movzx eax, byte [rsp + 0x140]
mov byte [rsp + 0x20], al
mov r9, qword [rsp + 0x30]
mov r8d, 0xa6
movzx edx, byte [rsp + 0x148]
mov rcx, qword [rsp + 0x30]
call fcn.1401cd5a0
nop
jmp 0x1401cd82e
mov byte [rsp + 0x140], 0x32
lea rdx, [rsp + 0xf8]
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.GDI32.dll_GetTextMetricsA]
mov dword [rsp + 0x60], eax
movzx eax, byte [rsp + 0x140]
cmp eax, 0xcb
je 0x1401cd7f5
movabs rax, 0x7646a97f119b46
mov rcx, qword [rsp + 0x30]
and rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
movzx eax, byte [rsp + 0x140]
mov byte [rsp + 0x58], al
cmp byte [rsp + 0x58], 0x61
je 0x1401cd7a9
jmp 0x1401cd7e5
mov r9d, 0xca
lea r8, [fcn.1401cd170]
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.GDI32.dll_EnumMetaFile]
mov dword [rsp + 0x48], eax
mov edx, 0xf6
movzx ecx, byte [rsp + 0x148]
call fcn.1401cd170
nop
jmp 0x1401cd7f3
mov rax, qword [rsp + 0x30]
shl rax, 9
mov qword [rsp + 0x30], rax
jmp 0x1401cd82e
movsx eax, byte [rsp + 0x148]
cmp eax, 0x1b
je 0x1401cd82e
movzx edx, byte [rsp + 0x148]
movzx ecx, byte [rsp + 0x140]
call fcn.1401cd640
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.GDI32.dll_SetColorAdjustment]
mov dword [rsp + 0x68], eax
movsx eax, byte [rsp + 0x148]
cmp eax, 0x1c
je 0x1401cdaf5
movabs rax, 0x7e1d34daaf241e
cmp qword [rsp + 0x30], rax
jb 0x1401cd923
movzx eax, byte [rsp + 0x140]
cmp eax, 0x77
je 0x1401cd89c
mov rax, qword [rsp + 0x30]
shr rax, 0x2c
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x5c]
mov rcx, qword [rsp + 0xc8]
call qword [sym.imp.GDI32.dll_RectInRegion]
mov dword [rsp + 0x60], eax
movzx edx, byte [rsp + 0x148]
movzx ecx, byte [rsp + 0x148]
call fcn.1401cc930
nop
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x98], rax
movabs rax, 0x7e7d10c7b74006
cmp qword [rsp + 0x98], rax
je 0x1401cd8bf
jmp 0x1401cd909
movabs rax, 0x710056a61e5afa
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x78]
mov ecx, 0x37
call qword [sym.imp.GDI32.dll_SetEnhMetaFileBits]
mov qword [rsp + 0xd0], rax
movzx edx, byte [rsp + 0x148]
movzx ecx, byte [rsp + 0x148]
call fcn.1401cc930
nop
jmp 0x1401cd923
movabs rax, 0x7dd114d3af98bf
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
movzx eax, byte [rsp + 0x140]
mov byte [rsp + 0x64], al
cmp byte [rsp + 0x64], 0
je 0x1401cd93b
jmp 0x1401cd9df
movzx eax, byte [rsp + 0x140]
and eax, 0x5e
cmp eax, 0x10
je 0x1401cd9c3
mov eax, 0x811
mov word [rsp + 0x38], ax
movzx eax, byte [rsp + 0x140]
mov byte [rsp + 0x4c], al
cmp byte [rsp + 0x4c], 0xb8
je 0x1401cd971
cmp byte [rsp + 0x4c], 0xd0
je 0x1401cd9bb
jmp 0x1401cd9c3
mov r8, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.GDI32.dll_FillRgn]
mov dword [rsp + 0x90], eax
movzx eax, word [rsp + 0x38]
add eax, 0x55
mov word [rsp + 0x38], ax
movzx edx, byte [rsp + 0x148]
movzx ecx, byte [rsp + 0x148]
call fcn.1401cc930
nop
jmp 0x1401cd9c3
mov byte [rsp + 0x140], 0x15
movabs rax, 0x71fe5dadd7ada1
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x50], 0x2d2e
jmp 0x1401cda27
mov r8d, 0x47
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.GDI32.dll_ModifyWorldTransform]
mov dword [rsp + 0x68], eax
mov byte [rsp + 0x140], 0x30
mov rcx, qword [rsp + 0xe8]
call qword [sym.imp.GDI32.dll_GetArcDirection]
mov dword [rsp + 0x54], eax
mov edx, dword [rsp + 0x54]
mov cx, 0xec
call fcn.1401cd2d0
nop
movzx eax, byte [rsp + 0x148]
mov byte [rsp + 0x3c], al
mov eax, 0x65d
mov word [rsp + 0x40], ax
movzx eax, word [rsp + 0x38]
mov word [rsp + 0x44], ax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0xb0], rax
movsx eax, byte [rsp + 0x3c]
sub eax, 0x75
movsx ecx, byte [rsp + 0x148]
cmp eax, ecx
jge 0x1401cdae6
movabs rax, 0x7b2b69b8a1a15f
cmp qword [rsp + 0x30], rax
jb 0x1401cdac0
mov eax, dword [rsp + 0x50]
add eax, 0x6d91
mov rcx, qword [rsp + 0xb0]
mov dword [rcx], eax
mov dword [rsp + 0x54], 0x266f
mov edx, 0xf7
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.GDI32.dll_SetDCPenColor]
mov dword [rsp + 0x94], eax
jmp 0x1401cdae4
movsx eax, word [rsp + 0x40]
cmp eax, 0x632
jl 0x1401cdae4
movzx eax, byte [rsp + 0x148]
mov byte [rsp + 0x3d], al
movzx eax, byte [rsp + 0x140]
mov byte [rsp + 0x3e], al
jmp 0x1401cdaf5
movzx eax, word [rsp + 0x38]
xor eax, 0x992
mov word [rsp + 0x44], ax
movabs rax, 0x7a44391b398fcc
mov rcx, qword [rsp + 0x30]
or rcx, rax
mov rax, rcx
mov qword [rsp + 0x30], rax
movzx eax, byte [rsp + 0x140]
mov byte [rsp + 0x20], al
mov r9, qword [rsp + 0x30]
mov r8d, 0x7e
movzx edx, byte [rsp + 0x148]
mov rcx, qword [rsp + 0x30]
call fcn.1401cd5a0
mov eax, 0x44
add rsp, 0x138
ret