Function at 0x4de850
Capabilities:
Link many functions at runtime

Disassembly:
push ebx
push esi
mov esi, ecx
push edi
xor ebx, ebx
push str.kernel32.dll
mov dword [esi], 0x5e263c
mov dword [esi + 4], ebx
mov byte [esi + 8], 1
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebx
mov dword [esi + 4], eax
je 0x4de87b
cmp eax, 0xffffffff
jne 0x4de87e
mov byte [esi + 8], bl
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
cmp eax, ebx
mov dword [esi], 0x5e263c
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x30], ebx
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x48], ebx
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x50], ebx
mov dword [esi + 0x54], ebx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], ebx
je 0x4de8e5
cmp eax, 0xffffffff
je 0x4de8e5
push str.CreateDirectoryW
push eax
call edi
mov ecx, eax
cmp ecx, ebx
jne 0x4de8e8
mov byte [esi + 8], bl
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 4]
xor eax, eax
cmp ecx, ebx
je 0x4de905
cmp ecx, 0xffffffff
je 0x4de905
push str.CreateFileW
push ecx
call edi
cmp eax, ebx
jne 0x4de908
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x10], eax
xor eax, eax
cmp ecx, ebx
je 0x4de925
cmp ecx, 0xffffffff
je 0x4de925
push str.CreateProcessW
push ecx
call edi
cmp eax, ebx
jne 0x4de928
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x14], eax
xor eax, eax
cmp ecx, ebx
je 0x4de945
cmp ecx, 0xffffffff
je 0x4de945
push 0x5e2600
push ecx
call edi
cmp eax, ebx
jne 0x4de948
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x18], eax
xor eax, eax
cmp ecx, ebx
je 0x4de965
cmp ecx, 0xffffffff
je 0x4de965
push str.GetModuleFileNameW
push ecx
call edi
cmp eax, ebx
jne 0x4de968
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x1c], eax
xor eax, eax
cmp ecx, ebx
je 0x4de981
cmp ecx, 0xffffffff
je 0x4de981
push str.GetUserDefaultUILanguage
push ecx
call edi
mov ecx, dword [esi + 4]
mov dword [esi + 0x20], eax
xor eax, eax
cmp ecx, ebx
je 0x4de99e
cmp ecx, 0xffffffff
je 0x4de99e
push str.MoveFileExA
push ecx
call edi
cmp eax, ebx
jne 0x4de9a1
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x24], eax
xor eax, eax
cmp ecx, ebx
je 0x4de9be
cmp ecx, 0xffffffff
je 0x4de9be
push str.MoveFileExW
push ecx
call edi
cmp eax, ebx
jne 0x4de9c1
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x28], eax
xor eax, eax
cmp ecx, ebx
je 0x4de9de
cmp ecx, 0xffffffff
je 0x4de9de
push str.RemoveDirectoryW
push ecx
call edi
cmp eax, ebx
jne 0x4de9e1
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x2c], eax
xor eax, eax
cmp ecx, ebx
je 0x4de9fe
cmp ecx, 0xffffffff
je 0x4de9fe
push str.GetSystemDirectoryW
push ecx
call edi
cmp eax, ebx
jne 0x4dea01
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x30], eax
xor eax, eax
cmp ecx, ebx
je 0x4dea1e
cmp ecx, 0xffffffff
je 0x4dea1e
push str.ExpandEnvironmentStringsW
push ecx
call edi
cmp eax, ebx
jne 0x4dea21
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x34], eax
xor eax, eax
cmp ecx, ebx
je 0x4dea3e
cmp ecx, 0xffffffff
je 0x4dea3e
push str.FindFirstFileW
push ecx
call edi
cmp eax, ebx
jne 0x4dea41
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x38], eax
xor eax, eax
cmp ecx, ebx
je 0x4dea5e
cmp ecx, 0xffffffff
je 0x4dea5e
push str.FindNextFileW
push ecx
call edi
cmp eax, ebx
jne 0x4dea61
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x3c], eax
xor eax, eax
cmp ecx, ebx
je 0x4dea7e
cmp ecx, 0xffffffff
je 0x4dea7e
push 0x5e2540
push ecx
call edi
cmp eax, ebx
jne 0x4dea81
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x40], eax
xor eax, eax
cmp ecx, ebx
je 0x4dea9e
cmp ecx, 0xffffffff
je 0x4dea9e
push str.SetFileAttributesW
push ecx
call edi
cmp eax, ebx
jne 0x4deaa1
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x44], eax
xor eax, eax
cmp ecx, ebx
je 0x4deabe
cmp ecx, 0xffffffff
je 0x4deabe
push str.GetFileAttributesExW
push ecx
call edi
cmp eax, ebx
jne 0x4deac1
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x48], eax
xor eax, eax
cmp ecx, ebx
je 0x4deade
cmp ecx, 0xffffffff
je 0x4deade
push str.GetCurrentDirectoryW
push ecx
call edi
cmp eax, ebx
jne 0x4deae1
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x4c], eax
xor eax, eax
cmp ecx, ebx
je 0x4deafe
cmp ecx, 0xffffffff
je 0x4deafe
push str.SetCurrentDirectoryW
push ecx
call edi
cmp eax, ebx
jne 0x4deb01
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x50], eax
xor eax, eax
cmp ecx, ebx
je 0x4deb1e
cmp ecx, 0xffffffff
je 0x4deb1e
push str.GetTempPathW
push ecx
call edi
cmp eax, ebx
jne 0x4deb21
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x54], eax
xor eax, eax
cmp ecx, ebx
je 0x4deb3e
cmp ecx, 0xffffffff
je 0x4deb3e
push str.GetTempFileNameW
push ecx
call edi
cmp eax, ebx
jne 0x4deb41
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x58], eax
xor eax, eax
cmp ecx, ebx
je 0x4deb5e
cmp ecx, 0xffffffff
je 0x4deb5e
push str.CopyFileW
push ecx
call edi
cmp eax, ebx
jne 0x4deb61
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x5c], eax
xor eax, eax
cmp ecx, ebx
je 0x4deb7e
cmp ecx, 0xffffffff
je 0x4deb7e
push str.GetFullPathNameW
push ecx
call edi
cmp eax, ebx
jne 0x4deb81
mov byte [esi + 8], bl
mov dword [esi + 0x60], eax
pop edi
mov eax, esi
pop esi
pop ebx
ret