Function at 0x42c680
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f8ee6
mov eax, dword fs:[0]
push eax
sub esp, 0xa4c
mov eax, dword [0x58f080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
lea ecx, [ebp - 0xa30]
call fcn.0046cdd0
mov dword [ebp - 4], 0
cmp dword [esi + 0x3a68], 0
jne 0x42c727
lea eax, [esi + 0x3860]
push eax
lea edi, [esi + 0x3248]
push edi
lea eax, [ebp - 0x218]
push 2
push eax
call fcn.00479620
lea eax, [esi + 0x44a4]
add esp, 0x10
cmp word [eax], 0
jne 0x42c70c
push edi
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x420]
jmp 0x42c72d
push eax
push edi
lea eax, [ebp - 0x420]
push 2
push eax
call fcn.00479620
add esp, 0x10
lea eax, [ebp - 0x420]
jmp 0x42c72d
lea eax, [esi + 0x3040]
mov ebx, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push eax
call ebx
cmp dword [esi + 0x3a68], 0
jne 0x42c77e
mov ecx, esi
call fcn.0042cfb0
test eax, eax
jne 0x42c929
mov ecx, esi
call fcn.0042d060
test eax, eax
jne 0x42c929
lea eax, [esi + 0x3860]
push eax
lea eax, [esi + 0x3248]
push eax
lea eax, [ebp - 0x218]
push 2
push eax
call fcn.00479620
add esp, 0x10
jmp 0x42c7df
lea eax, [esi + 0x3860]
push eax
lea edi, [esi + 0x3040]
push edi
lea eax, [ebp - 0x218]
push 2
push eax
call fcn.00479620
add esp, 0x10
lea eax, [ebp - 0x218]
lea ecx, [ebp - 0xa30]
push eax
call fcn.0046d030
test eax, eax
jne 0x42c7df
lea eax, [ebp - 0x628]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.004793a0
lea eax, [ebp - 0x628]
push eax
push edi
lea eax, [ebp - 0x218]
push 2
push eax
call fcn.00479620
add esp, 0x18
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00479490
add esp, 8
lea eax, [ebp - 0x420]
push eax
call ebx
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x820]
push eax
call fcn.0047a450
sub esp, 8
lea eax, [ebp - 0x820]
lea ecx, [ebp - 0xa54]
push eax
call fcn.0042d590
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0xa40]
test ecx, ecx
je 0x42c8cb
push 0
call ecx
add esp, 4
mov edi, eax
cmp dword [ebp - 0xa44], 0
mov dword [ebp - 0xa50], edi
je 0x42c89a
test edi, edi
je 0x42c89a
mov eax, dword [edi]
mov ecx, edi
push dword [esi]
call dword [eax]
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
call dword [eax + 4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0xa3c]
test eax, eax
je 0x42c87b
push edi
call eax
add esp, 4
push dword [ebp - 0xa44]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
lea eax, [esi + 0x3248]
push eax
call ebx
mov esi, 1
jmp 0x42c92b
push 0x30
push str._1000_0028_
call fcn.004667c0
add esp, 4
push eax
push str._1000_0032_
call fcn.004667c0
add esp, 4
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea eax, [esi + 0x3248]
push eax
call ebx
jmp 0x42c900
push 0x30
push str._1000_0028_
call fcn.004667c0
add esp, 4
push eax
push 0x550718
call fcn.004667c0
add esp, 4
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea eax, [esi + 0x3248]
push eax
call ebx
mov edi, dword [ebp - 0xa50]
mov byte [ebp - 4], 0
mov ebx, dword [ebp - 0xa44]
test ebx, ebx
je 0x42c929
mov eax, dword [ebp - 0xa3c]
test eax, eax
je 0x42c922
test edi, edi
je 0x42c922
push edi
call eax
add esp, 4
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor esi, esi
lea ecx, [ebp - 0xa30]
mov dword [ebp - 4], 0xffffffff
call fcn.0046ce10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0049493f
mov esp, ebp
pop ebp
ret