Function at 0x4d2cb8
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 4
push 0
push 0
dec ecx
jne 0x4d2cc0
push ecx
push ebx
push esi
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x4d2f8c
push dword fs:[eax]
mov dword fs:[eax], esp
test esi, esi
jne 0x4d2ceb
lea eax, [ebx + 0x14aac]
call fcn.00403ccc
mov eax, esi
mov byte [ebx + 0x144e8], al
mov eax, dword [ebx + 0x940]
call fcn.0043566c
mov dl, 1
mov eax, dword [ebx + 0x940]
call fcn.00435340
cmp esi, 5
je 0x4d2d8c
lea ecx, [ebp - 0x10]
mov edx, 0xd3
mov eax, dword [ebx + 0x8d8]
call fcn.00478d84
mov eax, dword [ebp - 0x10]
mov edx, 0x4d2fa0
call fcn.00404500
je 0x4d2d7a
lea ecx, [ebp - 0x14]
mov edx, 0xd3
mov eax, dword [ebx + 0x8d8]
call fcn.00478d84
mov edx, dword [ebp - 0x14]
mov eax, 0x4d2fbc
call fcn.0040459c
test eax, eax
jg 0x4d2d7a
lea ecx, [ebp - 0x18]
mov edx, 0xd3
mov eax, dword [ebx + 0x8d8]
call fcn.00478d84
mov edx, dword [ebp - 0x18]
mov eax, 0x4d2fcc
call fcn.0040459c
test eax, eax
jle 0x4d2d8c
xor ecx, ecx
mov edx, 3
mov eax, dword [ebx + 0x8d8]
call fcn.0047dac8
xor edx, edx
mov eax, dword [ebx + 0x8a4]
call fcn.00435340
lea eax, [ebp - 0xc]
mov edx, 0x4d2fe0
call fcn.00403d64
cmp esi, 3
jne 0x4d2f1c
mov byte [ebx + 0x144e8], 1
push dword [ebx + 0x1555c]
push dword [ebx + 0x155ac]
push 0x4d2ff4
push 0x4d3000
lea eax, [ebp - 8]
mov edx, 4
call fcn.0040400c
mov eax, dword [ebp - 8]
call fcn.00409718
test al, al
jne 0x4d2ea1
lea eax, [ebp - 4]
mov edx, 0x4d3018
call fcn.00403d64
cmp dword [ebx + 0x14a98], 0
je 0x4d2e3b
mov eax, dword [ebx + 0x14a98]
call fcn.00409718
test al, al
je 0x4d2e3b
push dword [ebp - 4]
push 0x4d310c
lea edx, [ebp - 0x1c]
mov eax, dword [ebx + 0x14a98]
call fcn.00409868
push dword [ebp - 0x1c]
push 0x4d3130
lea eax, [ebp - 4]
mov edx, 4
call fcn.0040400c
jmp 0x4d2e55
push dword [ebp - 4]
push 0x4d313c
push 0x4d314c
lea eax, [ebp - 4]
mov edx, 3
call fcn.0040400c
push dword [ebp - 4]
push 0x4d3158
push 0x4d314c
push 0x4d3168
push 0x4d314c
lea eax, [ebp - 4]
mov edx, 5
call fcn.0040400c
mov eax, dword [ebx + 0x8d4]
mov eax, dword [eax + 0x208]
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebx + 0x8d4]
mov eax, dword [eax + 0x208]
mov edx, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x64]
push dword [ebx + 0x1555c]
push dword [ebx + 0x155ac]
push 0x4d2ff4
call fcn.0040a76c
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x20]
mov eax, 0x4d3178
call fcn.0040b368
push dword [ebp - 0x20]
push 0x4d3184
lea eax, [ebp - 4]
mov edx, 5
call fcn.0040400c
push 0
mov eax, dword [ebp - 4]
call fcn.00404110
push eax
mov eax, dword [ebp - 8]
call fcn.00404110
push eax
call sub.kernel32.dll_CopyFileA
cmp esi, 3
jne 0x4d2f0c
lea eax, [ebx + 0x14aac]
mov edx, dword [ebp - 4]
call fcn.00403d20
cmp esi, 1
jne 0x4d2f1c
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00403d64
cmp esi, 5
jne 0x4d2f36
lea eax, [ebp - 0xc]
mov edx, dword [ebx + 0x14aac]
call fcn.00403d64
mov byte [ebx + 0x144e8], 1
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0xc]
call fcn.004044d4
mov edx, dword [ebp - 0x24]
mov eax, dword [ebx + 0x8d8]
call fcn.0047d9f0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d2f93
lea eax, [ebp - 0x24]
call fcn.00404390
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.00403cf0
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.004043a8
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00403cf0
ret