Function at 0x4dc7c4
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd18
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x2e8], ecx
mov dword [ebp - 0x2e4], 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 0x4dcba8
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, 0x4dcbc4
call fcn.00407f2c
mov edx, eax
lea eax, [ebp - 8]
mov ecx, 6
call fcn.00407c3c
lea eax, [ebp - 8]
mov edx, 0x4dcbd4
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 0x4dcbe0
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 0x4dc8cd
xor edx, edx
mov eax, esi
call fcn.004dbcb4
cmp dword [esi + 0x28], 1
jne 0x4dc8c1
mov edx, 2
mov eax, esi
call fcn.004dbf58
jmp 0x4dc8cd
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 0x4dc94c
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, 0x4dcc00
call fcn.00415598
mov edx, dword [ebp - 0x2e0]
lea eax, [ebp - 0x2dc]
call fcn.00407e2c
call fcn.00404a7c
call fcn.0040437c
jmp 0x4dc974
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 0x4dc8ef
mov edx, 0x4dcc14
lea eax, [ebp - 0x2dc]
call fcn.00407e2c
call fcn.00404a7c
call fcn.0040437c
inc edi
cmp edi, 9
jne 0x4dc8ea
mov eax, esi
call fcn.004db27c
mov ebx, eax
test ebx, ebx
jl 0x4dc9d6
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 0x4dc9b2
mov edx, 0x4dcc14
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 0x4dca24
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 0x4dca00
mov edx, 0x4dcc14
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 edx, dword [eax + 4]
lea eax, [ebp - 0x2e4]
mov ecx, 0x4dcc28
call fcn.00407900
mov edx, dword [ebp - 0x2e4]
lea eax, [ebp - 0x2dc]
call fcn.004049c4
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 4]
lea eax, [ebp - 0x2e8]
mov ecx, 0x4dcc28
call fcn.00407900
mov eax, dword [ebp - 0x2e8]
call fcn.00413b88
test al, al
jne 0x4dcb2f
lea eax, [ebp - 0x2dc]
call fcn.00404750
call fcn.0040437c
lea eax, [ebp - 0x2dc]
call fcn.0040475c
call fcn.0040437c
mov edx, dword [ebp - 4]
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, 0x4dcc4c
call fcn.004d3410
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4dcbaf
lea eax, [ebp - 0x2e8]
mov edx, 3
call fcn.00407424
lea eax, [ebp - 8]
mov edx, 2
call fcn.00407424
ret