Function at 0x40114f
Capabilities:
Set current directory

Disassembly:
jmp 0x43af70
push 0xffffffffffffffff
push 0x451f79
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa0
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov edi, 1
mov dword [esp + 0xb8], edi
call fcn.00401717
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx - 8]
mov dl, byte [eax + ecx - 1]
lea esi, [eax - 1]
cmp dl, 0x5c
je 0x43afc2
mov dl, byte [esi + ecx - 1]
dec esi
cmp dl, 0x5c
jne 0x43afb8
sub eax, esi
lea ecx, [esp + 0xc0]
dec eax
push eax
lea eax, [esp + 0x18]
push eax
call sub.MFC42.DLL_CString::Right
lea ecx, [esp + 0x18]
push esi
push ecx
lea ecx, [esp + 0xc8]
mov byte [esp + 0xc0], 2
call sub.MFC42.DLL_CString::Left
mov edx, dword [esp + 0x18]
mov byte [esp + 0xb8], 3
push edx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push str.run
lea ecx, [esp + 0x14]
call fcn.0044cea6
lea eax, [esp + 0x14]
lea ecx, [esp + 0x10]
push eax
mov byte [esp + 0xbc], 4
call sub.MFC42.DLL_CString::operator
xor ebx, ebx
mov dword [ebp + 0xb9cc], edi
mov dword [ebp + 0x5ec], ebx
mov dword [ebp + 0x5f4], ebx
call fcn.004017f8
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x40]
mov dword [esp + 0x24], ecx
mov ecx, 0x472c70
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], 0x3e8
mov dword [ebp + 0x5c0], ebx
mov dword [ebp + 0xb9d8], 4
call fcn.004012b2
push ebx
push 0x9600
mov ecx, ebp
call fcn.00402153
push 0x190
mov ecx, ebp
mov dword [ebp + 0x5c0], ebx
call fcn.00402185
mov edi, dword [esp + 0x10]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x46d184
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, ebp
mov dword [0x476064], ebx
call fcn.00401735
call fcn.004020a9
test al, al
je 0x43b0fe
mov edi, dword [0x467714]
lea eax, [esp + 0x1c]
inc edi
push eax
mov dword [0x467714], edi
call fcn.00401078
add esp, 4
mov ecx, ebp
mov byte [0x46d184], bl
call fcn.00401370
call fcn.004020a9
test al, al
jne 0x43b0ce
mov ecx, 0x472c70
call fcn.00401ab4
mov eax, dword [ebp + 0xb9d0]
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, 0x190
cmp eax, edi
jae 0x43b130
mov ecx, ebp
call fcn.00401370
push 0xa
call esi
cmp dword [ebp + 0xb9d0], edi
jb 0x43b11d
cmp dword [0x476064], ebx
je 0x43b205
push ebx
lea ecx, [esp + 0x54]
call fcn.00401820
lea ecx, [esp + 0x50]
mov byte [esp + 0xb8], 5
call sub.MFC42.DLL_CDialog::DoModal
cmp eax, 1
jne 0x43b189
push 0x1388
call esi
mov dword [ebp + 0xb9d8], ebx
lea ecx, [esp + 0x50]
mov dword [0x472c5c], 1
mov byte [esp + 0xb8], 4
call fcn.0044cf84
jmp 0x43b20b
mov ecx, ebp
call fcn.00401735
lea ecx, [esp + 0x50]
mov byte [esp + 0xb8], 4
call fcn.0044cf84
lea ecx, [esp + 0x10]
mov byte [esp + 0xb8], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0xb8], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0xb8], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc0]
mov byte [esp + 0xb8], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc4]
mov dword [esp + 0xb8], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor eax, eax
jmp 0x43b287
mov dword [0x472c5c], ebx
mov ecx, dword [esp + 0xc4]
mov dword [ebp + 0xb9cc], ebx
push ecx
mov dword [ebp + 0xb9d8], ebx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea ecx, [esp + 0x10]
mov byte [esp + 0xb8], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0xb8], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0xb8], 1
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc0]
mov byte [esp + 0xb8], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc4]
mov dword [esp + 0xb8], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 1
mov ecx, dword [esp + 0xb0]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xac
ret 8