Function at 0x140056ea0
Capabilities:
Get common file path

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0x480
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [r11 + 0x20], rbx
mov rax, qword [0x1400bdbf0]
xor rax, rsp
mov qword [rsp + 0x470], rax
mov rcx, rdx
mov rsi, r8
mov qword [rsp + 0x30], r8
test rdx, rdx
je 0x14005711e
xor ebp, ebp
cmp bp, word [rdx]
je 0x14005711e
mov qword [rsp + 0x28], rbp
lea r8, [rsp + 0x28]
lea rdx, [0x1400a1df8]
call qword [sym.imp.MSVCR90.dll_wcstok_s]
mov rbx, rax
test rax, rax
je 0x14005711a
nop word [rax + rax]
lea rcx, str.__a_t_
mov rax, qword [str.__a_t_]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x20], rdi
test rbx, rbx
je 0x140056f84
test rbx, 0xffffffffffff0000
jne 0x140056f70
movzx ebx, bx
xor edx, edx
mov ecx, ebx
call fcn.140001480
test rax, rax
je 0x140056f9b
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.140001ca0
mov rdi, qword [rsp + 0x20]
jmp 0x140056f9b
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
jmp 0x140056f86
mov ecx, ebp
mov r8d, ecx
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.140001f70
mov rdi, qword [rsp + 0x20]
cmp dword [rdi - 0x10], 0
jl 0x14005700b
lea rdx, [0x1400a1dfc]
mov rcx, rdi
call qword [sym.imp.MSVCR90.dll_wcsstr]
test rax, rax
je 0x14005700b
sub rax, rdi
sar rax, 1
test eax, eax
jne 0x14005700b
mov word [rsp + 0x50], bp
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x52]
call sub.MSVCR90.dll_memset
xor r9d, r9d
lea r8d, [r9 + 0x24]
lea rdx, [rsp + 0x50]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea r8, [rsp + 0x50]
lea rdx, [0x1400a1dfc]
lea rcx, [rsp + 0x20]
call fcn.140005870
mov rdi, qword [rsp + 0x20]
jmp 0x140057096
cmp dword [rdi - 0x10], 0
jl 0x140057080
lea rdx, [0x1400a1e04]
mov rcx, rdi
call qword [sym.imp.MSVCR90.dll_wcsstr]
test rax, rax
je 0x140057080
sub rax, rdi
sar rax, 1
test eax, eax
jne 0x140057080
mov word [rsp + 0x260], bp
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x262]
call sub.MSVCR90.dll_memset
mov edx, 0x104
lea rcx, [rsp + 0x260]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea r8, [rsp + 0x260]
lea rdx, [0x1400a1e04]
lea rcx, [rsp + 0x20]
call fcn.140005870
mov rdi, qword [rsp + 0x20]
jmp 0x140057096
cmp dword [rdi - 0x10], 0
jl 0x140057096
lea rdx, [0x1400a1e0c]
mov rcx, rdi
call qword [sym.imp.MSVCR90.dll_wcsstr]
mov rbx, qword [rsi + 8]
mov qword [rsp + 0x48], rbx
cmp rbx, qword [rsi + 0x10]
jb 0x1400570b5
lea rdx, [rbx + 1]
mov rcx, rsi
call fcn.140002ea0
test al, al
je 0x14005710f
mov rax, qword [rsi]
lea rcx, [rax + rbx*8]
mov qword [rsp + 0x38], rcx
test rcx, rcx
je 0x1400570cf
mov rdx, rdi
call fcn.1400019b0
nop
inc qword [rsi + 8]
lea r8, [rsp + 0x28]
lea rdx, [0x1400a1df8]
xor ecx, ecx
call qword [sym.imp.MSVCR90.dll_wcstok_s]
mov rbx, rax
lea rdx, [rdi - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140057105
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test rbx, rbx
je 0x14005711a
jmp 0x140056f20
mov ecx, 0x8007000e
call fcn.140001340
nop
xor eax, eax
jmp 0x14005714c
xor r8d, r8d
lea rdx, str...............AhnLabCommonMedicineFramework2.5TrunkSrcCommonClassUIPrt.cpp
lea rcx, [0x1400cb7f0]
call fcn.14002d870
lea rdx, str._CUIPrt::ParseAllowPath__Invalid_parameter
lea rcx, [0x1400cb7f0]
call fcn.14002da20
mov eax, 0x57
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.14004d770
mov rbx, qword [rsp + 0x4b8]
add rsp, 0x480
pop rdi
pop rsi
pop rbp
ret