Function at 0x407d6c
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x19
push 0
push 0
dec ecx
jne 0x407d75
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.0040353c
xor eax, eax
push ebp
push 0x408042
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
mov eax, edi
mov ecx, 1
mov edx, dword [0x406268]
call fcn.00404cb0
add esp, 4
mov byte [ebp - 5], 0
xor eax, eax
push ebp
push 0x407fea
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004070c0
test al, al
jne 0x407dde
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x407ff4
mov eax, 0x40b514
call fcn.00403e00
push dword [ebp - 4]
mov eax, dword [ebp - 4]
call fcn.00407bbc
mov edx, eax
lea eax, [ebp - 0x24]
call fcn.0040333c
push dword [ebp - 0x24]
push 0x40805c
lea eax, [ebp - 0x28]
call fcn.004074e8
push dword [ebp - 0x28]
push 0x408068
call sub.KERNEL32.DLL_InitializeCriticalSection
lea edx, [ebp - 0x2c]
call fcn.00407588
push dword [ebp - 0x2c]
lea eax, [ebp - 4]
mov edx, 6
call fcn.00403448
push 0x40b524
push 0x40b514
push 0x40b514
push 0x40b514
lea eax, [ebp - 4]
push eax
push 0x40806c
push ebx
push 0
call fcn.00403de0
add esp, 0x20
jmp 0x407e63
push 0x64
call sub.KERNEL32.DLL_CopyFileA
push 0x408080
push ebx
lea eax, [ebp - 0x3c]
push eax
call fcn.00403de0
add esp, 0xc
lea eax, [ebp - 0x3c]
call fcn.004041b8
test al, al
jne 0x407e5c
push 0x408088
push ebx
push 0
call fcn.00403de0
add esp, 0xc
lea ecx, [ebp - 0x10]
mov eax, dword [0x40a504]
mov edx, 6
call fcn.00407888
lea eax, [ebp - 0xc]
call fcn.00403224
push 0x408098
push 0x40809c
push 0x4080b8
push ebx
lea eax, [ebp - 0x5c]
push eax
call fcn.00403de0
add esp, 0xc
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00403de0
add esp, 0x10
lea edx, [ebp - 0x4c]
lea eax, [ebp - 0x20]
call fcn.004044a0
push 0x4080c4
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.00403de0
add esp, 0xc
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x7c]
mov edx, 1
call fcn.00404318
lea edx, [ebp - 0x7c]
pop eax
call fcn.00404874
lea eax, [ebp - 0x6c]
call fcn.0040414c
mov esi, eax
test esi, esi
jl 0x407fce
inc esi
xor ebx, ebx
push 0x4080d8
push 0x4080dc
push ebx
push 0x4080f0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.00403de0
add esp, 0x10
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.00403de0
add esp, 0x10
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0xac]
mov edx, dword [ebp - 0x10]
call fcn.00404380
lea edx, [ebp - 0xac]
pop eax
call fcn.004049b4
jne 0x407fc6
push 0x4080fc
push ebx
push 0x4080f0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xcc]
push eax
call fcn.00403de0
add esp, 0x10
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.00403de0
add esp, 0xc
lea edx, [ebp - 0xbc]
lea eax, [ebp - 0xc]
call fcn.004042a4
jmp 0x407fce
inc ebx
dec esi
jne 0x407f26
mov edx, edi
lea eax, [ebp - 0xc]
call fcn.00407618
test al, al
je 0x407fe0
mov byte [ebp - 5], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x407ff4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x408049
lea eax, [ebp - 0xcc]
mov edx, dword [0x401010]
mov ecx, 0xa
call fcn.004039a8
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.00403248
lea eax, [ebp - 0x20]
call fcn.00404ac4
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00403248
lea eax, [ebp - 4]
call fcn.00403224
ret