Function at 0x4101e0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x82c
mov eax, dword [0x4353f4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor ebx, ebx
push 0x800
mov edx, 0x42c6a4
mov dword [ebp - 0x824], ecx
mov dword [ebp - 0x80c], ebx
call fcn.00410ed0
add esp, 4
push str.Trying_get_filesize__calling_fseek__
push 0x2559
push str.ReturnFileSize
push 5
mov esi, eax
call fcn.00401210
push 2
push ebx
push ebx
push esi
call fcn.00418c8a
push esi
call fcn.004179ce
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.00418c8a
inc edi
push 1
push edi
mov dword [ebp - 0x818], edi
call fcn.00417cf1
mov edi, eax
add esp, 0x18
mov dword [ebp - 0x814], edi
test edi, edi
jne 0x4102a4
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 0x1efd
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.00419559
push esi
call fcn.00419df4
add esp, 0x14
push str._options_
push edi
call fcn.004188e0
add esp, 8
test eax, eax
je 0x4102fc
push str._search_paths_
push edi
call fcn.004188e0
add esp, 8
test eax, eax
je 0x4102fc
mov eax, dword [ebp - 0x818]
push eax
mov ebx, edi
call fcn.00414080
add esp, 4
call fcn.00416570
jmp 0x410c2f
push str._magic_numbers_
push edi
call fcn.004188e0
add esp, 8
test eax, eax
je 0x410324
push str.Found_magic_numbers_tag__appears_to_be_a_partition_nand.xml__so_ignoring_this
push 0x1f2a
push str.StoreXMLFile
push 3
jmp 0x410c27
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 [0x23893a8], 0
call fcn.0040c050
mov esi, eax
mov ebx, edx
mov eax, 0x287a800
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 0x410360
sub eax, edx
cmp eax, 0x13
ja 0x410373
mov eax, 0x13
push eax
push str.parser_instructions
push 0x287a800
call fcn.00417bf7
add esp, 0xc
test eax, eax
je 0x410bf4
mov edx, dword [ebp - 0x820]
mov ecx, dword [ebp - 0x81c]
lea ebx, [ebx]
mov al, byte [esi + edi]
cmp al, 0xa
je 0x4103b3
cmp al, 0xd
je 0x4103b3
cmp al, 9
je 0x4103b3
cmp al, 0x20
jne 0x4103c3
add esi, 1
adc ebx, 0
cmp ebx, ecx
jl 0x4103a0
jg 0x4103c3
cmp esi, edx
jb 0x4103a0
mov edx, esi
or edx, ebx
mov dword [ebp - 0x80c], ebx
mov dword [ebp - 0x810], esi
je 0x410c16
push 0x431c44
push edi
call fcn.004188e0
add esp, 8
mov dword [ebp - 0x818], eax
test eax, eax
je 0x410c4f
cmp byte [0x4363ff], 0
je 0x41041c
xor eax, eax
push eax
mov eax, dword [ebp - 0x820]
inc eax
push eax
push ebx
push esi
push edi
call fcn.0040c520
add esp, 0x14
or eax, edx
je 0x410c75
mov eax, 0x287a800
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410424
sub eax, edx
cmp eax, 7
ja 0x410437
mov eax, 7
push eax
push 0x431c84
push 0x287a800
call fcn.00417bf7
add esp, 0xc
test eax, eax
jne 0x4107df
cmp byte [0x2389cdd], al
je 0x410633
push 0x100000
push eax
push 0x277a800
call fcn.0041c990
mov ecx, 0xa
mov esi, 0x42afb8
mov edi, 0x277a800
rep movsd dword es:[edi], dword [esi]
add esp, 0xc
push 0x277a800
mov eax, str._data__n
movsb byte es:[edi], byte [esi]
call fcn.0040b080
add esp, 4
push 0x277a800
mov eax, 0x42c004
call fcn.0040b080
mov eax, dword [0x43641c]
mov ecx, dword [0x436418]
add esp, 4
push eax
push ecx
push str.SECTOR_SIZE_IN_BYTES__lld_
push 0x100000
push 0x253a740
call fcn.00418f10
add esp, 0x14
push 0x277a800
mov eax, 0x253a740
call fcn.0040b080
mov edx, dword [0x43641c]
mov eax, dword [0x436418]
add esp, 4
push edx
push eax
push 0
push 0x4000
call fcn.00421560
push edx
push eax
push 0x42c044
push 0x100000
push 0x253a740
call fcn.00418f10
add esp, 0x14
push 0x277a800
mov eax, 0x253a740
call fcn.0040b080
add esp, 4
push str.Zeros16KB.bin
push str.filename__s_
push 0x100000
push 0x253a740
call fcn.00418f10
push 0x277a800
mov eax, 0x253a740
call fcn.0040b080
mov ecx, dword [0x3a85a5c]
mov edx, dword [0x3a85a58]
add esp, 0x14
push ecx
push edx
push str.physical_partition_number__lld_
push 0x100000
push 0x253a740
call fcn.00418f10
add esp, 0x14
push 0x277a800
mov eax, 0x253a740
call fcn.0040b080
add esp, 4
push 0x3a85ae0
push str.start_sector__s_
push 0x100000
push 0x253a740
call fcn.00418f10
push 0x277a800
mov eax, 0x253a740
call fcn.0040b080
add esp, 0x14
push 0x277a800
mov eax, str.___n__data_
call fcn.0040b080
mov eax, 0x277a800
add esp, 4
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4105c8
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, ecx
push eax
mov eax, dword [0x436428]
push 0
push 0
push 0
push 0
shl eax, 0xc
add eax, 0x3cccd60
push 0x277a800
push eax
call fcn.0040b150
mov eax, dword [0x43642c]
add esp, 0x30
add dword [0x436428], 1
adc eax, 0
mov dword [0x43642c], eax
test eax, eax
jg 0x410c81
jl 0x410633
cmp dword [0x436428], 0x1f40
jae 0x410c81
cmp byte [0x2389cde], 0
je 0x4107df
push 0x100000
push 0
push 0x277a800
call fcn.0041c990
mov ecx, 0xa
mov esi, 0x42afb8
mov edi, 0x277a800
rep movsd dword es:[edi], dword [esi]
add esp, 0xc
push 0x277a800
mov eax, str._data__n
movsb byte es:[edi], byte [esi]
call fcn.0040b080
add esp, 4
push 0x277a800
mov eax, str._erase
call fcn.0040b080
mov ecx, dword [0x43641c]
mov edx, dword [0x436418]
add esp, 4
push ecx
push edx
push str.SECTOR_SIZE_IN_BYTES__lld_
push 0x100000
push 0x253a740
call fcn.00418f10
add esp, 0x14
push 0x277a800
mov eax, 0x253a740
call fcn.0040b080
mov eax, dword [0x3a85b24]
mov ecx, dword [0x3a85b20]
add esp, 4
push eax
push ecx
push 0x42c044
push 0x100000
push 0x253a740
call fcn.00418f10
add esp, 0x14
push 0x277a800
mov eax, 0x253a740
call fcn.0040b080
mov edx, dword [0x3a85a5c]
mov eax, dword [0x3a85a58]
add esp, 4
push edx
push eax
push str.physical_partition_number__lld_
push 0x100000
push 0x253a740
call fcn.00418f10
add esp, 0x14
push 0x277a800
mov eax, 0x253a740
call fcn.0040b080
add esp, 4
push 0x3a85ae0
push str.start_sector__s_
push 0x100000
push 0x253a740
call fcn.00418f10
push 0x277a800
mov eax, 0x253a740
call fcn.0040b080
add esp, 0x14
push 0x277a800
mov eax, str.___n__data_
call fcn.0040b080
mov eax, 0x277a800
add esp, 4
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x410772
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, ecx
mov ecx, dword [0x436428]
push eax
push 0
push 0
push 0
push 0
shl ecx, 0xc
add ecx, 0x3cccd60
push 0x277a800
push ecx
call fcn.0040b150
mov eax, dword [0x43642c]
add esp, 0x30
add dword [0x436428], 1
adc eax, 0
mov dword [0x43642c], eax
test eax, eax
jg 0x410cb5
jl 0x4107df
cmp dword [0x436428], 0x1f40
jae 0x410cb5
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.004207b0
add esp, 0xc
lea eax, [ebp - 0x808]
push str.sparse_true_
push eax
call fcn.004188e0
lea ecx, [ebp - 0x808]
push str.windows_ffu_true_
push ecx
mov esi, eax
call fcn.004188e0
mov bl, byte [0x3a85b28]
add esp, 0x10
mov edi, eax
test esi, esi
je 0x4109c8
mov edx, 0x431c84
mov ecx, 0x287a800
nop
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x410870
test al, al
je 0x41086c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x410870
add ecx, 2
add edx, 2
test al, al
jne 0x410850
xor eax, eax
jmp 0x410875
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4109c8
test bl, bl
je 0x4109c8
mov eax, 0x3a85b28
xor esi, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410890
sub eax, edx
je 0x4108cd
jmp 0x4108a0
mov al, byte [esi + 0x3a85b28]
call section..text
or eax, edx
je 0x4108b6
mov byte [esi + 0x3a85b28], 0
mov eax, 0x3a85b28
inc esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4108c0
sub eax, edx
cmp esi, eax
jb 0x4108a0
push 1
mov ecx, 0x3a85b28
call fcn.0040f430
add esp, 4
test eax, eax
je 0x41092f
push 0x800
mov edx, 0x42d888
mov ecx, eax
call fcn.00410ed0
mov edx, dword [0x3a85a5c]
mov ecx, dword [0x3a85a4c]
add esp, 4
push edx
mov edx, dword [0x3a85a48]
mov esi, eax
mov eax, dword [0x3a85a58]
push eax
push ecx
push edx
push 0x3a85ae0
call fcn.00418f05
add esp, 4
cdq
push edx
push eax
push 0x3a85b28
push esi
call fcn.00402070
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 [0x43642c], 0
mov dword [ebp - 0x810], edi
mov dword [ebp - 0x80c], esi
jg 0x410ce9
jl 0x410974
cmp dword [0x436428], 0x1f40
jae 0x410ce9
mov ecx, dword [ebp - 0x81c]
mov edx, dword [ebp - 0x814]
mov ebx, dword [ebp - 0x820]
mov al, byte [edi + edx]
cmp al, 0xa
je 0x410999
cmp al, 0xd
je 0x410999
cmp al, 9
je 0x410999
cmp al, 0x20
jne 0x4109a9
add edi, 1
adc esi, 0
cmp esi, ecx
jl 0x410986
jg 0x4109a9
cmp edi, ebx
jb 0x410986
cmp byte [edi + edx], 0
mov dword [ebp - 0x80c], esi
mov dword [ebp - 0x810], edi
je 0x410c2f
mov ebx, edi
mov edi, edx
jmp 0x410324
test edi, edi
je 0x410ad2
mov ecx, 0x431c84
mov eax, 0x287a800
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x410a00
test dl, dl
je 0x4109fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x410a00
add eax, 2
add ecx, 2
test dl, dl
jne 0x4109e0
xor eax, eax
jmp 0x410a05
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x410ad2
test bl, bl
je 0x410ad2
mov eax, 0x3a85b28
xor esi, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410a20
sub eax, edx
je 0x410a5d
jmp 0x410a30
mov al, byte [esi + 0x3a85b28]
call section..text
or eax, edx
je 0x410a46
mov byte [esi + 0x3a85b28], 0
mov eax, 0x3a85b28
inc esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x410a50
sub eax, edx
cmp esi, eax
jb 0x410a30
push 1
mov ecx, 0x3a85b28
call fcn.0040f430
add esp, 4
test eax, eax
je 0x41092f
push 0x800
mov edx, 0x42d888
mov ecx, eax
call fcn.00410ed0
mov ecx, dword [0x3a85a58]
mov edx, dword [0x3a85a4c]
add esp, 4
mov ebx, eax
mov eax, dword [0x3a85a5c]
push eax
mov eax, dword [0x3a85a48]
push ecx
push edx
push eax
mov edi, 0x3a85b28
call fcn.004026e0
mov esi, eax
push ebx
push esi
call fcn.00402790
add esp, 0x18
mov edi, ebx
call fcn.00402a40
mov eax, esi
call fcn.00402b10
call fcn.00402740
jmp 0x41092f
push 0x100000
push 0
push 0x277a800
call fcn.0041c990
mov ecx, 0xa
mov esi, 0x42afb8
mov edi, 0x277a800
rep movsd dword es:[edi], dword [esi]
add esp, 0xc
push 0x277a800
mov eax, str._data__n_
movsb byte es:[edi], byte [esi]
call fcn.0040b080
add esp, 4
push 0x287a800
push 0x42c010
push 0x100000
push 0x253a740
call fcn.00418f10
push 0x277a800
mov eax, 0x253a740
call fcn.0040b080
mov eax, 0x277a800
add esp, 0x14
lea ecx, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x410b40
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 0x277a800
call fcn.0040b150
push 0x277a800
mov eax, str.____n__data_
call fcn.0040b080
mov eax, 0x277a800
add esp, 0x34
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x410ba2
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, ecx
mov ecx, dword [0x436428]
push eax
push 0
push 0
push 0
push 0
shl ecx, 0xc
add ecx, 0x3cccd60
push 0x277a800
push ecx
call fcn.0040b150
add esp, 0x30
add dword [0x436428], 1
adc dword [0x43642c], 0
jmp 0x410935
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 0x1f3a
push str.StoreXMLFile
push 5
call fcn.00401210
add esp, 0x14
jmp 0x410c2f
push str.1._TAG_not_found_or_recognized
push 0x1f4d
push str.StoreXMLFile
push 1
call fcn.00401210
add esp, 0x10
mov eax, dword [ebp - 0x814]
push eax
call fcn.00417cb7
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00417675
mov esp, ebp
pop ebp
ret
push str.XML_is_not_formatted_correctly._Could_not_find_closing____n_n
push 0x1f55
push str.StoreXMLFile
push 1
call fcn.00401210
push edi
call fcn.00417cb7
add esp, 0x14
push 1
call fcn.004017c0
push str.ATTRIBUTES_not_found_or_recognized
push 0x1f67
jmp 0x410c20
push 0x3cccd60
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0x1f8f
push str.StoreXMLFile
push 1
call fcn.00401210
mov eax, dword [ebp - 0x814]
add esp, 0x14
push eax
call fcn.00417cb7
add esp, 4
push 1
call fcn.004017c0
push 0x3cccd60
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0x1fae
push str.StoreXMLFile
push 1
call fcn.00401210
mov ecx, dword [ebp - 0x814]
add esp, 0x14
push ecx
call fcn.00417cb7
add esp, 4
push 1
call fcn.004017c0
push 0x1f40
push str.2._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0x1ff3
push str.StoreXMLFile
push 1
call fcn.00401210
mov edx, dword [ebp - 0x814]
add esp, 0x14
push edx
call fcn.00417cb7
add esp, 4
push 1
call fcn.004017c0
int3