Function at 0x1000fdff
Capabilities:
Create process on windows
Set current directory

Disassembly:
mov eax, 0x100b81ee
call fcn.100a0664
sub esp, 0x4c
push ebx
push esi
push edi
mov edi, ecx
lea ecx, [edi + 0x60]
mov eax, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x24], edi
mov dword [ebp - 4], ebx
cmp dword [eax - 0xc], ebx
je 0x1000fe56
push ebx
call fcn.10003413
push 0x34
push str.Alert
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
je 0x1000fe56
mov eax, 0xfffffe6f
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 8
lea eax, [ebp - 0x1c]
push ebx
push eax
call fcn.100449b3
pop ecx
pop ecx
push ebx
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.10003413
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov ecx, dword [ebp - 0x1c]
neg eax
sbb al, al
inc al
add ecx, 0xfffffff0
mov byte [ebp - 0x11], al
mov byte [ebp - 4], bl
call fcn.10001ccd
cmp byte [ebp - 0x11], bl
je 0x1000ff0c
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push 0x100c503c
call fcn.100057f4
push ecx
mov ecx, esp
mov dword [ebp - 0x24], esp
push str.Error
mov byte [ebp - 4], 2
call fcn.100057f4
push ecx
mov ecx, esp
mov dword [ebp - 0x20], esp
push str.ErrorMsg
mov byte [ebp - 4], 3
call fcn.100057f4
lea eax, [ebp + 8]
push eax
mov byte [ebp - 4], bl
call fcn.10044254
add esp, 0x10
push ebx
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.10003413
push ebx
lea ecx, [edi + 0x5c]
mov esi, eax
call fcn.10003413
push esi
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.10001ccd
push 0xfffffffffffffffb
pop eax
jmp 0x1000fe45
push dword [edi + 0x58]
call fcn.1009e314
pop ecx
mov ecx, dword [ebp + 8]
push 0xfde9
push 1
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0xbc]
push dword [ebp - 0x18]
call fcn.100a01ca
pop ecx
cmp eax, 0x1000
jbe 0x1000ff4a
mov ecx, dword [ebp - 0x18]
xor eax, eax
mov word [ecx + 0x2000], ax
add edi, 0x54
push ebx
mov ecx, edi
call fcn.10003413
mov esi, dword [sym.imp.SHELL32.dll_ShellExecuteW]
push 1
push ebx
push dword [ebp - 0x18]
push eax
push ebx
push ebx
call esi
cmp eax, 0x20
jge 0x1001003a
lea eax, [ebp - 0x20]
push ebx
push eax
call fcn.100449b3
pop ecx
pop ecx
push edi
push eax
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 4], 5
call fcn.10004f80
add esp, 0xc
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
mov byte [ebp - 4], 7
call fcn.10001ccd
push ebx
lea ecx, [ebp - 0x1c]
call fcn.10003413
push 1
push ebx
push dword [ebp - 0x18]
push eax
push ebx
push ebx
call esi
cmp eax, 0x20
jge 0x1001002c
push ebx
push ecx
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x100c503c
call fcn.100057f4
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
push str.Error
mov byte [ebp - 4], 8
call fcn.100057f4
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push str.ErrorMsg
mov byte [ebp - 4], 9
call fcn.100057f4
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 7
call fcn.10044254
add esp, 0x10
push ebx
mov ecx, eax
mov byte [ebp - 4], 0xa
call fcn.10003413
mov ecx, dword [ebp - 0x24]
push ebx
add ecx, 0x5c
mov esi, eax
call fcn.10003413
push esi
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
call fcn.10001ccd
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
mov byte [ebp - 4], bl
call fcn.10001ccd
mov ecx, dword [ebp + 8]
push dword [ebp - 0x18]
mov eax, dword [ecx]
call dword [eax + 0xa8]
xor eax, eax
jmp 0x1000fe45