Function at 0x14000407e
Capabilities:
Authenticate hmac
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov rax, qword [0x14014f3d0]
cmp dword [rax + 0x1750], 0
mov qword [rsp + 0x30], rcx
mov r14d, edx
mov r13d, r8d
je 0x1400040cb
mov ecx, 2
call qword [str.___a_]
mov r8, qword [rsp + 0x30]
lea rdx, str.Reading_specs_from__s_n
mov rcx, rax
call fcn.14002371c
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
xor edx, edx
call sub.msvcrt.dll__open_1
mov edi, eax
test eax, eax
jns 0x1400040f1
mov r8, qword [rsp + 0x30]
lea rdx, str.cannot_read_spec_file__qs:__m
jmp 0x14000440f
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x48]
call qword [sym.imp.msvcrt.dll__stat64]
test eax, eax
js 0x1400040e0
mov rax, qword [rsp + 0x60]
lea rcx, [rax + 1]
call fcn.1400644b3
mov r8d, dword [rsp + 0x60]
mov ecx, edi
mov rdx, rax
mov rsi, rax
call sub.msvcrt.dll__read_1
mov ebx, eax
test eax, eax
js 0x1400040e0
cdqe
mov ecx, edi
mov byte [rsi + rax], 0
call sub.msvcrt.dll__close_1
lea ecx, [rbx + 1]
movsxd rcx, ecx
call fcn.1400644b3
mov rbx, rax
mov rdx, rax
mov rax, rsi
mov cl, byte [rax]
test cl, cl
je 0x140004174
cmp cl, 0xd
jne 0x14000416a
cmp rsi, rax
jae 0x140004162
cmp byte [rax - 1], 0xa
je 0x14000416f
cmp byte [rax + 1], 0xa
je 0x14000416f
mov cl, 0xa
mov byte [rdx], cl
inc rdx
inc rax
jmp 0x14000414c
mov byte [rdx], 0
mov rcx, rsi
mov rbp, rbx
call fcn.140074210
movzx eax, r13b
mov dword [rsp + 0x38], eax
mov rcx, rbp
call fcn.140001360
mov rsi, rax
mov al, byte [rax]
test al, al
je 0x140004642
cmp al, 0x25
jne 0x1400044e0
test r14b, r14b
jne 0x1400044e0
mov rbp, rsi
mov al, byte [rbp]
mov r15, rbp
inc rbp
cmp al, 0xa
je 0x1400041c4
test al, al
jne 0x1400041b3
lea rdx, [0x1400898e4]
mov rcx, rsi
call fcn.14007ab70
test al, al
je 0x1400041e2
mov al, byte [rsi + 8]
cmp al, 9
je 0x1400041f7
cmp al, 0x20
je 0x1400041f7
lea rdx, str._include_noerr
mov rcx, rsi
call fcn.14007ab70
test al, al
jne 0x140004251
jmp 0x14000425c
add rsi, 9
mov al, byte [rsi]
inc rsi
cmp al, 0x20
je 0x1400041fb
cmp al, 9
je 0x1400041fb
cmp al, 0x3c
jne 0x1400042c4
cmp byte [r15 - 1], 0x3e
jne 0x1400042c4
mov byte [r15 - 1], 0
mov rdx, rsi
mov r8d, 4
lea rcx, [0x1400878b0]
mov r9d, 1
call fcn.140002025
mov r8d, dword [rsp + 0x38]
test rax, rax
cmovne rsi, rax
xor edx, edx
mov rcx, rsi
jmp 0x1400042d7
mov al, byte [rsi + 0xe]
cmp al, 9
je 0x140004278
cmp al, 0x20
je 0x140004278
lea rdx, str._rename
mov rcx, rsi
call fcn.14007ab70
test al, al
jne 0x140004317
jmp 0x140004322
add rsi, 0xf
mov al, byte [rsi]
inc rsi
cmp al, 0x20
je 0x14000427c
cmp al, 9
je 0x14000427c
cmp al, 0x3c
jne 0x1400042c4
cmp byte [r15 - 0xd], 0x90
fisttp qword [rcx - 0x39]
mov byte [rdx + 0x443dc2d3], 0xf
push rdi
out 0x49, eax
mov esp, 0x3dd45b1a
invalid
ret
int1
mov rdi, rsi
mov al, byte [rdi]
test al, al
je 0x14000467c
cmp al, 0x3a
je 0x1400044fe
cmp al, 0xa
je 0x14000467c
inc rdi
jmp 0x1400044e3
mov rdx, rdi
cmp rbx, rdx
jae 0x140004516
mov al, byte [rdx - 1]
cmp al, 9
jne 0x140004512
dec rdx
jmp 0x140004501
cmp al, 0x20
je 0x14000450d
sub edx, esi
mov rcx, rsi
call fcn.1400016f1
lea rcx, [rdi + 1]
mov r15, rax
call fcn.140001360
cmp byte [rax + 1], 0
mov rcx, rax
jne 0x14000453d
mov r8d, eax
jmp 0x14000467f
mov rbp, rax
mov al, byte [rbp]
test al, al
je 0x14000455b
cmp al, 0xa
je 0x140004550
inc rbp
jmp 0x140004540
mov al, byte [rbp + 1]
cmp al, 0xa
je 0x14000455b
test al, al
jne 0x14000454b
mov edx, ebp
sub edx, ecx
call fcn.1400016f1
mov rsi, rax
mov rdx, rax
mov cl, byte [rax]
test cl, cl
je 0x1400045a0
cmp cl, 0x5c
jne 0x140004581
cmp byte [rax + 1], 0xa
jne 0x140004596
add rax, 2
jmp 0x14000456a
cmp cl, 0x23
jne 0x140004596
mov cl, byte [rax]
test cl, cl
je 0x14000456a
cmp cl, 0xa
je 0x14000456a
inc rax
jmp 0x140004586
mov byte [rdx], cl
inc rax
inc rdx
jmp 0x14000456a
mov byte [rdx], 0
cmp byte [r15], 0x2a
jne 0x1400045d7
lea rdx, str.link_command
mov rcx, r15
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140004636
mov r8d, dword [rsp + 0x38]
lea rcx, [r15 + 1]
mov rdx, rsi
call fcn.1400022d8
mov rcx, rsi
call fcn.140074210
jmp 0x14000462c
mov eax, dword [0x140163230]
mov rcx, qword [0x140163238]
lea edx, [rax + 2]
movsxd rdx, edx
shl rdx, 5
call fcn.140064525
movsxd rdx, dword [0x140163230]
mov qword [0x140163238], rax
mov rcx, rdx
shl rdx, 5
lea r8, [rax + rdx]
inc ecx
lea rdx, [rax + rdx + 0x20]
xor eax, eax
mov dword [0x140163230], ecx
mov rdi, rdx
mov ecx, 8
mov qword [r8], r15
mov qword [r8 + 8], rsi
rep stosd dword [rdi], eax
cmp byte [r15], 0
jne 0x14000418a
mov qword [str.__fsyntax_only:__c:__M:__MM:__E:__S:______linker____fno_use_linker_plugin:__fno_lto:______plugin___linker_plugin_file_______plugin_opt__lto_wrapper_______plugin_opt_fresolution_u.res__________flinker_output:_plugin_opt_linker_output_known_______nostdlib:__nodefaultlibs:_:pass_through_libs___link_gcc_c_sequence________fltoflto:__fcompare_debug______flto__fno_lto__flto__l__staticsharedr:_pie:_pie__fuse_ld:_fuse_ld____gz:_e_gz_is_not_supported_in_this_configuration__X__o__e__N__n__r_____s__t__u__z__Z___nostdlib:__r:__nostartfiles:_S______staticno_piestatic_pie:___L___mfwrap____link_libgcc___fvtable_verifynone:__fvtable_verifystd:____e_fvtable_verifystd_is_not_supported_in_this_configuration__fvtable_verifypreinit:____e_fvtable_verifypreinit_is_not_supported_in_this_configuration___nostdlib:__r:__nodefaultlibs:__:sanitize_address_:_______:sanitize_hwaddress_:_______:sanitize_thread_:_______:sanitize_leak_:__o_______fopenaccfopenmp_:gt__ftree_parallelize_loops:__1_:_t_:include_libgomp.spec___link_gomp______fgnu_tm:_:include_libitm.spec___link_itm_______mflib____fsplit_stack:___wrappthread_create_____fprofile_arcsfprofile_generatecoverage:_lgcov___nostdlib:__r:__nodefaultlibs:__:sanitize_address_:_static_libasan:_Bstatic__lasan__static_libasan:_Bdynamic__static_libasanstatic:_:include_libsanitizer.spec___link_libasan______static:_ecannot_specify__static_with__fsanitizeaddress______:sanitize_hwaddress_:_static_libhwasan:_Bstatic__lhwasan__static_libhwasan:_Bdynamic__static_libhwasanstatic:_:include_libsanitizer.spec___link_libhwasan__t_static:_ecannot_specify__static_with__fsanitizehwaddress______:sanitize_thread_:_static_libtsan:_Bstatic__ltsan__static_libtsan:_Bdynamic__static_libtsanstatic:_:include_libsanitizer.spec___link_libtsan______static:_ecannot_specify__static_with__fsanitizethread______:sanitize_undefined_:_static_libubsan:_Bstatic__lubsan__static_libubsan:_Bdynamic__static_libubsanstatic:_:include_libsanitizer.spec___link_libubsan_______:sanitize_leak_:_static_liblsan:_Bstatic__llsan__static_liblsan:_Bdynamic__static_liblsanstatic:_:include_libsanitizer.spec___link_liblsan________nostdlib:__r:__nodefaultlibs:__link_ssp____link_gcc_c_sequence_______nostdlib:__r:__nostartfiles:_E__T___n__post_link__], rsi
jmp 0x14000418a
cmp qword [str.__fsyntax_only:__c:__M:__MM:__E:__S:______linker____fno_use_linker_plugin:__fno_lto:______plugin___linker_plugin_file_______plugin_opt__lto_wrapper_______plugin_opt_fresolution_u.res__________flinker_output:_plugin_opt_linker_output_known_______nostdlib:__nodefaultlibs:_:pass_through_libs___link_gcc_c_sequence________fltoflto:__fcompare_debug______flto__fno_lto__flto__l__staticsharedr:_pie:_pie__fuse_ld:_fuse_ld____gz:_e_gz_is_not_supported_in_this_configuration__X__o__e__N__n__r_____s__t__u__z__Z___nostdlib:__r:__nostartfiles:_S______staticno_piestatic_pie:___L___mfwrap____link_libgcc___fvtable_verifynone:__fvtable_verifystd:____e_fvtable_verifystd_is_not_supported_in_this_configuration__fvtable_verifypreinit:____e_fvtable_verifypreinit_is_not_supported_in_this_configuration___nostdlib:__r:__nodefaultlibs:__:sanitize_address_:_______:sanitize_hwaddress_:_______:sanitize_thread_:_______:sanitize_leak_:__o_______fopenaccfopenmp_:gt__ftree_parallelize_loops:__1_:_t_:include_libgomp.spec___link_gomp______fgnu_tm:_:include_libitm.spec___link_itm_______mflib____fsplit_stack:___wrappthread_create_____fprofile_arcsfprofile_generatecoverage:_lgcov___nostdlib:__r:__nodefaultlibs:__:sanitize_address_:_static_libasan:_Bstatic__lasan__static_libasan:_Bdynamic__static_libasanstatic:_:include_libsanitizer.spec___link_libasan______static:_ecannot_specify__static_with__fsanitizeaddress______:sanitize_hwaddress_:_static_libhwasan:_Bstatic__lhwasan__static_libhwasan:_Bdynamic__static_libhwasanstatic:_:include_libsanitizer.spec___link_libhwasan__t_static:_ecannot_specify__static_with__fsanitizehwaddress______:sanitize_thread_:_static_libtsan:_Bstatic__ltsan__static_libtsan:_Bdynamic__static_libtsanstatic:_:include_libsanitizer.spec___link_libtsan______static:_ecannot_specify__static_with__fsanitizethread______:sanitize_undefined_:_static_libubsan:_Bstatic__lubsan__static_libubsan:_Bdynamic__static_libubsanstatic:_:include_libsanitizer.spec___link_libubsan_______:sanitize_leak_:_static_liblsan:_Bstatic__llsan__static_liblsan:_Bdynamic__static_liblsanstatic:_:include_libsanitizer.spec___link_liblsan________nostdlib:__r:__nodefaultlibs:__link_ssp____link_gcc_c_sequence_______nostdlib:__r:__nostartfiles:_E__T___n__post_link__], 0
jne 0x140004661
mov rax, qword [0x14014f410]
lea rdx, str.spec_file_has_no_spec_for_linking
mov ecx, dword [rax]
call fcn.1400256ad
mov rcx, rbx
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.140074210
mov r8d, edi
sub r8d, ebx
lea rdx, str.specs_file_malformed_after__ld_characters
mov rax, qword [0x14014f410]
mov ecx, dword [rax]
call fcn.1400256ad
nop
push rbx
sub rsp, 0x20
dec ecx
mov rbx, rdx
je 0x1400046bc
lea r8, str.include_spec_function
mov edx, 0x28db
lea rcx, str._gcc_13.2.0_gcc_gcc.cc
call fcn.140085ed0
mov rdx, qword [rdx]
lea rcx, [0x1400878b0]
mov r9d, 1
mov r8d, 4
call fcn.140002025
mov rcx, rax
test rax, rax
jne 0x1400046e2
mov rcx, qword [rbx]
xor r8d, r8d
xor edx, edx
call fcn.14000407e
xor eax, eax
add rsp, 0x20
pop rbx
ret