Function at 0x40de90
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
mov eax, ecx
mov edx, 0x800
push 0x42d178
mov dword [ebp - 0xc], eax
xor ebx, ebx
call fcn.0040eb90
add esp, 4
mov esi, eax
push str.Trying_get_filesize__calling_fseek__
push 0x20b3
push str.ReturnFileSize
push 5
call fcn.004011c0
push 2
push ebx
push esi
call fcn.00415e23
add esp, 0x1c
push esi
call fcn.004158dc
add esp, 4
mov edi, eax
mov dword [ebp - 8], edi
push ebx
push ebx
push esi
call fcn.00415e23
add esp, 0xc
push 0x10000
cmp edi, 0x10000
ja 0x40e973
push ebx
push 0x27ef220
call fcn.00418cc0
add esp, 0xc
push esi
push 1
push edi
push 0x27ef220
call fcn.00414f9f
push esi
call fcn.00415fc1
add esp, 0x14
push str._options_
push 0x27ef220
call fcn.00414490
add esp, 8
test eax, eax
je 0x40df62
push str._search_paths_
push 0x27ef220
call fcn.00414490
add esp, 8
test eax, eax
je 0x40df62
call fcn.00411590
call fcn.004139e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str._magic_numbers_
push 0x27ef220
call fcn.00414490
add esp, 8
test eax, eax
je 0x40dfa0
push str.Found_magic_numbers_tag__appears_to_be_a_partition_nand.xml__so_ignoring_this
push 0x1aae
push str.StoreXMLFile
push 3
call fcn.004011c0
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x10000
mov edx, ebx
mov byte [0x449485], 0
mov ecx, 0x27ef220
call fcn.0040a4a0
mov edx, 0x2a95260
add esp, 4
mov edi, eax
lea esi, [edx + 1]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x40dfc5
sub edx, esi
mov eax, 0x13
cmp edx, eax
cmova eax, edx
push eax
push str.parser_instructions
push 0x2a95260
call fcn.00413dd0
add esp, 0xc
test eax, eax
je 0x40e950
mov ecx, dword [ebp - 8]
mov al, byte [edi + 0x27ef220]
cmp al, 0xa
je 0x40e00c
cmp al, 0xd
je 0x40e00c
cmp al, 9
je 0x40e00c
cmp al, 0x20
jne 0x40e011
inc edi
cmp edi, ecx
jb 0x40dff6
mov dword [ebp - 4], edi
test edi, edi
je 0x40e930
push 0x43268c
push 0x27ef220
call fcn.00414490
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x40ea12
cmp byte [0x4372f1], 0
je 0x40e05d
push 0x10000
mov edx, edi
mov ecx, 0x27ef220
call fcn.0040a860
add esp, 4
test eax, eax
je 0x40e910
mov ecx, 0x2a95260
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e065
sub ecx, edx
mov eax, 7
cmp ecx, eax
cmova eax, ecx
push eax
push 0x4326cc
push 0x2a95260
call fcn.00413dd0
add esp, 0xc
test eax, eax
jne 0x40e70b
cmp byte [0x448c27], al
je 0x40e3fb
push 0x100000
push eax
push 0x2a95300
call fcn.00418cc0
movdqu xmm0, xmmword [str.__xml_version_1.0__encoding_UTF_8_____n]
mov al, byte [0x434638]
mov ecx, 0x2a95300
add esp, 0xc
mov byte [0x2a95328], al
movdqu xmmword [0x2a95300], xmm0
movdqu xmm0, xmmword [0x434620]
lea edx, [ecx + 1]
movdqu xmmword [0x2a95310], xmm0
movq xmm0, qword [0x434630]
movq qword [0x2a95320], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e0f4
sub ecx, edx
mov eax, 0xffff7
sub eax, ecx
cmp eax, 7
jb 0x40e133
mov eax, dword [str._data__n]
mov dword [ecx + 0x2a95300], eax
mov ax, word [0x42d1dc]
mov word [ecx + 0x2a95304], ax
mov al, byte [0x42d1de]
mov byte [ecx + 0x2a95306], al
mov byte [ecx + 0x2a95307], 0
mov ecx, 0x2a95300
lea edx, [ecx + 1]
jmp 0x40e140
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e140
sub ecx, edx
mov eax, 0xffff7
sub eax, ecx
cmp eax, 9
jb 0x40e177
movq xmm0, qword [0x42e37c]
mov al, byte [0x42e384]
movq qword [ecx + 0x2a95300], xmm0
mov byte [ecx + 0x2a95308], al
mov byte [ecx + 0x2a95309], 0
push dword [0x446a28]
push str.SECTOR_SIZE_IN_BYTES__ld_
push 0x2d8f3c0
call fcn.00413ba6
mov esi, 0x2a95300
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x40e197
mov edi, 0x2d8f3c0
sub esi, ecx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x40e1a8
mov eax, 0xffff7
sub edi, ecx
sub eax, esi
cmp edi, eax
ja 0x40e1d9
push edi
lea eax, [esi + 0x2a95300]
push 0x2d8f3c0
push eax
call fcn.0041bbe0
add esp, 0xc
mov byte [esi + edi + 0x2a95300], 0
xor edx, edx
mov eax, 0x4000
div dword [0x446a28]
push eax
push 0x42e388
push 0x2d8f3c0
call fcn.00413ba6
mov esi, 0x2a95300
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x40e201
mov edi, 0x2d8f3c0
sub esi, ecx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x40e212
mov eax, 0xffff7
sub edi, ecx
sub eax, esi
cmp edi, eax
ja 0x40e243
push edi
lea eax, [esi + 0x2a95300]
push 0x2d8f3c0
push eax
call fcn.0041bbe0
add esp, 0xc
mov byte [esi + edi + 0x2a95300], 0
push str.Zeros16KB.bin
push str.filename__s_
push 0x2d8f3c0
call fcn.00413ba6
mov esi, 0x2a95300
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x40e262
mov edi, 0x2d8f3c0
sub esi, ecx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x40e273
mov eax, 0xffff7
sub edi, ecx
sub eax, esi
cmp edi, eax
ja 0x40e2a4
push edi
lea eax, [esi + 0x2a95300]
push 0x2d8f3c0
push eax
call fcn.0041bbe0
add esp, 0xc
mov byte [esi + edi + 0x2a95300], 0
push dword [0x2681eec]
push str.physical_partition_number__ld_
push 0x2d8f3c0
call fcn.00413ba6
mov esi, 0x2a95300
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x40e2c4
mov edi, 0x2d8f3c0
sub esi, ecx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x40e2d5
mov eax, 0xffff7
sub edi, ecx
sub eax, esi
cmp edi, eax
ja 0x40e306
push edi
lea eax, [esi + 0x2a95300]
push 0x2d8f3c0
push eax
call fcn.0041bbe0
add esp, 0xc
mov byte [esi + edi + 0x2a95300], 0
push 0x2681f30
push str.start_sector__s_
push 0x2d8f3c0
call fcn.00413ba6
mov esi, 0x2a95300
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x40e325
mov edi, 0x2d8f3c0
sub esi, ecx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x40e336
mov eax, 0xffff7
sub edi, ecx
sub eax, esi
cmp edi, eax
ja 0x40e367
push edi
lea eax, [esi + 0x2a95300]
push 0x2d8f3c0
push eax
call fcn.0041bbe0
add esp, 0xc
mov byte [esi + edi + 0x2a95300], 0
mov ecx, 0x2a95300
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e370
sub ecx, edx
mov eax, 0xffff7
sub eax, ecx
cmp eax, 0xa
jb 0x40e3a9
movq xmm0, qword [str.___n__data_]
mov ax, word [0x42d22c]
movq qword [ecx + 0x2a95300], xmm0
mov word [ecx + 0x2a95308], ax
mov byte [ecx + 0x2a9530a], 0
mov ecx, 0x2a95300
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e3b1
sub ecx, edx
mov edx, 0x2a95300
push 0x10000
push 0x10000
push ecx
mov ecx, dword [0x446a2c]
shl ecx, 0x10
push 0
push 0
add ecx, 0x5476a0
call fcn.00409950
mov eax, dword [0x446a2c]
add esp, 0x14
inc eax
mov dword [0x446a2c], eax
cmp eax, 0x1f4
jae 0x40e99a
cmp byte [0x44944d], 0
je 0x40e70b
push 0x100000
push 0
push 0x2a95300
call fcn.00418cc0
movdqu xmm0, xmmword [str.__xml_version_1.0__encoding_UTF_8_____n]
mov al, byte [0x434638]
mov ecx, 0x2a95300
add esp, 0xc
mov byte [0x2a95328], al
movdqu xmmword [0x2a95300], xmm0
movdqu xmm0, xmmword [0x434620]
lea edx, [ecx + 1]
movdqu xmmword [0x2a95310], xmm0
movq xmm0, qword [0x434630]
movq qword [0x2a95320], xmm0
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e460
sub ecx, edx
mov eax, 0xffff7
sub eax, ecx
cmp eax, 7
jb 0x40e49f
mov eax, dword [str._data__n]
mov dword [ecx + 0x2a95300], eax
mov ax, word [0x42d1dc]
mov word [ecx + 0x2a95304], ax
mov al, byte [0x42d1de]
mov byte [ecx + 0x2a95306], al
mov byte [ecx + 0x2a95307], 0
mov ecx, 0x2a95300
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e4a7
sub ecx, edx
mov eax, 0xffff7
sub eax, ecx
cmp eax, 7
jb 0x40e4e6
mov eax, dword [str._erase]
mov dword [ecx + 0x2a95300], eax
mov ax, word [0x42d1e4]
mov word [ecx + 0x2a95304], ax
mov al, byte [0x42d1e6]
mov byte [ecx + 0x2a95306], al
mov byte [ecx + 0x2a95307], 0
push dword [0x446a28]
push str.SECTOR_SIZE_IN_BYTES__ld_
push 0x2d8f3c0
call fcn.00413ba6
mov esi, 0x2a95300
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x40e506
mov edi, 0x2d8f3c0
sub esi, ecx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x40e517
mov eax, 0xffff7
sub edi, ecx
sub eax, esi
cmp edi, eax
ja 0x40e548
push edi
lea eax, [esi + 0x2a95300]
push 0x2d8f3c0
push eax
call fcn.0041bbe0
add esp, 0xc
mov byte [esi + edi + 0x2a95300], 0
push dword [0x2682730]
push 0x42e388
push 0x2d8f3c0
call fcn.00413ba6
mov esi, 0x2a95300
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x40e568
mov edi, 0x2d8f3c0
sub esi, ecx
lea ecx, [edi + 1]
lea esp, [esp]
mov al, byte [edi]
inc edi
test al, al
jne 0x40e580
mov eax, 0xffff7
sub edi, ecx
sub eax, esi
cmp edi, eax
ja 0x40e5b1
push edi
lea eax, [esi + 0x2a95300]
push 0x2d8f3c0
push eax
call fcn.0041bbe0
add esp, 0xc
mov byte [esi + edi + 0x2a95300], 0
push dword [0x2681eec]
push str.physical_partition_number__ld_
push 0x2d8f3c0
call fcn.00413ba6
mov esi, 0x2a95300
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x40e5d1
mov edi, 0x2d8f3c0
sub esi, ecx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x40e5e2
mov eax, 0xffff7
sub edi, ecx
sub eax, esi
cmp edi, eax
ja 0x40e613
push edi
lea eax, [esi + 0x2a95300]
push 0x2d8f3c0
push eax
call fcn.0041bbe0
add esp, 0xc
mov byte [esi + edi + 0x2a95300], 0
push 0x2681f30
push str.start_sector__s_
push 0x2d8f3c0
call fcn.00413ba6
mov esi, 0x2a95300
add esp, 0xc
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x40e632
mov edi, 0x2d8f3c0
sub esi, ecx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x40e643
mov eax, 0xffff7
sub edi, ecx
sub eax, esi
cmp edi, eax
ja 0x40e674
push edi
lea eax, [esi + 0x2a95300]
push 0x2d8f3c0
push eax
call fcn.0041bbe0
add esp, 0xc
mov byte [esi + edi + 0x2a95300], 0
mov ecx, 0x2a95300
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e680
sub ecx, edx
mov eax, 0xffff7
sub eax, ecx
cmp eax, 0xa
jb 0x40e6b9
movq xmm0, qword [str.___n__data_]
mov ax, word [0x42d22c]
movq qword [ecx + 0x2a95300], xmm0
mov word [ecx + 0x2a95308], ax
mov byte [ecx + 0x2a9530a], 0
mov ecx, 0x2a95300
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e6c1
sub ecx, edx
mov edx, 0x2a95300
push 0x10000
push 0x10000
push ecx
mov ecx, dword [0x446a2c]
shl ecx, 0x10
push 0
push 0
add ecx, 0x5476a0
call fcn.00409950
mov eax, dword [0x446a2c]
add esp, 0x14
inc eax
mov dword [0x446a2c], eax
cmp eax, 0x1f4
jae 0x40e9c2
push 0x100000
push 0
push 0x2a95300
call fcn.00418cc0
movdqu xmm0, xmmword [str.__xml_version_1.0__encoding_UTF_8_____n]
mov al, byte [0x434638]
mov ecx, 0x2a95300
add esp, 0xc
mov byte [0x2a95328], al
movdqu xmmword [0x2a95300], xmm0
movdqu xmm0, xmmword [0x434620]
lea edx, [ecx + 1]
movdqu xmmword [0x2a95310], xmm0
movq xmm0, qword [0x434630]
movq qword [0x2a95320], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e761
sub ecx, edx
mov eax, 0xffff7
sub eax, ecx
cmp eax, 8
jb 0x40e78d
movq xmm0, qword [str._data__n_]
movq qword [ecx + 0x2a95300], xmm0
mov byte [ecx + 0x2a95308], 0
push 0x2a95260
push 0x42d0c4
push 0x2d8f3c0
call fcn.00413ba6
mov esi, 0x2a95300
add esp, 0xc
lea ecx, [esi + 1]
lea esp, [esp]
mov al, byte [esi]
inc esi
test al, al
jne 0x40e7b0
mov edi, 0x2d8f3c0
sub esi, ecx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x40e7c1
mov eax, 0xffff7
sub edi, ecx
sub eax, esi
cmp edi, eax
ja 0x40e7f2
push edi
lea eax, [esi + 0x2a95300]
push 0x2d8f3c0
push eax
call fcn.0041bbe0
add esp, 0xc
mov byte [esi + edi + 0x2a95300], 0
mov ecx, 0x2a95300
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e800
sub ecx, edx
mov eax, ebx
mov edx, dword [ebp - 4]
sub eax, edx
push 0x10000
push 0x100000
sub eax, 0x27ef220
push eax
push edx
push ecx
mov edx, 0x27ef220
mov ecx, 0x2a95300
call fcn.00409950
mov ecx, 0x2a95300
add esp, 0x14
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e840
sub ecx, edx
mov eax, 0xffff7
sub eax, ecx
cmp eax, 0xb
jb 0x40e884
movq xmm0, qword [str.____n__data_]
mov ax, word [0x4326e8]
movq qword [ecx + 0x2a95300], xmm0
mov word [ecx + 0x2a95308], ax
mov al, byte [0x4326ea]
mov byte [ecx + 0x2a9530a], al
mov byte [ecx + 0x2a9530b], 0
mov ecx, 0x2a95300
sub ebx, 0x27ef220
add ebx, 2
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40e895
sub ecx, edx
mov edx, 0x2a95300
push 0x100000
push 0x10000
push ecx
mov ecx, dword [0x446a2c]
shl ecx, 0x10
push 0
push 0
add ecx, 0x5476a0
call fcn.00409950
mov eax, dword [0x446a2c]
add esp, 0x14
inc eax
mov dword [0x446a2c], eax
cmp eax, 0x1f4
jae 0x40e9ea
nop
mov al, byte [ebx + 0x27ef220]
cmp al, 0xa
je 0x40e8f6
cmp al, 0xd
je 0x40e8f6
cmp al, 9
je 0x40e8f6
cmp al, 0x20
jne 0x40e8fc
inc ebx
cmp ebx, dword [ebp - 8]
jb 0x40e8e0
cmp byte [ebx + 0x27ef220], 0
jne 0x40dfa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.ATTRIBUTES_not_found_or_recognized
push 0x1aea
push str.StoreXMLFile
push 1
call fcn.004011c0
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.1._TAG_not_found_or_recognized
push 0x1ad1
push str.StoreXMLFile
push 1
call fcn.004011c0
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp - 0xc]
push str.File__s_is_being_ignored_since_it_contained__parser_instructions__and_is_probably_a_partition.xml_file
push 0x1abe
push str.StoreXMLFile
push 5
call fcn.004011c0
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
push dword [ebp - 0xc]
push str._s_of_size__ld_is_bigger_than__ld_buffer_size._Please_reduce_the_file_size
push 0x1a80
push str.StoreXMLFile
push 1
call fcn.004011c0
add esp, 0x1c
mov ecx, 1
call fcn.004016b0
push 0x5476a0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0x1b14
push str.StoreXMLFile
push 1
call fcn.004011c0
add esp, 0x14
mov ecx, 1
call fcn.004016b0
push 0x5476a0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0x1b34
push str.StoreXMLFile
push 1
call fcn.004011c0
add esp, 0x14
mov ecx, 1
call fcn.004016b0
push 0x1f4
push str.2._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0x1b4b
push str.StoreXMLFile
push 1
call fcn.004011c0
add esp, 0x14
mov ecx, 1
call fcn.004016b0
push str.XML_is_not_formatted_correctly._Could_not_find_closing____n_n
push 0x1ad9
push str.StoreXMLFile
push 1
call fcn.004011c0
add esp, 0x10
mov ecx, 1
call fcn.004016b0
int3