Function at 0x424a22
Capabilities:
Write file on windows

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x90
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov dword [rbp + 0x20], r8d
mov dword [rbp + 0x28], r9d
mov dword [rbp - 8], 0
mov qword [rbp - 0x38], 0xffffffffffffffff
mov dword [rbp - 0xc], 1
cmp dword [rbp + 0x28], 0
jne 0x424ab0
mov r8, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x18]
lea rdx, [rbp - 0x38]
mov qword [rsp + 0x38], rdx
lea rdx, [rbp - 0x30]
mov qword [rsp + 0x30], rdx
lea rdx, [rbp + 0x20]
mov qword [rsp + 0x28], rdx
mov rdx, qword [rbp + 0x30]
mov qword [rsp + 0x20], rdx
mov r9, r8
mov r8, rcx
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call fcn.00423079
test eax, eax
jne 0x424aa9
mov eax, 0
jmp 0x424fb3
mov dword [rbp + 0x28], 4
mov eax, dword [rbp + 0x20]
test eax, eax
js 0x424d50
mov rax, qword [rbp + 0x38]
mov rdx, qword [rax + 0x10]
mov rax, qword [rbp + 0x30]
add rax, rdx
mov edx, dword [rbp + 0x20]
mov edx, edx
mov r8, rax
mov rcx, qword [rbp + 0x10]
call fcn.004249c8
mov qword [rbp - 0x20], rax
lea rcx, str.__Personality_routine:
call sub.msvcrt.dll_printf
cmp qword [rbp - 0x20], 0
jne 0x424bbf
movzx eax, word [rbp - 0x30]
test ax, ax
jne 0x424bbf
mov rax, qword [rbp - 0x28]
test rax, rax
jne 0x424bbf
mov rax, qword [rbp - 0x38]
cmp rax, 0xffffffffffffffff
je 0x424bbf
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0x30]
mov edx, eax
mov rax, qword [rbp - 0x38]
cmp rdx, rax
jbe 0x424bbf
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax + 0x28]
mov rax, qword [rbp - 0x38]
add rax, rdx
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x20]
mov edx, 4
mov rcx, rax
call fcn.0040c0ea
cmp qword [rbp - 0x18], 0
je 0x424bf1
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
add rax, 0x30
mov r9, rax
mov r8d, 2
mov edx, 1
lea rcx, [0x0048b19c]
call sub.msvcrt.dll_fwrite
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
lea rdx, [rax + 0x30]
mov rax, qword [rbp - 0x18]
mov rcx, rax
call sub.msvcrt.dll_fputs
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
add rax, 0x30
mov rdx, rax
mov ecx, 0x3e
call sub.msvcrt.dll_fputc
jmp 0x424bf1
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rdx
lea rcx, [rbp - 0x50]
mov rdx, qword [rbp - 0x20]
mov rax, qword [rbp + 0x18]
mov r9, rcx
mov r8, rdx
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call fcn.00422ef8
mov qword [rbp - 0x18], rax
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
add rax, 0x30
mov rdx, rax
mov ecx, 0xa
call sub.msvcrt.dll_fputc
cmp qword [rbp - 0x18], 0
je 0x424d46
mov rax, qword [rbp - 0x18]
mov r8d, 0x14
lea rdx, str.__gcc_personality_v0
mov rcx, rax
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x424c8e
mov rax, qword [rbp - 0x18]
mov r8d, 0x14
lea rdx, str.__gxx_personality_v0
mov rcx, rax
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x424c8e
mov rax, qword [rbp - 0x18]
mov r8d, 0x14
lea rdx, str.__gcj_personality_v0
mov rcx, rax
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x424c8e
mov rax, qword [rbp - 0x18]
mov r8d, 0x19
lea rdx, str.__gnu_objc_personality_v0
mov rcx, rax
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x424d46
mov dword [rbp + 0x28], 0
mov dword [rbp - 8], 1
cmp dword [rbp + 0x28], 0
jne 0x424d08
cmp dword [rbp - 8], 0
je 0x424d08
add qword [rbp + 0x30], 4
mov r8, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x18]
mov qword [rsp + 0x38], 0
lea rdx, [rbp - 0x30]
mov qword [rsp + 0x30], rdx
lea rdx, [rbp + 0x20]
mov qword [rsp + 0x28], rdx
mov rdx, qword [rbp + 0x30]
mov qword [rsp + 0x20], rdx
mov r9, r8
mov r8, rcx
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call fcn.00423079
test eax, eax
jne 0x424cfd
mov eax, 0
jmp 0x424fb3
mov dword [rbp + 0x28], 4
sub dword [rbp - 8], 1
cmp dword [rbp + 0x28], 0
jne 0x424d24
lea rcx, str.___Truncated_data_
call sub.msvcrt.dll_puts
mov eax, 0
jmp 0x424fb3
mov eax, dword [rbp + 0x20]
shr eax, 0x18
mov dword [rbp - 8], eax
mov eax, dword [rbp + 0x20]
shl eax, 8
mov dword [rbp + 0x20], eax
sub dword [rbp + 0x28], 1
mov dword [rbp - 4], 0xffffffff
jmp 0x424ddc
mov eax, 1
jmp 0x424fb3
mov rax, qword [rbp + 0x10]
movzx eax, word [rax + 0x4a]
cmp ax, 0x28
jne 0x424d82
mov eax, dword [rbp + 0x20]
and eax, 0x70000000
test eax, eax
je 0x424d82
mov eax, dword [rbp + 0x20]
mov edx, eax
lea rcx, str.Corrupt_ARM_compact_model_table_entry:__x__n
call fcn.0045d7fb
mov dword [rbp - 0xc], 0
mov eax, dword [rbp + 0x20]
shr eax, 0x18
and eax, 0x7f
mov dword [rbp - 4], eax
mov eax, dword [rbp - 4]
mov edx, eax
lea rcx, str.__Compact_model_index:__d_n
call sub.msvcrt.dll_printf
cmp dword [rbp - 4], 0
jne 0x424dbb
mov dword [rbp - 8], 0
mov eax, dword [rbp + 0x20]
shl eax, 8
mov dword [rbp + 0x20], eax
sub dword [rbp + 0x28], 1
jmp 0x424ddc
cmp dword [rbp - 4], 2
jg 0x424ddc
mov eax, dword [rbp + 0x20]
shr eax, 0x10
and eax, 0xff
mov dword [rbp - 8], eax
mov eax, dword [rbp + 0x20]
shl eax, 0x10
mov dword [rbp + 0x20], eax
sub dword [rbp + 0x28], 2
mov rax, qword [rbp + 0x10]
movzx eax, word [rax + 0x4a]
movzx eax, ax
cmp eax, 0x28
je 0x424dfc
cmp eax, 0x8c
je 0x424e79
jmp 0x424f8a
cmp dword [rbp - 4], 2
jg 0x424e55
mov ecx, dword [rbp + 0x20]
mov r8d, dword [rbp + 0x28]
mov rax, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x40]
mov qword [rsp + 0x38], rdx
mov rdx, qword [rbp + 0x38]
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp + 0x30]
mov qword [rsp + 0x28], rdx
mov edx, dword [rbp - 8]
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, ecx
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call fcn.00423758
test eax, eax
jne 0x424fac
mov dword [rbp - 0xc], 0
jmp 0x424fac
lea rcx, str.Unknown_ARM_compact_model_index_encountered_n
call fcn.0045d7fb
lea rcx, str.___reserved_
call sub.msvcrt.dll_puts
mov dword [rbp - 0xc], 0
jmp 0x424fac
cmp dword [rbp - 4], 2
jg 0x424ed2
mov ecx, dword [rbp + 0x20]
mov r8d, dword [rbp + 0x28]
mov rax, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x40]
mov qword [rsp + 0x38], rdx
mov rdx, qword [rbp + 0x38]
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp + 0x30]
mov qword [rsp + 0x28], rdx
mov edx, dword [rbp - 8]
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, ecx
mov rdx, rax
mov rcx, qword [rbp + 0x10]
call fcn.0042425a
test eax, eax
jne 0x424faf
mov dword [rbp - 0xc], 0
jmp 0x424faf
cmp dword [rbp - 4], 4
jg 0x424f77
mov eax, dword [rbp + 0x20]
shr eax, 0x11
and eax, 0x7f
cmp eax, 0x7f
jne 0x424ef8
lea rcx, str.__Restore_stack_from_frame_pointer
call sub.msvcrt.dll_puts
jmp 0x424f11
mov eax, dword [rbp + 0x20]
shr eax, 0xe
and eax, 0x1fc
mov edx, eax
lea rcx, str.__Stack_increment__d_n
call sub.msvcrt.dll_printf
lea rcx, str.__Registers_restored:
call sub.msvcrt.dll_printf
cmp dword [rbp - 4], 4
jne 0x424f2f
lea rcx, str.__compact_
call sub.msvcrt.dll_printf
mov eax, dword [rbp + 0x20]
shr eax, 4
and eax, 0x1fff
mov ecx, eax
call fcn.004236cc
mov ecx, 0xa
call sub.msvcrt.dll_putchar
mov eax, dword [rbp + 0x20]
and eax, 0xf
mov eax, eax
lea rdx, [rax*8]
lea rax, [0x0046c4e0]
mov rax, qword [rdx + rax]
mov rdx, rax
lea rcx, str.__Return_register:__s_n
call sub.msvcrt.dll_printf
jmp 0x424faf
mov eax, dword [rbp - 4]
mov edx, eax
lea rcx, str.___reserved___d___n
call sub.msvcrt.dll_printf
jmp 0x424faf
mov rax, qword [rbp + 0x10]
movzx eax, word [rax + 0x4a]
movzx eax, ax
mov edx, eax
lea rcx, str.Unsupported_architecture_type__d_encountered_when_decoding_unwind_table_n
call fcn.0045d76f
mov dword [rbp - 0xc], 0
jmp 0x424fb0
nop
jmp 0x424fb0
nop
mov eax, dword [rbp - 0xc]
add rsp, 0x90
pop rbp
ret