Function at 0x42af22
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff8c
push esi
push ebx
push dword [ebp + 8]
pop dword [0x4930e8]
cmp dword [0x4930e8], 1
jne 0x42af43
mov ebx, str.Continue_RZX
jmp 0x42af48
mov ebx, str.Create_RZX
mov byte [0x644194], 0
push 0
push 0x4426b0
push 0x644194
lea eax, [ebp - 0x4c]
push eax
push str.RZX_files__.rzx_
push ebx
push dword [0x49ff24]
call fcn.0043a154
or eax, eax
jne 0x42af7c
xor eax, eax
pop ebx
pop esi
leave
ret 4
push 0
push 0
call fcn.0042a460
push 0x4930d0
call fcn.004012e2
cmp dword [0x4930e8], 0
jne 0x42afec
push 0x442440
push dword [0x49ff24]
push 0x644194
call fcn.0043eb30
or eax, eax
jne 0x42afb9
xor eax, eax
pop ebx
pop esi
leave
ret 4
push 0
push 0x80
push 2
push 0
push 0
push 0xc0000000
push 0x644194
call sub.kernel32.dll_CreateFileA
cmp eax, 0xffffffff
jne 0x42afe2
xor eax, eax
pop ebx
pop esi
leave
ret 4
mov dword [0x4930dc], eax
jmp 0x42b08f
push 0
push 0x80
push 3
push 0
push 0
push 0xc0000000
push 0x644194
call sub.kernel32.dll_CreateFileA
cmp eax, 0xffffffff
jne 0x42b015
xor eax, eax
pop ebx
pop esi
leave
ret 4
mov dword [0x4930dc], eax
push 0
push 0x49ffb8
push 0xa
lea eax, [ebp - 0x56]
push eax
push dword [0x4930dc]
call sub.kernel32.dll_ReadFile
lea eax, [ebp - 0x56]
cmp dword [eax], 0x21585a52
je 0x42b051
push 0
push 0x479be0
call fcn.0042a460
xor eax, eax
pop ebx
pop esi
leave
ret 4
push 0
push 0x49ffb8
push 0x1d
lea eax, [ebp - 0x73]
push eax
push dword [0x4930dc]
call sub.kernel32.dll_ReadFile
lea esi, [ebp - 0x6e]
push 0x44501f
push esi
call fcn.0043dd80
or eax, eax
jne 0x42b08f
push 0
push str.SpecEmu_can_only_continue_recording_to_its_own_recording_files
call fcn.0042a460
xor eax, eax
pop ebx
pop esi
leave
ret 4
push 0x642d44
push 0x644194
call fcn.0043f840
call fcn.0042fc9d
push 0
push 0
push 0
push dword [0x4930dc]
call sub.kernel32.dll_SetFilePointer
lea esi, [ebp - 0x56]
push 0
push 0xa
push esi
call fcn.0043edd0
mov dword [esi], 0x21585a52
mov byte [esi + 4], 0
mov byte [esi + 5], 0xd
push 0
push 0x49ffbc
push 0xa
push esi
push dword [0x4930dc]
call sub.kernel32.dll_WriteFile
lea esi, [ebp - 0x73]
push 0
push 0x1d
push esi
call fcn.0043edd0
mov byte [esi], 0x10
mov dword [esi + 1], 0x1d
mov word [esi + 0x19], 3
mov word [esi + 0x1b], 4
lea eax, [esi + 5]
push eax
push 0x44501f
call fcn.0043f840
push 0
push 0x49ffbc
push 0x1d
lea eax, [ebp - 0x73]
push eax
push dword [0x4930dc]
call sub.kernel32.dll_WriteFile
cmp dword [0x4930e8], 0
jne 0x42b15d
call fcn.0042b420
or eax, eax
jne 0x42b153
push 0
push 0x479c34
call fcn.0042a460
xor eax, eax
pop ebx
pop esi
leave
ret 4
call fcn.0042b3b0
jmp 0x42b1ef
push 0x4930d0
call fcn.00429edf
or eax, eax
jne 0x42b17f
push 0
push 0x479c44
call fcn.0042a460
xor eax, eax
pop ebx
pop esi
leave
ret 4
lea esi, [0x4930d0]
mov esi, dword [esi + 4]
push esi
call fcn.0040130a
cmp eax, 1
jne 0x42b1a7
push 0
push 0x479c58
call fcn.0042a460
xor eax, eax
pop ebx
pop esi
leave
ret 4
mov al, byte [esi + 0xc]
cmp al, 0x30
je 0x42b1c2
push 0
push str.Cannot_continue_recording_to_this_RZX_file
call fcn.0042a460
xor eax, eax
pop ebx
pop esi
leave
ret 4
push 0
push 0
push dword [esi + 0xd]
push dword [0x4930dc]
call sub.kernel32.dll_SetFilePointer
push 0x4930d0
call fcn.0042a087
or eax, eax
jne 0x42b1ea
xor eax, eax
pop ebx
pop esi
leave
ret 4
call fcn.0042b3b0
push str.Stop_Recording
push 0x4a92
push dword [0x4a0b98]
call fcn.0043f180
mov dword [0x4930e0], 0
mov byte [0x445033], 3
call fcn.0042a660
mov eax, 1
pop ebx
pop esi
leave
ret 4