Function at 0x140188f00
Capabilities:
Create directory
Set current directory

Disassembly:
push rbp
push rbx
push rsi
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x1409b3b90]
mov rbx, r8
test rax, rax
jne 0x140188f48
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 [0x1409b3b90], rax
test rax, rax
je 0x140188f4f
mov ecx, 0x800
call rax
lea rcx, str.C:WindowsSystem32
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea rcx, str.ntdll.dll
mov dword [0x1409b3670], 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 0x140188f91
lea rcx, [0x1409b3670]
call rax
xor esi, esi
mov qword [rsp + 0x1a0], r13
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], esi
xor ecx, ecx
call fcn.1400a06b0
test eax, eax
je 0x140188fba
cmp dword [rsp + 0x68], 1
jae 0x140189503
xor edx, edx
lea rcx, [rbp - 0x50]
mov r8d, 0xac
call fcn.1405e6460
lea rcx, [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
mov eax, dword [rbp - 0x50]
add eax, 0xfffffed4
cmp eax, 0xb4
ja 0x140189503
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 0x14018944b
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rbx + r8*2], si
jne 0x140189010
mov rdx, rbx
lea rcx, [rbp - 0x70]
call fcn.14000dbc0
cmp qword [rbp - 0x60], rsi
je 0x14018944b
cmp qword [rbp - 0x58], 8
lea rbx, [rbp - 0x70]
mov rax, qword [0x1409b3bb0]
cmovae rbx, qword [rbp - 0x70]
mov dword [rsp + 0x40], esi
test rax, rax
jne 0x140189096
mov rax, qword [0x1409b3b98]
test rax, rax
jne 0x140189076
lea rcx, str.Shell32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x1409b3b98], rax
test rax, rax
jne 0x140189076
mov rax, rsi
lea rdx, str.CommandLineToArgvW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1409b3bb0], rax
test rax, rax
je 0x14018944b
lea rdx, [rsp + 0x40]
mov rcx, rbx
call rax
mov r13, rax
test rax, rax
je 0x14018944b
cmp dword [rsp + 0x40], 1
je 0x14018944b
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.1400963b0
mov ebx, esi
cmp dword [rsp + 0x40], ebx
jle 0x1401892f9
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.1400908c8
test eax, eax
jne 0x1401892cc
lea r12d, [rbx + 1]
cmp r12d, dword [rsp + 0x40]
je 0x1401892cc
mov rsi, qword [r14]
inc r15
test rsi, rsi
je 0x14018924b
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp word [rsi + rbx*2], 0
jne 0x140189180
test ebx, ebx
je 0x14018924b
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 0x14018924b
lea edi, [rax + 1]
xor r8d, r8d
movsxd rdx, edi
lea rcx, [rsp + 0x48]
call fcn.1400895c0
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 0x14018924b
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 0x140189230
movsxd rdx, eax
lea rcx, [rsp + 0x48]
xor r8d, r8d
call fcn.1400895c0
jmp 0x1401892c0
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.1405e5db0
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 0x140189130
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 0x1401893bc
cmp qword [rsp + 0x58], 0
je 0x140189324
lea rcx, [rsp + 0x48]
call fcn.140189530
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x140189365
mov rcx, qword [rsp + 0x70]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140189360
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14018951e
call fcn.14005fc58
mov rdx, qword [rsp + 0x60]
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], si
cmp rdx, 0x10
jb 0x1401894c7
mov rcx, qword [rsp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401893b2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14018951e
call fcn.14005fc58
jmp 0x1401894c7
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x1401893fd
mov rcx, qword [rsp + 0x70]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401893f8
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14018951e
call fcn.14005fc58
mov rdx, qword [rsp + 0x60]
mov qword [rbp - 0x80], rsi
mov qword [rbp - 0x78], 7
mov word [rsp + 0x70], si
cmp rdx, 0x10
jb 0x14018944b
mov rcx, qword [rsp + 0x48]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140189446
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14018951e
call fcn.14005fc58
lea rbx, [0x1409af8c8]
mov r8, rbx
call fcn.14003d020
mov rcx, rbx
test eax, eax
je 0x140189475
mov r8d, 5
lea rdx, str.Temp
call fcn.140061f60
jmp 0x1401894a2
mov r8d, 0x13
lea rdx, str.C:ProgramDataTemp
call fcn.14000dbc0
cmp qword [0x1409af8e0], 8
cmovae rbx, qword [0x1409af8c8]
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ecx, 3
call fcn.14057f060
call fcn.14002d4c0
lea rcx, [0x1409b31c0]
call fcn.14003a3c0
call fcn.1400760b0
call fcn.140070190
mov rdx, qword [rbp - 0x58]
cmp rdx, 8
jb 0x140189503
mov rcx, qword [rbp - 0x70]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401894fe
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140189518
call fcn.14005fc58
mov r13, qword [rsp + 0x1a0]
xor eax, eax
add rsp, 0x170
pop rsi
pop rbx
pop rbp
ret
call fcn.140070b34
int3
call fcn.140070b34
int3