Function at 0x1400018a0
Capabilities:
Create directory
Get common file path

Disassembly:
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x780]
mov eax, 0x880
call fcn.1400035e0
sub rsp, rax
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rsp + 0x8b0], rbx
mov qword [rsp + 0x8b8], rsi
mov r15, r8
mov rdi, rdx
mov r12, rcx
xor r14b, r14b
lea rcx, [rsp + 0x38]
call qword [sym.imp.KERNEL32.dll_GetSystemTime]
movzx eax, word [rsp + 0x46]
movzx r10d, word [rsp + 0x44]
movzx r9d, word [rsp + 0x42]
movzx r8d, word [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
lea rdx, str.tmp_lu_lu_lu_lu.scr
lea rcx, [rbp + 0x380]
call qword [sym.imp.MSVCR110.dll_sprintf]
mov rdx, rdi
mov rcx, r12
call fcn.140001820
call fcn.140062ce0
mov rcx, r12
call fcn.140062d20
test eax, eax
jne 0x140001b9f
lea rcx, str.Global
call fcn.140062c20
test eax, eax
jne 0x140001b9f
lea rdx, [rbp + 0x7c8]
lea rcx, str.temp_dir
call fcn.140062c40
test eax, eax
jne 0x140001b9f
mov r14b, 1
lea rcx, [rdi - 1]
nop dword [rax + rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140001980
mov r8, qword [rbp + 0x7c8]
xor edx, edx
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1400019a0
lea rcx, [rdi - 1]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400019b4
movzx eax, word [0x1401861f4]
mov word [rcx], ax
mov r8, rdi
lea rdx, str._s_pdf.log
mov rcx, r15
call qword [sym.imp.mfc110.dll_Ordinal_4587]
lea rcx, [rdi - 1]
nop
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400019e0
lea r8, [rbp + 0x380]
xor edx, edx
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140001a00
xor edx, edx
mov rcx, qword [rbp + 0x7c8]
call qword [sym.imp.MSVCR110.dll__access]
cmp eax, 0xffffffff
jne 0x140001b2a
mov rdx, qword [rbp + 0x7c8]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc110.dll_Ordinal_310]
nop
mov r8b, 0x5c
mov dl, 0x2f
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc110.dll_Ordinal_12222]
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
mov rdx, rdi
sub rdx, rbx
nop dword [rax]
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140001a60
lea rcx, [rdi - 1]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140001a72
movzx eax, word [0x1401861f4]
mov word [rcx], ax
lea rcx, [rdi - 1]
nop dword [rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140001a90
lea r8, [rbp + 0x380]
xor edx, edx
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140001ab0
cmp byte [rbx], al
je 0x140001b13
mov esi, 1
nop dword [rax]
movzx eax, byte [rbx]
cmp al, 0x5c
je 0x140001adb
cmp al, 0x2f
jne 0x140001b04
mov r8d, esi
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc110.dll_Ordinal_7869]
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.MSVCR110.dll__mkdir]
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc110.dll_Ordinal_1026]
inc rbx
inc esi
cmp byte [rbx], 0
jne 0x140001ad0
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.MSVCR110.dll__mkdir]
nop
lea rcx, [rsp + 0x30]
call qword [sym.imp.mfc110.dll_Ordinal_1026]
jmp 0x140001b65
mov edx, 2
mov rcx, qword [rbp + 0x7c8]
call qword [sym.imp.MSVCR110.dll__access]
test eax, eax
jne 0x140001b62
lea rdx, [rsp + 0x50]
mov rcx, qword [rbp + 0x7c8]
call qword [sym.imp.MSVCR110.dll__stat64i32]
test eax, eax
jne 0x140001b62
mov eax, 0x4000
test word [rsp + 0x56], ax
jne 0x140001b65
xor r14b, r14b
mov rcx, qword [rbp + 0x7c8]
call qword [sym.imp.MSVCR110.dll_free]
test r14b, r14b
je 0x140001b9f
lea rdx, [0x140186204]
mov rcx, qword [r15]
call qword [sym.imp.MSVCR110.dll_fopen]
test rax, rax
jne 0x140001b91
xor r14b, r14b
jmp 0x140001b9f
mov rcx, rax
call qword [sym.imp.MSVCR110.dll_fclose]
jmp 0x140001c8f
mov rdx, rdi
mov ecx, Ordinal_1026
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edx, gethostbyaddr
mov rcx, r12
call qword [sym.imp.MSVCR110.dll_strrchr]
test rax, rax
je 0x140001bdf
sub eax, r12d
inc eax
movsxd rbx, eax
mov r8, rbx
mov rdx, r12
lea rcx, [rbp - 0x80]
call qword [sym.imp.MSVCR110.dll_strncpy]
mov byte [rbp + rbx - 0x80], 0
jmp 0x140001bf4
movzx eax, word [0x1401861c4]
mov word [rbp - 0x80], ax
movzx eax, byte [0x1401861c6]
mov byte [rbp - 0x7e], al
xor edx, edx
lea rcx, [rbp - 0x80]
call qword [sym.imp.MSVCR110.dll__access]
test eax, eax
jne 0x140001c49
lea edx, [rax + 2]
lea rcx, [rbp - 0x80]
call qword [sym.imp.MSVCR110.dll__access]
test eax, eax
jne 0x140001c49
lea r8, [rbp - 0x80]
lea rdx, str._spdf.log
mov rcx, r15
call qword [sym.imp.mfc110.dll_Ordinal_4587]
lea rdx, [0x140186204]
mov rcx, qword [r15]
call qword [sym.imp.MSVCR110.dll_fopen]
test rax, rax
je 0x140001c4e
mov rcx, rax
call qword [sym.imp.MSVCR110.dll_fclose]
jmp 0x140001c61
test r14b, r14b
jne 0x140001c61
mov r8, rdi
lea rdx, str._spdf.log
mov rcx, r15
call qword [sym.imp.mfc110.dll_Ordinal_4587]
dec rdi
lea rdi, [rdi + 1]
cmp byte [rdi], 0
jne 0x140001c64
lea rdx, [rbp + 0x380]
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
mov byte [rdi + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x140001c80
lea r11, [rsp + 0x880]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret