Function at 0x504520
Capabilities:
Copy file
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59eede
mov eax, dword fs:[0]
push eax
sub esp, 0x24c
mov eax, dword [0x62d12c]
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
mov ebx, dword [ebp + 8]
mov esi, ecx
mov ecx, ebx
mov dword [ebp - 0x250], esi
mov dword [ebp - 0x258], ebx
call fcn.00503720
test eax, eax
je 0x5047da
lea eax, [ebp - 0x249]
push eax
mov ecx, esi
mov byte [ebp - 0x249], 0
call fcn.005043c0
xor edi, edi
cmp eax, edi
jne 0x5047da
mov ecx, esi
call fcn.00503740
mov esi, eax
cmp esi, edi
jne 0x5047da
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, ebx
call fcn.005038c0
mov dword [ebp - 4], edi
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], edi
mov byte [ebp - 0x48], 0
push 1
push 0x5d78cc
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.00416b30
mov eax, dword [ebp - 0x2c]
mov ebx, 0x10
cmp dword [ebp - 0x18], ebx
jae 0x5045dd
lea eax, [ebp - 0x2c]
lea edx, [ebp - 0x248]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x254], eax
cmp eax, 0xffffffff
jne 0x504603
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x5047c8
lea eax, [ebp - 0x21c]
push 0x5c0494
push eax
call fcn.0055ffa6
add esp, 8
test eax, eax
je 0x504780
lea ecx, [ebp - 0x21c]
push 0x5d6c18
push ecx
call fcn.0055ffa6
add esp, 8
test eax, eax
je 0x504780
mov ecx, dword [ebp - 0x258]
lea edx, [ebp - 0x80]
push edx
call fcn.005038c0
lea ecx, [ebp - 0x21c]
push ecx
push eax
lea edx, [ebp - 0x64]
push edx
mov byte [ebp - 4], 2
call fcn.00503ec0
add esp, 0xc
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.0041fd30
cmp dword [ebp - 0x50], ebx
jb 0x504680
mov eax, dword [ebp - 0x64]
push eax
call fcn.00558723
add esp, 4
mov dword [ebp - 0x50], 0xf
mov dword [ebp - 0x54], edi
mov byte [ebp - 0x64], 0
mov byte [ebp - 4], 1
cmp dword [ebp - 0x6c], ebx
jb 0x5046a3
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.00558723
add esp, 4
mov eax, dword [ebp - 0x250]
lea edx, [ebp - 0x21c]
push edx
push eax
lea ecx, [ebp - 0x80]
push ecx
call fcn.00503f10
add esp, 0xc
push eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 4
call fcn.0041fd30
mov byte [ebp - 4], 1
cmp dword [ebp - 0x6c], ebx
jb 0x5046df
mov edx, dword [ebp - 0x80]
push edx
call fcn.00558723
add esp, 4
test byte [ebp - 0x248], bl
je 0x504751
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x34], ebx
jae 0x5046f2
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0xc4]
call fcn.00503a40
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 5
cmp dword [ebp - 0x18], ebx
jae 0x50470d
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x108]
call fcn.00503a40
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 6
call fcn.00504520
lea ecx, [ebp - 0x108]
mov esi, eax
mov byte [ebp - 4], 5
call fcn.00503820
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 1
call fcn.00503820
jmp 0x50477c
mov ecx, dword [ebp - 0x48]
cmp dword [ebp - 0x34], ebx
jae 0x50475c
lea ecx, [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x18], ebx
jae 0x504767
lea eax, [ebp - 0x2c]
push edi
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x504780
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
cmp esi, edi
jne 0x50479c
mov edx, dword [ebp - 0x254]
lea ecx, [ebp - 0x248]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x504603
mov eax, dword [ebp - 0x254]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp byte [ebp - 0x249], 0
je 0x5047c8
mov ecx, dword [ebp - 0x250]
cmp esi, edi
je 0x5047c3
call fcn.00504900
jmp 0x5047c8
call fcn.005044e0
lea ecx, [ebp - 0x48]
call fcn.00421b10
lea ecx, [ebp - 0x2c]
call fcn.00421b10
mov eax, esi
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.00558b78
mov esp, ebp
pop ebp
ret 4