Function at 0x406ce0
Capabilities:
Copy file
Delete file
Read file on windows
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x45d691
mov eax, dword fs:[0]
push eax
mov eax, 0x2088
call fcn.00436270
mov eax, dword [0x47b5b0]
xor eax, esp
mov dword [esp + 0x2084], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x47b5b0]
xor eax, esp
push eax
lea eax, [esp + 0x209c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x20ac]
mov esi, dword [esp + 0x20b0]
xor ebx, ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], esi
cmp eax, ebx
je 0x406d9e
cmp ecx, ebx
je 0x406d9e
cmp edx, ebx
je 0x406d9e
push 0x20
push 0x46df34
push eax
call fcn.0044830f
mov edi, eax
add esp, 0xc
xor eax, eax
mov dword [esp + 0x20], edi
cmp edi, ebx
je 0x406da0
push 0x206
lea ecx, [esp + 0x96]
push ebx
push ecx
mov word [esp + 0x9c], ax
call fcn.00434200
add esp, 0xc
lea esi, [esp + 0x90]
call fcn.0040cd10
test eax, eax
jne 0x406dc8
push edi
call fcn.00435147
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x209c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2084]
xor ecx, esp
call fcn.00431fec
add esp, 0x2094
ret
push 0x40
lea edx, [esp + 0x94]
push 0x46df3c
push edx
call fcn.0044830f
mov ebp, eax
add esp, 0xc
mov dword [esp + 0x1c], ebp
cmp ebp, ebx
je 0x406d95
mov esi, edi
call fcn.00407ce0
mov esi, eax
xor eax, eax
mov word [esp + 0x15], ax
mov byte [esp + 0x17], al
lea eax, [esi - 1]
mov dword [esp + 0x28], esi
mov byte [esp + 0x14], bl
cmp eax, 4
ja case.default.0x406e11
jmp dword [eax*4 + 0x4074b8]
mov byte [esp + 0x14], 0xef
mov byte [esp + 0x15], 0xbb
mov byte [esp + 0x16], 0xbf
mov esi, 3
jmp 0x406e76
mov byte [esp + 0x14], 0xfe
mov byte [esp + 0x15], 0xff
mov esi, 2
jmp 0x406e76
mov esi, 2
jmp 0x406e6c
mov byte [esp + 0x14], bl
mov byte [esp + 0x15], bl
mov byte [esp + 0x16], 0xfe
mov byte [esp + 0x17], 0xff
mov esi, 4
jmp 0x406e76
mov byte [esp + 0x16], bl
mov byte [esp + 0x17], bl
mov esi, 4
mov byte [esp + 0x15], 0xfe
mov byte [esp + 0x14], 0xff
push ebp
push esi
lea eax, [esp + 0x1c]
push 1
push eax
call fcn.004355e2
add esp, 0x10
cmp esi, eax
je 0x406ead
push edi
call fcn.00435147
push ebp
call fcn.00435147
add esp, 8
lea ecx, [esp + 0x90]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x406d9e
mov esi, dword [esp + 0x28]
push 0x7fe
lea eax, [esp + 0x49e]
xor edx, edx
push ebx
push eax
mov word [esp + 0x4a4], dx
call fcn.00434200
push 0x7fe
lea edx, [esp + 0x10aa]
xor ecx, ecx
push ebx
push edx
mov word [esp + 0x10b0], cx
call fcn.00434200
mov eax, 7
xor ecx, ecx
mov byte [esp + 0x32], bl
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ebx
mov word [esp + 0x74], cx
mov dword [esp + 0x20bc], ebx
xor edx, edx
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], ebx
mov word [esp + 0x90], dx
push 0x1ff
lea eax, [esp + 0x2b5]
push ebx
mov byte [esp + 0x20c4], 1
push eax
mov byte [esp + 0x3f], bl
mov byte [esp + 0x2bc], bl
call fcn.00434200
push 0x7fe
lea edx, [esp + 0x18c2]
xor ecx, ecx
push ebx
push edx
mov word [esp + 0x18c8], cx
call fcn.00434200
push 0x3ff
lea eax, [esp + 0xccd]
push ebx
push eax
mov byte [esp + 0xcd4], bl
call fcn.00434200
lea ecx, [esp + 0x4d4]
push ecx
push edi
lea edi, [esp + 0x5e]
call fcn.00407e00
mov ebp, eax
add esp, 0x44
cmp ebp, ebx
jle 0x4072aa
jmp 0x406fac
mov esi, dword [esp + 0x28]
xor ebx, ebx
cmp byte [esp + 0x1a], bl
jne 0x407017
lea eax, [esp + 0x498]
cmp esi, ebx
jne 0x406fe2
push 0x400
lea edx, [esp + 0x109c]
push edx
push ebp
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea ecx, [esp + 0x58]
push ecx
lea eax, [esp + 0x109c]
jmp 0x407023
cmp esi, 1
jne 0x407010
push 0x400
lea edx, [esp + 0x109c]
push edx
push ebp
push eax
push ebx
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea ecx, [esp + 0x58]
push ecx
lea eax, [esp + 0x109c]
jmp 0x407023
lea edx, [esp + 0x58]
push edx
jmp 0x407023
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x49c]
call fcn.0040cf50
push 0x800
lea ecx, [esp + 0x109c]
push ebx
push ecx
call fcn.00434200
add esp, 0xc
push 0x46dfe8
mov ebx, 2
lea edi, [esp + 0x5c]
call fcn.0040d140
cmp eax, 0xffffffff
je 0x40707d
lea ebx, [eax + 1]
or eax, 0xffffffff
mov esi, edi
call fcn.004041f0
push 2
push 0x46dfe8
mov eax, edi
call fcn.0040d0b0
cmp eax, 0xffffffff
je 0x40707d
xor ebx, ebx
call fcn.004041f0
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x5c]
mov eax, ebx
cmp esi, 8
jae 0x407090
lea eax, [esp + 0x5c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x407093
sub eax, edx
sar eax, 1
mov edi, eax
jne 0x4070ba
push 0x800
push 0
lea edx, [esp + 0x4a0]
push edx
jmp 0x407270
cmp byte [esp + 0x1b], 0
jne 0x40718b
mov eax, dword [esp + 0x1c]
push eax
push ebp
lea ecx, [esp + 0x4a0]
push 1
push ecx
call fcn.004355e2
add esp, 0x10
cmp ebp, eax
jne 0x407315
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x5c]
mov ecx, eax
cmp edx, 8
jae 0x4070f8
lea ecx, [esp + 0x5c]
cmp word [ecx], 0x5b
jne 0x407261
cmp edx, 8
jae 0x40710b
lea eax, [esp + 0x5c]
cmp word [eax + edi*2 - 2], 0x5d
jne 0x407261
push 1
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x60]
mov dword [esp + 0x2c], 0x5b
call fcn.0040d0b0
cmp eax, 0xffffffff
je 0x40713f
xor ebx, ebx
lea esi, [esp + 0x58]
call fcn.004041f0
lea eax, [esp + 0x24]
push eax
mov ebx, 1
lea edi, [esp + 0x5c]
mov dword [esp + 0x28], 0x5d
call fcn.0040d140
cmp eax, 0xffffffff
je 0x40716c
lea ebx, [eax + 1]
or eax, 0xffffffff
mov esi, edi
call fcn.004041f0
mov esi, dword [esp + 0x34]
lea ecx, [esp + 0x58]
call fcn.0040cfb0
test eax, eax
jne 0x407261
mov byte [esp + 0x1b], 1
jmp 0x407261
mov eax, ebx
cmp esi, 8
jae 0x407196
lea eax, [esp + 0x5c]
cmp word [eax], 0x5b
jne 0x4071b3
mov eax, ebx
cmp esi, 8
jae 0x4071a7
lea eax, [esp + 0x5c]
cmp word [eax + edi*2 - 2], 0x5d
je 0x4072d8
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x5c]
mov dword [esp + 0x28], 0x3d
call fcn.0040cfe0
test eax, eax
jge 0x4071fe
mov eax, dword [esp + 0x1c]
push eax
push ebp
lea ecx, [esp + 0x4a0]
push 1
push ecx
call fcn.004355e2
add esp, 0x10
cmp ebp, eax
jne 0x407315
push 0x800
push 0
lea edx, [esp + 0x4a0]
push edx
jmp 0x407270
lea ecx, [esp + 0x58]
push ecx
mov edx, eax
lea esi, [esp + 0x40]
call fcn.0040cf80
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x20ac], 2
call fcn.00404140
mov byte [esp + 0x20a4], 1
call fcn.004010b0
mov esi, dword [esp + 0x2c]
lea ecx, [esp + 0x74]
call fcn.0040cfb0
test eax, eax
je 0x40729b
mov edx, dword [esp + 0x1c]
push edx
push ebp
lea eax, [esp + 0x4a0]
push 1
push eax
call fcn.004355e2
add esp, 0x10
cmp ebp, eax
jne 0x407315
push 0x800
push 0
lea ecx, [esp + 0x4a0]
push ecx
call fcn.00434200
mov eax, dword [esp + 0x2c]
add esp, 0xc
lea edx, [esp + 0x498]
push edx
push eax
lea edi, [esp + 0x22]
call fcn.00407e00
mov ebp, eax
add esp, 8
test ebp, ebp
jg 0x406fa6
cmp byte [esp + 0x1b], 0
jne 0x407351
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
push edx
push eax
push ecx
lea edx, [esp + 0x18a4]
push str.__s__r_n_s_s_r_n
push edx
mov edx, 0x7ff
call fcn.004054f0
add esp, 0x14
jmp 0x407379
mov ecx, dword [esp + 0x1c]
push ecx
push ebp
lea edx, [esp + 0x4a0]
push 1
push edx
call fcn.004355e2
add esp, 0x10
cmp ebp, eax
jne 0x407315
mov eax, dword [esp + 0x1c]
push 1
neg ebp
push ebp
push eax
call fcn.00435937
mov ecx, dword [esp + 0x2c]
push 1
push ebp
push ecx
call fcn.00435937
add esp, 0x18
jmp 0x40729b
mov edx, dword [esp + 0x1c]
push edx
call fcn.00435147
mov eax, dword [esp + 0x24]
push eax
call fcn.00435147
add esp, 8
lea ecx, [esp + 0x90]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea esi, [esp + 0x74]
call fcn.004010b0
lea esi, [esp + 0x58]
call fcn.004010b0
jmp 0x406d9e
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
push eax
push ecx
lea edx, [esp + 0x18a0]
push str._s_s_r_n
push edx
mov edx, 0x7ff
call fcn.004054f0
mov esi, dword [esp + 0x38]
add esp, 0x10
mov eax, esi
lea ebx, [esp + 0xc98]
lea edi, [esp + 0x1898]
call fcn.00407790
mov esi, eax
test esi, esi
jne 0x4073b8
mov eax, dword [esp + 0x1c]
push eax
call fcn.00435147
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00435147
add esp, 8
lea edx, [esp + 0x90]
push edx
jmp 0x407334
mov ebx, dword [esp + 0x1c]
push ebx
push esi
lea eax, [esp + 0xca0]
push 1
push eax
call fcn.004355e2
add esp, 0x10
cmp esi, eax
je 0x4073f4
push ebx
call fcn.00435147
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00435147
add esp, 8
lea edx, [esp + 0x90]
push edx
jmp 0x407334
mov edi, dword [esp + 0x20]
push edi
push 0x1ff
lea eax, [esp + 0x2a0]
push 1
push eax
call fcn.00435463
mov esi, eax
add esp, 0x10
test esi, esi
jbe 0x40744c
push ebx
push esi
lea ecx, [esp + 0x2a0]
push 1
push ecx
call fcn.004355e2
add esp, 0x10
push edi
cmp esi, eax
jne 0x40749d
push 0x1ff
lea edx, [esp + 0x2a0]
push 1
push edx
call fcn.00435463
mov esi, eax
add esp, 0x10
test esi, esi
ja 0x407416
push edi
call fcn.00435147
push ebx
call fcn.00435147
mov ecx, dword [esp + 0x40]
add esp, 8
push 0
push ecx
lea edx, [esp + 0x98]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
lea eax, [esp + 0x90]
push eax
setne bl
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea esi, [esp + 0x74]
call fcn.004010b0
lea esi, [esp + 0x58]
call fcn.004010b0
movzx eax, bl
jmp 0x406da0
call fcn.00435147
push ebx
call fcn.00435147
add esp, 8
lea eax, [esp + 0x90]
push eax
jmp 0x407334