Function at 0x40bf6e
Capabilities:
Copy file
Create directory
Delete file
Set file attributes

Disassembly:
push 0x14
mov eax, 0x41e279
call fcn.0041dfb6
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], ecx
mov esi, str.TMP_
xor ebx, ebx
push 2
pop edi
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, edi
cmp ax, bx
jne 0x40bf8d
sub esi, ecx
mov ecx, dword [ebp + 8]
sar esi, 1
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, edi
cmp ax, bx
jne 0x40bfa1
sub ecx, edx
sar ecx, 1
add ecx, 0x11
add esi, ecx
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x1c], esi
mul edi
push 0x402aa0
seto cl
neg ecx
or ecx, eax
push ecx
mov dword [ebp - 0x20], ecx
call fcn.0041d3c6
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x40bfef
push dword [ebp - 0x20]
push 0
push ebx
call sub.msvcrt.dll_memset
add esp, 0xc
xor eax, eax
mov word [ebx], ax
jmp 0x40bff1
xor ebx, ebx
xor ecx, ecx
mov eax, esi
mul edi
push 0x402aa0
seto cl
neg ecx
or ecx, eax
push ecx
mov dword [ebp - 0x20], ecx
call fcn.0041d3c6
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x40c029
push dword [ebp - 0x20]
push 0
push edi
call sub.msvcrt.dll_memset
add esp, 0xc
xor eax, eax
mov word [edi], ax
jmp 0x40c02b
xor edi, edi
mov esi, dword [ebp - 0x18]
mov byte [ebp - 0xd], 0
test esi, esi
je 0x40c1b7
cmp dword [ebp - 0x14], 0
je 0x40c1b7
cmp dword [ebp + 8], 0
je 0x40c1b7
test ebx, ebx
je 0x40c1b7
test edi, edi
je 0x40c1b7
mov ecx, dword [ebp + 8]
mov edx, ebx
push 1
push dword [ebp - 0x1c]
call fcn.0040be34
test al, al
je 0x40c18a
mov ecx, dword [ebp + 8]
mov edx, edi
push 0
push dword [ebp - 0x1c]
call fcn.0040be34
test al, al
je 0x40c18a
push 0
push str.TMP_
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0
push edi
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x40c0de
push edi
push esi
push 0x4030dc
push eax
mov esi, 0x402b04
push esi
call fcn.0040cff7
add esp, 0x14
test al, al
je 0x40c18a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push esi
push 4
call fcn.0040d0e5
add esp, 0x10
jmp 0x40c18a
push 0x20
push edi
mov dword [0x41f4b4], esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push 0x48
call fcn.0041ce77
pop ecx
mov dword [ebp - 0x20], eax
xor ecx, ecx
mov dword [ebp - 4], ecx
test eax, eax
je 0x40c11a
push ecx
push ecx
push ecx
push ebx
push edi
push esi
push dword [ebp - 0x14]
mov ecx, eax
call fcn.004107d1
mov esi, eax
xor ecx, ecx
mov dword [ebp - 0x1c], esi
jmp 0x40c11f
mov esi, ecx
mov dword [ebp - 0x1c], ecx
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x40c15e
mov ecx, esi
call fcn.00410973
test al, al
jne 0x40c13e
push dword [ebp - 0x14]
push 0x403118
push 0
jmp 0x40c167
mov edx, dword [ebp + 8]
mov ecx, edi
call fcn.0040bbd5
mov edx, dword [ebp + 0xc]
mov byte [ebp - 0xd], al
test edx, edx
je 0x40c173
mov ecx, edi
call fcn.0040bbd5
mov byte [ebp - 0xd], al
jmp 0x40c173
push dword [ebp - 0x14]
push 0x4031a8
push ecx
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.0040cff7
add esp, 0x10
test esi, esi
je 0x40c18a
mov eax, dword [esi]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x420210]
mov ecx, dword [ebp - 0x1c]
call esi
xor eax, eax
cmp word [edi], ax
je 0x40c19a
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
xor eax, eax
cmp word [ebx], ax
je 0x40c1a6
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push ebx
call sub.msvcrt.dll_free
push edi
call sub.msvcrt.dll_free
mov al, byte [ebp - 0xd]
jmp 0x40c1c5
push ebx
call sub.msvcrt.dll_free
push edi
call sub.msvcrt.dll_free
xor al, al
pop ecx
pop ecx
call fcn.0041df93
ret 8