Function at 0x402310
Capabilities:
Copy file
Create process on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x448d28
mov eax, dword fs:[0]
push eax
sub esp, 0x318
mov eax, dword [0x45dcf0]
xor eax, esp
mov dword [esp + 0x310], eax
push ebx
push esi
push edi
mov eax, dword [0x45dcf0]
xor eax, esp
push eax
lea eax, [esp + 0x328]
mov dword fs:[0], eax
lea ecx, [esp + 0x24c]
mov dword [esp + 0x24c], 0
call fcn.00403000
mov dword [esp + 0x330], 0
lea ecx, [esp + 0x1c4]
mov dword [esp + 0x1c4], 0
call fcn.00403150
lea eax, [esp + 0x24c]
mov byte [esp + 0x330], 1
push eax
lea ecx, [esp + 0xb8]
mov dword [esp + 0xb8], 0
call fcn.00409a57
push 0x4568a4
lea ecx, [esp + 0xb8]
mov byte [esp + 0x334], 2
call fcn.00409ca2
lea ecx, [esp + 0x1c]
call fcn.004022f0
push eax
lea ecx, [esp + 0xb8]
mov byte [esp + 0x334], 3
call fcn.00409c85
lea ecx, [esp + 0x1c]
mov byte [esp + 0x330], 2
call fcn.00409b93
push 0x4568a4
push 0x4568a8
lea ecx, [esp + 0xbc]
call fcn.0040a3ea
lea ecx, [esp + 0x1c4]
call fcn.0040a2a7
lea ecx, [esp + 0xb4]
call fcn.0040a2a7
lea ecx, [esp + 0xb4]
call fcn.0040a0d2
push eax
lea ecx, [esp + 0x1c8]
call fcn.00409e4d
test eax, eax
je 0x402657
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x140]
call fcn.00409a57
sub esp, 0x84
lea eax, [esp + 0x1c0]
mov ecx, esp
mov byte [esp + 0x3b4], 4
push eax
mov dword [esp + 0x9c], 0
lea esi, [esp + 0x9c]
call fcn.00409a57
mov ecx, esi
call fcn.00403320
mov esi, dword [esp + 0x98]
add esp, 0x84
push esi
call dword [sym.imp.imagehlp.dll_MakeSureDirectoryPathExists]
push esi
call fcn.00437a2d
add esp, 4
lea ecx, [esp + 0x13c]
mov byte [esp + 0x330], 2
call fcn.00409b93
push 0
lea ecx, [esp + 0xb8]
call fcn.0040a0d2
push eax
lea ecx, [esp + 0x1cc]
call fcn.0040a0d2
mov ebx, dword [sym.imp.KERNEL32.dll_CopyFileW]
push eax
call ebx
test eax, eax
jne 0x40261b
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ebx, [ebx]
push 0xffffffffffffffff
push str.taskkill__im
lea ecx, [esp + 0x144]
mov dword [esp + 0x144], 0
call fcn.00409a7c
lea ecx, [esp + 0x1c]
mov byte [esp + 0x330], 5
call fcn.004022f0
push eax
lea ecx, [esp + 0x140]
mov byte [esp + 0x334], 6
call fcn.00409c85
lea ecx, [esp + 0x1c]
mov byte [esp + 0x330], 5
call fcn.00409b93
lea eax, [esp + 0x13c]
push eax
lea ecx, [esp + 0x20]
call fcn.00409a57
push 0x44
lea eax, [esp + 0x2d8]
push 0
push eax
mov byte [esp + 0x33c], 7
call fcn.00438060
add esp, 0xc
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x2d8]
push eax
push 0
push 0
push 0x80
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x40]
call fcn.0040a0d2
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x4025c9
push dword [esp + 0xa8]
call esi
push dword [esp + 0xa4]
call esi
lea ecx, [esp + 0x1c]
mov byte [esp + 0x330], 5
call fcn.00409b93
push 0x12c
call edi
lea ecx, [esp + 0x13c]
mov byte [esp + 0x330], 2
call fcn.00409b93
push 0
lea ecx, [esp + 0xb8]
call fcn.0040a0d2
push eax
lea ecx, [esp + 0x1cc]
call fcn.0040a0d2
push eax
call ebx
test eax, eax
je 0x402500
lea ecx, [esp + 0xb4]
call fcn.0040a0d2
sub esp, 0x84
mov esi, eax
lea eax, [esp + 0x138]
mov ecx, esp
push eax
call fcn.00409a57
mov ecx, esi
call fcn.004035e0
add esp, 0x84
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov bl, 1
jmp 0x402659
xor bl, bl
lea ecx, [esp + 0xb4]
mov byte [esp + 0x330], 1
call fcn.00409b93
lea ecx, [esp + 0x1c4]
mov byte [esp + 0x330], 0
call fcn.00409b93
lea ecx, [esp + 0x24c]
mov dword [esp + 0x330], 0xffffffff
call fcn.00409b93
mov al, bl
mov ecx, dword [esp + 0x328]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x310]
xor ecx, esp
call fcn.00437a1e
mov esp, ebp
pop ebp
ret