Function at 0x42b930
Capabilities:
Copy file
Delete file
Get common file path

Disassembly:
sub esp, 0x550
push esi
push 0x475428
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x42b965
push 0x475408
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x42b961
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x42b965
push 0
call eax
mov dl, byte [0x481910]
push ebx
push ebp
push edi
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x45d]
mov byte [esp + 0x45c], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x219]
mov byte [esp + 0x218], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x115]
mov byte [esp + 0x114], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x11]
mov byte [esp + 0x10], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x475454
push 0x475438
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x42b9fa
lea ecx, [esp + 0x45c]
push 0x104
push ecx
call eax
mov eax, dword [0x481a8c]
lea edx, [esp + 0x218]
push 0x104
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea ecx, [esp + 0x218]
push ecx
call edi
mov cl, byte [esp + eax + 0x217]
lea eax, [esp + eax + 0x217]
cmp cl, 0x5c
je 0x42ba3f
mov cl, byte [eax - 1]
dec eax
cmp cl, 0x5c
jne 0x42ba36
lea edx, [esp + 0x45c]
mov byte [eax + 1], 0
push edx
call edi
mov cl, byte [esp + eax + 0x45b]
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp cl, 0x5c
je 0x42ba6e
lea eax, [esp + 0x45c]
push 0x4695f4
push eax
call ebp
lea ecx, [esp + 0x218]
push ecx
call edi
cmp byte [esp + eax + 0x217], 0x5c
je 0x42ba91
lea edx, [esp + 0x218]
push 0x4695f4
push edx
call ebp
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [esp + 0x218]
lea ecx, [esp + 0x114]
push eax
push ecx
call esi
lea edx, [esp + 0x114]
push 0x4754d4
push edx
call ebp
lea eax, [esp + 0x45c]
lea ecx, [esp + 0x10]
push eax
push ecx
call esi
lea edx, [esp + 0x10]
push 0x4754d4
push edx
call ebp
mov ebx, dword [sym.imp.KERNEL32.dll_CopyFileA]
lea eax, [esp + 0x10]
push 0
lea ecx, [esp + 0x118]
push eax
push ecx
call ebx
lea edx, [esp + 0x218]
lea eax, [esp + 0x114]
push edx
push eax
call esi
lea ecx, [esp + 0x114]
push 0x46dda4
push ecx
call ebp
lea edx, [esp + 0x45c]
lea eax, [esp + 0x10]
push edx
push eax
call esi
lea ecx, [esp + 0x10]
push 0x46dda4
push ecx
call ebp
lea edx, [esp + 0x10]
push 0
lea eax, [esp + 0x118]
push edx
push eax
call ebx
lea ecx, [esp + 0x218]
lea edx, [esp + 0x114]
push ecx
push edx
call esi
lea eax, [esp + 0x114]
push 0x4754c8
push eax
call ebp
lea ecx, [esp + 0x45c]
lea edx, [esp + 0x10]
push ecx
push edx
call esi
lea eax, [esp + 0x10]
push 0x4754c8
push eax
call ebp
lea ecx, [esp + 0x10]
push 0
lea edx, [esp + 0x118]
push ecx
push edx
call ebx
lea eax, [esp + 0x218]
lea ecx, [esp + 0x114]
push eax
push ecx
call esi
push 0x4754bc
lea edx, [esp + 0x118]
push edx
call ebp
lea eax, [esp + 0x45c]
lea ecx, [esp + 0x10]
push eax
push ecx
call esi
lea edx, [esp + 0x10]
push 0x4754bc
push edx
call ebp
lea eax, [esp + 0x10]
push 0
lea ecx, [esp + 0x118]
push eax
push ecx
call ebx
lea edx, [esp + 0x218]
lea eax, [esp + 0x114]
push edx
push eax
call esi
lea ecx, [esp + 0x114]
push 0x4754ac
push ecx
call ebp
lea edx, [esp + 0x45c]
lea eax, [esp + 0x10]
push edx
push eax
call esi
lea ecx, [esp + 0x10]
push 0x4754ac
push ecx
call ebp
lea edx, [esp + 0x10]
push 0
lea eax, [esp + 0x118]
push edx
push eax
call ebx
lea ecx, [esp + 0x218]
lea edx, [esp + 0x114]
push ecx
push edx
call esi
lea eax, [esp + 0x114]
push 0x47549c
push eax
call ebp
lea ecx, [esp + 0x45c]
lea edx, [esp + 0x10]
push ecx
push edx
call esi
lea eax, [esp + 0x10]
push 0x47549c
push eax
call ebp
lea ecx, [esp + 0x10]
push 0
lea edx, [esp + 0x118]
push ecx
push edx
call ebx
lea eax, [esp + 0x218]
lea ecx, [esp + 0x114]
push eax
push ecx
call esi
lea edx, [esp + 0x114]
push 0x475490
push edx
call ebp
lea eax, [esp + 0x45c]
lea ecx, [esp + 0x10]
push eax
push ecx
call esi
push 0x475490
lea edx, [esp + 0x14]
push edx
call ebp
lea eax, [esp + 0x10]
push 0
lea ecx, [esp + 0x118]
push eax
push ecx
call ebx
lea edx, [esp + 0x218]
push 0x104
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [esp + 0x218]
push eax
call edi
cmp byte [esp + eax + 0x217], 0x5c
je 0x42bcf9
push 0x104
lea ecx, [esp + 0x21c]
push 0x4695f4
push ecx
call fcn.0042f1f0
add esp, 0xc
lea edx, [esp + 0x218]
lea eax, [esp + 0x114]
push edx
push eax
call esi
lea ecx, [esp + 0x114]
push 0x475480
push ecx
call ebp
lea edx, [esp + 0x218]
lea eax, [esp + 0x10]
push edx
push eax
call esi
lea ecx, [esp + 0x10]
push 0x475470
push ecx
call ebp
mov al, byte [esp + 0x114]
test al, al
je 0x42be47
lea edx, [esp + 0x31c]
lea eax, [esp + 0x114]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
test eax, eax
je 0x42be47
cmp eax, 0xffffffff
je 0x42be47
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov cl, byte [0x481910]
xor eax, eax
mov byte [esp + 0x31c], cl
mov ecx, 0x40
lea edi, [esp + 0x31d]
lea edx, [esp + 0x10]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x31c]
push edx
push eax
call esi
lea ecx, [esp + 0x31c]
push 0x4731c0
push ecx
call ebp
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edx, [esp + 0x31c]
push edx
call edi
lea eax, [esp + 0x10]
lea ecx, [esp + 0x31c]
push eax
push ecx
call esi
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edx, [esp + 0x31c]
push edx
call ebp
mov byte [esp + eax + 0x31b], 0x78
lea eax, [esp + 0x31c]
push eax
call edi
lea ecx, [esp + 0x10]
lea edx, [esp + 0x31c]
push ecx
push edx
call esi
lea eax, [esp + 0x31c]
push eax
call ebp
lea ecx, [esp + 0x31c]
mov byte [esp + eax + 0x31b], 0x7e
push ecx
call edi
lea edx, [esp + 0x10]
lea eax, [esp + 0x31c]
push edx
push eax
call esi
lea ecx, [esp + 0x31c]
push ecx
call ebp
lea edx, [esp + 0x31c]
mov byte [esp + eax + 0x31b], 0x5f
push edx
call edi
lea eax, [esp + 0x10]
push 0
lea ecx, [esp + 0x118]
push eax
push ecx
call ebx
push 0x475428
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
pop edi
pop ebp
pop ebx
test esi, esi
je 0x42be97
push 0x475408
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x42be93
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop esi
add esp, 0x550
ret
push 1
call eax
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop esi
add esp, 0x550
ret