Function at 0x1400038e8
Capabilities:
Get common file path

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
push rdi
push r12
push r14
sub rsp, 0x4f0
mov rax, qword [0x14002f318]
xor rax, rsp
mov qword [rsp + 0x4e0], rax
mov rsi, rcx
mov r12d, 0x100
lea rcx, [r11 - 0x328]
mov r8, r12
xor edx, edx
call fcn.140013900
lea rcx, [rsp + 0x2e0]
mov r8, r12
xor edx, edx
call fcn.140013900
lea rcx, [rsp + 0x3e0]
mov r8, r12
xor edx, edx
call fcn.140013900
lea rcx, [rsp + 0xe0]
mov r8, r12
xor edx, edx
call fcn.140013900
xor edx, edx
lea rcx, [rsp + 0x30]
lea r8d, [rdx + 0xc]
call fcn.140013900
lea r8d, [r12 - 0x68]
lea rcx, [rsp + 0x40]
xor edx, edx
call fcn.140013900
lea rcx, str.TWXferMech_r_n
call fcn.1400139ec
mov eax, 5
lea r11d, [r12 + 3]
lea r14d, [rax + 1]
mov word [rsp + 0x30], r11w
mov word [rsp + 0x32], ax
mov ecx, r14d
call fcn.140012018
xor ebp, ebp
mov qword [rsp + 0x34], rax
cmp rax, rbp
je 0x140003bec
mov rcx, rax
call fcn.140012060
mov rcx, rsi
mov rdi, rax
lea eax, [rbp + 4]
mov word [rdi], ax
call qword [sym.imp.USER32.dll_GetMenu]
lea edx, [rbp + 0x70]
mov rcx, rax
xor r8d, r8d
call qword [sym.imp.USER32.dll_GetMenuState]
lea ebx, [rbp + 1]
test al, 8
je 0x1400039ff
mov dword [rdi + 2], 2
jmp 0x140003b80
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetMenu]
xor r8d, r8d
lea edx, [r8 + 0x6f]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetMenuState]
test al, 8
je 0x140003b7d
lea rdx, [rsp + 0x1e0]
mov ecx, r12d
mov dword [rdi + 2], ebx
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
mov rcx, qword [0x140030a70]
lea r8, [rsp + 0xe0]
mov r9d, r12d
mov edx, 0x67
mov byte [rsp + 0x2e0], bpl
call qword [sym.imp.USER32.dll_LoadStringA]
cmp byte [rsp + 0xe0], bpl
je 0x140003a7b
lea rax, [rsp + 0xe0]
cmp byte [rax], 0x7c
jne 0x140003a73
mov byte [rax], bpl
add rax, rbx
cmp byte [rax], bpl
jne 0x140003a6b
lea rcx, [rsp + 0x40]
xor edx, edx
mov r8d, 0x98
call fcn.140013900
lea rax, [rsp + 0xe0]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x2e0]
mov dword [rsp + 0x40], 0x98
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x3e0]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x80], rax
lea rax, [rsp + 0x1e0]
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x90], rax
lea rax, [0x140020704]
mov qword [rsp + 0x60], rbp
mov dword [rsp + 0x6c], ebx
mov dword [rsp + 0x78], r12d
mov dword [rsp + 0x88], r12d
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x98], rbp
mov dword [rsp + 0xa0], 0x12
mov word [rsp + 0xa4], bp
mov word [rsp + 0xa6], bp
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0xb8], rbp
mov qword [rsp + 0xc0], rbp
call qword [sym.imp.COMDLG32.dll_GetSaveFileNameA]
cmp eax, ebp
jne 0x140003b64
mov rcx, qword [rsp + 0x34]
call fcn.140012080
mov rcx, qword [rsp + 0x34]
call fcn.140012040
mov ax, bx
jmp 0x140003c27
lea r8, [rsp + 0x3e0]
lea rcx, [0x140031ea0]
mov rdx, r12
call fcn.140013aa4
jmp 0x140003b80
mov dword [rdi + 2], ebp
mov rcx, qword [rsp + 0x34]
call fcn.140012080
lea rax, [rsp + 0x30]
lea rdx, [0x140031d40]
mov qword [rsp + 0x28], rax
lea rcx, [0x140031de0]
mov r9d, ebx
mov r8d, ebx
mov word [rsp + 0x20], r14w
call fcn.1400070ac
mov rcx, qword [rsp + 0x34]
mov di, ax
call fcn.140012040
cmp di, bp
je 0x140003c24
call fcn.1400033c4
cmp eax, ebx
jl 0x140003c24
lea rax, str.MSG_SET_of_ICAP_XFERMECH
mov r9d, ebx
mov edx, ebx
mov qword [rsp + 0x28], rax
lea rax, [0x1400205f9]
movzx r8d, di
jmp 0x140003c17
mov ebx, 1
mov edi, ebx
call fcn.1400033c4
cmp eax, ebx
jl 0x140003c24
lea rax, str.MSG_SET_of_ICAP_XFERMECH
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x28], rax
lea rax, str.Memory_Allocation_Failed
xor edx, edx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140003194
mov ax, di
mov rcx, qword [rsp + 0x4e0]
xor rcx, rsp
call fcn.140013bb0
lea r11, [rsp + 0x4f0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r12
pop rdi
ret