Function at 0x449a10
Capabilities:
Delete file
Encode data using xor

Disassembly:
sub esp, 0x20
mov eax, dword [esp + 0x24]
mov dword [0x45e7af4], 0x227
mov dword [0x45f1a70], 0
push ebx
mov ecx, dword [eax]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [esp + 8], ecx
mov edx, dword [eax + 4]
push edi
mov dword [esp + 0x10], edx
push str.data_album_2.dat
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], ecx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x1c], edx
call esi
push str.data_album_3.dat
call esi
push str.data_album_10.dat
call esi
mov esi, 0x4583814
xor edi, edi
push 0xff
push 1
call fcn.004472e0
push 0xff
push 1
mov byte [esi + edi - 0x4c], al
call fcn.004472e0
add esp, 0x10
mov byte [esi + edi - 0x3b], al
inc edi
cmp edi, 0x11
jl 0x449a6b
push 0xea60
push 1
mov dword [esi], 0
call fcn.004472e0
push 0x7530
push 1
mov dword [esi - 0x28], eax
call fcn.004472e0
push 0x7530
push 1
mov dword [esi - 0x24], eax
call fcn.004472e0
push 0x7530
push 1
mov dword [esi - 0x28], eax
call fcn.004472e0
push 0x7530
push 1
mov dword [esi - 0x20], eax
call fcn.004472e0
push 0x7530
push 1
mov dword [esi - 0x1c], eax
call fcn.004472e0
push 0x7530
push 1
mov dword [esi - 0x18], eax
call fcn.004472e0
push 0x7530
push 1
mov dword [esi - 0x14], eax
call fcn.004472e0
add esp, 0x40
mov dword [esi - 0x10], eax
push 0x7530
push 1
call fcn.004472e0
push 0x7530
push 1
mov dword [esi - 0xc], eax
call fcn.004472e0
push 0x7530
push 1
mov dword [esi - 8], eax
call fcn.004472e0
mov dword [esi - 4], eax
add esi, 0x50
add esp, 0x18
cmp esi, 0x458d274
jl 0x449a69
push 0x49e468
push str.data_album_37.dat
call fcn.00492394
mov edi, eax
add esp, 8
test edi, edi
jne 0x449c07
push 0x49e450
push str.data_album_37.dat
call fcn.00492394
mov esi, eax
add esp, 8
test esi, esi
je 0x449d96
mov al, byte [esp + 0x1b]
push 0x64
and al, 0xf
push 1
mov byte [esp + 0x23], al
call fcn.004472e0
movsx ecx, byte [esp + 0x23]
add esp, 8
mov byte [esp + ecx + 0xc], al
xor ecx, ecx
mov eax, 0x4c107c
mov dl, byte [eax]
mov bl, byte [esp + ecx + 0xc]
xor bl, dl
add eax, 4
mov byte [esp + ecx + 0xc], bl
inc ecx
cmp eax, 0x4c10bc
jl 0x449bb2
push esi
push 1
lea eax, [esp + 0x14]
push 0x10
push eax
call fcn.0049226a
add esp, 0x10
cmp eax, 1
jb 0x449bf5
push esi
push 0x1ee
push 0x50
push 0x45837c8
call fcn.0049226a
add esp, 0x10
push esi
call fcn.00492214
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 0x20
ret
push edi
push 1
lea ecx, [esp + 0x24]
push 0x10
push ecx
call fcn.0049212c
add esp, 0x10
cmp eax, 1
jb 0x449ca4
xor ecx, ecx
mov eax, 0x4c107c
mov dl, byte [eax]
add eax, 4
xor byte [esp + ecx + 0x1c], dl
inc ecx
cmp eax, 0x4c10bc
jl 0x449c29
mov al, byte [esp + 0x2b]
lea esi, [esp + 0x1c]
and al, 0xf
mov byte [esp + 0x2b], al
movsx eax, al
mov byte [esp + eax + 0x1c], 0
lea eax, [esp + 0xc]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x449c78
test cl, cl
je 0x449c74
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x449c78
add eax, 2
add esi, 2
test cl, cl
jne 0x449c54
xor eax, eax
jmp 0x449c7d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x449d9f
push 1
push 0x9a60
push edi
call fcn.004920a0
add esp, 0xc
test eax, eax
jne 0x449cff
inc dword [0x45f1a70]
jmp 0x449c07
mov bl, byte [esp + 0x1b]
push 0x64
and bl, 0xf
push 1
mov byte [esp + 0x23], bl
call fcn.004472e0
movsx ecx, byte [esp + 0x23]
add esp, 8
mov byte [esp + ecx + 0xc], al
xor ecx, ecx
mov eax, 0x4c107c
mov dl, byte [eax]
mov bl, byte [esp + ecx + 0xc]
xor bl, dl
add eax, 4
mov byte [esp + ecx + 0xc], bl
inc ecx
cmp eax, 0x4c10bc
jl 0x449ccb
push edi
push 1
lea eax, [esp + 0x14]
push 0x10
push eax
call fcn.0049226a
add esp, 0x10
cmp eax, 1
jb 0x449d8d
jmp 0x449d78
mov ecx, dword [0x45f1a70]
push 0
mov eax, ecx
shl eax, 5
sub eax, ecx
shl eax, 3
sub eax, ecx
lea edx, [eax + eax*4]
lea eax, [ecx + edx*2]
shl eax, 4
push eax
push edi
call fcn.004920a0
mov bl, byte [esp + 0x27]
push 0x64
and bl, 0xf
push 1
mov byte [esp + 0x2f], bl
call fcn.004472e0
movsx ecx, byte [esp + 0x2f]
add esp, 0x14
mov byte [esp + ecx + 0xc], al
xor ecx, ecx
mov eax, 0x4c107c
mov dl, byte [eax]
mov bl, byte [esp + ecx + 0xc]
xor bl, dl
add eax, 4
mov byte [esp + ecx + 0xc], bl
inc ecx
cmp eax, 0x4c10bc
jl 0x449d4a
push edi
push 1
lea eax, [esp + 0x14]
push 0x10
push eax
call fcn.0049226a
add esp, 0x10
cmp eax, 1
jb 0x449d8d
push edi
push 0x1ee
push 0x50
push 0x45837c8
call fcn.0049226a
add esp, 0x10
push edi
call fcn.00492214
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x20
ret
push edi
push 0x1ee
push 0x50
push 0x45837c8
call fcn.0049212c
add esp, 0x10
cmp eax, 0x1ee
push edi
jae 0x449ddf
push 0x1ee
push 0x50
push 0x45837c8
call fcn.0049226a
push edi
call fcn.00492214
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 0x20
ret
call fcn.00492214
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
add esp, 0x20
ret