Function at 0x4dcc6c
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd20
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x2e0], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
call fcn.00407414
xor eax, eax
push ebp
push 0x4dcfab
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00407480
mov edx, dword [ebp - 8]
mov eax, 0x4dcfc8
call fcn.00407f2c
mov edx, eax
lea eax, [ebp - 8]
mov ecx, 6
call fcn.00407c3c
lea eax, [ebp - 8]
mov edx, 0x4dcfd8
call fcn.00407840
mov edx, dword [ebp - 8]
lea eax, [ebp - 0x2dc]
call fcn.004049c4
lea eax, [ebp - 0x2dc]
call fcn.00404750
call fcn.0040437c
lea eax, [ebp - 0x2dc]
call fcn.00404a88
call fcn.0040437c
push 0
mov eax, dword [ebp - 8]
call fcn.004074b8
push eax
push 0x4dcfe4
call sub.kernel32.dll_CopyFileW
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x2dc]
call fcn.004049c4
lea eax, [ebp - 0x2dc]
call fcn.00404750
call fcn.0040437c
mov eax, dword [ebp - 0xc]
mov esi, dword [eax + 8]
cmp byte [esi + 0x20], 0
je 0x4dcd69
xor edx, edx
mov eax, esi
call fcn.004dbcb4
cmp dword [esi + 0x28], 1
jne 0x4dcd5d
mov edx, 2
mov eax, esi
call fcn.004dbf58
jmp 0x4dcd69
mov edx, 1
mov eax, esi
call fcn.004dbf58
mov edx, dword [esi + 0x28]
lea eax, [ebp - 0x2dc]
call fcn.004051cc
call fcn.004051f8
call fcn.0040437c
mov edi, 1
mov ebx, 1
mov eax, ebx
add eax, eax
add eax, eax
lea eax, [esi + eax*8]
mov eax, dword [eax + edi*4 + 0x30]
cmp dword [eax + 0x1e0], 0
jl 0x4dcde8
mov eax, ebx
add eax, eax
add eax, eax
lea eax, [esi + eax*8]
mov eax, dword [eax + edi*4 + 0x30]
fild dword [eax + 0x1e0]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea edx, [ebp - 0x2e0]
mov eax, 0x4dd004
call fcn.00415598
mov edx, dword [ebp - 0x2e0]
lea eax, [ebp - 0x2dc]
call fcn.00407e2c
call fcn.00404a7c
call fcn.0040437c
jmp 0x4dce10
mov eax, ebx
add eax, eax
add eax, eax
lea eax, [esi + eax*8]
mov eax, dword [eax + edi*4 + 0x30]
mov edx, dword [eax + 0x1e0]
lea eax, [ebp - 0x2dc]
call fcn.004051cc
call fcn.00404a7c
call fcn.0040437c
inc ebx
cmp ebx, 9
jne 0x4dcd8b
mov edx, 0x4dd018
lea eax, [ebp - 0x2dc]
call fcn.00407e2c
call fcn.00404a7c
call fcn.0040437c
inc edi
cmp edi, 9
jne 0x4dcd86
mov eax, esi
call fcn.004db27c
mov ebx, eax
test ebx, ebx
jl 0x4dce72
inc ebx
xor edi, edi
mov edx, edi
mov eax, esi
call fcn.004db274
mov edx, eax
lea eax, [ebp - 0x2dc]
call fcn.004051cc
call fcn.00404a7c
call fcn.0040437c
inc edi
dec ebx
jne 0x4dce4e
mov edx, 0x4dd018
lea eax, [ebp - 0x2dc]
call fcn.00407e2c
call fcn.00404a7c
call fcn.0040437c
mov eax, esi
call fcn.004db250
mov ebx, eax
test ebx, ebx
jl 0x4dcec0
inc ebx
xor edi, edi
mov edx, edi
mov eax, esi
call fcn.004db248
mov edx, eax
lea eax, [ebp - 0x2dc]
call fcn.004051cc
call fcn.00404a7c
call fcn.0040437c
inc edi
dec ebx
jne 0x4dce9c
mov edx, 0x4dd018
lea eax, [ebp - 0x2dc]
call fcn.00407e2c
call fcn.00404a7c
call fcn.0040437c
movzx edx, byte [esi + 0x154]
lea eax, [ebp - 0x2dc]
call fcn.00405184
call fcn.004051f8
call fcn.0040437c
movzx edx, byte [esi + 0x155]
lea eax, [ebp - 0x2dc]
call fcn.00405184
call fcn.004051f8
call fcn.0040437c
mov edx, dword [0x508b88]
mov edx, dword [edx]
lea eax, [ebp - 0x2dc]
call fcn.004051cc
call fcn.004051f8
call fcn.0040437c
mov edx, dword [esi + 0x4c]
lea eax, [ebp - 0x2dc]
call fcn.00407e2c
call fcn.004051f8
call fcn.0040437c
mov edx, dword [esi + 0x50]
lea eax, [ebp - 0x2dc]
call fcn.00407e2c
call fcn.004051f8
call fcn.0040437c
lea eax, [ebp - 0x2dc]
call fcn.00404a88
call fcn.0040437c
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x34]
mov eax, 0x4dd02c
call fcn.004d3410
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4dcfb2
lea eax, [ebp - 0x2e0]
call fcn.0040741c
lea eax, [ebp - 8]
mov edx, 2
call fcn.00407424
ret