Function at 0x140188f40
Capabilities:
Create directory
Set current directory

Disassembly:
push rbp
push rbx
push rsi
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x14099c0a0]
mov rbx, r8
test rax, rax
jne 0x140188f88
lea rcx, str.Kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.SetDefaultDllDirectories
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14099c0a0], rax
test rax, rax
je 0x140188f8f
mov ecx, 0x800
call rax
lea rcx, str.C:WindowsSystem32
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea rcx, str.ntdll.dll
mov dword [0x14099bb80], 0x11c
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.RtlGetVersion
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140188fd1
lea rcx, [0x14099bb80]
call rax
xor esi, esi
mov qword [rsp + 0x1a0], r13
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], esi
xor ecx, ecx
call fcn.1400a06f0
test eax, eax
je 0x140188ffa
cmp dword [rsp + 0x68], 1
jae 0x140189543
xor edx, edx
lea rcx, [rbp - 0x50]
mov r8d, 0xac
call fcn.1405e5c90
lea rcx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
mov eax, dword [rbp - 0x50]
add eax, 0xfffffed4
cmp eax, 0xb4
ja 0x140189543
mov qword [rbp - 0x60], rsi
xorps xmm0, xmm0
mov qword [rbp - 0x58], 7
movups xmmword [rbp - 0x70], xmm0
mov word [rbp - 0x70], si
test rbx, rbx
je 0x14018948b
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rbx + r8*2], si
jne 0x140189050
mov rdx, rbx
lea rcx, [rbp - 0x70]
call fcn.14000dbc0
cmp qword [rbp - 0x60], rsi
je 0x14018948b
cmp qword [rbp - 0x58], 8
lea rbx, [rbp - 0x70]
mov rax, qword [0x14099c0c0]
cmovae rbx, qword [rbp - 0x70]
mov dword [rsp + 0x40], esi
test rax, rax
jne 0x1401890d6
mov rax, qword [0x14099c0a8]
test rax, rax
jne 0x1401890b6
lea rcx, str.Shell32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x14099c0a8], rax
test rax, rax
jne 0x1401890b6
mov rax, rsi
lea rdx, str.CommandLineToArgvW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14099c0c0], rax
test rax, rax
je 0x14018948b
lea rdx, [rsp + 0x40]
mov rcx, rbx
call rax
mov r13, rax
test rax, rax
je 0x14018948b
cmp dword [rsp + 0x40], 1
je 0x14018948b
xorps xmm0, xmm0
mov qword [rsp + 0x190], rdi
movups xmmword [rsp + 0x48], xmm0
lea rdx, [rsp + 0x70]
mov ecx, 5
movups xmmword [rsp + 0x70], xmm0
mov byte [rsp + 0x48], sil
mov edi, esi
mov word [rsp + 0x70], si
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], 0xf
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], 7
call fcn.1400963f0
mov ebx, esi
cmp dword [rsp + 0x40], ebx
jle 0x140189339
mov qword [rsp + 0x168], r14
lea r14, [r13 + 8]
mov qword [rsp + 0x160], r15
mov r15, rsi
mov qword [rsp + 0x198], r12
nop dword [rax]
cmp qword [rbp - 0x78], 8
lea rdx, [rsp + 0x70]
mov rcx, qword [r13 + r15*8]
cmovae rdx, qword [rsp + 0x70]
call fcn.140090908
test eax, eax
jne 0x14018930c
lea r12d, [rbx + 1]
cmp r12d, dword [rsp + 0x40]
je 0x14018930c
mov rsi, qword [r14]
inc r15
test rsi, rsi
je 0x14018928b
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp word [rsi + rbx*2], 0
jne 0x1401891c0
test ebx, ebx
je 0x14018928b
xor eax, eax
mov r9d, ebx
mov qword [rsp + 0x38], rax
mov r8, rsi
mov qword [rsp + 0x30], rax
xor edx, edx
mov dword [rsp + 0x28], eax
mov ecx, 0xfde9
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x14018928b
lea edi, [rax + 1]
xor r8d, r8d
movsxd rdx, edi
lea rcx, [rsp + 0x48]
call fcn.140089600
cmp qword [rsp + 0x60], 0x10
lea rax, [rsp + 0x48]
mov r9d, ebx
mov r8, rsi
cmovae rax, qword [rsp + 0x48]
xor ecx, ecx
mov qword [rsp + 0x38], rcx
xor edx, edx
mov qword [rsp + 0x30], rcx
mov ecx, 0xfde9
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x14018928b
cmp qword [rsp + 0x60], 0x10
lea rcx, [rsp + 0x48]
mov rax, 0xffffffffffffffff
cmovae rcx, qword [rsp + 0x48]
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140189270
movsxd rdx, eax
lea rcx, [rsp + 0x48]
xor r8d, r8d
call fcn.140089600
jmp 0x140189300
mov r8, qword [rsp + 0x60]
lea r10, [rsp + 0x48]
mov r9, qword [rsp + 0x48]
lea rcx, [rsp + 0x48]
mov rbx, qword [rsp + 0x58]
lea rax, [rsp + 0x48]
cmp r8, 0x10
cmovae r10, r9
add r10, rbx
cmp r8, 0x10
cmovae rcx, r9
cmovae rax, r9
sub r10, rcx
mov rdx, rcx
sub rdx, rax
lea rcx, [rsp + 0x48]
mov rax, rbx
sub rax, rdx
cmp rax, r10
cmovb r10, rax
cmp r8, 0x10
cmovae rcx, r9
sub rbx, r10
add rcx, rdx
mov r8, rbx
sub r8, rdx
inc r8
lea rdx, [rcx + r10]
call fcn.1405e55e0
mov qword [rsp + 0x58], rbx
mov edi, 1
mov ebx, r12d
add r14, 8
inc ebx
inc r15
add r14, 8
cmp ebx, dword [rsp + 0x40]
jl 0x140189170
mov r15, qword [rsp + 0x160]
xor esi, esi
mov r14, qword [rsp + 0x168]
mov r12, qword [rsp + 0x198]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LocalFree]
test edi, edi
mov rdi, qword [rsp + 0x190]
je 0x1401893fc
cmp qword [rsp + 0x58], 0
je 0x140189364
lea rcx, [rsp + 0x48]
call fcn.140189570
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x1401893a5
mov rcx, qword [rsp + 0x70]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401893a0
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14018955e
call fcn.14005fc98
mov rdx, qword [rsp + 0x60]
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], si
cmp rdx, 0x10
jb 0x140189507
mov rcx, qword [rsp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401893f2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14018955e
call fcn.14005fc98
jmp 0x140189507
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x14018943d
mov rcx, qword [rsp + 0x70]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140189438
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14018955e
call fcn.14005fc98
mov rdx, qword [rsp + 0x60]
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], si
cmp rdx, 0x10
jb 0x14018948b
mov rcx, qword [rsp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140189486
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14018955e
call fcn.14005fc98
lea rbx, [0x140997dd8]
mov r8, rbx
call fcn.14003d040
mov rcx, rbx
test eax, eax
je 0x1401894b5
mov r8d, 5
lea rdx, str.Temp
call fcn.140061fa0
jmp 0x1401894e2
mov r8d, 0x13
lea rdx, str.C:ProgramDataTemp
call fcn.14000dbc0
cmp qword [0x140997df0], 8
cmovae rbx, qword [0x140997dd8]
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ecx, 3
call fcn.14057e890
call fcn.14002d4c0
lea rcx, [0x14099b6d0]
call fcn.14003a3c0
call fcn.1400760f0
call fcn.1400701d0
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x140189543
mov rcx, qword [rbp - 0x70]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14018953e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140189558
call fcn.14005fc98
mov r13, qword [rsp + 0x1a0]
xor eax, eax
add rsp, 0x170
pop rsi
pop rbx
pop rbp
ret
call fcn.140070b74
int3
call fcn.140070b74
int3