Function at 0x46e2f0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x80c
mov eax, dword [esp + 0x810]
mov ecx, dword [esp + 0x814]
push ebx
mov dword [eax], 0
mov dword [ecx], 0
mov eax, dword [0x64a36c]
mov ebx, dword [0x64a370]
push ebp
or ebp, 0xffffffff
cmp eax, ebp
mov dword [esp + 8], ebx
je 0x46e32e
mov dword [esp + 8], eax
mov ebx, eax
cmp ebx, ebp
jne 0x46e33d
pop ebp
xor eax, eax
pop ebx
add esp, 0x80c
ret
push 2
push ebp
push 0xfffffffffffffff4
push ebx
call fcn.004b4b2b
add esp, 0x10
cmp eax, ebp
je 0x46e332
push 0xc
lea edx, [esp + 0x18]
push edx
push ebx
call fcn.004c7e37
add esp, 0xc
cmp eax, 0xc
jne 0x46e332
push 4
lea eax, [esp + 0x18]
push str.NER5
push eax
call fcn.004b277c
add esp, 0xc
test eax, eax
jne 0x46e390
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push ecx
push edx
call fcn.0046e210
add esp, 8
jmp 0x46e3b7
push 4
lea eax, [esp + 0x1c]
push str.NERO
push eax
call fcn.004b277c
add esp, 0xc
test eax, eax
jne 0x46e332
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0046e1e0
add esp, 4
xor edx, edx
cmp dword [0x64a36c], ebp
je 0x46e3cf
cmp edx, 1
jl 0x46e3cf
jg 0x46e3ca
test eax, eax
jbe 0x46e3cf
add eax, 1
adc edx, ebp
push 0
push edx
push eax
push ebx
call fcn.004b4b2b
add esp, 0x10
cmp eax, ebp
je 0x46e332
push esi
mov dword [esp + 0x14], ebp
push edi
lea ebx, [ebx]
push 8
lea edx, [esp + 0x20]
push edx
push ebx
call fcn.004c7e37
add esp, 0xc
cmp eax, 8
jne 0x46e59e
mov eax, dword [esp + 0x20]
movzx ecx, byte [esp + 0x22]
movzx edx, byte [esp + 0x23]
movzx esi, al
shl esi, 8
movzx eax, ah
add esi, eax
shl esi, 8
add esi, ecx
shl esi, 8
add esi, edx
push esi
lea eax, [esp + 0x28]
push eax
push ebx
call fcn.004c7e37
add esp, 0xc
cmp eax, esi
jne 0x46e59e
push 4
lea ecx, [esp + 0x20]
push str.CUEX
push ecx
call fcn.004b277c
add esp, 0xc
test eax, eax
jne 0x46e4c5
xor edi, edi
shr esi, 3
je 0x46e4c5
cmp byte [esp + edi*8 + 0x24], 0x41
jne 0x46e59e
mov bl, byte [esp + edi*8 + 0x25]
cmp bl, 1
jne 0x46e48e
cmp byte [esp + edi*8 + 0x26], 0
jne 0x46e48e
mov edx, dword [esp + edi*8 + 0x28]
push edx
call fcn.0046e1e0
add esp, 4
mov dword [esp + 0x18], eax
cmp bl, 0xaa
jne 0x46e4ba
mov eax, dword [esp + edi*8 + 0x28]
mov dword [esp + 0x14], eax
movzx ecx, byte [esp + 0x16]
movzx edx, byte [esp + 0x17]
movzx ebp, al
shl ebp, 8
movzx eax, ah
add ebp, eax
shl ebp, 8
add ebp, ecx
shl ebp, 8
add ebp, edx
add edi, 1
cmp edi, esi
jb 0x46e462
mov ebx, dword [esp + 0x10]
push 4
lea eax, [esp + 0x20]
push str.SINF
push eax
call fcn.004b277c
add esp, 0xc
test eax, eax
jne 0x46e4e8
cmp byte [esp + 0x27], 1
jne 0x46e59e
push 4
lea ecx, [esp + 0x20]
push str.MTYP
push ecx
call fcn.004b277c
add esp, 0xc
test eax, eax
jne 0x46e52c
mov eax, dword [esp + 0x24]
movzx ecx, byte [esp + 0x26]
movzx edx, al
shl edx, 8
movzx eax, ah
add edx, eax
movzx eax, byte [esp + 0x27]
shl edx, 8
add edx, ecx
mov ecx, dword [esp + 0x824]
shl edx, 8
add edx, eax
mov dword [ecx], edx
push 4
lea edx, [esp + 0x20]
push str.END_
push edx
call fcn.004b277c
add esp, 0xc
test eax, eax
jne 0x46e3f0
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x46e59e
cmp ebp, 0xffffffff
je 0x46e59e
test eax, eax
push 0
jge 0x46e56d
imul eax, eax, 0xfffff800
cdq
push edx
push eax
mov eax, dword [0x64a370]
push eax
jmp 0x46e578
mov ecx, dword [0x64a370]
push 0
push 0
push ecx
call fcn.004b4b2b
add esp, 0x10
cmp eax, 0xffffffff
je 0x46e59e
mov edx, dword [esp + 0x820]
pop edi
pop esi
mov dword [edx], ebp
pop ebp
mov eax, 1
pop ebx
add esp, 0x80c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x80c
ret