Function at 0x4d3a89
Capabilities:
Copy file
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x49
push 0
push 0
dec ecx
jne 0x4d32c9
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x184], edx
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x174]
call fcn.00405194
mov eax, dword [ebp - 0x184]
call fcn.00405194
lea eax, [ebp - 0x160]
mov edx, dword [0x40821c]
call fcn.004057a4
xor eax, eax
push ebp
push 0x4d3dee
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x1b0]
push eax
lea edx, [ebp - 0x1b4]
mov eax, dword [ebp - 0x174]
call fcn.00409314
mov eax, dword [ebp - 0x1b4]
mov ecx, 7
mov edx, 1
call fcn.0040520c
mov eax, dword [ebp - 0x1b0]
mov edx, 0x4d3e04
call fcn.0040513c
jne 0x4d33f0
lea eax, [ebp - 0x17c]
push eax
mov ecx, 7
mov edx, 1
mov eax, dword [ebp - 0x174]
call fcn.0040520c
lea eax, [ebp - 0x180]
push eax
mov ecx, 0x7fffffff
mov edx, 8
mov eax, dword [ebp - 0x174]
call fcn.0040520c
lea eax, [ebp - 0x1b8]
push eax
mov edx, dword [ebp - 0x180]
mov eax, 0x4d3e14
call fcn.004052f0
mov ecx, eax
mov edx, 1
mov eax, dword [ebp - 0x180]
call fcn.0040520c
mov edx, dword [ebp - 0x1b8]
lea eax, [ebp - 0x17c]
call fcn.00404fe0
mov edx, dword [ebp - 0x180]
mov eax, 0x4d3e14
call fcn.004052f0
mov ecx, eax
lea eax, [ebp - 0x180]
mov edx, 1
call fcn.0040524c
jmp 0x4d340c
lea edx, [ebp - 0x180]
mov eax, dword [ebp - 0x174]
call fcn.0040a0bc
lea eax, [ebp - 0x17c]
call fcn.00404d14
lea edx, [ebp - 0x1bc]
mov eax, dword [ebp - 0x184]
call fcn.0040a0bc
mov eax, dword [ebp - 0x1bc]
call fcn.004d2f54
mov dl, 1
mov eax, dword [0x41a948]
call fcn.00403de4
mov dword [ebp - 0x178], eax
xor edx, edx
push ebp
push 0x4d3d7d
push dword fs:[edx]
mov dword fs:[edx], esp
cmp dword [ebp - 0x17c], 0
jne 0x4d345a
push ebp
call fcn.004d3048
pop ecx
jmp 0x4d3461
push ebp
call fcn.004d321c
pop ecx
cmp dword [ebp - 0x17c], 0
je 0x4d3508
jmp 0x4d3492
mov edx, dword [ebp - 0x180]
mov eax, 0x4d3e20
call fcn.004052f0
mov ebx, eax
lea eax, [ebp - 0x180]
call fcn.00405204
mov byte [eax + ebx - 1], 0x2f
mov edx, dword [ebp - 0x180]
mov eax, 0x4d3e20
call fcn.004052f0
test eax, eax
jne 0x4d3470
jmp 0x4d34c9
mov ebx, dword [ebp - 0x180]
test ebx, ebx
je 0x4d34b7
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 0x180]
mov ecx, 1
mov edx, ebx
call fcn.0040524c
cmp dword [ebp - 0x180], 0
je 0x4d3508
lea eax, [ebp - 0x1c0]
push eax
mov eax, dword [ebp - 0x180]
call fcn.00404fd4
mov edx, eax
mov ecx, 1
mov eax, dword [ebp - 0x180]
call fcn.0040520c
mov eax, dword [ebp - 0x1c0]
mov edx, 0x4d3e14
call fcn.0040513c
jne 0x4d34a8
lea edx, [ebp - 0x1c8]
mov eax, dword [ebp - 0x178]
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x1c8]
lea edx, [ebp - 0x1c4]
call fcn.004093e8
mov edx, dword [ebp - 0x1c4]
mov eax, dword [ebp - 0x178]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0x178]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x4d3d64
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a0], 1
lea ecx, [ebp - 0x1cc]
mov edx, dword [ebp - 0x1a0]
dec edx
mov eax, dword [ebp - 0x178]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x1cc]
lea edx, [ebp - 0x198]
call fcn.004093e8
lea eax, [ebp - 0x1d0]
push eax
mov ecx, 1
mov edx, 0xf
mov eax, dword [ebp - 0x198]
call fcn.0040520c
mov eax, dword [ebp - 0x1d0]
mov edx, 0x4d3e2c
call fcn.0040513c
jne 0x4d3d52
mov eax, dword [ebp - 0x198]
test eax, eax
je 0x4d35c8
sub eax, 4
mov eax, dword [eax]
cmp eax, 0xf
jle 0x4d3d52
lea eax, [ebp - 0x194]
call fcn.00404d14
push 0x4d3e38
push dword [ebp - 0x198]
push 0x4d3e44
push dword [ebp - 0x184]
lea eax, [ebp - 0x1d4]
mov edx, 4
call fcn.004050a8
mov eax, dword [ebp - 0x1d4]
call fcn.004d0bd0
mov ebx, dword [ebp - 0x184]
test ebx, ebx
je 0x4d361c
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 0x1d8]
push eax
mov ecx, 1
mov edx, ebx
mov eax, dword [ebp - 0x184]
call fcn.0040520c
mov eax, dword [ebp - 0x1d8]
mov edx, 0x4d3e20
call fcn.0040513c
jne 0x4d368d
lea eax, [ebp - 0x1e0]
push eax
mov ecx, 0x7fffffff
mov edx, 0x10
mov eax, dword [ebp - 0x198]
call fcn.0040520c
mov eax, dword [ebp - 0x1e0]
lea edx, [ebp - 0x1dc]
call fcn.004093e8
mov ecx, dword [ebp - 0x1dc]
lea eax, [ebp - 0x188]
mov edx, dword [ebp - 0x184]
call fcn.0040502c
jmp 0x4d369e
lea eax, [ebp - 0x188]
mov edx, dword [ebp - 0x184]
call fcn.00404dac
lea eax, [ebp - 0x1e4]
push eax
mov edx, dword [ebp - 0x188]
mov eax, 0x4d3e54
call fcn.004052f0
mov edx, eax
inc edx
mov ecx, 0x7fffffff
mov eax, dword [ebp - 0x188]
call fcn.0040520c
mov eax, dword [ebp - 0x1e4]
xor edx, edx
call fcn.00409974
mov dword [ebp - 0x1a8], eax
mov edx, dword [ebp - 0x188]
mov eax, 0x4d3e54
call fcn.004052f0
mov edx, eax
lea eax, [ebp - 0x188]
mov ecx, 0x7fffffff
call fcn.0040524c
lea eax, [ebp - 0x1e8]
push eax
mov ecx, 0x7fffffff
mov edx, 0x10
mov eax, dword [ebp - 0x198]
call fcn.0040520c
mov eax, dword [ebp - 0x1e8]
lea edx, [ebp - 0x190]
call fcn.004093e8
mov edx, dword [ebp - 0x190]
mov eax, 0x4d3e54
call fcn.004052f0
mov edx, eax
lea eax, [ebp - 0x190]
mov ecx, 0x7fffffff
call fcn.0040524c
mov eax, dword [ebp - 0x188]
call fcn.00409e4c
test al, al
je 0x4d3880
mov eax, dword [ebp - 0x188]
call fcn.00409db8
call fcn.0040a220
add esp, 0xfffffff8
fstp qword [esp]
wait
lea ecx, [ebp - 0x166]
lea edx, [ebp - 0x164]
lea eax, [ebp - 0x162]
call fcn.0040be3c
mov eax, dword [ebp - 0x188]
call fcn.00409db8
call fcn.0040a220
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x16e]
push eax
lea ecx, [ebp - 0x16c]
lea edx, [ebp - 0x16a]
lea eax, [ebp - 0x168]
call fcn.0040bb5c
lea ecx, [ebp - 0x1ec]
movzx eax, word [ebp - 0x162]
mov edx, 4
call fcn.004d3008
push dword [ebp - 0x1ec]
lea ecx, [ebp - 0x1f0]
movzx eax, word [ebp - 0x164]
mov edx, 2
call fcn.004d3008
push dword [ebp - 0x1f0]
lea ecx, [ebp - 0x1f4]
movzx eax, word [ebp - 0x166]
mov edx, 2
call fcn.004d3008
push dword [ebp - 0x1f4]
lea ecx, [ebp - 0x1f8]
movzx eax, word [ebp - 0x168]
mov edx, 2
call fcn.004d3008
push dword [ebp - 0x1f8]
lea ecx, [ebp - 0x1fc]
movzx eax, word [ebp - 0x16a]
mov edx, 2
call fcn.004d3008
push dword [ebp - 0x1fc]
lea ecx, [ebp - 0x200]
movzx eax, word [ebp - 0x16c]
mov edx, 2
call fcn.004d3008
push dword [ebp - 0x200]
lea eax, [ebp - 0x194]
mov edx, 6
call fcn.004050a8
lea eax, [ebp - 0x204]
push eax
mov ecx, 0xc
mov edx, 1
mov eax, dword [ebp - 0x194]
call fcn.0040520c
mov eax, dword [ebp - 0x204]
push eax
lea eax, [ebp - 0x208]
push eax
mov ecx, 0xc
mov edx, 1
mov eax, dword [ebp - 0x198]
call fcn.0040520c
mov edx, dword [ebp - 0x208]
pop eax
call fcn.0040513c
je 0x4d3d52
xor edx, edx
push ebp
push 0x4d3d34
push dword fs:[edx]
mov dword fs:[edx], esp
push 0x4d3e60
push dword [ebp - 0x174]
push 0x4d3e74
push dword [ebp - 0x188]
push 0x4d3e84
lea eax, [ebp - 0x20c]
mov edx, 5
call fcn.004050a8
mov eax, dword [ebp - 0x20c]
call fcn.004d0bd0
push 0x4d3e90
push dword [ebp - 0x194]
push 0x4d3e9c
lea eax, [ebp - 0x214]
push eax
mov ecx, 0xe
mov edx, 1
mov eax, dword [ebp - 0x198]
call fcn.0040520c
push dword [ebp - 0x214]
lea eax, [ebp - 0x210]
mov edx, 4
call fcn.004050a8
mov eax, dword [ebp - 0x210]
call fcn.004d0bd0
xor eax, eax
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x17c], 0
jne 0x4d39ba
lea eax, [ebp - 0x18c]
mov ecx, dword [ebp - 0x190]
mov edx, dword [ebp - 0x180]
call fcn.0040502c
push 0
mov eax, dword [ebp - 0x188]
call fcn.004051a4
push eax
mov eax, dword [ebp - 0x18c]
call fcn.004051a4
push eax
call sub.kernel32.dll_CopyFileA
cmp eax, 1
sbb eax, eax
inc eax
mov byte [ebp - 0x199], al
jmp 0x4d3a89
xor eax, eax
push ebp
push 0x4d3a82
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0x1a8], 0
jle 0x4d3a1b
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x380]
xor edx, edx
call fcn.004bc0c8
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x380]
mov dl, 1
call fcn.0044ae54
fild dword [ebp - 0x1a8]
fdiv dword [0x4d3ea4]
call fcn.00403474
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x380]
call fcn.004bc088
mov eax, dword [ebp + 8]
push eax
push dword [ebp - 0x17c]
push dword [ebp - 0x180]
push dword [ebp - 0x190]
lea eax, [ebp - 0x218]
mov edx, 3
call fcn.004050a8
mov eax, dword [ebp - 0x218]
mov edx, dword [ebp - 0x188]
call fcn.004d2b60
pop ecx
mov byte [ebp - 0x199], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d3a89
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x380]
xor edx, edx
call fcn.0044ae54
xor eax, eax
mov dword [ebp - 0x1a8], eax
ret
cmp byte [ebp - 0x199], 0
je 0x4d3c15
lea eax, [ebp - 0x21c]
push eax
mov ecx, 4
mov edx, 1
mov eax, dword [ebp - 0x198]
call fcn.0040520c
mov eax, dword [ebp - 0x21c]
call fcn.00409938
mov word [ebp - 0x162], ax
lea eax, [ebp - 0x220]
push eax
mov ecx, 2
mov edx, 5
mov eax, dword [ebp - 0x198]
call fcn.0040520c
mov eax, dword [ebp - 0x220]
call fcn.00409938
mov word [ebp - 0x164], ax
lea eax, [ebp - 0x224]
push eax
mov ecx, 2
mov edx, 7
mov eax, dword [ebp - 0x198]
call fcn.0040520c
mov eax, dword [ebp - 0x224]
call fcn.00409938
mov word [ebp - 0x166], ax
lea eax, [ebp - 0x228]
push eax
mov ecx, 2
mov edx, 9
mov eax, dword [ebp - 0x198]
call fcn.0040520c
mov eax, dword [ebp - 0x228]
call fcn.00409938
mov word [ebp - 0x168], ax
lea eax, [ebp - 0x22c]
push eax
mov ecx, 2
mov edx, 0xb
mov eax, dword [ebp - 0x198]
call fcn.0040520c
mov eax, dword [ebp - 0x22c]
call fcn.00409938
mov word [ebp - 0x16a], ax
lea eax, [ebp - 0x230]
push eax
mov ecx, 2
mov edx, 0xd
mov eax, dword [ebp - 0x198]
call fcn.0040520c
mov eax, dword [ebp - 0x230]
call fcn.00409938
mov word [ebp - 0x16c], ax
mov word [ebp - 0x16e], 0
movzx ecx, word [ebp - 0x166]
movzx edx, word [ebp - 0x164]
movzx eax, word [ebp - 0x162]
call fcn.0040bcc0
fstp qword [ebp - 0x238]
wait
movzx eax, word [ebp - 0x16e]
push eax
movzx ecx, word [ebp - 0x16c]
movzx edx, word [ebp - 0x16a]
movzx eax, word [ebp - 0x168]
call fcn.0040bb1c
fadd qword [ebp - 0x238]
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.0040a28c
mov edx, eax
mov eax, dword [ebp - 0x188]
call fcn.00409e94
cmp byte [ebp - 0x199], 0
jne 0x4d3d14
inc dword [ebp - 0x1a4]
xor edx, edx
push ebp
push 0x4d3cf6
push dword fs:[edx]
mov dword fs:[edx], esp
push dword [ebp - 0x188]
push 0x4d3eb0
lea edx, [ebp - 0x240]
mov eax, dword [ebp - 0x1a4]
call fcn.004097fc
push dword [ebp - 0x240]
lea eax, [ebp - 0x23c]
mov edx, 3
call fcn.004050a8
mov ebx, dword [ebp - 0x23c]
mov dword [ebp - 0x244], ebx
mov eax, dword [ebp - 0x244]
call fcn.004051a4
push eax
call sub.kernel32.dll_DeleteFileA
cmp eax, 1
sbb eax, eax
inc eax
push dword [ebp - 0x188]
push 0x4d3eb0
lea edx, [ebp - 0x24c]
mov eax, dword [ebp - 0x1a4]
call fcn.004097fc
push dword [ebp - 0x24c]
lea eax, [ebp - 0x248]
mov edx, 3
call fcn.004050a8
mov ebx, dword [ebp - 0x248]
mov dword [ebp - 0x244], ebx
mov eax, dword [ebp - 0x244]
call fcn.004051a4
push eax
mov eax, dword [ebp - 0x188]
call fcn.004051a4
push eax
call sub.kernel32.dll_MoveFileA
cmp eax, 1
sbb eax, eax
inc eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d3d14
cmp byte [ebp - 0x199], 0
jne 0x4d3d2a
cmp dword [ebp - 0x1a4], 0xa
jle 0x4d396a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d3d52
inc dword [ebp - 0x1a0]
dec dword [ebp - 0x1ac]
jne 0x4d355e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d3d84
lea eax, [ebp - 0x178]
call fcn.0040f8f0
ret