Function at 0x41c710
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
mov eax, dword [0x4596ac]
xor eax, esp
mov dword [esp + 0x10], eax
mov ecx, dword [0x486344]
push ebx
push esi
push edi
push 0
mov eax, 0x4949
push 4
push ecx
mov word [0x465c48], ax
call fcn.00435f77
add esp, 0xc
call fcn.00401240
push 0
mov edi, eax
call fcn.00401240
mov edx, dword [0x486344]
push eax
push edx
call fcn.00435f77
add esp, 0xc
test edi, edi
je 0x41c8cf
mov bl, 0xff
mov eax, dword [0x486344]
push eax
push 4
lea ecx, [esp + 0x14]
push 1
push ecx
dec edi
mov byte [esp + 0x1c], bl
mov byte [esp + 0x1d], bl
mov byte [esp + 0x1e], bl
mov byte [esp + 0x1f], bl
call fcn.00435763
mov edx, 0x4949
add esp, 0x10
cmp word [0x465c48], dx
jne 0x41c7b9
movzx esi, byte [esp + 0xf]
movzx eax, byte [esp + 0xe]
movzx ecx, byte [esp + 0xd]
movzx edx, byte [esp + 0xc]
jmp 0x41c7cd
movzx esi, byte [esp + 0xc]
movzx eax, byte [esp + 0xd]
movzx ecx, byte [esp + 0xe]
movzx edx, byte [esp + 0xf]
shl esi, 8
or esi, eax
mov eax, dword [0x486344]
push eax
shl esi, 8
or esi, ecx
push 4
lea ecx, [esp + 0x18]
push 1
shl esi, 8
push ecx
or esi, edx
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], bl
mov byte [esp + 0x22], bl
mov byte [esp + 0x23], bl
call fcn.00435763
mov edx, dword [0x486344]
push edx
push 1
lea eax, [esp + 0x2c]
push 8
push eax
call fcn.00435763
add esp, 0x20
mov ecx, str.META
lea eax, [esp + 0x14]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41c841
test dl, dl
je 0x41c83d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41c841
add eax, 2
add ecx, 2
test dl, dl
jne 0x41c821
xor eax, eax
jmp 0x41c846
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41c850
mov dword [0x465c54], esi
mov ecx, str.THUMB
lea eax, [esp + 0x14]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41c880
test dl, dl
je 0x41c87c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41c880
add eax, 2
add ecx, 2
test dl, dl
jne 0x41c860
xor eax, eax
jmp 0x41c885
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41c88f
mov dword [0x465c44], esi
mov ecx, str.RAW0
lea eax, [esp + 0x14]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41c8b8
test dl, dl
je 0x41c8b4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41c8b8
add eax, 2
add ecx, 2
test dl, dl
jne 0x41c898
xor eax, eax
jmp 0x41c8bd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41c8c7
mov dword [0x465d28], esi
test edi, edi
jne 0x41c76d
mov ecx, dword [0x465c54]
mov edx, dword [0x486344]
push 0
add ecx, 0x14
push ecx
push edx
call fcn.00435f77
mov eax, dword [0x486344]
push eax
push 1
push 0x40
push 0x4ac3c0
call fcn.00435763
push 0x20
push 0x4ac3c0
mov byte [0x4ac3ff], 0
call fcn.00434c60
add esp, 0x24
test eax, eax
je 0x41c92c
lea ecx, [eax + 1]
mov esi, 0x466060
sub esi, ecx
nop
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
test dl, dl
jne 0x41c920
mov byte [eax], dl
call fcn.00401190
mov word [0x4ac484], ax
call fcn.00401190
mov word [0x465d20], ax
mov dword [0x4862f0], 0x407da0
call fcn.00401240
call fcn.00401190
mov word [0x465f5c], ax
call fcn.00401190
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
xor ecx, esp
mov word [0x4660b8], ax
mov dword [0x486300], 0x404f70
mov dword [0x466044], 0x3fff
call fcn.004334ab
mov esp, ebp
pop ebp
ret