Function at 0x410250
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x82c
mov eax, dword [0x4363f4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor ebx, ebx
push 0x800
mov edx, 0x42d5ec
mov dword [ebp - 0x824], ecx
mov dword [ebp - 0x80c], ebx
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 ebx
push ebx
push esi
call fcn.0041935a
push esi
call fcn.0041809e
add esp, 0x24
push ebx
push ebx
mov edi, eax
push ebx
push esi
mov dword [ebp - 0x820], edi
mov dword [ebp - 0x81c], edx
call fcn.0041935a
inc edi
push 1
push edi
mov dword [ebp - 0x818], edi
call fcn.004183c1
mov edi, eax
add esp, 0x18
mov dword [ebp - 0x814], edi
test edi, edi
jne 0x410314
mov eax, dword [ebp - 0x824]
mov ecx, dword [ebp - 0x818]
push eax
push ecx
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 0x1e71
push str.StoreXMLFile
push 1
call fcn.00401210
add esp, 0x18
push 1
call fcn.004017c0
mov edx, dword [ebp - 0x820]
push esi
push 1
push edx
push edi
call fcn.00419c29
push esi
call fcn.0041a4c4
add esp, 0x14
push str._options_
push edi
call fcn.00418fb0
add esp, 8
test eax, eax
je 0x41036c
push str._search_paths_
push edi
call fcn.00418fb0
add esp, 8
test eax, eax
je 0x41036c
mov eax, dword [ebp - 0x818]
push eax
mov ebx, edi
call fcn.004140c0
add esp, 4
call fcn.00416c50
jmp 0x410c9f
push str._magic_numbers_
push edi
call fcn.00418fb0
add esp, 8
test eax, eax
je 0x410394
push str.Found_magic_numbers_tag__appears_to_be_a_partition_nand.xml__so_ignoring_this
push 0x1e9e
push str.StoreXMLFile
push 3
jmp 0x410c97
mov ecx, dword [ebp - 0x80c]
xor eax, eax
push eax
mov eax, dword [ebp - 0x820]
inc eax
push eax
push ecx
push ebx
push edi
mov byte [0x2389f28], 0
call fcn.0040c0b0
mov esi, eax
mov ebx, edx
mov eax, 0x287b380
add esp, 0x14
mov dword [ebp - 0x810], esi
mov dword [ebp - 0x80c], ebx
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4103d0
sub eax, edx
cmp eax, 0x13
ja 0x4103e3
mov eax, 0x13
push eax
push str.parser_instructions
push 0x287b380
call fcn.004182c7
add esp, 0xc
test eax, eax
je 0x410c64
mov ecx, dword [ebp - 0x81c]
mov edx, dword [ebp - 0x820]
lea ebx, [ebx]
mov al, byte [esi + edi]
cmp al, 0xa
je 0x410423
cmp al, 0xd
je 0x410423
cmp al, 9
je 0x410423
cmp al, 0x20
jne 0x410433
add esi, 1
adc ebx, 0
cmp ebx, ecx
jl 0x410410
jg 0x410433
cmp esi, edx
jb 0x410410
mov edx, esi
or edx, ebx
mov dword [ebp - 0x80c], ebx
mov dword [ebp - 0x810], esi
je 0x410c86
push 0x432b9c
push edi
call fcn.00418fb0
add esp, 8
mov dword [ebp - 0x818], eax
test eax, eax
je 0x410cbf
cmp byte [0x437403], 0
je 0x41048c
xor eax, eax
push eax
mov eax, dword [ebp - 0x820]
inc eax
push eax
push ebx
push esi
push edi
call fcn.0040c580
add esp, 0x14
or eax, edx
je 0x410ce5
mov eax, 0x287b380
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410494
sub eax, edx
cmp eax, 7
ja 0x4104a7
mov eax, 7
push eax
push 0x432bdc
push 0x287b380
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x41084f
cmp byte [0x238a85d], al
je 0x4106a3
push 0x100000
push eax
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
add esp, 0xc
push 0x277b380
mov eax, str._data__n
movsb byte es:[edi], byte [esi]
call fcn.0040b0e0
add esp, 4
push 0x277b380
mov eax, 0x42d004
call fcn.0040b0e0
mov eax, dword [0x43741c]
mov ecx, dword [0x437418]
add esp, 4
push eax
push ecx
push str.SECTOR_SIZE_IN_BYTES__lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
add esp, 0x14
push 0x277b380
mov eax, 0x253b2c0
call fcn.0040b0e0
mov edx, dword [0x43741c]
mov eax, dword [0x437418]
add esp, 4
push edx
push eax
push 0
push 0x4000
call fcn.00421c30
push edx
push eax
push 0x42d044
push 0x100000
push 0x253b2c0
call fcn.004195e0
add esp, 0x14
push 0x277b380
mov eax, 0x253b2c0
call fcn.0040b0e0
add esp, 4
push str.Zeros16KB.bin
push str.filename__s_
push 0x100000
push 0x253b2c0
call fcn.004195e0
push 0x277b380
mov eax, 0x253b2c0
call fcn.0040b0e0
mov ecx, dword [0x3a865dc]
mov edx, dword [0x3a865d8]
add esp, 0x14
push ecx
push edx
push str.physical_partition_number__lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
add esp, 0x14
push 0x277b380
mov eax, 0x253b2c0
call fcn.0040b0e0
add esp, 4
push 0x3a86660
push str.start_sector__s_
push 0x100000
push 0x253b2c0
call fcn.004195e0
push 0x277b380
mov eax, 0x253b2c0
call fcn.0040b0e0
add esp, 0x14
push 0x277b380
mov eax, str.___n__data_
call fcn.0040b0e0
mov eax, 0x277b380
add esp, 4
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x410638
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, ecx
push eax
mov eax, dword [0x437420]
push 0
push 0
push 0
push 0
shl eax, 0xc
add eax, 0x3cc8ec0
push 0x277b380
push eax
call fcn.0040b1b0
mov eax, dword [0x437424]
add esp, 0x30
add dword [0x437420], 1
adc eax, 0
mov dword [0x437424], eax
test eax, eax
jg 0x410cf1
jl 0x4106a3
cmp dword [0x437420], 0x1f40
jae 0x410cf1
cmp byte [0x238a85e], 0
je 0x41084f
push 0x100000
push 0
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
add esp, 0xc
push 0x277b380
mov eax, str._data__n
movsb byte es:[edi], byte [esi]
call fcn.0040b0e0
add esp, 4
push 0x277b380
mov eax, str._erase
call fcn.0040b0e0
mov ecx, dword [0x43741c]
mov edx, dword [0x437418]
add esp, 4
push ecx
push edx
push str.SECTOR_SIZE_IN_BYTES__lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
add esp, 0x14
push 0x277b380
mov eax, 0x253b2c0
call fcn.0040b0e0
mov eax, dword [0x3a866a4]
mov ecx, dword [0x3a866a0]
add esp, 4
push eax
push ecx
push 0x42d044
push 0x100000
push 0x253b2c0
call fcn.004195e0
add esp, 0x14
push 0x277b380
mov eax, 0x253b2c0
call fcn.0040b0e0
mov edx, dword [0x3a865dc]
mov eax, dword [0x3a865d8]
add esp, 4
push edx
push eax
push str.physical_partition_number__lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
add esp, 0x14
push 0x277b380
mov eax, 0x253b2c0
call fcn.0040b0e0
add esp, 4
push 0x3a86660
push str.start_sector__s_
push 0x100000
push 0x253b2c0
call fcn.004195e0
push 0x277b380
mov eax, 0x253b2c0
call fcn.0040b0e0
add esp, 0x14
push 0x277b380
mov eax, str.___n__data_
call fcn.0040b0e0
mov eax, 0x277b380
add esp, 4
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4107e2
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, ecx
mov ecx, dword [0x437420]
push eax
push 0
push 0
push 0
push 0
shl ecx, 0xc
add ecx, 0x3cc8ec0
push 0x277b380
push ecx
call fcn.0040b1b0
mov eax, dword [0x437424]
add esp, 0x30
add dword [0x437420], 1
adc eax, 0
mov dword [0x437424], eax
test eax, eax
jg 0x410d25
jl 0x41084f
cmp dword [0x437420], 0x1f40
jae 0x410d25
mov ecx, dword [ebp - 0x810]
mov eax, dword [ebp - 0x818]
mov edx, dword [ebp - 0x814]
sub eax, ecx
sub eax, edx
push eax
add ecx, edx
push ecx
lea edx, [ebp - 0x808]
push edx
mov dword [ebp - 0x818], eax
call fcn.00420e80
add esp, 0xc
lea eax, [ebp - 0x808]
push str.sparse_true_
push eax
call fcn.00418fb0
lea ecx, [ebp - 0x808]
push str.windows_ffu_true_
push ecx
mov esi, eax
call fcn.00418fb0
mov bl, byte [0x3a866a8]
add esp, 0x10
mov edi, eax
test esi, esi
je 0x410a3c
mov edx, 0x432bdc
mov ecx, 0x287b380
nop
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4108e0
test al, al
je 0x4108dc
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4108e0
add ecx, 2
add edx, 2
test al, al
jne 0x4108c0
xor eax, eax
jmp 0x4108e5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x410a3c
test bl, bl
je 0x410a3c
mov eax, 0x3a866a8
xor esi, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410900
sub eax, edx
je 0x41093d
jmp 0x410910
mov al, byte [esi + 0x3a866a8]
call section..text
or eax, edx
je 0x410926
mov byte [esi + 0x3a866a8], 0
mov eax, 0x3a866a8
inc esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410930
sub eax, edx
cmp esi, eax
jb 0x410910
push 1
mov ecx, 0x3a866a8
call fcn.0040f4a0
add esp, 4
test eax, eax
je 0x41099f
push 0x800
mov edx, 0x42e7e0
mov ecx, eax
call fcn.00410f40
mov edx, dword [0x3a865dc]
mov ecx, dword [0x3a865cc]
add esp, 4
push edx
mov edx, dword [0x3a865c8]
mov esi, eax
mov eax, dword [0x3a865d8]
push eax
push ecx
push edx
push 0x3a86660
call fcn.004195d5
add esp, 4
cdq
push edx
push eax
push 0x3a866a8
push esi
call fcn.00402050
add esp, 0x20
mov esi, dword [ebp - 0x80c]
mov eax, dword [ebp - 0x818]
mov edi, dword [ebp - 0x810]
add eax, 2
cdq
add edi, eax
adc esi, edx
cmp dword [0x437424], 0
mov dword [ebp - 0x810], edi
mov dword [ebp - 0x80c], esi
jg 0x410d59
jl 0x4109e4
cmp dword [0x437420], 0x1f40
jae 0x410d59
mov ecx, dword [ebp - 0x81c]
mov edx, dword [ebp - 0x814]
mov ebx, dword [ebp - 0x820]
mov al, byte [edi + edx]
cmp al, 0xa
je 0x410a09
cmp al, 0xd
je 0x410a09
cmp al, 9
je 0x410a09
cmp al, 0x20
jne 0x410a19
add edi, 1
adc esi, 0
cmp esi, ecx
jl 0x4109f6
jg 0x410a19
cmp edi, ebx
jb 0x4109f6
cmp byte [edi + edx], 0
mov dword [ebp - 0x80c], esi
mov dword [ebp - 0x810], edi
je 0x410c9f
mov ebx, dword [ebp - 0x810]
mov edi, edx
jmp 0x410394
test edi, edi
je 0x410b42
mov ecx, 0x432bdc
mov eax, 0x287b380
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x410a70
test dl, dl
je 0x410a6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x410a70
add eax, 2
add ecx, 2
test dl, dl
jne 0x410a50
xor eax, eax
jmp 0x410a75
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x410b42
test bl, bl
je 0x410b42
mov eax, 0x3a866a8
xor esi, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410a90
sub eax, edx
je 0x410acd
jmp 0x410aa0
mov al, byte [esi + 0x3a866a8]
call section..text
or eax, edx
je 0x410ab6
mov byte [esi + 0x3a866a8], 0
mov eax, 0x3a866a8
inc esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410ac0
sub eax, edx
cmp esi, eax
jb 0x410aa0
push 1
mov ecx, 0x3a866a8
call fcn.0040f4a0
add esp, 4
test eax, eax
je 0x41099f
push 0x800
mov edx, 0x42e7e0
mov ecx, eax
call fcn.00410f40
mov ecx, dword [0x3a865d8]
mov edx, dword [0x3a865cc]
add esp, 4
mov ebx, eax
mov eax, dword [0x3a865dc]
push eax
mov eax, dword [0x3a865c8]
push ecx
push edx
push eax
mov edi, 0x3a866a8
call fcn.004026c0
mov esi, eax
push ebx
push esi
call fcn.00402770
add esp, 0x18
mov edi, ebx
call fcn.00402a20
mov eax, esi
call fcn.00402af0
call fcn.00402720
jmp 0x41099f
push 0x100000
push 0
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
add esp, 0xc
push 0x277b380
mov eax, str._data__n_
movsb byte es:[edi], byte [esi]
call fcn.0040b0e0
add esp, 4
push 0x287b380
push 0x42d010
push 0x100000
push 0x253b2c0
call fcn.004195e0
push 0x277b380
mov eax, 0x253b2c0
call fcn.0040b0e0
mov eax, 0x277b380
add esp, 0x14
lea ecx, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x410bb0
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 - 0x818]
push 0
push 0x100000
cdq
push edx
mov edx, dword [ebp - 0x810]
push eax
mov eax, dword [ebp - 0x814]
push esi
push edx
push 0
push ecx
push eax
push 0x277b380
call fcn.0040b1b0
push 0x277b380
mov eax, str.____n__data_
call fcn.0040b0e0
mov eax, 0x277b380
add esp, 0x34
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x410c12
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, ecx
mov ecx, dword [0x437420]
push eax
push 0
push 0
push 0
push 0
shl ecx, 0xc
add ecx, 0x3cc8ec0
push 0x277b380
push ecx
call fcn.0040b1b0
add esp, 0x30
add dword [0x437420], 1
adc dword [0x437424], 0
jmp 0x4109a5
mov edx, dword [ebp - 0x824]
push edx
push str.File__s_is_being_ignored_since_it_contained__parser_instructions__and_is_probably_a_partition.xml_file
push 0x1eae
push str.StoreXMLFile
push 5
call fcn.00401210
add esp, 0x14
jmp 0x410c9f
push str.1._TAG_not_found_or_recognized
push 0x1ec1
push str.StoreXMLFile
push 1
call fcn.00401210
add esp, 0x10
mov eax, dword [ebp - 0x814]
push eax
call fcn.00418387
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00417d45
mov esp, ebp
pop ebp
ret
push str.XML_is_not_formatted_correctly._Could_not_find_closing____n_n
push 0x1ec9
push str.StoreXMLFile
push 1
call fcn.00401210
push edi
call fcn.00418387
add esp, 0x14
push 1
call fcn.004017c0
push str.ATTRIBUTES_not_found_or_recognized
push 0x1edb
jmp 0x410c90
push 0x3cc8ec0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0x1f03
push str.StoreXMLFile
push 1
call fcn.00401210
mov eax, dword [ebp - 0x814]
add esp, 0x14
push eax
call fcn.00418387
add esp, 4
push 1
call fcn.004017c0
push 0x3cc8ec0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0x1f22
push str.StoreXMLFile
push 1
call fcn.00401210
mov ecx, dword [ebp - 0x814]
add esp, 0x14
push ecx
call fcn.00418387
add esp, 4
push 1
call fcn.004017c0
push 0x1f40
push str.2._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0x1f67
push str.StoreXMLFile
push 1
call fcn.00401210
mov edx, dword [ebp - 0x814]
add esp, 0x14
push edx
call fcn.00418387
add esp, 4
push 1
call fcn.004017c0
int3