Function at 0x5aeb00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x55c
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x52c], 0
test eax, eax
je 0x5aedf8
lea esi, [ebp - 0x51c]
mov dword [esp + 8], eax
lea ebx, [ebp - 0x418]
mov dword [esp + 4], str._tmp_tscrashguard__u.bin
mov dword [ebp - 0x544], esi
mov dword [esp], esi
call fcn.00723cb0
mov dword [esp], str.Saving_reboot_continuation_data_to__s...
call fcn.007101e8
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 0x400
mov dword [esp], ebx
call fcn.00723ce0
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x7da241
mov dword [esp], 3
call fcn.004fc8f0
mov dword [esp], 0x7da248
call dword [0x90d33c]
mov esi, dword [0x90d340]
mov dword [esp + 4], str.rebcont
mov edi, eax
mov dword [esp], 0
call esi
mov dword [esp + 4], eax
mov ebx, eax
mov dword [ebp - 0x53c], edi
mov dword [esp], edi
call dword [0x90d318]
mov dword [esp + 4], str.results
mov dword [esp], 0
call esi
mov edi, dword [0x90d2ec]
mov dword [esp + 4], eax
mov dword [ebp - 0x540], eax
mov dword [esp], ebx
call edi
mov edx, dword [ebp - 0x540]
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x53c]
mov dword [esp + 4], eax
mov eax, dword [0x900b58]
mov dword [esp], eax
call fcn.005ae750
cmp byte [0x90251c], 0
jne 0x5aee90
mov esi, dword [ebp + 8]
test esi, esi
je 0x5aec5b
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3cc]
test ecx, ecx
je 0x5aec5b
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.report
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x90d338]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x3cc]
mov dword [esp], eax
call fcn.004d4c00
sub esp, 4
mov edx, dword [0x905ce4]
test edx, edx
jne 0x5aef20
lea eax, [ebp - 0x528]
mov dword [esp + 0x10], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x52c]
mov dword [esp + 0xc], str.UTF_8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x53c]
mov dword [esp], eax
call dword [0x90d310]
mov ebx, dword [ebp - 0x528]
mov dword [esp], ebx
call fcn.00723968
mov edx, eax
test eax, eax
je 0x5aef72
mov dword [eax], ebx
mov dword [ebp - 0x524], ebx
mov dword [esp + 0xc], ebx
mov eax, dword [ebp - 0x52c]
mov dword [esp + 8], eax
lea eax, [ebp - 0x524]
mov dword [esp + 4], eax
lea eax, [edx + 4]
mov dword [ebp - 0x548], edx
mov dword [esp], eax
call fcn.0070fe68
mov dword [ebp - 0x540], eax
mov eax, dword [ebp - 0x524]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x528]
mov dword [esp + 4], str.compressed__d_bytes_to__d_n
mov dword [esp + 8], eax
mov dword [esp], 3
call fcn.004fc8f0
mov eax, dword [ebp - 0x524]
mov dword [ebp - 0x520], 0x79862369
mov edx, dword [ebp - 0x548]
cmp eax, 0xfffffffd
jl 0x5aed5d
mov edi, edx
lea esi, [edx + eax + 4]
lea ebx, [ebp - 0x520]
lea esi, [esi]
mov dword [esp], ebx
call fcn.004fd7d0
xor byte [edi], al
add edi, 1
cmp edi, esi
jne 0x5aed40
mov edx, dword [ebp - 0x548]
mov eax, dword [ebp - 0x524]
add eax, 4
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x544]
mov dword [ebp - 0x548], edx
mov dword [esp], eax
call fcn.0050c2b0
mov eax, dword [0x901fc0]
mov edx, dword [ebp - 0x548]
test eax, eax
jne 0x5aeee8
mov dword [esp], edx
call fcn.007238f0
mov eax, dword [ebp - 0x52c]
test eax, eax
je 0x5aedab
mov dword [esp], eax
mov eax, dword [0x90d320]
call dword [eax]
mov eax, dword [ebp - 0x53c]
mov dword [esp], eax
call dword [0x90d324]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.004022b0
mov eax, dword [ebp - 0x540]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x51c]
lea ebx, [ebp - 0x418]
mov esi, eax
mov dword [ebp - 0x544], eax
call fcn.005ae5f0
mov dword [esp], str.Saving_reboot_continuation_data_to__s...
call fcn.007101e8
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 0x400
mov dword [esp], ebx
call fcn.00723ce0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.004022b0
mov edi, dword [0x900414]
test edi, edi
jne 0x5aeb83
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x7da244
mov dword [esp], 0x5355
call fcn.004fc8f0
jmp 0x5aeb83
mov dword [esp + 4], str.ttsxscript
mov dword [esp], 0
call esi
mov dword [esp], ebx
mov esi, eax
mov dword [esp + 4], eax
call edi
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], esi
mov eax, dword [ebp - 0x53c]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00533cd0
jmp 0x5aec12
mov eax, dword [ebp - 0x524]
mov dword [esp + 4], edx
add eax, 4
mov dword [esp + 8], eax
mov dword [ebp - 0x544], edx
mov dword [esp], str.reboot_debug.bin
call fcn.0050c2b0
mov edx, dword [ebp - 0x544]
jmp 0x5aed8f
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.drives
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x90d338]
mov dword [esp + 0x10], 0
mov edx, dword [0x9021a8]
mov edx, dword [edx + 0xc]
mov dword [esp + 4], str.count
mov dword [esp], eax
mov dword [esp + 8], edx
sar edx, 0x1f
mov dword [esp + 0xc], edx
call fcn.004fb050
jmp 0x5aec69
mov dword [ebp - 0x540], 0xfffffff4
jmp 0x5aede6