Function at 0x4df120
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], 0x5e26a4
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 0x4df14b
cmp eax, 0xffffffff
jne 0x4df14e
mov byte [esi + 8], bl
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
cmp eax, ebx
mov dword [esi], 0x5e26a4
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 0x4df1b5
cmp eax, 0xffffffff
je 0x4df1b5
push str.CreateDirectoryW
push eax
call edi
mov ecx, eax
cmp ecx, ebx
jne 0x4df1b8
mov byte [esi + 8], bl
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 4]
xor eax, eax
cmp ecx, ebx
je 0x4df1d5
cmp ecx, 0xffffffff
je 0x4df1d5
push str.CreateFileW
push ecx
call edi
cmp eax, ebx
jne 0x4df1d8
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x10], eax
xor eax, eax
cmp ecx, ebx
je 0x4df1f5
cmp ecx, 0xffffffff
je 0x4df1f5
push str.CreateProcessW
push ecx
call edi
cmp eax, ebx
jne 0x4df1f8
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x14], eax
xor eax, eax
cmp ecx, ebx
je 0x4df215
cmp ecx, 0xffffffff
je 0x4df215
push 0x5e2668
push ecx
call edi
cmp eax, ebx
jne 0x4df218
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x18], eax
xor eax, eax
cmp ecx, ebx
je 0x4df235
cmp ecx, 0xffffffff
je 0x4df235
push str.GetModuleFileNameW
push ecx
call edi
cmp eax, ebx
jne 0x4df238
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x1c], eax
xor eax, eax
cmp ecx, ebx
je 0x4df251
cmp ecx, 0xffffffff
je 0x4df251
push str.GetUserDefaultUILanguage
push ecx
call edi
mov ecx, dword [esi + 4]
mov dword [esi + 0x20], eax
xor eax, eax
cmp ecx, ebx
je 0x4df26e
cmp ecx, 0xffffffff
je 0x4df26e
push str.MoveFileExA
push ecx
call edi
cmp eax, ebx
jne 0x4df271
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x24], eax
xor eax, eax
cmp ecx, ebx
je 0x4df28e
cmp ecx, 0xffffffff
je 0x4df28e
push str.MoveFileExW
push ecx
call edi
cmp eax, ebx
jne 0x4df291
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x28], eax
xor eax, eax
cmp ecx, ebx
je 0x4df2ae
cmp ecx, 0xffffffff
je 0x4df2ae
push str.RemoveDirectoryW
push ecx
call edi
cmp eax, ebx
jne 0x4df2b1
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x2c], eax
xor eax, eax
cmp ecx, ebx
je 0x4df2ce
cmp ecx, 0xffffffff
je 0x4df2ce
push str.GetSystemDirectoryW
push ecx
call edi
cmp eax, ebx
jne 0x4df2d1
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x30], eax
xor eax, eax
cmp ecx, ebx
je 0x4df2ee
cmp ecx, 0xffffffff
je 0x4df2ee
push str.ExpandEnvironmentStringsW
push ecx
call edi
cmp eax, ebx
jne 0x4df2f1
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x34], eax
xor eax, eax
cmp ecx, ebx
je 0x4df30e
cmp ecx, 0xffffffff
je 0x4df30e
push str.FindFirstFileW
push ecx
call edi
cmp eax, ebx
jne 0x4df311
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x38], eax
xor eax, eax
cmp ecx, ebx
je 0x4df32e
cmp ecx, 0xffffffff
je 0x4df32e
push str.FindNextFileW
push ecx
call edi
cmp eax, ebx
jne 0x4df331
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x3c], eax
xor eax, eax
cmp ecx, ebx
je 0x4df34e
cmp ecx, 0xffffffff
je 0x4df34e
push 0x5e25a8
push ecx
call edi
cmp eax, ebx
jne 0x4df351
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x40], eax
xor eax, eax
cmp ecx, ebx
je 0x4df36e
cmp ecx, 0xffffffff
je 0x4df36e
push str.SetFileAttributesW
push ecx
call edi
cmp eax, ebx
jne 0x4df371
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x44], eax
xor eax, eax
cmp ecx, ebx
je 0x4df38e
cmp ecx, 0xffffffff
je 0x4df38e
push str.GetFileAttributesExW
push ecx
call edi
cmp eax, ebx
jne 0x4df391
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x48], eax
xor eax, eax
cmp ecx, ebx
je 0x4df3ae
cmp ecx, 0xffffffff
je 0x4df3ae
push str.GetCurrentDirectoryW
push ecx
call edi
cmp eax, ebx
jne 0x4df3b1
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x4c], eax
xor eax, eax
cmp ecx, ebx
je 0x4df3ce
cmp ecx, 0xffffffff
je 0x4df3ce
push str.SetCurrentDirectoryW
push ecx
call edi
cmp eax, ebx
jne 0x4df3d1
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x50], eax
xor eax, eax
cmp ecx, ebx
je 0x4df3ee
cmp ecx, 0xffffffff
je 0x4df3ee
push str.GetTempPathW
push ecx
call edi
cmp eax, ebx
jne 0x4df3f1
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x54], eax
xor eax, eax
cmp ecx, ebx
je 0x4df40e
cmp ecx, 0xffffffff
je 0x4df40e
push str.GetTempFileNameW
push ecx
call edi
cmp eax, ebx
jne 0x4df411
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x58], eax
xor eax, eax
cmp ecx, ebx
je 0x4df42e
cmp ecx, 0xffffffff
je 0x4df42e
push str.CopyFileW
push ecx
call edi
cmp eax, ebx
jne 0x4df431
mov byte [esi + 8], bl
mov ecx, dword [esi + 4]
mov dword [esi + 0x5c], eax
xor eax, eax
cmp ecx, ebx
je 0x4df44e
cmp ecx, 0xffffffff
je 0x4df44e
push str.GetFullPathNameW
push ecx
call edi
cmp eax, ebx
jne 0x4df451
mov byte [esi + 8], bl
mov dword [esi + 0x60], eax
pop edi
mov eax, esi
pop esi
pop ebx
ret