Function at 0x140006560
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140050070]
xor rax, rsp
mov qword [rbp + 0xf], rax
lea rcx, [rbp - 0x11]
call fcn.140002070
nop
mov r13, qword [rbp - 0x11]
mov r14, qword [rbp - 1]
test r14, r14
jne 0x1400065e8
lea rcx, [0x140053010]
lea rdx, [0x140052f30]
cmp rcx, rdx
je 0x140006d3f
cmp qword [0x140052f48], 0x10
cmovae rdx, qword [0x140052f30]
mov r8, qword [0x140052f40]
call fcn.14000b1f0
jmp 0x140006d3f
movabs rax, 0x7fffffffffffffff
mov rsi, rax
sub rsi, r14
cmp rsi, 9
jb 0x140006db3
lea r12, [rbp - 0x11]
cmp qword [rbp + 7], 0x10
cmovae r12, r13
xorps xmm0, xmm0
movups xmmword [rbp - 0x51], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x41], xmm1
lea r15, [r14 + 9]
mov ebx, 0xf
lea rdi, [rbp - 0x51]
lea ecx, [rbx + 7]
lea rdx, [rbx - 0x10]
cmp r15, rbx
jbe 0x1400066a4
mov rbx, r15
or rbx, 0xf
cmp rbx, rax
jbe 0x140006648
mov rbx, rax
jmp 0x14000664f
cmp rbx, rcx
cmovb rbx, rcx
mov rcx, rbx
add rcx, 1
cmovb rcx, rdx
cmp rcx, 0x1000
jb 0x14000668f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140006db9
mov rcx, rax
call fcn.1400105b8
test rax, rax
je 0x140006e07
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400066a0
test rcx, rcx
je 0x14000669e
call fcn.1400105b8
mov rdi, rax
jmp 0x1400066a0
xor edi, edi
mov qword [rbp - 0x51], rdi
mov qword [rbp - 0x41], r15
mov qword [rbp - 0x39], rbx
mov r8, r14
mov rdx, r12
mov rcx, rdi
call fcn.140012440
movsd xmm0, qword [str.im30_win]
movsd qword [r14 + rdi], xmm0
movzx eax, byte [0x140048cf8]
mov byte [r14 + rdi + 8], al
mov byte [rdi + r15], 0
lea rcx, [rbp - 0x51]
cmp qword [rbp - 0x39], 0x10
cmovae rcx, qword [rbp - 0x51]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400066f6
test al, 0x10
jne 0x14000673f
lea rcx, [rbp - 0x51]
cmp qword [rbp - 0x39], 0x10
cmovae rcx, qword [rbp - 0x51]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x14000673f
lea rdx, [0x140052f30]
cmp qword [0x140052f48], 0x10
cmovae rdx, qword [0x140052f30]
mov r8, qword [0x140052f40]
lea rcx, [0x140053010]
call fcn.14000b1f0
jmp 0x140006cf3
cmp rsi, 0x1e
jb 0x140006dbf
lea r15, [rbp - 0x11]
cmp qword [rbp + 7], 0x10
cmovae r15, r13
xorps xmm0, xmm0
movups xmmword [rbp - 0x71], xmm0
xor eax, eax
mov qword [rbp - 0x61], rax
mov qword [rbp - 0x59], rax
lea rsi, [r14 + 0x1e]
mov ebx, 0xf
lea rdi, [rbp - 0x71]
movabs r12, 0x7fffffffffffffff
cmp rsi, rbx
jbe 0x1400067f9
mov rbx, rsi
or rbx, 0xf
cmp rbx, r12
jbe 0x140006794
mov rbx, r12
jmp 0x1400067a1
cmp rbx, 0x16
mov ecx, 0x16
cmovb rbx, rcx
mov rcx, rbx
add rcx, 1
mov rdx, 0xffffffffffffffff
cmovb rcx, rdx
cmp rcx, 0x1000
jb 0x1400067e8
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140006dc5
mov rcx, rax
call fcn.1400105b8
test rax, rax
je 0x140006e01
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400067f5
test rcx, rcx
je 0x1400067f2
call fcn.1400105b8
mov rdi, rax
mov qword [rbp - 0x71], rdi
mov qword [rbp - 0x61], rsi
mov qword [rbp - 0x59], rbx
mov r8, r14
mov rdx, r15
mov rcx, rdi
call fcn.140012440
movups xmm0, xmmword [str.im30_winlastfortress_install]
movups xmmword [r14 + rdi], xmm0
movsd xmm1, qword [0x140048d40]
movsd qword [r14 + rdi + 0x10], xmm1
mov eax, dword [0x140048d48]
mov dword [r14 + rdi + 0x18], eax
movzx eax, word [0x140048d4c]
mov word [r14 + rdi + 0x1c], ax
mov byte [rdi + rsi], 0
lea rcx, [rbp - 0x71]
cmp qword [rbp - 0x59], 0x10
cmovae rcx, qword [rbp - 0x71]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140006863
test al, 0x10
jne 0x1400068ac
lea rcx, [rbp - 0x71]
cmp qword [rbp - 0x59], 0x10
cmovae rcx, qword [rbp - 0x71]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x1400068ac
lea rdx, [0x140052f30]
cmp qword [0x140052f48], 0x10
cmovae rdx, qword [0x140052f30]
mov r8, qword [0x140052f40]
lea rcx, [0x140053010]
call fcn.14000b1f0
jmp 0x140006ca4
xorps xmm0, xmm0
movups xmmword [rbp - 0x31], xmm0
xor eax, eax
mov qword [rbp - 0x21], rax
mov qword [rbp - 0x19], rax
xor r8d, r8d
lea rdx, [0x140048863]
lea rcx, [rbp - 0x31]
call fcn.14000d540
nop
lea r14, [0x140052ff0]
mov rbx, qword [0x140053008]
mov rcx, r14
mov rdi, qword [0x140052ff0]
cmp rbx, 0x10
cmovae rcx, rdi
mov rsi, qword [0x140053000]
cmp rsi, 0xd
jne 0x14000692a
mov r8, rsi
lea rdx, str.NotGetGlickId
call fcn.140012f50
test eax, eax
jne 0x14000693a
lea r8d, [rsi + 0xa]
lea rdx, str.LastFortress.PC.tmp.exe
lea rcx, [rbp - 0x31]
call fcn.14000b1f0
jmp 0x140006ac3
mov rax, r12
sub rax, rsi
cmp rax, 0x14
jb 0x140006dcb
cmp rbx, 0x10
cmovae r14, rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
lea r15, [rsi + 0x14]
mov ebx, 0xf
lea rdi, [rsp + 0x20]
cmp r15, rbx
jbe 0x1400069e1
mov rbx, r15
or rbx, 0xf
cmp rbx, r12
jbe 0x140006977
mov rbx, r12
jmp 0x140006984
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
mov rcx, rbx
add rcx, 1
mov rax, 0xffffffffffffffff
cmovb rcx, rax
cmp rcx, 0x1000
jb 0x1400069cb
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140006dd1
mov rcx, rax
call fcn.1400105b8
test rax, rax
je 0x140006ddd
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400069dc
test rcx, rcx
je 0x1400069da
call fcn.1400105b8
mov rdi, rax
jmp 0x1400069dc
xor edi, edi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], rbx
movups xmm0, xmmword [str.LastFortress.PC.tmp_]
movups xmmword [rdi], xmm0
mov eax, dword [0x140048d80]
mov dword [rdi + 0x10], eax
lea rcx, [rdi + 0x14]
mov r8, rsi
mov rdx, r14
call fcn.140012440
mov byte [rdi + r15], 0
mov r8d, 5
lea rdx, str._.exe
lea rcx, [rsp + 0x20]
call fcn.140009890
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [rbp - 0x19]
cmp rdx, 0x10
jb 0x140006a7e
inc rdx
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006a79
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140006dd7
call fcn.1400105b0
movups xmmword [rbp - 0x31], xmm6
movups xmmword [rbp - 0x21], xmm7
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x140006ac3
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006abe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140006ddd
call fcn.1400105b0
mov rsi, qword [rbp - 0x61]
mov rax, r12
sub rax, rsi
cmp rax, 1
jb 0x140006de3
lea r15, [rbp - 0x71]
cmp qword [rbp - 0x59], 0x10
cmovae r15, qword [rbp - 0x71]
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
lea r14, [rsi + 1]
mov ebx, 0xf
lea rdi, [rsp + 0x20]
cmp r14, rbx
jbe 0x140006b84
mov rbx, r14
or rbx, 0xf
cmp rbx, r12
jbe 0x140006b1a
mov rbx, r12
jmp 0x140006b27
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
mov rcx, rbx
add rcx, 1
mov rax, 0xffffffffffffffff
cmovb rcx, rax
cmp rcx, 0x1000
jb 0x140006b6e
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140006de9
mov rcx, rax
call fcn.1400105b8
test rax, rax
je 0x140006def
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140006b7f
test rcx, rcx
je 0x140006b7d
call fcn.1400105b8
mov rdi, rax
jmp 0x140006b7f
xor edi, edi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], rbx
mov r8, rsi
mov rdx, r15
mov rcx, rdi
call fcn.140012440
mov byte [rdi + rsi], 0x5c
mov byte [rdi + r14], 0
lea rdx, [rbp - 0x31]
cmp qword [rbp - 0x19], 0x10
cmovae rdx, qword [rbp - 0x31]
mov r8, qword [rbp - 0x21]
lea rcx, [rsp + 0x20]
call fcn.140009890
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, qword [0x140053028]
cmp rdx, 0x10
jb 0x140006c1c
mov rcx, qword [0x140053010]
inc rdx
cmp rdx, 0x1000
jb 0x140006c17
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140006df5
mov rcx, r8
call fcn.1400105b0
movups xmmword [0x140053010], xmm6
movups xmmword [0x140053020], xmm7
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x140006c68
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006c62
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140006def
call fcn.1400105b0
nop
mov rdx, qword [rbp - 0x19]
cmp rdx, 0x10
jb 0x140006ca4
inc rdx
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006c9e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140006dfb
call fcn.1400105b0
nop
mov rdx, qword [rbp - 0x59]
cmp rdx, 0x10
jb 0x140006cdf
inc rdx
mov rcx, qword [rbp - 0x71]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006cda
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140006e01
call fcn.1400105b0
mov qword [rbp - 0x61], 0
mov qword [rbp - 0x59], 0xf
mov byte [rbp - 0x71], 0
mov rdx, qword [rbp - 0x39]
cmp rdx, 0x10
jb 0x140006d2e
inc rdx
mov rcx, qword [rbp - 0x51]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140006d29
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140006e07
call fcn.1400105b0
movdqa xmm0, xmmword [0x140049190]
movdqu xmmword [rbp - 0x41], xmm0
mov byte [rbp - 0x51], 0
mov rax, qword [rbp + 7]
cmp rax, 0x10
jb 0x140006d76
lea rdx, [rax + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x140006d6e
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140006dad
mov rcx, r13
call fcn.1400105b0
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.140010590
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14001c610
nop
call fcn.140001530
nop
call fcn.1400013c0
nop
call fcn.140001530
int3
call fcn.1400013c0
nop
call fcn.140001530
int3
call fcn.1400013c0
nop
call fcn.14001c610
nop
call fcn.14001c610
int3
call fcn.140001530
int3
call fcn.1400013c0
int3
call fcn.14001c610
nop
call fcn.14001c610
nop
call fcn.14001c610
nop
call fcn.14001c610
nop
call fcn.14001c610
int3