Function at 0x4146d0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
push esi
mov eax, 0x24f9a80
push edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4146e1
sub eax, edx
je 0x4159b5
push 0x24f9a80
push str.Attempting_to_access__s
push 0x276a
push str.ParseContentsXML
push 4
call fcn.00401210
add esp, 0x14
push 0x800
mov edx, 0x42d5ec
mov ecx, 0x24f9a80
call fcn.00410f40
add esp, 4
push str.Trying_get_filesize__calling_fseek__
push 0x24b0
push str.ReturnFileSize
push 5
mov esi, eax
call fcn.00401210
push 2
push 0
push 0
push esi
call fcn.0041935a
push esi
call fcn.0041809e
add esp, 0x24
push 0
push 0
push 0
push esi
mov edi, eax
mov ebx, edx
call fcn.0041935a
push ebx
push edi
push str.CONTENTS.xml_file_size_is__lld_bytes
push 0x276e
push str.ParseContentsXML
push 5
call fcn.00401210
mov eax, edi
add esp, 0x28
or eax, ebx
jne 0x4147a3
push str.__contentsxml_file_size_was_0_bytes__
push 0x2772
push str.ParseContentsXML
push 4
call fcn.00401210
add esp, 0x10
push 1
call fcn.004017c0
lea eax, [edi + 1]
push 1
push eax
mov dword [ebp - 0xc], eax
call fcn.004183c1
mov ebx, eax
add esp, 8
mov dword [ebp - 8], ebx
test ebx, ebx
jne 0x4147e6
mov ecx, dword [ebp - 0xc]
push 0x24f9a80
push ecx
push str.Falled_to_allocate_a_buffer_of__zu_bytes_to_store_contents.xml_you_provided___s___free_some_memory_and_try_again.
push 0x277a
push str.ParseContentsXML
push 1
call fcn.00401210
add esp, 0x18
push 1
call fcn.004017c0
push esi
push edi
push 1
push ebx
call fcn.00419c29
push esi
mov dword [0x238a790], eax
mov dword [0x238a794], 0
call fcn.0041a4c4
mov edx, dword [0x238a790]
mov eax, dword [0x238a794]
add esp, 0x14
push str._windows_root_path
push ebx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
call fcn.00418fb0
add esp, 8
test eax, eax
je 0x41498d
nop
mov ecx, dword [ebp - 0x34]
sub eax, ebx
add eax, 0x12
cdq
cmp edx, ecx
jg 0x41485c
mov esi, dword [ebp - 0x38]
jl 0x414846
cmp eax, esi
jae 0x41485c
cmp byte [eax + ebx], 0x3e
je 0x41485c
add eax, 1
adc edx, 0
cmp edx, ecx
jl 0x414846
jg 0x41485c
cmp eax, esi
jb 0x414846
add eax, 1
mov esi, eax
lea eax, [esi + ebx]
adc edx, 0
push str.__windows_root_path_
push eax
mov edi, edx
mov dword [ebp - 0x14], eax
call fcn.00418fb0
add esp, 8
test eax, eax
je 0x415ad3
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0xc]
push ecx
push 0
push 0x800
sub eax, esi
sub eax, ebx
cdq
push edx
mov edx, dword [0x238a838]
push eax
imul edx, edx, 0x890
push edi
push esi
push 0
push 0
add edx, 0x3a1b4a8
push ebx
push edx
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x415c7f
mov eax, dword [0x238a838]
imul eax, eax, 0x890
mov dword [eax + 0x3a1b460], esi
lea esi, [eax + 0x3a1b4a8]
mov dword [eax + 0x3a1b464], edi
cmp byte [esi], 0x2e
jne 0x414966
mov eax, 0x24f9a80
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4148f0
sub eax, edx
xor ecx, ecx
jl 0x414966
jg 0x414904
cmp eax, 1
jbe 0x414966
mov dl, byte [eax + 0x24f9a80]
cmp dl, 0x2f
je 0x414927
cmp dl, 0x5c
je 0x414927
add eax, 0xffffffff
adc ecx, 0xffffffff
test ecx, ecx
jg 0x414904
jl 0x414966
cmp eax, 1
ja 0x414904
jmp 0x414966
test ecx, ecx
jl 0x414966
jg 0x414932
cmp eax, 1
jbe 0x414966
xor edx, edx
push edx
mov edx, dword [ebp - 0xc]
push edx
push 0
push 0x800
add eax, 1
adc ecx, 0
push ecx
push eax
push 0
push 0
push 0
push 0
push 0x24f9a80
push esi
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x415ca2
add dword [0x238a838], 1
mov eax, dword [ebp - 0x14]
push str._windows_root_path
adc dword [0x238a83c], 0
push eax
call fcn.00418fb0
add esp, 8
test eax, eax
jne 0x414830
mov eax, dword [0x238a830]
imul eax, eax, 0x890
mov byte [eax + 0x238d248], 0
push str._file_name
xor esi, esi
mov byte [eax + 0x238d249], 0
push ebx
mov dword [ebp - 0x24], esi
mov byte [ebp - 1], 1
mov byte [eax + 0x238d208], 0
call fcn.00418fb0
mov edi, eax
add esp, 8
test edi, edi
je 0x4152ea
jmp 0x4149d3
mov ebx, dword [ebp - 8]
push str._file_ref
add esi, ebx
push esi
call fcn.00418fb0
mov esi, eax
add esp, 8
test esi, esi
je 0x414a47
cmp esi, edi
jae 0x414a47
push 0x430880
push esi
call fcn.00418fb0
push str.ignore_
push esi
mov dword [ebp - 0x10], eax
call fcn.00418fb0
add esp, 0x10
test eax, eax
je 0x414a47
cmp eax, dword [ebp - 0x10]
jae 0x414a47
push 4
add eax, 8
push str.true
push eax
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x414a47
mov ecx, dword [ebp - 0x10]
push str.__file_ref_
push ecx
call fcn.00418fb0
add esp, 8
sub eax, ebx
cdq
mov esi, eax
mov dword [ebp - 0x24], edx
jmp 0x4152a8
mov eax, edi
sub eax, ebx
cdq
mov esi, eax
cmp byte [esi + ebx + 0xa], 0x3e
jne 0x414a5d
add edi, 0xb
jmp 0x414b67
lea edx, [esi + ebx]
push str.flavor_
push edx
call fcn.00418fb0
add esp, 8
test eax, eax
je 0x415ab7
add eax, 8
mov dword [ebp - 0x14], eax
sub eax, ebx
cdq
mov esi, eax
mov ecx, edx
cmp edx, dword [ebp - 0x34]
jg 0x414aa7
jl 0x414a8f
cmp esi, dword [ebp - 0x38]
jae 0x414aa7
cmp byte [eax + ebx], 0x22
je 0x414aa7
add eax, 1
adc ecx, 0
cmp ecx, dword [ebp - 0x34]
jl 0x414a8f
jg 0x414aa7
cmp eax, dword [ebp - 0x38]
jb 0x414a8f
mov edi, dword [ebp - 0xc]
push 0
push edi
push 0
push 0x40
sub eax, esi
sbb ecx, edx
push ecx
push eax
mov eax, dword [0x238a830]
push edx
imul eax, eax, 0x890
push esi
push 0
push 0
add eax, 0x238d208
push ebx
push eax
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x415ae1
mov eax, dword [0x238a830]
imul eax, eax, 0x890
lea eax, [eax + 0x238d208]
mov dword [ebp - 0x10], eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414af6
sub eax, edx
mov edx, eax
mov eax, 0x238b9c0
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414b10
sub eax, edi
cmp edx, eax
jbe 0x414b1f
mov eax, edx
mov ecx, dword [ebp - 0x10]
push eax
push 0x238b9c0
push ecx
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x4152a8
mov eax, dword [0x238a830]
imul eax, eax, 0x890
add eax, 0x238d208
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414b50
sub eax, edx
mov edx, dword [ebp - 0x14]
lea edi, [edx + eax + 2]
mov eax, edi
sub eax, ebx
cdq
mov esi, eax
sub esi, 1
sbb edx, 0
js 0x414b8d
jg 0x414b76
cmp esi, 1
jbe 0x414b8d
cmp byte [esi + ebx], 0x3c
je 0x414b8d
add esi, 0xffffffff
adc edx, 0xffffffff
test edx, edx
jg 0x414b76
jl 0x414b8d
cmp esi, 1
ja 0x414b76
mov eax, edi
sub eax, ebx
cdq
add esi, ebx
push str._partition_file
push esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
call fcn.00418fb0
mov edi, dword [ebp - 0x28]
add esp, 8
test eax, eax
je 0x414bc9
lea ecx, [edi + ebx]
cmp eax, ecx
jae 0x414bc9
mov edx, dword [0x238a830]
imul edx, edx, 0x890
mov byte [edx + 0x238d249], 0x72
push str._partition_patch_file
push esi
call fcn.00418fb0
add esp, 8
test eax, eax
je 0x414bf5
lea ecx, [edi + ebx]
cmp eax, ecx
jae 0x414bf5
mov edx, dword [0x238a830]
imul edx, edx, 0x890
mov byte [edx + 0x238d249], 0x70
push str.storage_type
push esi
call fcn.00418fb0
add esp, 8
test eax, eax
je 0x414ccb
lea ecx, [edi + ebx]
cmp eax, ecx
jae 0x414ccb
mov cl, byte [eax + 0xe]
cmp cl, 0x65
jne 0x414c47
cmp byte [eax + 0xf], 0x6d
jne 0x414c47
cmp byte [eax + 0x10], 0x6d
jne 0x414c47
cmp byte [eax + 0x11], 0x63
jne 0x414c47
mov edx, dword [0x238a830]
imul edx, edx, 0x890
mov byte [edx + 0x238d248], cl
jmp 0x414ccb
cmp cl, 0x75
jne 0x414c6b
cmp byte [eax + 0xf], 0x66
jne 0x414c6b
cmp byte [eax + 0x10], 0x73
jne 0x414c6b
mov eax, dword [0x238a830]
imul eax, eax, 0x890
mov byte [eax + 0x238d248], cl
jmp 0x414ccb
cmp cl, 0x6e
jne 0x414c96
cmp byte [eax + 0xf], 0x61
jne 0x414c96
cmp byte [eax + 0x10], cl
jne 0x414c96
cmp byte [eax + 0x11], 0x64
jne 0x414c96
mov ecx, dword [0x238a830]
imul ecx, ecx, 0x890
mov byte [ecx + 0x238d248], 0x6e
jmp 0x414ccb
cmp cl, 0x73
jne 0x414ccb
cmp byte [eax + 0xf], 0x70
jne 0x414ccb
cmp byte [eax + 0x10], 0x69
jne 0x414ccb
cmp byte [eax + 0x11], 0x6e
jne 0x414ccb
cmp byte [eax + 0x12], 0x6f
jne 0x414ccb
cmp byte [eax + 0x13], 0x72
jne 0x414ccb
mov edx, dword [0x238a830]
imul edx, edx, 0x890
mov byte [edx + 0x238d248], cl
lea eax, [edi + ebx]
push str.__file_name_
push eax
call fcn.00418fb0
add esp, 8
test eax, eax
je 0x415b05
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0xc]
push ecx
push 0
sub eax, edi
push 0x40
sub eax, ebx
cdq
push edx
mov edx, dword [ebp - 0x24]
push eax
mov eax, dword [0x238a830]
push edx
imul eax, eax, 0x890
push edi
push 0
push 0
add eax, 0x238c9c8
push ebx
push eax
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x415b26
mov edx, dword [0x238a830]
imul edx, edx, 0x890
lea edx, [edx + 0x238c9c8]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414d38
sub eax, esi
cmp eax, 0xb
ja 0x414d4b
mov eax, 0xb
push eax
push str.qdsp6sw.mbn
push edx
call fcn.004182c7
mov eax, dword [0x238a830]
mov ecx, dword [ebp - 0x28]
imul eax, eax, 0x890
mov edx, dword [ebp - 0x24]
mov dword [eax + 0x238c9c0], ecx
mov dword [eax + 0x238c9c4], edx
lea edi, [eax + 0x238c9c8]
mov eax, edi
lea edx, [eax + 1]
add esp, 0xc
xor ecx, ecx
xor esi, esi
mov dword [ebp - 0x14], edx
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x414d90
sub eax, dword [ebp - 0x14]
mov edx, eax
xor eax, eax
mov dword [ebp - 0x14], edx
jl 0x414dd0
jg 0x414db0
test edx, edx
je 0x414dd0
lea esp, [esp]
mov dl, byte [edi + ecx]
cmp dl, 0x2a
je 0x414dbd
cmp dl, 0x24
jne 0x414dc0
mov byte [ebp - 1], al
add ecx, 1
adc esi, eax
cmp esi, eax
jl 0x414db0
jg 0x414dd0
cmp ecx, dword [ebp - 0x14]
jb 0x414db0
mov esi, dword [ebp - 0x28]
lea eax, [esi + ebx]
push str._file_path
push eax
call fcn.00418fb0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x415b49
lea eax, [ecx + 0xa]
sub eax, ebx
cmp byte [ecx + 0xa], 0x20
cdq
mov esi, eax
mov edi, edx
jne 0x414f59
lea eax, [esi + ebx]
push 0x430880
push eax
call fcn.00418fb0
add esp, 8
mov dword [ebp - 0x14], eax
lea ecx, [esi + ebx]
push str.flavor
push ecx
call fcn.00418fb0
add esp, 8
test eax, eax
je 0x414f03
cmp eax, dword [ebp - 0x14]
ja 0x414f03
add eax, 8
sub eax, ebx
cdq
mov edi, edx
mov esi, eax
mov ecx, edi
cmp edi, dword [ebp - 0x34]
jg 0x414e68
jl 0x414e50
cmp esi, dword [ebp - 0x38]
jae 0x414e68
cmp byte [eax + ebx], 0x22
je 0x414e68
add eax, 1
adc ecx, 0
cmp ecx, dword [ebp - 0x34]
jl 0x414e50
jg 0x414e68
cmp eax, dword [ebp - 0x38]
jb 0x414e50
xor edx, edx
push edx
mov edx, dword [ebp - 0xc]
push edx
push 0
push 0x40
sub eax, esi
sbb ecx, edi
push ecx
push eax
mov eax, dword [0x238a830]
push edi
imul eax, eax, 0x890
push esi
push 0
push 0
add eax, 0x238d208
push ebx
push eax
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x415b6a
mov eax, 0x238b9c0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414eb0
sub eax, edx
mov edx, eax
je 0x414f32
mov eax, dword [0x238a830]
imul eax, eax, 0x890
lea eax, [eax + 0x238d208]
lea ecx, [eax + 1]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x414ed7
sub eax, dword [ebp - 0x18]
cmp eax, edx
ja 0x414ee7
mov eax, edx
mov edx, dword [ebp - 0x10]
push eax
push 0x238b9c0
push edx
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x414e16
jmp 0x414f32
mov eax, dword [0x238a830]
imul eax, eax, 0x890
add eax, 0x238c9c8
push eax
push 0x238b9c0
push 0x434724
push 0x28c1
push str.ParseContentsXML
push 4
call fcn.00401210
add esp, 0x18
lea ecx, [esi + ebx]
push 0x430880
push ecx
call fcn.00418fb0
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x415b79
cmp ecx, dword [ebp - 0x14]
ja 0x415b97
inc ecx
jmp 0x414f5c
add ecx, 0xb
mov eax, ecx
sub eax, ebx
cdq
mov edi, eax
mov esi, edx
lea edx, [edi + ebx]
push str.__file_path_
push edx
mov dword [ebp - 0x28], edi
call fcn.00418fb0
add esp, 8
test eax, eax
je 0x415bc9
xor ecx, ecx
push ecx
mov ecx, dword [ebp - 0xc]
push ecx
push 0
push 0x100000
sub eax, edi
sub eax, ebx
cdq
push edx
push eax
push esi
push edi
push 0
push 0
push ebx
push 0x253b2c0
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x415be7
mov edx, dword [0x238a830]
xor eax, eax
mov dword [ebp - 0x2c], eax
cmp dword [0x238a83c], eax
jl 0x41502b
jg 0x414fcf
cmp dword [0x238a838], eax
jbe 0x41502b
mov ecx, edx
imul ecx, ecx, 0x890
mov esi, dword [ecx + 0x238c9c0]
mov dword [ebp - 0x50], esi
mov esi, dword [ecx + 0x238c9c4]
jmp 0x414ff0
mov ecx, eax
imul ecx, ecx, 0x890
cmp dword [ecx + 0x3a1b464], esi
jg 0x41502b
jl 0x41500d
mov ecx, dword [ecx + 0x3a1b460]
cmp ecx, dword [ebp - 0x50]
ja 0x41502b
mov ecx, dword [ebp - 0x2c]
add eax, 1
adc ecx, 0
mov dword [ebp - 0x2c], ecx
cmp ecx, dword [0x238a83c]
jl 0x414ff0
jg 0x41502b
cmp eax, dword [0x238a838]
jb 0x414ff0
imul eax, eax, 0x890
lea esi, [eax + 0x3a1ac18]
mov eax, esi
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415040
push 0
imul edx, edx, 0x890
push 0x800
push 0
push 0x800
push 0
sub eax, edi
push eax
push 0
push 0
push 0
push 0
add edx, 0x238ca08
push esi
push edx
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x415c0a
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415088
mov ecx, dword [0x238a830]
sub eax, edx
imul ecx, ecx, 0x890
lea ecx, [ecx + 0x238ca08]
mov esi, eax
mov eax, ecx
lea edi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4150b0
push 0
push 0x800
push 0
push 0x800
push 0
push esi
push 0
push 0
push 0
sub eax, edi
push eax
push 0x253b2c0
push ecx
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x415c2d
mov edi, dword [0x238a830]
xor edx, edx
xor esi, esi
imul edi, edi, 0x890
mov dword [ebp - 0x14], edi
lea edi, [edi + 0x238ca08]
mov ecx, edi
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x415105
sub ecx, ebx
xor eax, eax
mov dword [ebp - 0x10], ecx
jl 0x415138
jg 0x415120
test ecx, ecx
je 0x415138
jmp 0x415120
cmp byte [edi + edx], 0x2a
jne 0x415129
mov byte [ebp - 1], al
add edx, 1
adc esi, eax
cmp esi, eax
jl 0x415120
jg 0x415138
cmp edx, ecx
jb 0x415120
cmp byte [ebp - 1], al
je 0x415286
xor ecx, ecx
xor ebx, ebx
xor esi, esi
xor edx, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x44], ebx
test eax, eax
jl 0x415186
jg 0x415160
cmp dword [ebp - 0x10], eax
jbe 0x415183
lea ecx, [ecx]
mov bl, byte [edi + ecx]
cmp bl, 0x24
jne 0x41516e
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
cmp bl, 0x3a
je 0x4151ea
add ecx, 1
adc edx, eax
cmp edx, eax
jl 0x415160
jg 0x415183
cmp ecx, dword [ebp - 0x10]
jb 0x415160
mov ebx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x30]
cmp byte [ecx + edx + 0x238ca09], 0x5c
je 0x415210
cmp dword [ebp - 0x2c], eax
jl 0x415210
jg 0x4151a1
cmp ecx, eax
jbe 0x415210
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x40], edx
mov edx, eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x1c], eax
cmp eax, edx
jg 0x415210
jl 0x4151c5
mov eax, dword [ebp - 0x40]
cmp ecx, eax
jae 0x415210
mov eax, dword [ebp - 0x1c]
mov dl, byte [edi + esi]
cmp dl, 0x7d
jne 0x4151f5
add esi, 1
adc ebx, 0
mov byte [edi + ecx], 0x5c
cmp byte [edi + esi], 0
jne 0x4151f8
mov edx, dword [ebp - 0x14]
mov byte [ecx + edx + 0x238ca09], 0
jmp 0x4151fe
add ecx, 1
adc edx, eax
mov esi, ecx
mov ebx, edx
jmp 0x415186
mov byte [edi + ecx], dl
add esi, 1
adc ebx, 0
add ecx, 1
adc eax, 0
cmp eax, dword [ebp - 0x3c]
jl 0x4151c5
jg 0x415210
cmp ecx, dword [ebp - 0x40]
jb 0x4151c5
add dword [0x238a830], 1
adc dword [0x238a834], 0
cmp dword [0x238a774], 0
jl 0x415286
jg 0x415232
cmp dword [0x238a770], 0
jbe 0x415286
mov eax, dword [0x238a830]
imul eax, eax, 0x890
lea edi, [eax + 0x238c138]
call fcn.0040fd50
test eax, eax
je 0x415286
mov eax, dword [0x238a830]
imul eax, eax, 0x890
lea ecx, [eax + 0x238c138]
push ecx
push str._s_is_being_SKIPPED_since_it_was_in___notfiles_provided_by_the_user_at_the_command_line
push 0x2974
push str.ParseContentsXML
push 4
call fcn.00401210
or eax, 0xffffffff
add esp, 0x14
add dword [0x238a830], eax
adc dword [0x238a834], eax
cmp dword [0x238a834], 0
jg 0x415c50
jl 0x4152a5
cmp dword [0x238a830], 0xc8
jae 0x415c50
mov esi, dword [ebp - 0x28]
mov eax, dword [0x238a830]
mov edx, dword [ebp - 8]
imul eax, eax, 0x890
mov byte [eax + 0x238d248], 0
mov byte [eax + 0x238d249], 0
mov byte [eax + 0x238d208], 0
lea eax, [esi + edx]
push str._file_name
push eax
mov byte [ebp - 1], 1
call fcn.00418fb0
mov edi, eax
add esp, 8
test edi, edi
jne 0x4149d0
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
cmp dword [0x238a834], eax
jl 0x4153ad
jg 0x415310
cmp dword [0x238a830], eax
jbe 0x4153ad
lea esp, [esp]
mov esi, dword [ebp - 0x20]
xor ecx, ecx
xor ebx, ebx
imul esi, esi, 0x890
mov dword [ebp - 0x18], esi
lea esi, [esi + 0x238ca08]
mov eax, esi
lea edi, [eax + 1]
jmp 0x415330
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x415330
sub eax, edi
je 0x41536a
jmp 0x415340
cmp byte [esi + ecx], 0x2f
jne 0x41534a
mov byte [esi + ecx], 0x5c
add ecx, 1
mov eax, esi
adc ebx, 0
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x415355
xor edx, edx
sub eax, edi
cmp ebx, edx
jl 0x415340
jg 0x41536a
cmp ecx, eax
jb 0x415340
mov eax, dword [ebp - 0x18]
cmp byte [eax + ecx + 0x238ca07], 0x5c
je 0x415383
mov byte [esi + ecx], 0x5c
mov byte [eax + ecx + 0x238ca09], 0
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x1c]
adc eax, 0
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x238a834]
jl 0x415310
jg 0x4153ad
mov ecx, dword [0x238a830]
cmp dword [ebp - 0x20], ecx
jb 0x415310
push str._n_nEMMC_n
push 0x299b
push str.ParseContentsXML
push 4
call fcn.00401210
xor ebx, ebx
add esp, 0x10
xor esi, esi
xor edi, edi
mov dword [ebp - 0x1c], ebx
cmp dword [0x238a834], ebx
jl 0x41543f
jg 0x4153e1
cmp dword [0x238a830], ebx
jbe 0x41543f
mov eax, ebx
imul eax, eax, 0x890
cmp byte [eax + 0x238d248], 0x65
jne 0x415421
lea edx, [eax + 0x238ca08]
push edx
add esi, 1
lea eax, [eax + 0x238c9c8]
push eax
adc edi, 0
push edi
push esi
push str.__2i___30s_____s
push 0x29a5
push str.ParseContentsXML
push 4
call fcn.00401210
add esp, 0x20
mov eax, dword [ebp - 0x1c]
add ebx, 1
adc eax, 0
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x238a834]
jl 0x4153e1
jg 0x41543f
cmp ebx, dword [0x238a830]
jb 0x4153e1
push str._n_nUFS_n
push 0x29aa
push str.ParseContentsXML
push 4
call fcn.00401210
xor ebx, ebx
add esp, 0x10
xor esi, esi
xor edi, edi
mov dword [ebp - 0x1c], ebx
cmp dword [0x238a834], ebx
jl 0x4154de
jg 0x415480
cmp dword [0x238a830], ebx
jbe 0x4154de
jmp 0x415480
mov eax, ebx
imul eax, eax, 0x890
cmp byte [eax + 0x238d248], 0x75
jne 0x4154c0
lea ecx, [eax + 0x238ca08]
push ecx
add esi, 1
lea edx, [eax + 0x238c9c8]
push edx
adc edi, 0
push edi
push esi
push str.__2i___30s_____s
push 0x29b3
push str.ParseContentsXML
push 4
call fcn.00401210
add esp, 0x20
mov eax, dword [ebp - 0x1c]
add ebx, 1
adc eax, 0
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x238a834]
jl 0x415480
jg 0x4154de
cmp ebx, dword [0x238a830]
jb 0x415480
push str._n_nSPINOR_n
push 0x29b9
push str.ParseContentsXML
push 4
call fcn.00401210
xor ebx, ebx
add esp, 0x10
xor esi, esi
xor edi, edi
mov dword [ebp - 0x1c], ebx
cmp dword [0x238a834], ebx
jl 0x41557e
jg 0x415520
cmp dword [0x238a830], ebx
jbe 0x41557e
jmp 0x415520
mov eax, ebx
imul eax, eax, 0x890
cmp byte [eax + 0x238d248], 0x73
jne 0x415560
lea ecx, [eax + 0x238ca08]
push ecx
add esi, 1
lea edx, [eax + 0x238c9c8]
push edx
adc edi, 0
push edi
push esi
push str.__2i___30s_____s
push 0x29c2
push str.ParseContentsXML
push 4
call fcn.00401210
add esp, 0x20
mov eax, dword [ebp - 0x1c]
add ebx, 1
adc eax, 0
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x238a834]
jl 0x415520
jg 0x41557e
cmp ebx, dword [0x238a830]
jb 0x415520
push str._n_nBOTH_n
push 0x29c9
push str.ParseContentsXML
push 4
call fcn.00401210
xor edi, edi
add esp, 0x10
xor ebx, ebx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
cmp dword [0x238a834], edi
jl 0x415647
jg 0x4155c0
cmp dword [0x238a830], ebx
jbe 0x415647
jmp 0x4155c0
mov esi, dword [ebp - 0x20]
imul esi, esi, 0x890
lea eax, [esi + 0x238c9c8]
push str.prog_emmc
push eax
mov dword [ebp - 0x18], eax
call fcn.00418fb0
add esp, 8
test eax, eax
je 0x4155ec
mov eax, dword [ebp - 0x20]
mov dword [0x437408], eax
cmp byte [esi + 0x238d248], 0
jne 0x415621
mov edx, dword [ebp - 0x18]
lea ecx, [esi + 0x238ca08]
push ecx
push edx
add edi, 1
adc ebx, 0
push ebx
push edi
push str.__2i___36s___s
push 0x29d9
push str.ParseContentsXML
push 4
call fcn.00401210
add esp, 0x20
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x1c]
adc eax, 0
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x238a834]
jl 0x4155c0
jg 0x415647
mov eax, dword [ebp - 0x20]
cmp eax, dword [0x238a830]
jb 0x4155c0
cmp byte [0x238a85f], 0
je 0x4159a9
push 0x800
xor edi, edi
push edi
push 0x23f8260
call fcn.0041d060
mov eax, 0x23f9260
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415671
push edi
push 0x800
push edi
push 0x800
push edi
sub eax, edx
push eax
push edi
push edi
push edi
push edi
push 0x23f9260
push 0x23f8260
call fcn.0040b1b0
add esp, 0x30
or eax, edx
jne 0x4156e8
mov eax, 0x23f9260
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4156b0
sub eax, edx
push eax
push 0x23f9260
push str.Failed_to_copy_string__s_of_length__lld_bytes_into_flattenbuildto
push 0x29eb
push str.ParseContentsXML
push 1
call fcn.00401210
mov ecx, dword [ebp - 8]
push ecx
call fcn.00418387
add esp, 0x1c
push 1
call fcn.004017c0
mov eax, 0x3a866a8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4156f0
sub eax, edx
mov edx, eax
mov eax, 0x23f8260
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415703
xor ecx, ecx
push ecx
push edx
push edi
push 0x800
push ecx
push edx
push edi
push edi
push edi
sub eax, esi
push eax
push 0x3a866a8
push 0x23f8260
call fcn.0040b1b0
add esp, 0x30
or eax, edx
jne 0x415778
mov eax, 0x3a866a8
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415740
sub eax, edx
push eax
push 0x3a866a8
push str.Failed_to_copy_string__s_of_length__lld_bytes_into_flattenbuildto
push 0x29f2
push str.ParseContentsXML
push 1
call fcn.00401210
mov edx, dword [ebp - 8]
push edx
call fcn.00418387
add esp, 0x1c
push 1
call fcn.004017c0
push str._n_nCopy_XML_files_n
push 0x29f8
push str.ParseContentsXML
push 4
call fcn.00401210
add esp, 0x10
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
cmp dword [0x238a834], edi
jl 0x4159a9
jg 0x4157b1
cmp dword [0x238a830], edi
jbe 0x4159a9
mov esi, dword [ebp - 0x20]
imul esi, esi, 0x890
lea edi, [esi + 0x238c9c8]
push str..xml
push edi
call fcn.00418fb0
push str.firehose
push edi
mov ebx, eax
call fcn.00418fb0
add esp, 0x10
test ebx, ebx
jne 0x4157e7
test eax, eax
je 0x41597f
mov al, byte [esi + 0x238d248]
cmp byte [0x3b86ea8], al
je 0x4157fd
test al, al
jne 0x41597f
lea esi, [esi + 0x238ca08]
push esi
push edi
push 0
push 0
push str.__2i___36s___s
push 0x2a08
push str.ParseContentsXML
push 4
call fcn.00401210
mov eax, esi
add esp, 0x20
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x415827
push 0
push 0x800
push 0
push 0x100000
push 0
sub eax, ecx
push eax
push 0
push 0
push 0
push 0
push esi
push 0x277b380
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x4159bc
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415864
sub eax, edx
mov edx, eax
mov eax, 0x277b380
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415877
xor ecx, ecx
push ecx
push edx
push ecx
push 0x100000
push ecx
push edx
push ecx
push ecx
push ecx
sub eax, esi
push eax
push edi
push 0x277b380
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x4159ea
push 0x800
push 0
push 0x23f8260
call fcn.0041d060
mov eax, 0x23f9260
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4158c2
push 0
push 0x800
push 0
push 0x800
push 0
sub eax, edx
push eax
push 0
push 0
push 0
push 0
push 0x23f9260
push 0x23f8260
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x415a2a
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415903
sub eax, edx
mov edx, eax
mov eax, 0x23f8260
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415916
xor ecx, ecx
push ecx
push edx
push ecx
push 0x800
push ecx
push edx
push ecx
push ecx
push ecx
sub eax, esi
push eax
push edi
push 0x23f8260
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x415a60
mov ecx, 0x277b380
call fcn.00415cd0
cmp eax, 0xffffffff
je 0x415a8e
test eax, eax
jne 0x41597f
push 0x23f8260
push 0x277b380
push str.Copied__s_n_t_t_tto__s_n_n
push 0x2a32
push str.ParseContentsXML
push 4
call fcn.00401210
add esp, 0x18
add dword [ebp - 0x20], 1
mov eax, dword [ebp - 0x1c]
adc eax, 0
mov dword [ebp - 0x1c], eax
cmp eax, dword [0x238a834]
jl 0x4157b1
jg 0x4159a9
mov eax, dword [ebp - 0x20]
cmp eax, dword [0x238a830]
jb 0x4157b1
mov eax, dword [ebp - 8]
push eax
call fcn.00418387
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x890
lea edx, [eax + 0x238ca08]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4159d0
sub eax, esi
push eax
push edx
push str.Failed_to_copy_string__s_of_length__lld_bytes_into_tx_buffer
push 0x2a0c
jmp 0x4156c9
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x890
lea edx, [eax + 0x238c9c8]
mov eax, edx
lea esi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415a00
sub eax, esi
push eax
push edx
push str.Failed_to_copy_string__s_of_length__lld_bytes_into_tx_buffer
push 0x2a13
push str.ParseContentsXML
push 1
call fcn.00401210
mov edx, dword [ebp - 8]
push edx
jmp 0x4156d9
mov eax, 0x23f9260
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415a32
sub eax, edx
push eax
push 0x23f9260
push str.Failed_to_copy_string__s_of_length__lld_bytes_into_flattenbuildto
push 0x2a1e
push str.ParseContentsXML
push 1
call fcn.00401210
mov eax, dword [ebp - 8]
push eax
jmp 0x4156d9
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x890
lea edx, [eax + 0x238c9c8]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x415a74
sub eax, esi
push eax
push edx
push str.Failed_to_copy_string__s_of_length__lld_bytes_into_flattenbuildto
push 0x2a25
jmp 0x4156c9
push 0x23f8260
push 0x277b380
push str.Failed_to_copy__s_n_t_t_tto__s_n_n
push 0x2a2d
push str.ParseContentsXML
push 1
call fcn.00401210
mov edx, dword [ebp - 8]
push edx
jmp 0x4156d9
add esi, ebx
push esi
push str.Looks_like_fh_loader_cannot_parse_this_contents.xml_file._Confused_by_what_looked_like__file_name_flavor__shown_below_n_n_s
push 0x280b
push str.ParseContentsXML
push 1
call fcn.00401210
add esp, 0x14
push ebx
call fcn.00418387
add esp, 4
jmp 0x4156e1
push str.Failed_to_copy_string_into_ContensXML_NumContensXML_.Flavor
push 0x281e
push str.ParseContentsXML
push 1
call fcn.00401210
push ebx
call fcn.00418387
add esp, 0x14
jmp 0x4156e1
mov ecx, dword [ebp - 0x24]
push ecx
push edi
push str.2__XML_not_formed_correctly._Expected_one_SPACE_character_at_loc__d
push 0x2882
push str.ParseContentsXML
push 1
call fcn.00401210
push ebx
jmp 0x4156d9
push 1
push 0x42c55c
push str.Failed_to_copy__s_of_length__lld_bytes_into_fh.attrs.start_sector
push 0x2889
push str.ParseContentsXML
push 1
call fcn.00401210
push ebx
jmp 0x4156d9
mov edx, dword [ebp - 0x24]
push edx
push esi
push str.3__XML_not_formed_correctly._Expected_one_SPACE_character_at_loc__d
push 0x28aa
push str.ParseContentsXML
push 1
call fcn.00401210
push ebx
jmp 0x4156d9
push str.Failed_to_copy_string_into_ContensXML_NumContensXML_.Flavor
push 0x28d6
jmp 0x415aeb
push edi
push esi
push str.5__XML_not_formed_correctly._Expected_one_SPACE_character_at_loc__d
push 0x28ed
push str.ParseContentsXML
push 1
call fcn.00401210
push ebx
jmp 0x4156d9
mov eax, dword [0x238a830]
imul eax, eax, 0x890
add eax, 0x238c9c8
push eax
push 0x238b9c0
push str.Could_not_find_the___flavor_s_for_filename__s
push 0x28f4
push str.ParseContentsXML
push 1
call fcn.00401210
push ebx
jmp 0x4156d9
push esi
push edi
push str.6__XML_not_formed_correctly._Expected_one_SPACE_character_at_loc__d
push 0x2908
push str.ParseContentsXML
push 1
call fcn.00401210
push ebx
jmp 0x4156d9
push 1
push 0x42c55c
push str.Failed_to_copy__s_of_length__lld_bytes_into_fh.attrs.start_sector
push 0x2911
push str.ParseContentsXML
push 1
call fcn.00401210
push ebx
jmp 0x4156d9
push 1
push 0x42c55c
push str.Failed_to_copy__s_of_length__lld_bytes_into_fh.attrs.start_sector
push 0x2921
push str.ParseContentsXML
push 1
call fcn.00401210
push ebx
jmp 0x4156d9
push 1
push 0x42c55c
push str.Failed_to_copy__s_of_length__lld_bytes_into_fh.attrs.start_sector
push 0x2928
push str.ParseContentsXML
push 1
call fcn.00401210
push ebx
jmp 0x4156d9
push 0xc8
push str.More_than__i_entries_in_contents.xml__cant_continue
push 0x297c
push str.ParseContentsXML
push 1
call fcn.00401210
mov ecx, dword [ebp - 8]
add esp, 0x14
push ecx
call fcn.00418387
add esp, 4
jmp 0x4156e1
push 1
push 0x42c55c
push str.Failed_to_copy__s_of_length__lld_bytes_into_fh.attrs.start_sector
push 0x27a9
push str.ParseContentsXML
push 1
call fcn.00401210
push ebx
jmp 0x4156d9
push 1
push 0x42c55c
push str.Failed_to_copy__s_of_length__lld_bytes_into_fh.attrs.start_sector
push 0x27be
push str.ParseContentsXML
push 1
call fcn.00401210
push ebx
jmp 0x4156d9