Function at 0x100f652d
Capabilities:
Set current directory

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x238
mov eax, dword [0x1010e2b0]
xor eax, esp
mov dword [esp + 0x234], eax
push esi
push edi
test ecx, ecx
jne 0x100f6719
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
mov dword [esp + 0xc], esi
cmp ecx, 0xffffffff
je 0x100f65e9
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x100f65e3
cmp edi, 0xffffffff
jne 0x100f664a
lea ecx, [esp + 0xc]
call fcn.10045eb0
mov eax, 0x1010eac4
and dword [eax], 0
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
mov dword [esp + 0xc], esi
cmp ecx, 0xffffffff
je 0x100f6682
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x100f667c
cmp edi, 0xffffffff
jne 0x100f66e7
lea ecx, [esp + 0xc]
call fcn.10045eb0
mov eax, 0x1010eac0
mov dword [eax], 0x16
call sym.ucrtbase.dll__invalid_parameter_noinfo
or eax, 0xffffffff
jmp 0x100f6781
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x100f657e
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
pop ecx
mov edi, eax
mov dword [esp + 0xc], edi
pop ecx
mov ecx, dword [0x1010e2c0]
test edi, edi
jne 0x100f6628
xor edx, edx
call fcn.10032a89
lea ecx, [esp + 8]
call fcn.100332f5
jmp 0x100f657e
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x100f663b
mov ecx, dword [0x1010e2c0]
jmp 0x100f6613
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
pop ecx
test edi, edi
je 0x100f657e
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x100f6587
lea eax, [edi + 0x14]
jmp 0x100f658c
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x100f65c2
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
pop ecx
mov edi, eax
mov dword [esp + 0xc], edi
pop ecx
mov ecx, dword [0x1010e2c0]
test edi, edi
jne 0x100f66c5
xor edx, edx
call fcn.10032a89
lea ecx, [esp + 8]
call fcn.100332f5
jmp 0x100f65c2
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x100f66d8
mov ecx, dword [0x1010e2c0]
jmp 0x100f66b0
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
pop ecx
test edi, edi
je 0x100f65c2
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x100f65cb
lea eax, [edi + 0x10]
jmp 0x100f65d0
push ecx
call dword [sym.imp.api_ms_win_core_processenvironment_l1_1_0.dll_SetCurrentDirectoryW]
test eax, eax
jne 0x100f6736
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, eax
call fcn.1003779a
jmp 0x100f65db
and dword [esp + 0x20], 0
lea eax, [esp + 0x28]
mov ecx, 0x105
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], eax
mov byte [esp + 0x24], 0
call fcn.1005ff43
test eax, eax
je 0x100f676b
or esi, 0xffffffff
jmp 0x100f6776
mov ecx, dword [esp + 0x18]
call fcn.100f67eb
mov esi, eax
lea ecx, [esp + 0x10]
call fcn.1005f7cd
mov eax, esi
mov ecx, dword [esp + 0x23c]
pop edi
pop esi
xor ecx, esp
call fcn.1005cc20
mov esp, ebp
pop ebp
ret