Function at 0x47f860
Capabilities:
Copy file
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x31c
mov eax, dword [0x5bc684]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x31c], esi
cmp dword [0x5c159c], ebx
jne 0x47f8c1
mov eax, dword [esi + 0x60]
add eax, 0x1230
push 0x55fe80
push eax
call fcn.004ff027
add esp, 8
test eax, eax
je 0x47f8c1
mov ecx, dword [esi + 0x60]
add ecx, 0x1334
push 0x55fe74
push ecx
call fcn.004ff027
add esp, 8
test eax, eax
jne 0x4800d2
push esi
call fcn.0047ead0
add esp, 4
cmp dword [0x5c159c], ebx
je 0x4800e2
mov dword [ebp - 0x314], 0x746164
mov dword [ebp - 0x318], 0x78646e
lea edx, [ebp - 0x310]
push esi
push edx
call fcn.00425fd0
mov eax, dword [esi + 0x60]
add eax, 0xf24
lea edx, [ebp - 0x108]
add esp, 8
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x47f910
lea eax, [ebp - 0x108]
push eax
call fcn.004bf2e0
lea eax, [ebp - 0x310]
add esp, 4
mov edx, eax
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x47f931
push edi
lea edi, [ebp - 0x108]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47f942
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x108]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x47f961
mov cx, word [0x5509cc]
mov word [edi], cx
xor eax, eax
jmp 0x47f980
mov cl, byte [ebp + eax - 0x108]
mov byte [ebp + eax - 0x20c], cl
inc eax
cmp cl, bl
jne 0x47f980
mov edx, dword [ebp - 0x31c]
mov eax, dword [edx + 0x60]
add eax, 0x1230
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x47f9a3
lea edi, [ebp - 0x108]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47f9b5
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x314]
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x47f9d3
lea edi, [ebp - 0x20c]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47f9e5
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x20c]
rep movsb byte es:[edi], byte [esi]
push eax
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x47fa28
push ebx
lea edx, [ebp - 0x20c]
push edx
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [ebp - 0x108]
push ebx
push ecx
call fcn.004cabd0
mov edx, dword [ebp - 0x31c]
mov eax, dword [edx + 0x60]
add eax, 0xf24
lea edx, [ebp - 0x108]
add esp, 8
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x47fa50
lea eax, [ebp - 0x108]
push eax
call fcn.004bf2e0
lea eax, [ebp - 0x310]
add esp, 4
mov edx, eax
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x47fa71
lea edi, [ebp - 0x108]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47fa81
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x108]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x47faa0
mov cx, word [0x5509cc]
mov word [edi], cx
xor eax, eax
jmp 0x47fac0
mov cl, byte [ebp + eax - 0x108]
mov byte [ebp + eax - 0x20c], cl
inc eax
cmp cl, bl
jne 0x47fac0
mov edx, dword [ebp - 0x31c]
mov eax, dword [edx + 0x60]
add eax, 0x1334
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x47fae3
lea edi, [ebp - 0x108]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47faf5
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x318]
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x47fb13
lea edi, [ebp - 0x20c]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47fb25
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x20c]
rep movsb byte es:[edi], byte [esi]
push eax
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x47fb68
push ebx
lea edx, [ebp - 0x20c]
push edx
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [ebp - 0x108]
push ebx
push ecx
call fcn.004cabd0
mov esi, dword [ebp - 0x31c]
lea edx, [ebp - 0x310]
push esi
push edx
call fcn.00442310
mov eax, dword [esi + 0x60]
add eax, 0xf24
lea edx, [ebp - 0x108]
add esp, 0x10
sub edx, eax
jmp 0x47fba0
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x47fba0
lea eax, [ebp - 0x108]
push eax
call fcn.004bf2e0
lea eax, [ebp - 0x310]
add esp, 4
mov edx, eax
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x47fbc1
lea edi, [ebp - 0x108]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47fbd1
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x108]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x47fbf0
mov cx, word [0x5509cc]
mov word [edi], cx
xor eax, eax
jmp 0x47fc10
mov cl, byte [ebp + eax - 0x108]
mov byte [ebp + eax - 0x20c], cl
inc eax
cmp cl, bl
jne 0x47fc10
mov edx, dword [ebp - 0x31c]
mov eax, dword [edx + 0x60]
add eax, 0x1230
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x47fc33
lea edi, [ebp - 0x108]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47fc45
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x314]
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x47fc63
lea edi, [ebp - 0x20c]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47fc75
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x20c]
rep movsb byte es:[edi], byte [esi]
push eax
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x47fcb8
push ebx
lea edx, [ebp - 0x20c]
push edx
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [ebp - 0x108]
push ebx
push ecx
call fcn.004cabd0
mov edx, dword [ebp - 0x31c]
mov eax, dword [edx + 0x60]
add eax, 0xf24
lea edx, [ebp - 0x108]
add esp, 8
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x47fce0
lea eax, [ebp - 0x108]
push eax
call fcn.004bf2e0
lea eax, [ebp - 0x310]
add esp, 4
mov edx, eax
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x47fd01
lea edi, [ebp - 0x108]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47fd11
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x108]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x47fd30
mov cx, word [0x5509cc]
mov word [edi], cx
xor eax, eax
jmp 0x47fd50
mov cl, byte [ebp + eax - 0x108]
mov byte [ebp + eax - 0x20c], cl
inc eax
cmp cl, bl
jne 0x47fd50
mov edx, dword [ebp - 0x31c]
mov eax, dword [edx + 0x60]
add eax, 0x1334
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x47fd73
lea edi, [ebp - 0x108]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47fd85
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x318]
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x47fda3
lea edi, [ebp - 0x20c]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47fdb5
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x20c]
rep movsb byte es:[edi], byte [esi]
push eax
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x47fdf8
push ebx
lea edx, [ebp - 0x20c]
push edx
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [ebp - 0x108]
push ebx
push ecx
call fcn.004cabd0
mov esi, dword [ebp - 0x31c]
lea edx, [ebp - 0x310]
push esi
push edx
call fcn.004285a0
mov eax, dword [esi + 0x60]
add eax, 0xf24
lea edx, [ebp - 0x108]
add esp, 0x10
sub edx, eax
jmp 0x47fe30
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x47fe30
lea eax, [ebp - 0x108]
push eax
call fcn.004bf2e0
lea eax, [ebp - 0x310]
add esp, 4
mov edx, eax
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x47fe51
lea edi, [ebp - 0x108]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47fe61
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x108]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x47fe80
mov cx, word [0x5509cc]
mov word [edi], cx
xor eax, eax
jmp 0x47fea0
mov cl, byte [ebp + eax - 0x108]
mov byte [ebp + eax - 0x20c], cl
inc eax
cmp cl, bl
jne 0x47fea0
mov edx, dword [ebp - 0x31c]
mov eax, dword [edx + 0x60]
add eax, 0x1230
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x47fec3
lea edi, [ebp - 0x108]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47fed5
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x314]
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x47fef3
lea edi, [ebp - 0x20c]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47ff05
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x20c]
rep movsb byte es:[edi], byte [esi]
push eax
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x47ff48
push ebx
lea edx, [ebp - 0x20c]
push edx
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [ebp - 0x108]
push ebx
push ecx
call fcn.004cabd0
mov edx, dword [ebp - 0x31c]
mov eax, dword [edx + 0x60]
add eax, 0xf24
lea edx, [ebp - 0x108]
add esp, 8
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x47ff70
lea eax, [ebp - 0x108]
push eax
call fcn.004bf2e0
lea eax, [ebp - 0x310]
add esp, 4
mov edx, eax
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x47ff91
lea edi, [ebp - 0x108]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x47ffa1
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x108]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x47ffc0
mov cx, word [0x5509cc]
mov word [edi], cx
xor eax, eax
jmp 0x47ffe0
mov cl, byte [ebp + eax - 0x108]
mov byte [ebp + eax - 0x20c], cl
inc eax
cmp cl, bl
jne 0x47ffe0
mov edx, dword [ebp - 0x31c]
mov eax, dword [edx + 0x60]
add eax, 0x1334
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x480003
lea edi, [ebp - 0x108]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x480015
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x318]
rep movsb byte es:[edi], byte [esi]
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x480033
lea edi, [ebp - 0x20c]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x480045
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
lea eax, [ebp - 0x20c]
rep movsb byte es:[edi], byte [esi]
push eax
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
pop edi
test eax, eax
jne 0x480089
push ebx
lea edx, [ebp - 0x20c]
push edx
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [ebp - 0x108]
push ebx
push ecx
call fcn.004cabd0
mov esi, dword [ebp - 0x31c]
mov eax, dword [esi + 0x60]
add esp, 8
lea edx, [ebp - 0x314]
add eax, 0x1230
lea ecx, [ecx]
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
cmp cl, bl
jne 0x4800b0
mov eax, dword [esi + 0x60]
lea edx, [ebp - 0x318]
add eax, 0x1334
mov cl, byte [edx]
mov byte [eax], cl
inc edx
inc eax
cmp cl, bl
jne 0x4800c8
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.004fe1f5
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x60]
add eax, 0x1230
lea edx, [ebp - 0x314]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x4800f2
lea esp, [esp]
lea edx, [ebp - 0x314]
push 0x56e830
push edx
call fcn.004ff027
add esp, 8
test eax, eax
je 0x480178
lea eax, [ebp - 0x314]
push 0x56e82c
push eax
call fcn.004ff027
add esp, 8
test eax, eax
je 0x480178
lea ecx, [ebp - 0x314]
push 0x56e828
push ecx
call fcn.004ff027
add esp, 8
test eax, eax
je 0x480178
lea edx, [ebp - 0x314]
push 0x56e824
push edx
call fcn.004ff027
add esp, 8
test eax, eax
je 0x480178
lea eax, [ebp - 0x314]
push 0x55fe80
push eax
call fcn.004ff027
add esp, 8
test eax, eax
jne 0x4801c5
call fcn.00502ef3
cdq
mov ecx, 0x1a
idiv ecx
add dl, 0x61
mov byte [ebp - 0x314], dl
call fcn.00502ef3
cdq
mov ecx, 0x1a
idiv ecx
add dl, 0x61
mov byte [ebp - 0x313], dl
call fcn.00502ef3
cdq
mov ecx, 0x1a
idiv ecx
mov byte [ebp - 0x311], bl
add dl, 0x61
mov byte [ebp - 0x312], dl
jmp 0x480100
mov eax, dword [esi + 0x60]
add eax, 0x1334
lea edx, [ebp - 0x318]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x4801d5
nop
lea edx, [ebp - 0x318]
push 0x56e830
push edx
call fcn.004ff027
add esp, 8
test eax, eax
je 0x48025c
lea eax, [ebp - 0x314]
push 0x56e82c
push eax
call fcn.004ff027
add esp, 8
test eax, eax
je 0x48025c
lea ecx, [ebp - 0x318]
push 0x56e828
push ecx
call fcn.004ff027
add esp, 8
test eax, eax
je 0x48025c
lea edx, [ebp - 0x318]
push 0x56e824
push edx
call fcn.004ff027
add esp, 8
test eax, eax
je 0x48025c
lea eax, [ebp - 0x318]
push 0x55fe74
push eax
call fcn.004ff027
add esp, 8
test eax, eax
jne 0x47f8ea
call fcn.00502ef3
cdq
mov ecx, 0x1a
idiv ecx
add dl, 0x61
mov byte [ebp - 0x318], dl
call fcn.00502ef3
cdq
mov ecx, 0x1a
idiv ecx
add dl, 0x61
mov byte [ebp - 0x317], dl
call fcn.00502ef3
cdq
mov ecx, 0x1a
idiv ecx
mov byte [ebp - 0x315], bl
add dl, 0x61
mov byte [ebp - 0x316], dl
jmp 0x4801e0