Function at 0x480770
Capabilities:
Copy file
Create directory
Enumerate files on windows
Enumerate files recursively

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a274e
mov eax, dword fs:[0]
push eax
sub esp, 0x1c4
mov eax, dword [0x4e3ec8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x16c]
mov dword [ebp - 4], 1
call dword [sym.imp.mfc100.dll_Ordinal_300]
lea ecx, [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 2
call dword [sym.imp.mfc100.dll_Ordinal_300]
push 0x4c49c4
lea edx, [ebp - 0x16c]
push edx
lea eax, [ebp - 0x178]
push eax
mov byte [ebp - 4], 3
call fcn.004019e0
add esp, 0xc
lea ecx, [ebp - 0x170]
call dword [sym.imp.mfc100.dll_Ordinal_316]
lea ecx, [ebp - 0x160]
call dword [sym.imp.mfc100.dll_Ordinal_316]
lea ecx, [ebp - 0x150]
push ecx
lea ecx, [ebp - 0x178]
mov byte [ebp - 4], 6
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
mov dword [ebp - 0x1c8], edi
test edi, edi
jne 0x48087f
lea ecx, [ebp - 0x160]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x170]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x178]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x174]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x16c]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp + 8]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp + 0xc]
call dword [sym.imp.mfc100.dll_Ordinal_901]
xor al, al
jmp 0x480fec
mov ebx, dword [sym.imp.mfc100.dll_Ordinal_4283]
jmp 0x480890
test byte [ebp - 0x150], 0x10
je 0x4809eb
mov esi, dword [sym.imp.MSVCR100.dll__mbscmp]
lea edx, [ebp - 0x124]
push 0x4b4b84
push edx
call esi
add esp, 8
test eax, eax
je 0x480f7f
lea eax, [ebp - 0x124]
push 0x4c49c0
push eax
call esi
add esp, 8
test eax, eax
je 0x480f7f
push 0x4b0cd8
lea ecx, [ebp - 0x16c]
push ecx
lea edx, [ebp - 0x1c4]
push edx
call fcn.004019e0
lea ecx, [ebp - 0x124]
push ecx
push eax
lea edx, [ebp - 0x194]
push edx
mov byte [ebp - 4], 7
call fcn.004019e0
add esp, 0x18
push eax
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 8
call dword [sym.imp.mfc100.dll_Ordinal_1313]
lea ecx, [ebp - 0x194]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x1c4]
mov byte [ebp - 4], 6
call dword [sym.imp.mfc100.dll_Ordinal_901]
push 0x4b0cd8
lea eax, [ebp - 0x174]
push eax
lea ecx, [ebp - 0x18c]
push ecx
call fcn.004019e0
lea edx, [ebp - 0x124]
push edx
push eax
lea eax, [ebp - 0x1d0]
push eax
mov byte [ebp - 4], 9
call fcn.004019e0
add esp, 0x18
push eax
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0xa
call dword [sym.imp.mfc100.dll_Ordinal_1313]
lea ecx, [ebp - 0x1d0]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 6
call dword [sym.imp.mfc100.dll_Ordinal_901]
push 0
lea ecx, [ebp - 0x160]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push ecx
lea edx, [ebp - 0x160]
mov ecx, esp
mov dword [ebp - 0x164], esp
push edx
call dword [sym.imp.mfc100.dll_Ordinal_300]
push ecx
lea eax, [ebp - 0x170]
mov ecx, esp
mov dword [ebp - 0x154], esp
push eax
mov byte [ebp - 4], 0xb
call dword [sym.imp.mfc100.dll_Ordinal_300]
mov byte [ebp - 4], 6
call fcn.00480770
add esp, 8
jmp 0x480f7f
lea ecx, [ebp - 0x158]
call dword [sym.imp.mfc100.dll_Ordinal_316]
lea ecx, [ebp - 0x17c]
call dword [sym.imp.mfc100.dll_Ordinal_316]
push 0x4b0cd8
lea ecx, [ebp - 0x16c]
push ecx
lea edx, [ebp - 0x184]
push edx
mov byte [ebp - 4], 0xd
call fcn.004019e0
lea ecx, [ebp - 0x124]
push ecx
push eax
lea edx, [ebp - 0x1cc]
push edx
mov byte [ebp - 4], 0xe
call fcn.004019e0
add esp, 0x18
push eax
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0xf
call dword [sym.imp.mfc100.dll_Ordinal_1313]
lea ecx, [ebp - 0x1cc]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 0xd
call dword [sym.imp.mfc100.dll_Ordinal_901]
push 0x4b0cd8
lea eax, [ebp - 0x174]
push eax
lea ecx, [ebp - 0x19c]
push ecx
call fcn.004019e0
lea edx, [ebp - 0x124]
push edx
push eax
lea eax, [ebp - 0x1b4]
push eax
mov byte [ebp - 4], 0x10
call fcn.004019e0
add esp, 0x18
push eax
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 0x11
call dword [sym.imp.mfc100.dll_Ordinal_1313]
lea ecx, [ebp - 0x1b4]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 0xd
call dword [sym.imp.mfc100.dll_Ordinal_901]
push ecx
lea edx, [ebp - 0x158]
mov ecx, esp
mov dword [ebp - 0x164], esp
push edx
call dword [sym.imp.mfc100.dll_Ordinal_300]
call fcn.00476af0
fstp dword [ebp - 0x154]
fld dword [ebp - 0x154]
fnstcw word [ebp - 0x152]
movzx eax, word [ebp - 0x152]
or eax, 0xc00
mov dword [ebp - 0x164], eax
fldcw word [ebp - 0x164]
fistp qword [ebp - 0x168]
mov edi, dword [ebp - 0x168]
mov eax, edi
mov dword [ebp - 0x164], eax
fldcw word [ebp - 0x152]
fild dword [ebp - 0x164]
test eax, eax
jns 0x480b36
fadd dword [0x4c4cd4]
fmul qword [0x4bdd90]
push ecx
fstp dword [ebp - 0x154]
fld dword [ebp - 0x154]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_ceil]
fstp st(0)
add esp, 8
fld dword [ebp - 0x154]
call fcn.0048e880
mov esi, eax
cmp esi, 0x400
jg 0x480c59
test esi, esi
jle 0x480b79
mov esi, 1
push 0x4ae26b
lea ecx, [ebp - 0x180]
call dword [sym.imp.mfc100.dll_Ordinal_310]
push esi
lea ecx, [ebp - 0x180]
push 0x4b5008
push ecx
mov byte [ebp - 4], 0x12
call ebx
add esp, 0xc
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x164], esp
push 0x4af974
call dword [sym.imp.mfc100.dll_Ordinal_310]
lea edx, [ebp - 0x158]
push edx
lea eax, [ebp - 0x1ac]
push str.Size_of
push eax
mov byte [ebp - 4], 0x13
call fcn.00401a70
push str._file_is
push eax
lea ecx, [ebp - 0x1bc]
push ecx
mov byte [ebp - 4], 0x14
call fcn.004019e0
lea edx, [ebp - 0x180]
push edx
push eax
lea eax, [ebp - 0x1a4]
push eax
mov byte [ebp - 4], 0x15
call fcn.004018e0
add esp, 0x20
mov ecx, esp
mov dword [ebp - 0x154], esp
push 0x4c694c
push eax
push ecx
mov byte [ebp - 4], 0x16
call fcn.004019e0
add esp, 0xc
mov byte [ebp - 4], 0x19
call fcn.0047ed80
add esp, 0xc
lea ecx, [ebp - 0x1a4]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x1bc]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x1ac]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x180]
jmp 0x480eaf
shr edi, 0x14
mov dword [ebp - 0x164], edi
fild dword [ebp - 0x164]
test edi, edi
jns 0x480c72
fadd dword [0x4c4cd4]
fstp dword [ebp - 0x154]
sub esp, 8
fld dword [ebp - 0x154]
fstp qword [esp]
call dword [sym.imp.MSVCR100.dll_ceil]
fstp st(0)
add esp, 8
fld dword [ebp - 0x154]
call fcn.0048e880
push 0x4ae26b
lea ecx, [ebp - 0x15c]
mov esi, eax
call dword [sym.imp.mfc100.dll_Ordinal_310]
fld dword [0x4bddc4]
fld dword [ebp - 0x154]
mov byte [ebp - 4], 0x1a
fcom st(1)
lea edx, [ebp - 0x15c]
fnstsw ax
fstp st(1)
test ah, 5
jp 0x480d8d
push esi
fstp st(0)
push 0x4b5008
push edx
call ebx
add esp, 0xc
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x164], esp
push 0x4af974
call dword [sym.imp.mfc100.dll_Ordinal_310]
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x198]
push str.Size_of
push ecx
mov byte [ebp - 4], 0x1b
call fcn.00401a70
push str._file_is
push eax
lea edx, [ebp - 0x190]
push edx
mov byte [ebp - 4], 0x1c
call fcn.004019e0
lea ecx, [ebp - 0x15c]
push ecx
push eax
lea edx, [ebp - 0x188]
push edx
mov byte [ebp - 4], 0x1d
call fcn.004018e0
add esp, 0x20
mov ecx, esp
mov dword [ebp - 0x154], esp
push 0x4beb04
push eax
push ecx
mov byte [ebp - 4], 0x1e
call fcn.004019e0
add esp, 0xc
mov byte [ebp - 4], 0x21
call fcn.0047ed80
add esp, 0xc
lea ecx, [ebp - 0x188]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x190]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x198]
jmp 0x480ea3
fmul qword [0x4bdd90]
sub esp, 8
fstp dword [ebp - 0x154]
fld dword [ebp - 0x154]
fstp qword [esp]
push 0x4bdd88
push edx
call ebx
add esp, 0x10
push 0
push 0x4b4b84
lea ecx, [ebp - 0x15c]
call dword [sym.imp.mfc100.dll_Ordinal_4144]
add eax, 3
push eax
lea eax, [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0x15c]
call dword [sym.imp.mfc100.dll_Ordinal_7487]
push eax
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x22
call dword [sym.imp.mfc100.dll_Ordinal_1313]
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x1a
call dword [sym.imp.mfc100.dll_Ordinal_901]
push 0xffffffffffffffff
push ecx
mov ecx, esp
mov dword [ebp - 0x164], esp
push 0x4af974
call dword [sym.imp.mfc100.dll_Ordinal_310]
lea ecx, [ebp - 0x158]
push ecx
lea edx, [ebp - 0x1b8]
push str.Size_of
push edx
mov byte [ebp - 4], 0x23
call fcn.00401a70
push str._file_is
push eax
lea eax, [ebp - 0x1b0]
push eax
mov byte [ebp - 4], 0x24
call fcn.004019e0
lea ecx, [ebp - 0x15c]
push ecx
push eax
lea edx, [ebp - 0x1a8]
push edx
mov byte [ebp - 4], 0x25
call fcn.004018e0
add esp, 0x20
mov ecx, esp
mov dword [ebp - 0x154], esp
push 0x4beaf4
push eax
push ecx
mov byte [ebp - 4], 0x26
call fcn.004019e0
add esp, 0xc
mov byte [ebp - 4], 0x29
call fcn.0047ed80
add esp, 0xc
lea ecx, [ebp - 0x1a8]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x1b0]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x1b8]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0xd
call dword [sym.imp.mfc100.dll_Ordinal_901]
test esi, esi
jle 0x480f5d
push 1
lea ecx, [ebp - 0x17c]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
lea ecx, [ebp - 0x158]
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x480f5d
push 0xffffffffffffffff
push ecx
lea edx, [ebp - 0x158]
mov ecx, esp
mov dword [ebp - 0x164], esp
push edx
call dword [sym.imp.mfc100.dll_Ordinal_300]
push ecx
mov ecx, esp
mov dword [ebp - 0x154], esp
push str.CopyFilesInFolders_ERROR:
mov byte [ebp - 4], 0x2a
call dword [sym.imp.mfc100.dll_Ordinal_310]
mov byte [ebp - 4], 0xd
call fcn.0047c140
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x1c0]
push str.Error_copying_files
push ecx
call fcn.00401a70
add esp, 0x18
push 0
push 0
mov ecx, eax
mov byte [ebp - 4], 0x2b
call dword [sym.imp.mfc100.dll_Ordinal_1448]
push eax
call sub.mfc100.dll_Ordinal_1982
lea ecx, [ebp - 0x1c0]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x17c]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 6
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov edi, dword [ebp - 0x1c8]
lea edx, [ebp - 0x150]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x480890
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
lea ecx, [ebp - 0x160]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x170]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x178]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x174]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp - 0x16c]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp + 8]
call dword [sym.imp.mfc100.dll_Ordinal_901]
lea ecx, [ebp + 0xc]
call dword [sym.imp.mfc100.dll_Ordinal_901]
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0048e770
mov esp, ebp
pop ebp
ret