Function at 0x410b60
Capabilities:
Copy file
Delete file
Set current directory

Disassembly:
push 0xffffffffffffffff
push 0x45f020
mov eax, dword fs:[0]
push eax
mov eax, 0x1d34
call fcn.004479f0
mov eax, dword [0x47b660]
xor eax, esp
mov dword [esp + 0x1d30], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x47b660]
xor eax, esp
push eax
lea eax, [esp + 0x1d48]
mov dword fs:[0], eax
xor eax, eax
push 0x7fe
push eax
lea ecx, [esp + 0x54e]
mov dword [esp + 0x1d58], 5
push ecx
mov word [esp + 0x550], ax
call fcn.00446a60
mov edx, dword [esp + 0x1d64]
mov esi, dword [edx - 0xc]
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
sub eax, esi
add esp, 0xc
or eax, ecx
jge 0x410bf9
push esi
lea ecx, [esp + 0x1d5c]
call fcn.00402a70
mov edx, dword [esp + 0x1d58]
lea eax, [esi + 1]
push eax
push edx
call fcn.0044321c
add esp, 8
test esi, esi
jl 0x410ff4
mov eax, dword [esp + 0x1d58]
cmp esi, dword [eax - 8]
jg 0x410ff4
mov dword [eax - 0xc], esi
mov edx, dword [esp + 0x1d58]
xor ecx, ecx
mov word [edx + esi*2], cx
mov ecx, dword [esp + 0x1d58]
mov eax, dword [ecx - 0xc]
test eax, eax
jl 0x410c60
push str.1NPDPRO5
push ecx
call fcn.004437e1
add esp, 8
test eax, eax
je 0x410c60
sub eax, dword [esp + 0x1d58]
sar eax, 1
cmp eax, 0xffffffff
jne 0x410ec5
push 0x3ff
lea eax, [esp + 0x149]
push 0
push eax
mov byte [esp + 0x150], 0
call fcn.00446a60
mov ecx, dword [esp + 0x1d78]
add esp, 0xc
push ecx
push 0x468774
lea edx, [esp + 0x14c]
push 0x400
push edx
call fcn.0044354d
add esp, 0x10
lea eax, [esp + 0x144]
push eax
call dword [sym.imp.dbghelp.dll_MakeSureDirectoryPathExists]
mov ecx, dword [esp + 0x1d6c]
mov edx, dword [esp + 0x1d58]
push 0
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov eax, dword [esp + 0x1d6c]
push eax
push 0x46771c
lea ecx, [esp + 0x54c]
push 0x400
push ecx
call fcn.00442ff8
add esp, 0x10
lea edx, [esp + 0x544]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [esp + 0x544]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
xor ecx, ecx
push 0x7fe
push ecx
lea edx, [esp + 0xd4e]
push edx
mov word [esp + 0xd50], cx
call fcn.00446a60
add esp, 0xc
xor eax, eax
push 0x7fe
push eax
lea ecx, [esp + 0x154e]
push ecx
mov word [esp + 0x1550], ax
call fcn.00446a60
mov edx, dword [esp + 0x1d78]
add esp, 0xc
push edx
push 0x46771c
lea eax, [esp + 0xd4c]
push 0x400
push eax
call fcn.00442ff8
lea ecx, [esp + 0xd54]
push ecx
call fcn.0041fb00
mov edi, eax
add esp, 0x14
mov ebx, 0x10000
test edi, edi
jne 0x410d87
mov dword [0x47fb3c], ebx
jmp 0x410dac
cmp dword [edi], 1
je 0x410d98
mov dword [0x47fb3c], 0x80000
jmp 0x410dac
mov ecx, dword [edi + 4]
lea edx, [esp + 0x14]
push edx
push 0xffffffffffffffff
call fcn.0041f2e0
mov dword [0x47fb3c], eax
mov eax, dword [esp + 0x14]
xor esi, esi
mov ebp, eax
test eax, eax
jle 0x410e49
test edi, edi
jne 0x410dc8
mov dword [0x47fb3c], ebx
jmp 0x410dec
cmp dword [edi], 1
je 0x410dd9
mov dword [0x47fb3c], 0x80000
jmp 0x410dec
mov ecx, dword [edi + 4]
lea eax, [esp + 0x14]
push eax
push esi
call fcn.0041f2e0
mov dword [0x47fb3c], eax
lea ecx, [esp + 0x18]
push ecx
push 0x468760
lea edx, [esp + 0x154c]
push 0x400
push edx
call fcn.00442ff8
add esp, 0x10
test edi, edi
jne 0x410e17
mov dword [0x47fb3c], ebx
jmp 0x410e40
cmp dword [edi], 1
je 0x410e28
mov dword [0x47fb3c], 0x80000
jmp 0x410e40
mov eax, dword [edi + 4]
lea ecx, [esp + 0x1544]
push ecx
push eax
mov ecx, esi
call fcn.0041f7d0
mov dword [0x47fb3c], eax
inc esi
cmp esi, ebp
jl 0x410dbc
test edi, edi
je 0x410e6a
mov eax, dword [edi]
cmp eax, 1
sete cl
test cl, cl
je 0x410e81
cmp eax, 1
je 0x410e72
mov dword [0x47fb3c], 0x80000
jmp 0x410eb7
mov dword [0x47fb3c], ebx
jmp 0x410eb7
mov esi, dword [edi + 4]
call fcn.0041faa0
mov dword [0x47fb3c], eax
jmp 0x410ea5
cmp eax, 2
je 0x410e92
mov dword [0x47fb40], 0x80000
jmp 0x410eb7
mov esi, dword [edi + 4]
mov eax, esi
call fcn.00422e50
mov dword [0x47fb40], eax
test esi, esi
je 0x410eae
push esi
call fcn.00423fe4
add esp, 4
push edi
call fcn.00423fe4
add esp, 4
mov edx, dword [esp + 0x1d6c]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov byte [esp + 0x1d50], 4
mov eax, dword [esp + 0x1d58]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410ef0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1d50], 3
mov eax, dword [esp + 0x1d5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410f1b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1d50], 2
mov eax, dword [esp + 0x1d60]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410f46
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1d50], 1
mov eax, dword [esp + 0x1d64]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410f71
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x1d50], 0
mov eax, dword [esp + 0x1d68]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410f9c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x1d50], 0xffffffff
mov eax, dword [esp + 0x1d6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410fca
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x1d48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1d30]
xor ecx, esp
call fcn.00442896
add esp, 0x1d40
ret 0x18
push 0x80070057
call fcn.00401000
int3