Function at 0x40fc60
Capabilities:
Enumerate files on windows
Move file

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xec0
cmp word [0x434460], 0
mov dword [0x4386f0], 0
je 0x40fc8a
cmp word [0x430460], 0
jne 0x40fcb0
mov dword [esp], 0x3f2
call sym._WCMD_LoadMessage
mov dword [esp], eax
call dbg.WCMD_output_stderr
mov dword [0x4386f0], 1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [sym.imp.ucrtbase.dll_wcschr]
mov dword [esp + 4], 0x3a
mov dword [esp], 0x430460
mov dword [ebp - 0xea4], eax
call eax
test eax, eax
je 0x40fcf4
mov eax, dword fs:[0x18]
mov dword [eax + 0x34], 0x57
call dbg.WCMD_print_error
mov dword [0x4386f0], 1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x5c
mov eax, dword [ebp - 0xea4]
mov dword [esp], 0x430460
call eax
test eax, eax
jne 0x40fcd0
lea ebx, [ebp - 0xe8c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x104
mov dword [esp], 0x434460
call sym._WCMD_get_fullpath
test eax, eax
je 0x40fca8
test byte [0x425010], 8
jne 0x410146
mov dword [esp + 4], 0x2e
mov eax, dword [ebp - 0xea4]
mov dword [esp], 0x430460
call eax
mov dword [esp], ebx
mov edi, eax
lea eax, [ebp - 0x874]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xa7c]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0xc84]
mov dword [esp + 8], eax
lea eax, [ebp - 0xea0]
mov dword [esp + 4], eax
call dword [sym.imp.ucrtbase.dll__wsplitpath]
lea eax, [ebp - 0x25c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_FindFirstFileW]
sub esp, 8
mov dword [ebp - 0xeac], eax
cmp eax, 0xffffffff
je 0x40fca8
mov eax, edi
mov ebx, edi
lea edi, [ebp - 0x464]
sub eax, 0x430460
sar eax, 1
mov dword [ebp - 0xeb0], eax
test byte [0x425010], 8
jne 0x410021
lea eax, [ebp - 0x230]
mov dword [esp + 4], 0x2e
mov dword [esp], eax
mov eax, dword [ebp - 0xea4]
call eax
xor edx, edx
lea esi, [esi]
nop
movzx ecx, word [ebp + edx - 0xea0]
mov word [edi + edx], cx
add edx, 2
test cx, cx
jne 0x40fe00
cmp word [ebp - 0x464], 0
mov ecx, edi
je 0x40fe29
add ecx, 2
cmp word [ecx], 0
jne 0x40fe20
xor edx, edx
lea esi, [esi]
nop
movzx esi, word [ebp + edx - 0xc84]
mov word [ecx + edx], si
add edx, 2
test si, si
jne 0x40fe30
xor edx, edx
lea esi, [esi]
lea esi, [esi]
movzx ecx, word [edi + edx]
mov word [ebp + edx - 0x66c], cx
add edx, 2
test cx, cx
jne 0x40fe50
cmp word [ebp - 0x464], 0
je 0x410135
mov edx, edi
add edx, 2
cmp word [edx], 0
jne 0x40fe74
sub edx, edi
mov ecx, edi
sar edx, 1
mov dword [ebp - 0xea8], edx
lea esi, [esi]
add ecx, 2
cmp word [ecx], 0
jne 0x40fe90
xor edx, edx
lea esi, [esi]
nop
movzx esi, word [ebp + edx - 0x230]
mov word [ecx + edx], si
add edx, 2
test si, si
jne 0x40fea0
movzx esi, word [0x430460]
movzx edx, word [ebp - 0x66c]
lea ecx, [ebp - 0x66c]
cmp si, 0x2a
je 0x40ffd0
test dx, dx
je 0x40fee9
lea esi, [esi]
nop
add ecx, 2
cmp word [ecx], 0
jne 0x40fee0
xor edx, edx
jmp 0x40fef7
movzx esi, word [edx + 0x430460]
mov word [ecx + edx], si
add edx, 2
test si, si
jne 0x40fef0
test ebx, ebx
je 0x40ff60
mov edx, dword [ebp - 0xea8]
xor ecx, ecx
add edx, dword [ebp - 0xeb0]
mov word [ebp + edx*2 - 0x66c], cx
cmp word [ebx + 2], 0x2a
je 0x4100f0
cmp word [ebp - 0x66c], 0
lea edx, [ebp - 0x66c]
je 0x40ff49
lea esi, [esi]
nop
add edx, 2
cmp word [edx], 0
jne 0x40ff40
xor eax, eax
lea esi, [esi]
nop
movzx ecx, word [ebx + eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x40ff50
test byte [0x425010], 8
jne 0x410074
lea eax, [ebp - 0x66c]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_MoveFileW]
sub esp, 8
test eax, eax
je 0x410060
lea eax, [ebp - 0x25c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xeac]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FindNextFileW]
sub esp, 8
test eax, eax
jne 0x40fdd0
mov eax, dword [ebp - 0xeac]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_FindClose]
sub esp, 4
jmp 0x40fca8
test dx, dx
je 0x40ffde
add ecx, 2
cmp word [ecx], 0
jne 0x40ffd5
xor edx, edx
movzx esi, word [ebp + edx - 0x230]
mov word [ecx + edx], si
add edx, 2
test si, si
jne 0x40ffe0
test eax, eax
je 0x410014
lea esi, [ebp - 0x230]
mov edx, eax
sub edx, esi
xor esi, esi
sar edx, 1
add edx, dword [ebp - 0xea8]
mov word [ebp + edx*2 - 0x66c], si
test ebx, ebx
jne 0x40ff1d
jmp 0x40ff60
lea eax, [ebp - 0x230]
call sym._wine_dbgstr_wn.constprop.5
mov dword [esp + 0xc], str.Processing_file__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.WCMD_rename
mov dword [esp + 4], 0x425010
mov dword [esp], 3
call sym._wine_dbg_log.constprop.6
jmp 0x40fddd
call dbg.WCMD_print_error
mov dword [0x4386f0], 1
jmp 0x40ff8b
mov eax, edi
call sym._wine_dbgstr_wn.constprop.5
mov dword [esp + 0xc], str.Source__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.WCMD_rename
mov dword [esp + 4], 0x425010
mov dword [esp], 3
call sym._wine_dbg_log.constprop.6
test byte [0x425010], 8
je 0x40ff6d
lea eax, [ebp - 0x66c]
call sym._wine_dbgstr_wn.constprop.5
mov dword [esp + 0xc], str.Dest____s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.WCMD_rename
mov dword [esp + 4], 0x425010
mov dword [esp], 3
call sym._wine_dbg_log.constprop.6
jmp 0x40ff6d
test eax, eax
je 0x40ff60
cmp word [ebp - 0x66c], 0
lea ecx, [ebp - 0x66c]
je 0x410119
lea esi, [esi]
nop
add ecx, 2
cmp word [ecx], 0
jne 0x410110
xor edx, edx
lea esi, [esi]
nop
movzx esi, word [eax + edx]
mov word [ecx + edx], si
add edx, 2
test si, si
jne 0x410120
jmp 0x40ff60
mov dword [ebp - 0xea8], 0
mov ecx, edi
jmp 0x40fe99
mov eax, 0x430460
call sym._wine_dbgstr_wn.constprop.5
mov edi, eax
mov eax, 0x434460
call sym._wine_dbgstr_wn.constprop.5
mov esi, eax
mov eax, ebx
call sym._wine_dbgstr_wn.constprop.5
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.Rename_from__s__s__to__s_n
mov dword [esp + 8], str.WCMD_rename
mov dword [esp + 4], 0x425010
mov dword [esp], 3
call sym._wine_dbg_log.constprop.6
jmp 0x40fd4a