Function at 0x411420
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x82c
mov eax, dword [0x4383f4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor edi, edi
push 0x800
mov edx, 0x42ea14
mov dword [ebp - 0x828], ecx
mov dword [ebp - 0x810], edi
mov dword [ebp - 0x80c], edi
call fcn.00412100
add esp, 4
push str.Trying_get_filesize__calling_fseek__
push 0x283d
push str.ReturnFileSize
push 5
mov esi, eax
call fcn.004016a0
push 2
push edi
push edi
push esi
call fcn.0041aa2a
push esi
call fcn.004190ae
add esp, 0x24
push edi
push edi
mov ebx, eax
push edi
push esi
mov dword [ebp - 0x820], ebx
mov dword [ebp - 0x81c], edx
call fcn.0041aa2a
inc ebx
push 1
push ebx
call fcn.0041973b
mov edi, eax
add esp, 0x18
mov dword [ebp - 0x814], edi
test edi, edi
jne 0x4114de
mov eax, dword [ebp - 0x828]
push eax
push ebx
push str.Falled_to_allocate_a_buffer_of__zu_bytes_to_store_read_the_file__s__reduce_the_file_size_or_free_some_memory_and_try_again.
push 0x21c4
push str.StoreXMLFile
push 2
call fcn.004016a0
add esp, 0x18
push 1
call fcn.00401c50
mov ecx, dword [ebp - 0x820]
push esi
push 1
push ecx
push edi
call fcn.0041b2f9
push esi
call fcn.0041bc41
add esp, 0x14
push str._options_
push edi
call fcn.0041a680
add esp, 8
test eax, eax
je 0x411530
push str._search_paths_
push edi
call fcn.0041a680
add esp, 8
test eax, eax
je 0x411530
push ebx
mov ebx, edi
call fcn.00415510
add esp, 4
call fcn.00417c50
jmp 0x411e5f
push str._magic_numbers_
push edi
call fcn.0041a680
add esp, 8
test eax, eax
je 0x411560
push str.Found_magic_numbers_tag__appears_to_be_a_partition_nand.xml__so_ignoring_this
push 0x21f1
push str.StoreXMLFile
push 3
jmp 0x411e57
mov edx, dword [ebp - 0x80c]
xor eax, eax
push eax
mov eax, dword [ebp - 0x820]
inc eax
push eax
mov eax, dword [ebp - 0x810]
push edx
push eax
push edi
mov byte [0x23b5c08], 0
call fcn.0040d260
mov esi, eax
mov ebx, edx
mov eax, 0x28dc8a0
add esp, 0x14
mov dword [ebp - 0x810], esi
mov dword [ebp - 0x80c], ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4115a1
sub eax, edx
cmp eax, 0x13
ja 0x4115b4
mov eax, 0x13
push eax
push str.parser_instructions
push 0x28dc8a0
call fcn.00419641
add esp, 0xc
test eax, eax
je 0x411e24
mov ecx, dword [ebp - 0x81c]
mov edx, dword [ebp - 0x820]
jmp 0x4115e0
mov al, byte [esi + edi]
cmp al, 0xa
je 0x4115f3
cmp al, 0xd
je 0x4115f3
cmp al, 9
je 0x4115f3
cmp al, 0x20
jne 0x411603
add esi, 1
adc ebx, 0
cmp ebx, ecx
jl 0x4115e0
jg 0x411603
cmp esi, edx
jb 0x4115e0
mov ecx, esi
or ecx, ebx
mov dword [ebp - 0x80c], ebx
mov dword [ebp - 0x810], esi
je 0x411e46
push 0x434614
push edi
call fcn.0041a680
add esp, 8
mov dword [ebp - 0x824], eax
test eax, eax
je 0x411e7f
cmp byte [0x4393af], 0
je 0x41165c
xor eax, eax
push eax
mov eax, dword [ebp - 0x820]
inc eax
push eax
push ebx
push esi
push edi
call fcn.0040d730
add esp, 0x14
or eax, edx
je 0x411ea5
mov eax, 0x28dc8a0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411664
sub eax, edx
cmp eax, 7
ja 0x411677
mov eax, 7
push eax
push 0x434654
push 0x28dc8a0
call fcn.00419641
add esp, 0xc
test eax, eax
jne 0x411a1f
cmp byte [0x23b653e], al
je 0x411875
push 0x100000
push eax
push 0x27dc8a0
call fcn.0041e920
mov ecx, 0xa
mov esi, 0x42ce80
mov edi, 0x27dc8a0
rep movsd dword es:[edi], dword [esi]
add esp, 0xc
push 0x27dc8a0
mov eax, str._data__n
movsb byte es:[edi], byte [esi]
call fcn.0040c220
add esp, 4
push 0x27dc8a0
mov eax, 0x42e334
call fcn.0040c220
mov edx, dword [0x4393cc]
mov eax, dword [0x4393c8]
add esp, 4
push edx
push eax
push str.SECTOR_SIZE_IN_BYTES__lld_
push 0x100000
push 0x259c7e0
call fcn.0041acb0
add esp, 0x14
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
mov ecx, dword [0x4393cc]
mov edx, dword [0x4393c8]
add esp, 4
push ecx
push edx
push 0
push 0x4000
call fcn.00423900
push edx
push eax
push 0x42e374
push 0x100000
push 0x259c7e0
call fcn.0041acb0
add esp, 0x14
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
add esp, 4
push str.Zeros16KB.bin
push str.filename__s_
push 0x100000
push 0x259c7e0
call fcn.0041acb0
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
mov eax, dword [0x3b1d33c]
mov ecx, dword [0x3b1d338]
add esp, 0x14
push eax
push ecx
push str.physical_partition_number__lld_
push 0x100000
push 0x259c7e0
call fcn.0041acb0
add esp, 0x14
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
add esp, 4
push 0x3b1d3c0
push str.start_sector__s_
push 0x100000
push 0x259c7e0
call fcn.0041acb0
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
add esp, 0x14
push 0x27dc8a0
mov eax, str.___n__data_
call fcn.0040c220
mov eax, 0x27dc8a0
add esp, 4
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411808
mov edx, dword [0x4393d8]
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, ecx
push eax
push 0
push 0
push 0
push 0
shl edx, 0xc
add edx, 0x3d64680
push 0x27dc8a0
push edx
call fcn.0040c2f0
mov eax, dword [0x4393dc]
add esp, 0x30
add dword [0x4393d8], 1
adc eax, 0
mov dword [0x4393dc], eax
test eax, eax
jg 0x411eb1
jl 0x411875
cmp dword [0x4393d8], 0x1f40
jae 0x411eb1
cmp byte [0x23b653f], 0
je 0x411a1f
push 0x100000
push 0
push 0x27dc8a0
call fcn.0041e920
mov ecx, 0xa
mov esi, 0x42ce80
mov edi, 0x27dc8a0
rep movsd dword es:[edi], dword [esi]
add esp, 0xc
push 0x27dc8a0
mov eax, str._data__n
movsb byte es:[edi], byte [esi]
call fcn.0040c220
add esp, 4
push 0x27dc8a0
mov eax, str._erase
call fcn.0040c220
mov eax, dword [0x4393cc]
mov ecx, dword [0x4393c8]
add esp, 4
push eax
push ecx
push str.SECTOR_SIZE_IN_BYTES__lld_
push 0x100000
push 0x259c7e0
call fcn.0041acb0
add esp, 0x14
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
mov edx, dword [0x3b1d404]
mov eax, dword [0x3b1d400]
add esp, 4
push edx
push eax
push 0x42e374
push 0x100000
push 0x259c7e0
call fcn.0041acb0
add esp, 0x14
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
mov ecx, dword [0x3b1d33c]
mov edx, dword [0x3b1d338]
add esp, 4
push ecx
push edx
push str.physical_partition_number__lld_
push 0x100000
push 0x259c7e0
call fcn.0041acb0
add esp, 0x14
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
add esp, 4
push 0x3b1d3c0
push str.start_sector__s_
push 0x100000
push 0x259c7e0
call fcn.0041acb0
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
add esp, 0x14
push 0x27dc8a0
mov eax, str.___n__data_
call fcn.0040c220
mov eax, 0x27dc8a0
add esp, 4
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4119b4
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, ecx
push eax
mov eax, dword [0x4393d8]
push 0
push 0
push 0
push 0
shl eax, 0xc
add eax, 0x3d64680
push 0x27dc8a0
push eax
call fcn.0040c2f0
mov eax, dword [0x4393dc]
add esp, 0x30
add dword [0x4393d8], 1
adc eax, 0
mov dword [0x4393dc], eax
test eax, eax
jg 0x411ee5
jl 0x411a1f
cmp dword [0x4393d8], 0x1f40
jae 0x411ee5
mov ecx, dword [ebp - 0x810]
mov eax, dword [ebp - 0x824]
mov edx, dword [ebp - 0x814]
sub eax, ecx
sub eax, edx
push eax
add ecx, edx
push ecx
lea ecx, [ebp - 0x808]
push ecx
mov dword [ebp - 0x824], eax
call fcn.00422b50
add esp, 0xc
lea edx, [ebp - 0x808]
push str.sparse_true_
push edx
call fcn.0041a680
mov esi, eax
lea eax, [ebp - 0x808]
push str.windows_ffu_true_
push eax
call fcn.0041a680
mov bl, byte [0x3b1d408]
add esp, 0x10
mov edi, eax
test esi, esi
je 0x411c06
mov edx, 0x434654
mov ecx, 0x28dc8a0
nop
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x411ab0
test al, al
je 0x411aac
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x411ab0
add ecx, 2
add edx, 2
test al, al
jne 0x411a90
xor eax, eax
jmp 0x411ab5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x411c06
test bl, bl
je 0x411c06
mov eax, 0x3b1d408
xor esi, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411ad0
sub eax, edx
je 0x411b0d
jmp 0x411ae0
mov al, byte [esi + 0x3b1d408]
call fcn.00401010
or eax, edx
je 0x411af6
mov byte [esi + 0x3b1d408], 0
mov eax, 0x3b1d408
inc esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411b00
sub eax, edx
cmp esi, eax
jb 0x411ae0
push 1
mov ecx, 0x3b1d408
call fcn.00410560
add esp, 4
test eax, eax
je 0x411b6f
push 0x800
mov edx, 0x42ddb4
mov ecx, eax
call fcn.00412100
mov ecx, dword [0x3b1d33c]
mov edx, dword [0x3b1d338]
add esp, 4
push ecx
mov ecx, dword [0x3b1d328]
push edx
mov esi, eax
mov eax, dword [0x3b1d32c]
push eax
push ecx
push 0x3b1d3c0
call fcn.0041aca5
add esp, 4
cdq
push edx
push eax
push 0x3b1d408
push esi
call fcn.00402a30
add esp, 0x20
mov esi, dword [ebp - 0x80c]
mov eax, dword [ebp - 0x824]
mov edi, dword [ebp - 0x810]
add eax, 2
cdq
add edi, eax
adc esi, edx
cmp dword [0x4393dc], 0
mov dword [ebp - 0x810], edi
mov dword [ebp - 0x80c], esi
jg 0x411f19
jl 0x411bb4
cmp dword [0x4393d8], 0x1f40
jae 0x411f19
mov ecx, dword [ebp - 0x81c]
mov edx, dword [ebp - 0x814]
mov ebx, dword [ebp - 0x820]
mov al, byte [edi + edx]
cmp al, 0xa
je 0x411bd9
cmp al, 0xd
je 0x411bd9
cmp al, 9
je 0x411bd9
cmp al, 0x20
jne 0x411be9
add edi, 1
adc esi, 0
cmp esi, ecx
jl 0x411bc6
jg 0x411be9
cmp edi, ebx
jb 0x411bc6
cmp byte [edi + edx], 0
mov dword [ebp - 0x80c], esi
mov dword [ebp - 0x810], edi
je 0x411e5f
mov edi, edx
jmp 0x411560
test edi, edi
je 0x411d04
mov ecx, 0x434654
mov eax, 0x28dc8a0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x411c38
test dl, dl
je 0x411c34
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x411c38
add eax, 2
add ecx, 2
test dl, dl
jne 0x411c18
xor eax, eax
jmp 0x411c3d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x411d04
test bl, bl
je 0x411d04
mov eax, 0x3b1d408
xor esi, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411c57
sub eax, edx
je 0x411c8e
mov al, byte [esi + 0x3b1d408]
call fcn.00401010
or eax, edx
je 0x411c78
mov byte [esi + 0x3b1d408], 0
mov eax, 0x3b1d408
inc esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x411c81
sub eax, edx
cmp esi, eax
jb 0x411c62
push 1
mov ecx, 0x3b1d408
call fcn.00410560
add esp, 4
test eax, eax
je 0x411b6f
push 0x800
mov edx, 0x42ddb4
mov ecx, eax
call fcn.00412100
mov edx, dword [0x3b1d33c]
mov ecx, dword [0x3b1d32c]
add esp, 4
push edx
mov edx, dword [0x3b1d328]
mov ebx, eax
mov eax, dword [0x3b1d338]
push eax
push ecx
push edx
mov edi, 0x3b1d408
call fcn.004030e0
mov esi, eax
push ebx
push esi
call fcn.00403190
add esp, 0x18
mov edi, ebx
call fcn.00403440
mov eax, esi
call fcn.00403510
call fcn.00403140
jmp 0x411b6f
push 0x100000
push 0
push 0x27dc8a0
call fcn.0041e920
mov ecx, 0xa
mov esi, 0x42ce80
mov edi, 0x27dc8a0
rep movsd dword es:[edi], dword [esi]
add esp, 0xc
push 0x27dc8a0
mov eax, str._data__n_
movsb byte es:[edi], byte [esi]
call fcn.0040c220
add esp, 4
push 0x28dc8a0
push 0x42e340
push 0x100000
push 0x259c7e0
call fcn.0041acb0
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
mov eax, 0x27dc8a0
add esp, 0x14
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411d70
mov esi, dword [ebp - 0x80c]
sub eax, ecx
mov ecx, eax
xor eax, eax
push eax
mov eax, dword [ebp - 0x820]
inc eax
push eax
mov eax, dword [ebp - 0x824]
push 0
push 0x100000
cdq
push edx
push eax
mov eax, dword [ebp - 0x810]
push esi
push eax
push 0
push ecx
mov ecx, dword [ebp - 0x814]
push ecx
push 0x27dc8a0
call fcn.0040c2f0
push 0x27dc8a0
mov eax, str.____n__data_
call fcn.0040c220
mov eax, 0x27dc8a0
add esp, 0x34
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x411dd2
mov edx, dword [0x4393d8]
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, ecx
push eax
push 0
push 0
push 0
push 0
shl edx, 0xc
add edx, 0x3d64680
push 0x27dc8a0
push edx
call fcn.0040c2f0
add esp, 0x30
add dword [0x4393d8], 1
adc dword [0x4393dc], 0
jmp 0x411b75
mov eax, dword [ebp - 0x828]
push eax
push str.File__s_is_being_ignored_since_it_contained__parser_instructions__and_is_probably_a_partition.xml_file
push 0x2201
push str.StoreXMLFile
push 5
call fcn.004016a0
add esp, 0x14
jmp 0x411e5f
push str.1._TAG_not_found_or_recognized
push 0x2214
push str.StoreXMLFile
push 2
call fcn.004016a0
add esp, 0x10
mov ecx, dword [ebp - 0x814]
push ecx
call fcn.00419701
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00418d55
mov esp, ebp
pop ebp
ret
push str.XML_is_not_formatted_correctly._Could_not_find_closing____n_n
push 0x221c
push str.StoreXMLFile
push 2
call fcn.004016a0
push edi
call fcn.00419701
add esp, 0x14
push 1
call fcn.00401c50
push str.ATTRIBUTES_not_found_or_recognized
push 0x222e
jmp 0x411e50
push 0x3d64680
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0x2256
push str.StoreXMLFile
push 2
call fcn.004016a0
mov ecx, dword [ebp - 0x814]
add esp, 0x14
push ecx
call fcn.00419701
add esp, 4
push 1
call fcn.00401c50
push 0x3d64680
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0x2275
push str.StoreXMLFile
push 2
call fcn.004016a0
mov edx, dword [ebp - 0x814]
add esp, 0x14
push edx
call fcn.00419701
add esp, 4
push 1
call fcn.00401c50
push 0x1f40
push str.2._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0x22ba
push str.StoreXMLFile
push 2
call fcn.004016a0
mov eax, dword [ebp - 0x814]
add esp, 0x14
push eax
call fcn.00419701
add esp, 4
push 1
call fcn.00401c50
int3