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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x268
mov eax, dword [0x104e070]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
xor esi, esi
push 0x24c
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x250]
push esi
push eax
mov dword [ebp - 0x268], ebx
mov dword [ebp - 0x254], esi
call sub.msvcrt.dll_memset
add esp, 0xc
mov edi, 0x208
push edi
push esi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov esi, dword [sym.imp.KERNEL32.dll_HeapAlloc]
push eax
call esi
mov dword [ebp - 0x258], eax
test eax, eax
jne 0x102fb3d
mov esi, 0x8007000e
push esi
push 0x52b
push 0x10087a8
push 0x100189c
push 1
call fcn.01014247
add esp, 0x14
jmp 0x102fd5f
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call esi
mov dword [ebp - 0x25c], eax
test eax, eax
jne 0x102fb63
mov esi, 0x8007000e
push esi
push 0x52c
jmp 0x102fd1a
push ebx
push 0x100811c
mov edi, 0x104
push edi
push dword [ebp - 0x258]
call fcn.0100dd8e
mov esi, eax
add esp, 0x10
test esi, esi
jge 0x102fb8e
push esi
push 0x52f
jmp 0x102fd1a
lea eax, [ebp - 0x254]
push eax
push dword [ebp - 0x258]
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x264], eax
test eax, eax
je 0x102fcfe
cmp eax, 0xffffffff
je 0x102fcfe
mov ebx, 0x1005adc
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x268]
push ebx
push edi
push dword [ebp - 0x258]
call fcn.0100dd8e
mov esi, eax
add esp, 0x14
test esi, esi
jl 0x102fcde
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x260]
push ebx
push edi
push dword [ebp - 0x25c]
call fcn.0100dd8e
mov esi, eax
add esp, 0x14
test esi, esi
jl 0x102fce6
test byte [ebp - 0x254], 0x10
je 0x102fc7f
lea eax, [ebp - 0x228]
push 0x1008118
push eax
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x102fcb5
lea eax, [ebp - 0x228]
push 0x1008110
push eax
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x102fcb5
push dword [ebp - 0x260]
call fcn.0102f513
mov esi, eax
test esi, esi
jl 0x102fcee
push dword [ebp - 0x258]
push dword [ebp - 0x25c]
call fcn.0102fab2
mov esi, eax
test esi, esi
jge 0x102fcb5
push esi
push 0x54f
jmp 0x102fd1a
push 0
push dword [ebp - 0x25c]
push dword [ebp - 0x258]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x102fc9b
xor esi, esi
jmp 0x102fcb5
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x102fcaf
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
test esi, esi
jl 0x102fcf6
lea eax, [ebp - 0x254]
push eax
push dword [ebp - 0x264]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x102fbbd
push dword [ebp - 0x264]
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x102fd2e
push esi
push 0x53b
jmp 0x102fd1a
push esi
push 0x543
jmp 0x102fd1a
push esi
push 0x54c
jmp 0x102fd1a
push esi
push 0x557
jmp 0x102fd1a
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x102fd12
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
push esi
push 0x532
push 0x10087a8
push 0x100189c
push 1
call fcn.01014247
add esp, 0x14
cmp dword [ebp - 0x25c], 0
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x102fd4e
push dword [ebp - 0x25c]
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call edi
push dword [ebp - 0x258]
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call edi
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.01036539
leave
ret 8