Function at 0x475044
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe84
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x17c], ebx
mov dword [ebp - 0x178], ebx
mov dword [ebp - 0x174], ebx
mov dword [ebp - 0x16c], ebx
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0x168], ebx
mov dword [ebp - 0x164], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov esi, eax
mov eax, dword [ebp - 4]
call fcn.00405568
mov eax, dword [ebp - 8]
call fcn.00405568
mov eax, dword [ebp + 8]
call fcn.00405568
xor eax, eax
push ebp
push 0x4752ef
push dword fs:[eax]
mov dword fs:[eax], esp
push 3
lea eax, [ebp - 0x14]
mov ecx, 1
mov edx, dword [0x475018]
call fcn.004063cc
add esp, 4
mov eax, dword [ebp - 0x14]
mov ecx, dword [0x482994]
mov edx, 0x475308
call fcn.004053c4
mov eax, dword [ebp - 0x14]
add eax, 4
mov edx, 0x475308
call fcn.00405108
mov eax, dword [ebp - 0x14]
add eax, 8
mov edx, 0x475320
call fcn.00405108
mov eax, dword [ebp - 4]
test eax, eax
je 0x47510a
sub eax, 4
mov eax, dword [eax]
mov ebx, eax
jmp 0x47510f
dec ebx
test ebx, ebx
jle 0x47511d
mov eax, dword [ebp - 4]
cmp byte [eax + ebx - 1], 0x5c
jne 0x47510e
inc ebx
mov edi, dword [ebp - 4]
test edi, edi
je 0x47512a
sub edi, 4
mov edi, dword [edi]
lea eax, [ebp - 0x164]
push eax
mov ecx, edi
sub ecx, 3
sub ecx, ebx
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.004055d8
mov edx, dword [ebp - 0x164]
lea eax, [ebp - 0xc]
mov ecx, 0x475334
call fcn.004053c4
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + ebx*4]
push eax
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x475344
mov edx, dword [ebp - 4]
mov eax, esi
call fcn.00474d44
cmp dword [ebp - 0x10], 0
je 0x475296
push dword [0x482948]
push 0x475354
push dword [ebp - 0xc]
lea eax, [ebp - 0x168]
mov edx, 3
call fcn.00405438
mov eax, dword [ebp - 0x168]
call fcn.00409874
test al, al
je 0x475296
push 0
push dword [ebp - 8]
push dword [ebp + 8]
push 0x475390
push dword [ebp - 0x10]
lea eax, [ebp - 0x16c]
mov edx, 4
call fcn.00405438
mov eax, dword [ebp - 0x16c]
call fcn.00405578
push eax
push dword [0x482948]
push 0x475354
push dword [ebp - 0xc]
lea eax, [ebp - 0x170]
mov edx, 3
call fcn.00405438
mov eax, dword [ebp - 0x170]
call fcn.00405578
push eax
call sub.KERNEL32.DLL_CopyFileA
push dword [ebp - 8]
push dword [ebp + 8]
push 0x475390
push dword [ebp - 0x10]
lea eax, [ebp - 0x174]
mov edx, 4
call fcn.00405438
mov edx, dword [ebp - 0x174]
lea eax, [ebp - 0x160]
call fcn.00403314
push dword [ebp - 8]
push dword [ebp + 8]
push 0x475390
push dword [ebp - 0x10]
lea eax, [ebp - 0x178]
mov edx, 4
call fcn.00405438
mov eax, dword [ebp - 0x178]
call fcn.004098bc
mov esi, eax
push dword [ebp - 8]
push dword [ebp + 8]
push 0x475390
push dword [ebp - 0x10]
lea eax, [ebp - 0x17c]
mov edx, 4
call fcn.00405438
mov eax, dword [ebp - 0x17c]
mov edx, esi
and dx, 0xfff8
movzx edx, dx
call fcn.004098d0
jmp 0x4752a0
inc ebx
cmp ebx, 3
jne 0x475157
lea eax, [ebp - 0x14]
mov edx, dword [0x475018]
call fcn.004063d8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4752f6
lea eax, [ebp - 0x17c]
mov edx, 7
call fcn.004050d8
lea eax, [ebp - 0x14]
mov edx, dword [0x475018]
call fcn.004063d8
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.004050d8
lea eax, [ebp + 8]
call fcn.004050b4
ret