Function at 0x140050f10
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov rdi, qword [rsp + 0x60]
mov rsi, r8
mov rbx, rcx
mov eax, dword [rdi + 0x80]
cmp eax, 0xfffffc80
je 0x140051386
cmp eax, 0xffffff6d
je 0x140051374
cmp eax, 0xffffff7f
je 0x140051348
mov ecx, dword [rdi]
mov rdx, rsi
mov r8d, dword [rdi + 0x84]
sub ecx, esi
je 0x140050f78
cmp byte [rdx], 0xa
lea eax, [r8 + 1]
lea rdx, [rdx + 1]
cmovne eax, r8d
mov r8d, eax
add ecx, 0xffffffff
jne 0x140050f61
lea rdx, [fcn.140045140]
mov rcx, rbx
call fcn.140018c00
mov edx, eax
mov eax, dword [rdi + 0x80]
add eax, 0x9e
cmp eax, 0x1c
ja case.0x140050faf.147
lea r8, [0x140000000]
mov ecx, dword [r8 + rax*4 + 0x513b8]
add rcx, r8
jmp rcx
mov r8d, 0x2c
lea rdx, str.:_junk_where_function_argument_name_expected
mov rcx, rbx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp fcn.140045140
mov r8d, 0x23
lea rdx, str.:_junk_where_function_name_expected
mov rcx, rbx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp fcn.140045140
mov r8d, 0x23
lea rdx, str.:_junk_where_function_type_expected
mov rcx, rbx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp fcn.140045140
mov r8d, 0x1b
lea rdx, str.:_improper_function_type___
mov rcx, rbx
call fcn.140045140
mov edx, eax
test eax, eax
jne case.0x140050faf.147
mov r8d, dword [rdi + 0x18]
mov rdx, qword [rdi]
mov rcx, rbx
call fcn.140045140
mov edx, eax
test eax, eax
jne case.0x140050faf.147
lea r8d, [rax + 2]
lea rdx, [0x1401599f4]
mov rcx, rbx
call fcn.140045140
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov r8d, 2
lea rdx, [0x140159674]
mov rcx, rbx
call fcn.140045140
mov edx, eax
test eax, eax
jne case.0x140050faf.147
lea r8, [rdi + 0x18]
mov rcx, rbx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp 0x14005ffd0
mov r8d, 0x23
lea rdx, str.:_invalid_function_argument_name___
jmp 0x14005102a
mov r8d, 0x41
lea rdx, str.:_junk_where_function_argument_list_trailing_parenthesis_expected
jmp 0x140051060
mov r8d, 0x2d
lea rdx, str.:_junk_where_function_trailing_brace_expected
jmp 0x140051060
mov r8d, 0x1f
lea rdx, str.:_bad_arguments_list_for__main
jmp 0x140051060
mov r8d, 0x21
lea rdx, str.:_type_of__main_is_not__integer
jmp 0x140051060
mov r8d, 0x2c
lea rdx, str.:_non_referable_nor_copyable__non_intrinsic
mov rcx, rbx
call fcn.140045140
mov edx, eax
test eax, eax
jne case.0x140050faf.147
mov r9, qword [rsp + 0x68]
lea rdx, [fcn.140045140]
mov r8d, dword [rdi + 0x18]
mov rcx, rbx
call fcn.14005fdb0
mov edx, eax
test eax, eax
jne case.0x140050faf.147
lea r8d, [rax + 0x1c]
lea rdx, str._used_for_function_parameter
jmp 0x140051060
mov rax, qword [rsp + 0x68]
mov r8, rsi
mov qword [rsp + 0x28], rax
mov rcx, rbx
mov qword [rsp + 0x20], rdi
call fcn.140050b00
jmp 0x140051068
mov r8d, 0x23
lea rdx, str.:_defined_function_argument_name___
jmp 0x14005102a
mov r8d, 0xc
lea rdx, str.:_function__
mov rcx, rbx
call fcn.140045140
mov edx, eax
test eax, eax
jne case.0x140050faf.147
mov r8d, dword [rdi + 0x18]
mov rcx, rbx
mov rdx, qword [rdi]
call fcn.140045140
mov edx, eax
test eax, eax
jne case.0x140050faf.147
lea r8d, [rax + 0x11]
lea rdx, str._already_defined
jmp 0x140051060
mov r8d, 0x10
lea rdx, str.:_unknown_type__
mov rcx, rbx
call fcn.140045140
mov edx, eax
test eax, eax
jne case.0x140050faf.147
mov r8d, dword [rdi + 0x18]
mov rcx, rbx
mov rdx, qword [rdi]
call fcn.140045140
mov edx, eax
test eax, eax
jne case.0x140050faf.147
lea r8d, [rax + 1]
lea rdx, [0x140159984]
jmp 0x140051060
mov r8d, 0x3c
lea rdx, str.:_non_referable_nor_copyable__non_intrinsic_function_type___
jmp 0x14005102a
mov r8d, 0x40
lea rdx, str.:_junk_where_function_argument_list_leading_parenthesis_expected
jmp 0x140051060
mov r8d, 0x2c
lea rdx, str.:_junk_where_function_leading_brace_expected
jmp 0x140051060
mov r8d, 0x39
lea rdx, str.:_junk_where_semicolon_expected__after_redeclaration_of__
mov rcx, rbx
call fcn.140045140
mov edx, eax
test eax, eax
jne case.0x140050faf.147
mov r8d, dword [rdi + 0x20]
mov rdx, qword [rdi + 0x18]
jmp 0x140051043
mov r8d, 0x1a
lea rdx, str.:_invalid_function_name___
jmp 0x14005102a
mov r8d, 0x20
lea rdx, str.:_unresolved_type_for_function__
jmp 0x1400511e0
mov r8d, 0x11
lea rdx, str.:_non_declarable
mov rcx, rbx
call fcn.140045140
mov edx, eax
test eax, eax
jne case.0x140050faf.147
mov r9, qword [rsp + 0x68]
lea rdx, [fcn.140045140]
mov r8d, dword [rdi + 0x18]
mov rcx, rbx
call fcn.14005fdb0
mov edx, eax
test eax, eax
jne case.0x140050faf.147
lea r8d, [rax + 0x26]
lea rdx, str._used_for_reference_function_parameter
jmp 0x140051060
mov r8d, 0x2e
lea rdx, str.:_improper___void__type_for_function_argument
jmp 0x140051060
mov r8d, 0x11
lea rdx, str.:_never_defined__
mov rcx, rbx
call fcn.140045140
mov edx, eax
test eax, eax
jne case.0x140050faf.147
mov r8d, dword [rdi + 0x18]
mov rcx, rbx
mov rdx, qword [rdi]
call fcn.140045140
mov edx, eax
test eax, eax
jne case.0x140050faf.147
lea r8d, [rax + 0xa]
lea rdx, str._function
jmp 0x140051060
mov eax, dword [rdi + 0x84]
lea rcx, [rdi + 0x18]
mov dword [rcx + 0x64], eax
xor r9d, r9d
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, rbx
call fcn.14005f550
jmp 0x140051068
mov r8d, 0x19
lea rdx, str.undefined_function__main
jmp 0x140051063
mov edx, 1
lea rcx, str.no_description_available
mov r9, rbx
lea r8d, [rdx + 0x17]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rdx, rax
xor edx, 0x18
mov rbx, qword [rsp + 0x40]
mov eax, edx
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov eax, dword [r8 + 0x10]
mov rdi, r8
mov rbx, rcx
cmp eax, 0xffffff7a
je 0x1400600d1
cmp eax, 0xffffff7b
je 0x1400600b5
cmp eax, 0xffffff7d
je 0x140060099
cmp eax, 0xffffff7e
je 0x14006007d
cmp eax, 0xffffff7f
je 0x140060061
mov r8d, 0x35
lea rdx, str.bad_parameter_type_in_function_pointer_declaration___
call fcn.140045140
test eax, eax
jne 0x1400600e3
mov r8d, dword [rdi + 8]
mov rcx, rbx
mov rdx, qword [rdi]
call fcn.140045140
test eax, eax
jne 0x1400600e3
lea r8d, [rax + 2]
mov rcx, rbx
lea rdx, [0x1401599f4]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.140045140
mov r8d, 0x15
lea rdx, str.reference_declaration
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.140045140
mov r8d, 0x42
lea rdx, str.missing_function_pointer_parameters_list_leading_parenthesis____
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.140045140
mov r8d, 0x42
lea rdx, str.missing_function_pointer_parameters_list_closing_parenthesis____
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.140045140
mov r8d, 0x35
lea rdx, str.missing_closing_parenthesis______on_function_pointer
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp fcn.140045140
mov r8d, 0x4d
lea rdx, str.missing___after_opening_parenthesis_in_assumed_function_pointer_declaration
call fcn.140045140
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret