Function at 0x421c5e
Capabilities:
Write file on windows

Disassembly:
push rbp
mov rbp, rsp
add rsp, 0xffffffffffffff80
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov dword [rbp - 0x14], 1
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0x20]
mov eax, eax
shl rax, 5
mov rcx, rax
call fcn.00464276
mov rdx, rax
mov rax, qword [rbp + 0x18]
mov qword [rax + 0x28], rdx
mov dword [rbp - 0x10], 0
mov dword [rbp - 0xc], 0
jmp 0x421d32
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x18]
mov edx, dword [rbp - 0xc]
shl rdx, 5
add rax, rdx
mov rax, qword [rax]
test rax, rax
je 0x421d2e
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x18]
mov edx, dword [rbp - 0xc]
shl rdx, 5
add rax, rdx
movzx eax, byte [rax + 0x14]
movzx eax, al
and eax, 0xf
cmp eax, 2
jne 0x421d2e
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x18]
mov edx, dword [rbp - 0xc]
shl rdx, 5
lea r8, [rax + rdx]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rax + 0x28]
mov eax, dword [rbp - 0x10]
lea edx, [rax + 1]
mov dword [rbp - 0x10], edx
mov eax, eax
shl rax, 5
add rcx, rax
mov rax, qword [r8]
mov rdx, qword [r8 + 8]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov rax, qword [r8 + 0x10]
mov rdx, qword [r8 + 0x18]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rdx
add dword [rbp - 0xc], 1
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0x20]
cmp dword [rbp - 0xc], eax
jb 0x421ca8
mov rax, qword [rbp + 0x18]
mov edx, dword [rbp - 0x10]
mov dword [rax + 0x30], edx
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 0x30]
mov edx, eax
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x28]
lea r9, [0x0042067c]
mov r8d, 0x20
mov rcx, rax
call sub.msvcrt.dll_qsort
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov qword [rbp - 8], rax
jmp 0x4221b3
mov rax, qword [rbp + 0x18]
mov r8d, dword [rax + 0x40]
mov rax, qword [rbp + 0x18]
mov r9, qword [rax + 0x38]
mov rax, qword [rbp + 0x18]
mov r10d, dword [rax + 0x30]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rax + 0x28]
mov rax, qword [rbp - 8]
mov rdx, qword [rax + 8]
mov rax, qword [rax]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rdx
lea rax, [rbp - 0x20]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r8d
mov r8d, r10d
mov rdx, rcx
mov rcx, qword [rbp + 0x10]
call fcn.004204c9
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, [0x0048ac90]
call sub.msvcrt.dll_fwrite
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x421e48
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
lea rdx, [rax + 0x30]
mov rax, qword [rbp - 0x28]
mov rcx, rax
call sub.msvcrt.dll_fputs
mov rax, qword [rbp - 0x20]
test rax, rax
je 0x421e48
mov rax, qword [rbp - 0x20]
mov edx, eax
lea rcx, [0x0048ac93]
call sub.msvcrt.dll_printf
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
add rax, 0x30
mov r9, rax
mov r8d, 4
mov edx, 1
lea rcx, str._:__
call sub.msvcrt.dll_fwrite
mov rax, qword [rbp - 8]
mov rax, qword [rax + 8]
mov edx, 4
mov rcx, rax
call fcn.0040c0ea
mov rax, qword [sym.imp.msvcrt.dll___iob_func]
call rax
add rax, 0x30
mov rdx, rax
mov ecx, 0x2d
call sub.msvcrt.dll_fputc
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x18]
mov edx, 4
mov rcx, rax
call fcn.0040c0ea
lea rcx, [0x0048af46]
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x20]
and eax, 1
test al, al
je 0x421eda
lea rcx, str.Cannot_unwind
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x20]
and eax, 2
test al, al
je 0x421ef5
lea rcx, str.Millicode
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x20]
and eax, 4
test al, al
je 0x421f10
lea rcx, str.Millicode_save_sr0
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x20]
and eax, 0x40
test al, al
je 0x421f2b
lea rcx, str.Entry_SR
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, word [rax + 0x20]
and ax, 0x780
test ax, ax
je 0x421f5c
mov rax, qword [rbp - 8]
movzx eax, word [rax + 0x20]
shr ax, 7
and eax, 0xf
movzx eax, al
mov edx, eax
lea rcx, str.Entry_FR_d
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x21]
and eax, 0xfffffff8
test al, al
je 0x421f87
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x21]
shr al, 3
movzx eax, al
mov edx, eax
lea rcx, str.Entry_GR_d
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x22]
and eax, 1
test al, al
je 0x421fa2
lea rcx, str.Args_stored
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x22]
and eax, 2
test al, al
je 0x421fbd
lea rcx, str.Variable_Frame
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x22]
and eax, 4
test al, al
je 0x421fd8
lea rcx, str.Separate_Package_Body
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x22]
and eax, 8
test al, al
je 0x421ff3
lea rcx, str.Frame_Extension_Millicode
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x22]
and eax, 0x10
test al, al
je 0x42200e
lea rcx, str.Stack_Overflow_Check
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x22]
and eax, 0x20
test al, al
je 0x422029
lea rcx, str.Two_Instruction_SP_Increment
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x22]
and eax, 0x40
test al, al
je 0x422044
lea rcx, str.Ada_Region
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x22]
and eax, 0xffffff80
test al, al
je 0x42205f
lea rcx, str.cxx_info
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x23]
and eax, 1
test al, al
je 0x42207a
lea rcx, str.cxx_try_catch
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x23]
and eax, 2
test al, al
je 0x422095
lea rcx, str.sched_entry_seq
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x23]
and eax, 8
test al, al
je 0x4220b0
lea rcx, str.Save_SP
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x23]
and eax, 0x10
test al, al
je 0x4220cb
lea rcx, str.Save_RP
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x23]
and eax, 0x20
test al, al
je 0x4220e6
lea rcx, str.Save_MRP_in_frame
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x23]
and eax, 0x40
test al, al
je 0x422101
lea rcx, str.extn_ptr_defined
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x23]
and eax, 0xffffff80
test al, al
je 0x42211c
lea rcx, str.Cleanup_defined
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x24]
and eax, 1
test al, al
je 0x422137
lea rcx, str.MPE_XL_interrupt_marker
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x24]
and eax, 2
test al, al
je 0x422152
lea rcx, str.HP_UX_interrupt_marker
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x24]
and eax, 4
test al, al
je 0x42216d
lea rcx, str.Large_frame
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
movzx eax, byte [rax + 0x24]
and eax, 8
test al, al
je 0x422188
lea rcx, str.Pseudo_SP_Set
call sub.msvcrt.dll_printf
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x24]
and eax, 0xffffffe0
test eax, eax
je 0x4221ae
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x24]
shr eax, 5
mov edx, eax
lea rcx, str.Total_frame_size_d
call sub.msvcrt.dll_printf
add qword [rbp - 8], 0x28
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x18]
mov eax, dword [rax + 8]
mov ecx, eax
mov rax, rcx
shl rax, 2
add rax, rcx
shl rax, 3
add rax, rdx
cmp qword [rbp - 8], rax
jb 0x421d82
mov ecx, 0xa
call sub.msvcrt.dll_putchar
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x28]
mov rcx, rax
call sub.msvcrt.dll_free
mov eax, dword [rbp - 0x14]
sub rsp, 0xffffffffffffff80
pop rbp
ret