Function at 0x401630
Capabilities:
Copy file
Create process on windows
Delete file
Get common file path
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43b443
mov eax, dword fs:[0]
push eax
sub esp, 0x37c
mov eax, dword [0x451550]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x446dac
call fcn.00413430
add esp, 4
test eax, eax
je 0x401698
push ecx
mov ecx, esp
mov dword [ebp - 0x304], esp
push 0x446dbc
call fcn.00404760
mov dword [ebp - 0x380], eax
call fcn.00413910
add esp, 4
push 0x320
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x268]
call fcn.00403c10
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x21c]
call fcn.00403c10
mov byte [ebp - 4], 1
lea eax, [ebp - 0x2d0]
push eax
call fcn.00413210
add esp, 4
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp - 0x298]
mov dword [ebp - 0x300], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x300]
push edx
push str.D:Program_Files_
lea eax, [ebp - 0x24c]
push eax
call fcn.004035f0
add esp, 0xc
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp - 0x274]
mov dword [ebp - 0x23c], ecx
mov byte [ebp - 4], 3
push 0x446dcc
mov edx, dword [ebp - 0x23c]
push edx
lea eax, [ebp - 0x2c8]
push eax
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x2c0], eax
mov ecx, dword [ebp - 0x2c0]
mov dword [ebp - 0x244], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x244]
push edx
lea ecx, [ebp - 0x21c]
call fcn.00403d90
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c8]
call fcn.00403db0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x24c]
call fcn.00403db0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2d0]
call fcn.00403db0
push ecx
mov ecx, esp
mov dword [ebp - 0x388], esp
lea eax, [ebp - 0x21c]
push eax
call fcn.00403a50
mov dword [ebp - 0x30c], eax
call fcn.00413b20
add esp, 4
mov byte [ebp - 0x114], 0
push 0x103
push 0
lea ecx, [ebp - 0x113]
push ecx
call fcn.00428830
add esp, 0xc
mov byte [ebp - 0x218], 0
push 0x103
push 0
lea edx, [ebp - 0x217]
push edx
call fcn.00428830
add esp, 0xc
mov dword [ebp - 0x254], 0x104
lea eax, [ebp - 0x114]
push eax
mov ecx, dword [ebp - 0x254]
push ecx
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push 0x104
lea edx, [ebp - 0x218]
push edx
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_GetLongPathNameA]
lea ecx, [ebp - 0x114]
push ecx
lea ecx, [ebp - 0x220]
call fcn.00404760
mov byte [ebp - 4], 5
push 0x5c
lea ecx, [ebp - 0x220]
call fcn.00402c30
push eax
push 0
lea edx, [ebp - 0x2e0]
push edx
lea ecx, [ebp - 0x220]
call fcn.00402c80
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x25c], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x25c]
push ecx
lea ecx, [ebp - 0x220]
call fcn.00403d90
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2e0]
call fcn.00403db0
push 0x5c
lea ecx, [ebp - 0x220]
call fcn.00402c30
push eax
push 0
lea edx, [ebp - 0x26c]
push edx
lea ecx, [ebp - 0x220]
call fcn.00402c80
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x2e8], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x2e8]
push ecx
lea ecx, [ebp - 0x220]
call fcn.00403d90
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x26c]
call fcn.00403db0
call fcn.00412e70
test eax, eax
je 0x4018f0
mov dword [ebp - 0x22c], 0x446de4
jmp 0x4018fa
mov dword [ebp - 0x22c], 0x446df8
mov edx, dword [ebp - 0x22c]
push edx
lea ecx, [ebp - 0x224]
call fcn.00404760
mov byte [ebp - 4], 8
push ecx
mov eax, esp
mov dword [ebp - 0x34c], esp
push 0x446e0c
lea ecx, [ebp - 0x21c]
push ecx
push eax
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x314], eax
call fcn.00401560
add esp, 4
push 0x446e18
lea edx, [ebp - 0x21c]
push edx
lea eax, [ebp - 0x2bc]
push eax
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x2f0]
mov dword [ebp - 0x2f8], ecx
mov byte [ebp - 4], 9
push 0
push 0
lea ecx, [ebp - 0x21c]
call fcn.00403210
push eax
mov ecx, dword [ebp - 0x2f8]
call fcn.00403210
push eax
call fcn.00412560
add esp, 0x10
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2bc]
call fcn.00403db0
push 0x446e24
lea edx, [ebp - 0x21c]
push edx
lea eax, [ebp - 0x2fc]
push eax
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x27c], eax
mov ecx, dword [ebp - 0x27c]
call fcn.00403210
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x2fc]
call fcn.00403db0
push ecx
mov ecx, esp
mov dword [ebp - 0x36c], esp
push 0
call fcn.00404760
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0x284]
mov dword [ebp - 0x31c], ecx
mov byte [ebp - 4], 0xa
push ecx
mov ecx, esp
mov dword [ebp - 0x354], esp
push 0x446e30
call fcn.00404760
mov dword [ebp - 0x2c4], eax
mov edx, dword [ebp - 0x2c4]
mov dword [ebp - 0x324], edx
mov byte [ebp - 4], 0xb
push ecx
mov eax, esp
mov dword [ebp - 0x37c], esp
push 0x446e38
lea ecx, [ebp - 0x21c]
push ecx
push eax
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 8
call fcn.004090d0
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x35c], esp
push 0
call fcn.00404760
mov dword [ebp - 0x28c], eax
mov edx, dword [ebp - 0x28c]
mov dword [ebp - 0x334], edx
mov byte [ebp - 4], 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x374], esp
push 0x446e48
call fcn.00404760
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x33c], eax
mov byte [ebp - 4], 0xd
push ecx
mov ecx, esp
mov dword [ebp - 0x364], esp
push 0x446e50
call fcn.00404760
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0x344], ecx
mov byte [ebp - 4], 0xe
push ecx
mov edx, esp
mov dword [ebp - 0x384], esp
push 0x446e58
lea eax, [ebp - 0x21c]
push eax
push edx
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x308], eax
mov byte [ebp - 4], 8
call fcn.004091f0
add esp, 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x310], esp
push 0
call fcn.00404760
mov dword [ebp - 0x2cc], eax
mov ecx, dword [ebp - 0x2cc]
mov dword [ebp - 0x318], ecx
mov byte [ebp - 4], 0xf
push ecx
mov edx, esp
mov dword [ebp - 0x320], esp
push edx
call fcn.00413030
add esp, 4
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x330], esp
push 0x446e68
lea edx, [ebp - 0x21c]
push edx
push ecx
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x338], eax
mov byte [ebp - 4], 8
call fcn.00409370
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x340], esp
push 0x446e78
call fcn.00404760
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x348], eax
mov byte [ebp - 4], 0x11
push ecx
mov ecx, esp
mov dword [ebp - 0x350], esp
push 0x446e84
lea edx, [ebp - 0x21c]
push edx
push ecx
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x358], eax
mov byte [ebp - 4], 8
call fcn.00404960
add esp, 8
call fcn.00401f00
lea eax, [ebp - 0x228]
push eax
call fcn.004026d0
add esp, 4
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x224]
push ecx
lea edx, [ebp - 0x228]
push edx
lea eax, [ebp - 0x2d4]
push eax
call fcn.00402e60
add esp, 0xc
mov dword [ebp - 0x2a4], eax
mov ecx, dword [ebp - 0x2a4]
call fcn.00403210
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x2d4]
call fcn.00403db0
lea ecx, [ebp - 0x224]
push ecx
lea edx, [ebp - 0x228]
push edx
lea eax, [ebp - 0x270]
push eax
call fcn.00402e60
add esp, 0xc
mov dword [ebp - 0x2ac], eax
mov ecx, dword [ebp - 0x2ac]
mov dword [ebp - 0x2ec], ecx
mov byte [ebp - 4], 0x13
lea edx, [ebp - 0x224]
push edx
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x2dc]
push ecx
call fcn.00402e60
add esp, 0xc
mov dword [ebp - 0x2b4], eax
push 0
mov ecx, dword [ebp - 0x2ec]
call fcn.00403210
push eax
mov ecx, dword [ebp - 0x2b4]
call fcn.00403210
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [ebp - 0x2dc]
call fcn.00403db0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x270]
call fcn.00403db0
lea edx, [ebp - 0x21c]
push edx
push 0x446ea8
lea eax, [ebp - 0x2b0]
push eax
call fcn.004035f0
add esp, 0xc
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0x278]
mov dword [ebp - 0x280], ecx
mov byte [ebp - 4], 0x14
push 0x446e98
mov edx, dword [ebp - 0x280]
push edx
lea eax, [ebp - 0x2a8]
push eax
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x288]
mov dword [ebp - 0x290], ecx
mov byte [ebp - 4], 0x15
push 0x446e94
mov edx, dword [ebp - 0x290]
push edx
lea eax, [ebp - 0x2a0]
push eax
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x234], eax
push 0
mov ecx, dword [ebp - 0x234]
call fcn.00403210
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
lea ecx, [ebp - 0x2a0]
call fcn.00403db0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x2a8]
call fcn.00403db0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x2b0]
call fcn.00403db0
push ecx
mov ecx, esp
mov dword [ebp - 0x360], esp
push 0x446eac
call fcn.00404760
mov dword [ebp - 0x2b8], eax
mov ecx, dword [ebp - 0x2b8]
mov dword [ebp - 0x368], ecx
mov byte [ebp - 4], 0x16
push ecx
mov ecx, esp
mov dword [ebp - 0x370], esp
push 0x446ed4
call fcn.00404760
mov dword [ebp - 0x378], eax
mov byte [ebp - 4], 0x12
call fcn.00404a20
add esp, 8
lea edx, [ebp - 0x228]
push edx
push 0x446f00
lea eax, [ebp - 0x260]
push eax
call fcn.004035f0
add esp, 0xc
mov dword [ebp - 0x238], eax
mov ecx, dword [ebp - 0x238]
mov dword [ebp - 0x240], ecx
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x224]
push edx
mov eax, dword [ebp - 0x240]
push eax
lea ecx, [ebp - 0x258]
push ecx
call fcn.00402e60
add esp, 0xc
mov dword [ebp - 0x248], eax
mov edx, dword [ebp - 0x248]
mov dword [ebp - 0x250], edx
mov byte [ebp - 4], 0x18
push 0x446efc
mov eax, dword [ebp - 0x250]
push eax
lea ecx, [ebp - 0x230]
push ecx
call fcn.004037b0
add esp, 0xc
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x258]
call fcn.00403db0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x260]
call fcn.00403db0
push 0
lea ecx, [ebp - 0x230]
call fcn.00403210
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
push 0
call fcn.00427424
lea ecx, [ebp - 0x230]
call fcn.00403db0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x228]
call fcn.00403db0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x224]
call fcn.00403db0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x220]
call fcn.00403db0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x21c]
call fcn.00403db0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x268]
call fcn.00403db0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00426ce7
mov esp, ebp
pop ebp
ret