Function at 0x42a7e0
Capabilities:
Get common file path
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbf0
push esi
push edi
push ebx
mov dword [ebp - 0x410], 0
cmp byte [0x4930c0], 1
jne 0x42a983
inc dword [0x486b54]
inc dword [0x486b58]
cmp dword [0x488c73], 0
jne 0x42a81d
jmp 0x42a983
dec dword [0x488c73]
call fcn.0042ac90
cmp eax, 0xffffffff
jne 0x42a840
push 1
push str.Illegal_Frame_IO
call fcn.0042a460
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret
cmp byte [0x445035], 1
jne 0x42a84e
call fcn.0042bd49
cmp byte [0x445036], 0
je 0x42a979
cmp dword [ebp - 0x410], 0
jne 0x42a979
mov dword [ebp - 0x410], 1
lea eax, [ebp - 0x40c]
push eax
lea eax, [ebp - 0x408]
push eax
call fcn.00401000
push edi
mov edi, dword [ebp - 0x40c]
push 2
push str._r_nRZX_Frame:__r_nFetch:___IN:__r_nFinished_RZX_playback
push edi
call fcn.00401215
pop edi
push edi
mov edi, dword [ebp - 0x40c]
push 0xb
push 0x479a5e
push edi
call fcn.00401215
pop edi
mov eax, dword [0x486b54]
push esi
mov esi, dword [ebp - 0x40c]
call fcn.00401118
pop esi
push eax
mov al, 0x2e
push edi
mov edi, dword [ebp - 0x40c]
call fcn.004011fe
pop edi
pop eax
push edi
mov edi, dword [ebp - 0x40c]
push 2
push 0x479a69
push edi
call fcn.00401215
pop edi
push edi
mov edi, dword [ebp - 0x40c]
push 7
push 0x479a6b
push edi
call fcn.00401215
pop edi
movzx ebx, word [0x488cbc]
mov eax, ebx
push esi
mov esi, dword [ebp - 0x40c]
call fcn.00401118
pop esi
push edi
mov edi, dword [ebp - 0x40c]
push 6
push 0x479a72
push edi
call fcn.00401215
pop edi
movzx ebx, word [0x488cbe]
mov eax, ebx
push esi
mov esi, dword [ebp - 0x40c]
call fcn.00401118
pop esi
push edi
mov edi, dword [ebp - 0x40c]
push 2
push 0x479a78
push edi
call fcn.00401215
pop edi
lea eax, [ebp - 0x408]
push eax
call fcn.0043de30
mov ecx, eax
add dword [0x49ff18], ecx
push ecx
lea eax, [ebp - 0x408]
push eax
push dword [0x49ff14]
call fcn.004014de
mov eax, 1
pop ebx
pop edi
pop esi
leave
ret
mov byte [0x4930c0], 0
push 0
push 0x49ffb8
push 5
push 0x488b6e
push dword [0x486b3c]
call sub.kernel32.dll_ReadFile
cmp dword [0x49ffb8], 0
jne 0x42a9dc
push 0
push 0
call fcn.0042a460
cmp byte [0x4c726b], 1
jne 0x42a9d5
push 0x40
push 0x479a90
push 0x479a7a
push dword [0x49ff24]
call fcn.0043d57a
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret
cmp dword [0x49ffb8], 5
je 0x42a9f8
push 0
push 0x479a9c
call fcn.0042a460
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret
inc dword [0x486b50]
movzx eax, byte [0x488b6e]
cmp eax, 0x10
jne 0x42aa2f
mov eax, dword [0x488b6f]
sub eax, 5
push 0
push 0x49ffb8
push eax
push 0x488b6e
push dword [0x486b3c]
call sub.kernel32.dll_ReadFile
jmp 0x42ac72
cmp eax, 0x20
jne 0x42aa4c
push 0
push 0x479ab0
call fcn.0042a460
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret
cmp eax, 0x21
jne 0x42aa69
push 0
push str.Security_blocks_unsupported
call fcn.0042a460
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret
cmp eax, 0x30
jne 0x42aab7
push 1
push 0
push 0xfffffffffffffffb
push dword [0x486b3c]
call sub.kernel32.dll_SetFilePointer
push 0x486b30
call fcn.0042a087
or eax, eax
jne 0x42aa94
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret
cmp byte [0x445035], 1
jne 0x42ac72
push 1
call fcn.0042b7b0
call fcn.0042b420
call fcn.0042b3b0
jmp 0x42ac72
cmp eax, 0x80
jne 0x42ac4c
call fcn.0042a630
push 1
push 0
push 0xfffffffffffffffb
push dword [0x486b3c]
call sub.kernel32.dll_SetFilePointer
push 0
push 0x49ffb8
push 0x12
push 0x488c6e
push dword [0x486b3c]
call sub.kernel32.dll_ReadFile
push 0x6444a0
push 0x104
call sub.kernel32.dll_GetTempPathA
push 0x49ffd8
push 0x6444a0
call fcn.0043dd50
push str.rzxstream.bin
push 0x6444a0
call fcn.0043dd50
mov ebx, dword [0x488c6f]
sub ebx, 0x12
push ebx
push 0x40
call sub.kernel32.dll_GlobalAlloc
mov esi, eax
or esi, esi
jne 0x42ab48
push 0
push 0x479af8
call fcn.0042a460
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret
push 0
push 0x49ffb8
push ebx
push esi
push dword [0x486b3c]
call sub.kernel32.dll_ReadFile
mov eax, dword [0x488c7c]
test eax, 2
je 0x42ab98
push 2
push 0x6444a0
push ebx
push esi
call fcn.0043f440
push eax
push esi
call sub.kernel32.dll_GlobalFree
pop eax
cmp eax, 0xffffffff
jne 0x42abef
push 0
push 0x479b08
call fcn.0042a460
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret
push 0
push 0x80
push 2
push 0
push 3
push 0x40000000
push 0x6444a0
call sub.kernel32.dll_CreateFileA
cmp eax, 0xffffffff
jne 0x42abd2
push esi
call sub.kernel32.dll_GlobalFree
push 0
push 0x479b24
call fcn.0042a460
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret
mov edi, eax
push 0
push 0x49ffbc
push ebx
push esi
push edi
call sub.kernel32.dll_WriteFile
push edi
call sub.kernel32.dll_CloseHandle
push esi
call sub.kernel32.dll_GlobalFree
push 0
push 0x80
push 3
push 0
push 3
push 0x80000000
push 0x6444a0
call sub.kernel32.dll_CreateFileA
cmp eax, 0xffffffff
jne 0x42ac23
push 0
push 0x479b34
call fcn.0042a460
xor eax, eax
pop ebx
pop edi
pop esi
leave
ret
mov dword [0x486b20], eax
push dword [0x488c78]
pop dword [0x4fb2d4]
mov dword [0x486b54], 0
mov byte [0x4930c0], 1
jmp 0x42a7f6
push 1
push 0
push 0xfffffffffffffffb
push dword [0x486b3c]
call sub.kernel32.dll_SetFilePointer
push 1
push 0
push dword [0x488b6f]
push dword [0x486b3c]
call sub.kernel32.dll_SetFilePointer
jmp 0x42a98a