Function at 0x445aa0
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x148
test byte [rdx + 0x40], 0x40
mov rbp, rcx
mov r12, rdx
jne 0x4446ed
mov rax, qword [rcx + 8]
mov qword [rsp + 0x50], rax
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x370]
mov rsi, rax
mov qword [rsp + 0x90], rax
mov rax, qword [rdx + 0xf8]
test byte [rax + 0xc85], 0x40
lea rdi, [rax + 0x60]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x98], rdi
mov rdi, rax
jne 0x444710
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x8c]
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x130]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0xa8]
test rax, rax
mov qword [rsp + 0x70], rax
jne 0x4442ed
mov r8, qword [rsp + 0x58]
test r8, r8
jne 0x444f69
mov rsi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x70]
mov r14, qword [rbp + 0x58]
mov r15, qword [rbp + 0x60]
shl rsi, 5
add rsi, rax
cmp rax, rsi
jae 0x444873
mov rax, qword [0x004bf7b0]
mov rbx, qword [rsp + 0x70]
mov r13, r12
mov dword [rsp + 0x68], 0
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x78], rax
add rax, 0x250
mov qword [rsp + 0x80], rax
mov rax, qword [0x004bf7b0]
mov qword [rsp + 0x40], rax
lea rdi, [rax + 0x128]
jmp 0x444387
movzx eax, byte [rbx + 0x14]
shr al, 4
test al, al
je 0x44439e
mov qword [r15], 0
add rbx, 0x20
add r14, 4
add r15, 8
cmp rsi, rbx
jbe 0x444870
mov dword [r14], 0xffffffff
mov rax, qword [r13 + 0xf8]
test byte [rax + 0xc85], 0x40
jne 0x444360
mov edx, dword [rbx + 0x18]
test edx, edx
jne 0x444740
mov r12, qword [rsp + 0x40]
mov qword [rsp + 0x118], rdi
mov rax, rdi
mov qword [r15], rax
mov rdx, qword [rsp + 0x118]
lea rax, [r12 + 0x128]
cmp rdx, rax
je 0x444372
movzx eax, byte [rbx + 0x14]
and eax, 0xf
cmp al, 3
je 0x444372
mov rcx, qword [rbp]
mov eax, dword [rcx]
and eax, 0x18000
cmp eax, 0x18000
je 0x444372
movzx eax, byte [rcx + 2]
and eax, 6
cmp al, 6
je 0x444372
mov eax, dword [rbx + 0x18]
sub eax, 1
cmp eax, 0xfffffefe
ja 0x444436
mov r8, qword [rdx + 0x70]
test r8, r8
je 0x444b40
mov rax, qword [r8 + 0x18]
test rax, rax
je 0x444850
cmp qword [rax + 0x20], r8
setne al
movzx eax, al
test eax, eax
jne 0x444372
mov rax, qword [rsp + 0x60]
mov r8d, dword [rbx + 0x10]
mov rcx, r13
mov edx, dword [rax + 0x88]
call fcn.00423e30
test rax, rax
mov qword [rsp + 0x48], rax
je 0x444ad1
mov rdx, qword [rbp]
mov eax, dword [rdx]
and eax, 0x18000
cmp eax, 0x10000
je 0x444a60
movzx eax, byte [rdx + 2]
and eax, 6
jne 0x444810
mov rax, qword [rsp + 0x118]
test byte [rax + 0x2a], 0x80
je 0x4444b0
movzx eax, byte [rdx]
and eax, 3
cmp al, 2
je 0x4444b0
mov rax, qword [r13 + 8]
mov rdx, qword [rsp + 0x48]
mov rcx, r13
call qword [rax + 0x220]
test eax, eax
jne 0x444372
movzx eax, byte [rbx + 0x14]
and eax, 0xf
cmp al, 4
je 0x444827
mov r9d, dword [rsp + 0x68]
test r9d, r9d
jne 0x444547
add qword [rbp + 0x70], 1
xor edx, edx
test byte [r13 + 0x46], 8
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
lea r8, [rsp + 0x120]
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
mov byte [rsp + 0x134], 4
mov dword [rsp + 0x138], 0xfffffff1
jne 0x444526
mov rdx, qword [r13]
lea r9, [r12 + 0x250]
mov qword [rsp + 0x20], 0
mov rcx, rbp
call fcn.00436410
test eax, eax
je 0x444ad1
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x120], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0x128], rax
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x130], rax
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x118]
mov rdx, qword [rax + 0x70]
call fcn.0042bf10
cmp eax, 0xfffffeff
mov dword [rsp + 0x138], eax
je 0x444ad1
mov rcx, qword [rbp]
mov r9, qword [rsp + 0x118]
movzx edx, byte [rcx]
mov rax, qword [r9 + 0x68]
add rax, qword [rsp + 0x120]
and edx, 3
cmp dl, 2
mov qword [rsp + 0x120], rax
je 0x4445f2
mov rdx, qword [r9 + 0x70]
add rax, qword [rdx + 0x30]
movzx edx, byte [rsp + 0x134]
mov r8d, edx
mov qword [rsp + 0x120], rax
and r8d, 0xf
cmp r8b, 6
je 0x444a90
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x48]
lea r8, [rsp + 0x120]
mov rcx, rbp
mov r12d, dword [rax + 0xb0]
mov qword [rsp + 0x20], 0
call fcn.00436410
test eax, eax
je 0x444ad1
cmp eax, 1
je 0x444840
mov dword [rsp + 0x68], 1
jmp 0x444372
mov rax, qword [rbp + 0x28]
lea r8, [rsp + 0x110]
mov rdx, r15
mov rcx, r12
mov qword [rsp + 0x110], rax
call fcn.00462f50
test eax, eax
je 0x444ad1
mov eax, dword [r15 + 0x28]
test al, 4
jne 0x444b70
mov rax, qword [r13 + 0x280]
test rax, rax
je 0x444693
mov r9, qword [rsp + 0x110]
mov r8, r15
mov rdx, qword [rbp]
mov rcx, qword [rsp + 0x50]
call rax
test eax, eax
jne 0x4446e0
movzx eax, word [r15 + 0x2c]
shr ax, 7
and eax, 7
cmp al, 2
je 0x44503c
jbe 0x444fac
cmp al, 3
je 0x444eff
cmp al, 6
jne 0x445071
mov r9, qword [rsp + 0x110]
mov rdx, qword [rbp]
mov r8, r15
mov rcx, qword [rsp + 0x50]
call fcn.0044f530
test eax, eax
je 0x444ad1
nop
mov r15, qword [r15 + 0x18]
test r15, r15
jne 0x444911
mov eax, 1
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsi + 0x320]
xor edx, edx
mov qword [rsp + 0x88], 0
movzx ecx, byte [rax + 5]
mov rax, qword [rdi + 0x80]
div rcx
mov qword [rsp + 0x58], rax
jmp 0x4442b2
cmp edx, 0xfffffff1
je 0x4447f0
cmp edx, 0xfffffff2
jne 0x444765
mov r12, qword [0x004bf7b0]
mov qword [rsp + 0x118], r12
mov rax, r12
jmp 0x4443b9
mov rcx, r13
call fcn.00426b70
test rax, rax
mov qword [rsp + 0x118], rax
je 0x4443a9
movzx edx, word [rax + 0x2c]
mov r12, qword [0x004bf7b0]
and dx, 0x380
cmp dx, 0x100
jne 0x4443b9
movzx edx, byte [rbx + 0x14]
mov r12, qword [rsp + 0xa0]
and edx, 0xf
cmp dl, 3
je 0x4443b9
mov rax, qword [rax + 0xe8]
mov r9, qword [rbx]
lea rdx, [rsp + 0x118]
mov rcx, qword [rsp + 0x50]
mov r8, qword [rax + 0xe0]
call fcn.004681f0
mov r12, qword [0x004bf7b0]
mov qword [rbx], rax
mov rax, qword [rsp + 0x118]
jmp 0x4443b9
mov rax, qword [rsp + 0x80]
mov r12, qword [rsp + 0x78]
mov qword [rsp + 0x118], rax
jmp 0x4443b9
cmp al, 4
je 0x444496
movzx eax, byte [rbx + 0x14]
and eax, 0xf
cmp al, 4
jne 0x4444bf
test byte [r13 + 0x46], 8
jne 0x444372
add qword [rbp + 0x70], 1
jmp 0x444547
mov dword [r14], r12d
jmp 0x44462d
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x90], r8
setne al
movzx eax, al
jmp 0x44442e
mov r12, r13
mov rax, qword [rsp + 0x90]
mov ecx, 8
mov edx, 0x20
mov r15, qword [r12 + 0x88]
mov rax, qword [rax + 0x320]
cmp byte [rax + 0xa], 0x20
setne al
cmove edx, ecx
mov ecx, 0xff
movzx eax, al
mov r13d, edx
mov edx, 0xffffffff
lea rax, [rax*4 + 4]
cmove rdx, rcx
test r15, r15
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xa0], rax
mov rax, qword [r12 + 0xf8]
mov rax, qword [rax + 0x2f8]
mov qword [rsp + 0x78], rax
je 0x4446ed
mov rax, qword [0x004bf7b0]
mov dword [rsp + 0x40], r13d
mov r13, qword [rsp + 0x90]
add rax, 0x250
mov qword [rsp + 0x80], rax
mov qword [rsp + 0xb8], rax
test byte [r15 + 0x2c], 2
je 0x4446e0
mov rdx, qword [rbp]
mov eax, dword [r15 + 0x28]
test byte [rdx + 1], 0x20
jne 0x44493e
mov ecx, eax
and ecx, 0x2100000
cmp ecx, 0x2000000
je 0x4449c1
test ah, 1
je 0x4446e0
mov rcx, qword [r15 + 0x40]
test rcx, rcx
jne 0x444958
test al, 4
je 0x4446e0
test eax, 0x100000
jne 0x4446e0
mov rdx, qword [r15 + 0xe8]
mov rdx, qword [rdx + 0x48]
test rdx, rdx
je 0x44463a
test byte [r13 + 0x3cf], 2
mov qword [rsp + 0x110], rdx
je 0x444665
mov r8, qword [r15 + 0x48]
cmp rcx, r8
jbe 0x444665
test r8, r8
je 0x444665
mov rcx, qword [rbp + 0x28]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbp + 0x28]
mov qword [rsp + 0x110], rax
mov eax, dword [r15 + 0x28]
jmp 0x444665
mov rax, qword [r15 + 0xe8]
mov rbx, qword [r15 + 0x70]
mov esi, dword [rax + 0x2c]
movzx eax, byte [rdx]
and eax, 3
cmp al, 2
je 0x4449ea
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elflink.c
mov edx, 0x2a4d
call fcn.0040a300
mov edx, esi
cmp qword [rsp + 0x58], rdx
jbe 0x444af0
mov rax, qword [r12 + 0xf8]
test byte [rax + 0xc85], 0x40
jne 0x444ad8
mov rax, rdx
shl rax, 5
add rax, qword [rsp + 0x70]
movzx ecx, byte [rax + 0x14]
and ecx, 0xf
cmp cl, 3
je 0x4454b7
mov rcx, qword [rbp + 0x58]
lea rsi, [rdx*4]
mov r14d, dword [rcx + rdx*4]
cmp r14d, 0xffffffff
je 0x445820
mov rax, qword [rbx + 0xe8]
mov dword [rax + 0x2c], r14d
mov eax, dword [r15 + 0x28]
jmp 0x44493e
mov rcx, qword [rdx + 0x30]
mov rdx, qword [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
call fcn.0040eb60
test rax, rax
je 0x444372
mov rdx, qword [rbp]
jmp 0x444471
mov rcx, qword [rcx + 0x28]
mov rcx, qword [rcx + 0x170]
test rcx, rcx
je 0x445720
sub rax, qword [rcx + 0x30]
mov qword [rsp + 0x120], rax
jmp 0x4445f2
lea rcx, str.error:__pB:_size_of_section__pA_is_not_multiple_of_address_size
mov r8, r15
mov rdx, r12
call fcn.0040a1e0
mov ecx, 0x11
call fcn.0040a380
xor eax, eax
jmp 0x4446f2
mov rax, qword [rbp + 0x60]
cmp qword [rax + rdx*8], 0
jne 0x444a0c
nop word [rax + rax]
mov rsi, rdx
sub rsi, qword [rsp + 0x88]
mov rax, qword [rsp + 0x78]
mov rdx, qword [rax + rsi*8]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
ja 0x444b1f
nop
mov rdx, qword [rdx + 0x28]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
jbe 0x444b10
mov rax, qword [rbx + 0xe8]
mov dword [rdx + 0x38], 0xfffffffe
mov dword [rax + 0x2c], 0xfffffffe
mov eax, dword [r15 + 0x28]
jmp 0x44493e
movzx eax, byte [rcx + 7]
and eax, 0x60
cmp al, 0x60
jne 0x444417
mov rax, qword [rdx + 0xf8]
mov rdx, qword [rdx]
lea rcx, str.warning:___enable_non_contiguous_regions_discards_section___s_from__s_n
mov r8, qword [rax]
call fcn.0040a1e0
jmp 0x444372
mov dword [rsp + 0x20], 0
mov r9, qword [rbp + 0x38]
mov rdx, r15
mov r8, qword [rbp + 0x30]
mov rcx, r12
call fcn.0043c050
test rax, rax
mov qword [rsp + 0x90], rax
je 0x445802
mov rdx, qword [r15 + 0x40]
cmp qword [rsp + 0xa0], rdx
jae 0x444bf3
mov rax, qword [r15]
lea rdi, str..ctors
mov ecx, 6
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
jne 0x444f32
mov rcx, qword [r15 + 0x70]
lea rdi, str..init_array
mov rsi, qword [rcx]
mov ecx, 0xc
repe cmpsb byte [rsi], byte [rdi]
jne 0x444f32
movzx eax, byte [rax + 6]
test al, al
je 0x445740
cmp al, 0x2e
je 0x445740
movzx ecx, word [r15 + 0x2c]
shr cx, 7
and ecx, 7
cmp cl, 7
je 0x444c20
mov eax, 1
shl rax, cl
test al, 0x4a
je 0x444c20
mov dword [rsp + 0x48], 0xffffffff
jmp 0x444c55
mov rax, qword [r15 + 0xf8]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x370]
mov rax, qword [rax + 0x250]
test rax, rax
je 0x444c47
mov rcx, r15
call rax
test eax, eax
jne 0x444c10
mov rcx, r15
call qword [r13 + 0x258]
mov dword [rsp + 0x48], eax
mov eax, dword [r15 + 0x90]
mov rdi, qword [rsp + 0x90]
mov rsi, rdi
lea rax, [rax + rax*2]
lea r10, [rdi + rax*8]
cmp rdi, r10
jae 0x4450fc
mov eax, dword [rsp + 0x48]
mov r14, r12
mov qword [rsp + 0xd0], r13
mov r12, rbp
mov rbp, r10
and eax, 1
mov dword [rsp + 0x68], eax
lea rax, [rsp + 0x118]
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0xc8], rax
jmp 0x444d5d
mov rax, qword [r14 + 0xf8]
test byte [rax + 0xc85], 0x40
mov rax, qword [r12 + 0x60]
lea rdi, [rax + rbx*8]
mov r9, qword [rdi]
je 0x444ce5
test r9, r9
je 0x444d7d
mov r8, rbx
mov rdx, qword [rsp + 0x98]
mov rcx, r14
shl r8, 5
add r8, qword [rsp + 0x70]
movzx r13d, byte [r8 + 0x14]
call fcn.00424300
mov qword [rsp + 0x118], rax
and r13d, 0xf
lea eax, [r13 - 8]
cmp eax, 1
jbe 0x444df7
cmp dword [rsp + 0x48], 0xffffffff
je 0x444d50
test rdi, rdi
je 0x444d50
mov rbx, qword [rdi]
mov rax, qword [rsp + 0x80]
cmp rbx, rax
je 0x444d50
test rbx, rbx
je 0x444d50
cmp qword [rbx + 0x70], rax
je 0x4454dc
nop word [rax + rax]
add rsi, 0x18
cmp rbp, rsi
jbe 0x4450ee
mov r8, qword [rsi + 8]
movzx ecx, byte [rsp + 0x40]
mov rbx, r8
shr rbx, cl
test ebx, ebx
je 0x444d50
mov ebx, ebx
cmp qword [rsp + 0x58], rbx
ja 0x444cc0
mov rax, rbx
sub rax, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x78]
mov rax, qword [rdi + rax*8]
test rax, rax
jne 0x444da4
jmp 0x4458f3
mov rax, qword [rax + 0x28]
movzx edx, byte [rax + 0x18]
lea ecx, [rdx - 6]
cmp cl, 1
jbe 0x444da0
test byte [rax + 0x19], 3
movzx r13d, byte [rax + 0x60]
je 0x444dc7
sub edx, 3
cmp dl, 1
jbe 0x445005
movzx edi, byte [rax + 0x18]
lea edx, [rdi - 3]
lea rdi, [rax + 0x28]
cmp dl, 1
mov edx, 0
cmova rdi, rdx
mov rax, qword [rax + 8]
mov qword [rsp + 0x118], rax
lea eax, [r13 - 8]
cmp eax, 1
ja 0x444d1f
mov rax, qword [r12]
movzx eax, byte [rax]
and eax, 3
cmp al, 2
je 0x444d1f
xor eax, eax
cmp r13d, 9
mov rcx, qword [rsp + 0xc8]
sete al
mov r9, r12
mov r8, r14
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov rdx, qword [r15 + 0x70]
mov rax, qword [r15 + 0x68]
add rax, qword [rdx + 0x30]
mov rdx, qword [rsp + 0xc0]
add rax, qword [rsi]
mov qword [rsp + 0x20], rax
call fcn.00436ef0
test eax, eax
je 0x444ad1
mov r13, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x120]
cmp r13, rbx
jbe 0x444eb2
mov rax, rbx
shl rax, 5
add rax, qword [rsp + 0x70]
movzx edx, byte [rax + 0x14]
shr dl, 4
test dl, dl
je 0x445994
mov rax, qword [r14 + 0xf8]
xor r13d, r13d
test byte [rax + 0xc85], 0x40
jne 0x444eb9
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elflink.c
mov edx, 0x2117
call fcn.0040a300
mov rax, qword [r14 + 0xf8]
mov rax, qword [rax + 0x2f8]
sub rbx, r13
mov rdx, qword [rax + rbx*8]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
ja 0x444ee1
mov rdx, qword [rdx + 0x28]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
jbe 0x444ed2
mov rax, qword [0x004bf7b0]
mov byte [rdx + 0x18], 3
mov qword [rdx + 0x30], rdi
add rax, 0x250
mov qword [rdx + 0x28], rax
jmp 0x444d50
mov r9, qword [rsp + 0x110]
mov rdx, qword [rbp]
mov r8, r15
mov rcx, qword [rsp + 0x50]
call fcn.0044f770
test eax, eax
je 0x444ad1
mov r15, qword [r15 + 0x18]
test r15, r15
jne 0x444911
jmp 0x4446ed
lea rdi, str..dtors
mov ecx, 6
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
jne 0x444bf3
mov rcx, qword [r15 + 0x70]
lea rdi, str..fini_array
mov rsi, qword [rcx]
mov ecx, 0xc
repe cmpsb byte [rsi], byte [rdi]
jne 0x444bf3
jmp 0x444bdf
mov rax, qword [rbp + 0x48]
mov rdx, qword [rsp + 0x98]
xor r9d, r9d
mov rcx, r12
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.00423f40
test rax, rax
mov qword [rsp + 0x70], rax
jne 0x4442ed
xor eax, eax
jmp 0x4446f2
cmp al, 1
jne 0x445071
mov rdx, qword [rbp]
mov rcx, qword [rsp + 0x110]
mov r8, r15
mov rax, qword [r15 + 0xe8]
mov rdx, qword [rdx + 0x28]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x50]
lea r9, [rax + 0xe0]
add rdx, 0x100
call fcn.0046a770
test eax, eax
je 0x444ad1
mov r15, qword [r15 + 0x18]
test r15, r15
jne 0x444911
jmp 0x4446ed
mov rdx, qword [rax + 0x28]
test byte [rdx + 0x2a], 0x10
jne 0x444dc7
mov rdx, qword [rdx + 0xf8]
test rdx, rdx
je 0x444dc7
test byte [rdx + 0x42], 1
je 0x444dc7
mov byte [rax + 0x18], 1
mov qword [rax + 0x28], rdx
xor edi, edi
jmp 0x444dde
mov rax, qword [r15 + 0xe8]
mov rcx, qword [rsp + 0x50]
mov rdx, r15
mov r8, qword [rax + 0xe0]
call fcn.00467f80
test eax, eax
je 0x444ad1
mov r15, qword [r15 + 0x18]
test r15, r15
jne 0x444911
jmp 0x4446ed
test byte [r15 + 0x29], 0x80
jne 0x4446e0
mov r14, qword [rsp + 0x50]
mov rdi, qword [r15 + 0x68]
mov rdx, r15
mov rbx, qword [r15 + 0x40]
mov rcx, r14
call fcn.0040a030
mov esi, eax
imul rsi, rdi
test byte [r15 + 0x2b], 4
je 0x4459b5
mov rax, qword [rsp + 0xa0]
sub rbx, rax
mov rdi, rax
jmp 0x4450c4
test rbx, rbx
je 0x4446e0
add rsi, rdi
sub rbx, rdi
mov r8, rbx
add r8, qword [rsp + 0x110]
mov rdx, qword [r15 + 0x70]
mov r9, rsi
mov qword [rsp + 0x20], rdi
mov rcx, r14
call fcn.00412050
test eax, eax
jne 0x4450b5
xor eax, eax
jmp 0x4446f2
mov r13, qword [rsp + 0xd0]
mov rbp, r12
mov r12, r14
mov rax, qword [rbp + 0x60]
mov r9, r15
mov r8, r12
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rbp]
call rax
test eax, eax
je 0x444ad1
mov rcx, qword [rbp]
movzx r10d, byte [rcx]
and r10d, 3
cmp eax, 2
je 0x44516b
cmp r10b, 2
je 0x44516b
test byte [rcx + 3], 0x40
je 0x44466d
mov rax, qword [r15 + 0xe8]
mov r9, qword [r15 + 0x70]
mov rbx, qword [rsp + 0x90]
mov rsi, rax
mov qword [rsp + 0xd0], rax
mov rax, qword [r9 + 0xe8]
mov rdi, rax
mov qword [rsp + 0x108], rax
mov eax, dword [r15 + 0x90]
mov edx, dword [rdi + 0x60]
lea rax, [rax + rax*2]
lea rax, [rbx + rax*8]
mov rbx, qword [rsi + 0x58]
mov r11, rax
mov rax, qword [rdi + 0x68]
test rbx, rbx
lea rax, [rax + rdx*8]
mov qword [rsp + 0xd8], rax
je 0x4459a3
mov r8, qword [rbx + 0x38]
test r8, r8
jne 0x44572f
mov rax, qword [r13 + 0x320]
movzx eax, byte [rax + 9]
lea rax, [rax + rax*2]
shl rax, 3
imul r8, rax
add r8, qword [rsp + 0x90]
mov qword [rsp + 0x48], r8
cmp r10b, 2
mov rdi, qword [r15 + 0x68]
je 0x44520c
add rdi, qword [r9 + 0x30]
mov rax, qword [rsp + 0x90]
mov r14, r11
cmp rax, r11
jae 0x445a00
mov rsi, qword [rsp + 0xd8]
mov rbx, rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x198], r12
mov dword [rsp + 0xc8], 0
mov rdx, rcx
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0x68], rsi
mov r12, qword [rsp + 0x50]
xor esi, esi
jmp 0x445297
mov qword [rbx], rdi
mov qword [rbx + 8], 0
mov qword [rbx + 0x10], 0
add rbx, 0x18
add esi, 1
cmp r14, rbx
jbe 0x4456a4
mov rdx, qword [rbp]
mov rax, qword [r13 + 0x320]
movzx eax, byte [rax + 9]
cmp eax, esi
je 0x4453c5
cmp qword [rsp + 0x48], rbx
je 0x445a22
mov r9, qword [rbx]
mov r8, r15
mov rcx, r12
call fcn.00433a60
cmp rax, 0xfffffffffffffffd
mov qword [rbx], rax
ja 0x445270
add rax, qword [r15 + 0x68]
mov rdx, qword [rbp]
mov rdi, rax
mov qword [rbx], rax
movzx eax, byte [rdx]
and eax, 3
cmp al, 2
je 0x4452ef
mov rax, qword [r15 + 0x70]
add rdi, qword [rax + 0x30]
mov qword [rbx], rdi
mov r8, qword [rbx + 8]
movzx ecx, byte [rsp + 0x40]
mov rax, r8
shr rax, cl
test eax, eax
je 0x445283
mov r10d, eax
cmp qword [rsp + 0x58], r10
mov rcx, qword [rsp + 0x198]
mov rcx, qword [rcx + 0xf8]
jbe 0x4453d2
test byte [rcx + 0xc85], 0x40
je 0x44543e
mov r9, qword [rbp + 0x60]
mov r9, qword [r9 + r10*8]
test r9, r9
je 0x4453d2
mov rax, qword [rsp + 0x68]
mov qword [rax], 0
mov rax, r10
shl rax, 5
add rax, qword [rsp + 0x70]
mov rcx, qword [rax]
mov qword [rsp + 0x120], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x128], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x130], rcx
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x138], rax
movzx eax, byte [rsp + 0x134]
and eax, 0xf
cmp al, 3
je 0x44544b
mov rax, qword [rbp + 0x58]
mov r11d, dword [rax + r10*4]
cmp r11d, 0xffffffff
je 0x445555
movzx ecx, byte [rsp + 0x40]
shl r11, cl
and r8, qword [rsp + 0xa8]
or r8, r11
mov qword [rbx + 8], r8
jmp 0x445283
add qword [rsp + 0x68], 8
xor esi, esi
jmp 0x4452aa
sub eax, dword [rsp + 0x88]
mov rdx, qword [rcx + 0x2f8]
mov r8, qword [rdx + rax*8]
movzx eax, byte [r8 + 0x18]
sub eax, 6
cmp al, 1
ja 0x445400
mov r8, qword [r8 + 0x28]
movzx eax, byte [r8 + 0x18]
sub eax, 6
cmp al, 1
jbe 0x4453f0
mov ecx, dword [r8 + 0x38]
test ecx, ecx
js 0x445429
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elflink.c
mov edx, 0x2be8
mov qword [rsp + 0xc0], r8
call fcn.0040a300
mov r8, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x68]
mov dword [r8 + 0x38], 0xfffffffe
mov qword [rax], r8
jmp 0x445283
mov rax, qword [rbp + 0x60]
mov r9, qword [rax + r10*8]
jmp 0x44533d
cmp r9, qword [rsp + 0xb8]
je 0x445959
test r9, r9
je 0x4459e0
cmp qword [r9 + 0xf8], 0
je 0x4459e0
mov rdx, qword [r9 + 0x70]
cmp rdx, qword [rsp + 0xb8]
je 0x445961
mov eax, dword [rdx + 0xe0]
test eax, eax
je 0x445916
movzx ecx, byte [rsp + 0x40]
mov r11d, eax
shl r11, cl
mov edx, dword [rsp + 0xc8]
test edx, edx
je 0x4453b1
mov rax, qword [r9 + 0x68]
add qword [rbx + 0x10], rax
jmp 0x4453b1
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbx + 0xe8]
mov rdx, qword [rcx + rdx*8]
mov rdx, qword [rdx + 0x70]
mov edx, dword [rdx + 0xe0]
mov dword [rax + 0x2c], edx
mov eax, dword [r15 + 0x28]
jmp 0x44493e
movzx eax, word [rbx + 0x2c]
and ax, 0x380
sub ax, 0x100
test ax, 0xfe80
je 0x444d50
mov eax, dword [rsp + 0x68]
test eax, eax
jne 0x445522
test byte [rsp + 0x48], 2
je 0x444d50
mov rdx, qword [r12]
mov rcx, rbx
call fcn.00444160
test rax, rax
je 0x444d50
mov qword [rdi], rax
jmp 0x444d50
mov rax, qword [r12]
mov rdx, qword [rbx + 0xf8]
mov r9, r14
mov r8, r15
lea rcx, str._X__s_referenced_in_section___pA_of__pB:_defined_in_discarded_section___pA_of__pB_n
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rbx
mov rdx, qword [rsp + 0x118]
call qword [rax + 0x58]
jmp 0x4454fa
mov eax, dword [rdx]
and eax, 0x18000
cmp eax, 0x18000
je 0x445a11
mov rax, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x130]
mov rcx, qword [rsp + 0x198]
mov qword [rsp + 0xf8], r10
mov qword [rsp + 0xf0], r9
mov edx, dword [rax + 0x88]
call fcn.00423e30
test rax, rax
mov qword [rsp + 0xc0], rax
je 0x444ad1
mov r9, qword [rsp + 0xf0]
mov rcx, r12
mov r8, qword [r9 + 0x70]
mov rdx, r8
mov qword [rsp + 0x100], r8
call fcn.0042bf10
cmp eax, 0xfffffeff
mov dword [rsp + 0x138], eax
je 0x444ad1
mov rdx, qword [rbp]
mov r9, qword [rsp + 0xf0]
mov r10, qword [rsp + 0xf8]
movzx ecx, byte [rdx]
mov rax, qword [r9 + 0x68]
add rax, qword [rsp + 0x120]
and ecx, 3
cmp cl, 2
mov qword [rsp + 0x120], rax
je 0x445639
mov r8, qword [rsp + 0x100]
movzx ecx, byte [rsp + 0x134]
add rax, qword [r8 + 0x30]
mov r8d, ecx
and r8d, 0xf
cmp r8b, 6
mov qword [rsp + 0x120], rax
je 0x4457dd
mov r11d, dword [r12 + 0xb0]
mov r8, qword [rsp + 0xe8]
mov rcx, rbp
mov rdx, qword [rsp + 0xc0]
mov qword [rsp + 0x20], 0
mov qword [rsp + 0xf8], r10
mov dword [rsp + 0xf0], r11d
call fcn.00436410
test eax, eax
je 0x444ad1
cmp eax, 1
jne 0x445a7a
mov r11d, dword [rsp + 0xf0]
mov rax, qword [rbp + 0x58]
mov r10, qword [rsp + 0xf8]
mov r8, qword [rbx + 8]
mov dword [rax + r10*4], r11d
jmp 0x4453a9
mov rax, qword [rsp + 0xd0]
mov r12, qword [rsp + 0x198]
mov rbx, qword [rax + 0x58]
test rbx, rbx
je 0x4456c8
cmp qword [rbx + 0x20], 0
jne 0x445775
mov rax, qword [rsp + 0xd0]
mov r8, qword [rax + 0x70]
test r8, r8
je 0x44466d
cmp qword [r8 + 0x20], 0
je 0x44466d
mov rax, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x90]
mov rdx, r15
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
call qword [r13 + 0x1f0]
test eax, eax
jne 0x44466d
xor eax, eax
jmp 0x4446f2
and edx, 0xfffffff0
mov byte [rsp + 0x134], dl
jmp 0x4445f2
mov rax, qword [rbx + 0x20]
xor edx, edx
div r8
mov r8, rax
jmp 0x4451da
mov rax, qword [r13 + 0x320]
movzx eax, byte [rax + 9]
imul rdx, rax
mov eax, dword [r15 + 0x90]
imul rax, qword [rsp + 0xa0]
cmp rdx, rax
jne 0x444ab5
or dword [r15 + 0x28], 0x4000000
jmp 0x444bf3
mov rax, qword [rsp + 0xd8]
mov r9, qword [rsp + 0x90]
mov r8, rbx
mov rdx, r15
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
call qword [r13 + 0x1f0]
test eax, eax
je 0x444ad1
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x4457b9
mov rax, qword [rbx + 0x20]
xor edx, edx
div rcx
mov rcx, rax
mov rax, qword [r13 + 0x320]
movzx eax, byte [rax + 9]
lea rax, [rax + rax*2]
shl rax, 3
imul rax, rcx
add qword [rsp + 0x90], rax
jmp 0x4456c8
mov rdx, qword [rdx + 0x28]
mov rdx, qword [rdx + 0x170]
test rdx, rdx
je 0x4459f1
sub rax, qword [rdx + 0x30]
mov qword [rsp + 0x120], rax
jmp 0x445639
mov r8d, dword [r15 + 0x90]
test r8d, r8d
je 0x444b9c
xor eax, eax
jmp 0x4446f2
mov rcx, qword [rax]
mov qword [rsp + 0x120], rcx
mov rcx, qword [rax + 8]
mov qword [rsp + 0x128], rcx
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x130], rcx
mov rax, qword [rax + 0x18]
mov rcx, r12
mov r8d, dword [rsp + 0x130]
mov qword [rsp + 0x138], rax
mov rax, qword [rbp + 0x60]
mov rax, qword [rax + rdx*8]
mov r14, qword [rax + 0x70]
mov rax, qword [rsp + 0x60]
mov edx, dword [rax + 0x88]
call fcn.00423e30
test rax, rax
mov rdi, rax
je 0x444ad1
mov rdx, r14
mov r14, qword [rsp + 0x50]
mov rcx, r14
call fcn.0042bf10
cmp eax, 0xfffffeff
mov dword [rsp + 0x138], eax
je 0x444ad1
lea r8, [rsp + 0x120]
mov rax, qword [r15 + 0x68]
mov r14d, dword [r14 + 0xb0]
mov r9, r15
mov qword [rsp + 0x20], 0
mov rdx, rdi
mov rcx, rbp
add qword [rsp + 0x120], rax
call fcn.00436410
test eax, eax
je 0x444ad1
cmp eax, 1
jne 0x445a62
add rsi, qword [rbp + 0x58]
mov dword [rsi], r14d
jmp 0x444a42
lea rcx, str.error:__pB_contains_a_reloc___I64x__for_section__pA_that_references_a_non_existent_global_symbol
mov r9, r15
mov rdx, r14
call fcn.0040a1e0
mov ecx, 0x11
call fcn.0040a380
xor eax, eax
jmp 0x4446f2
mov r8, qword [rdx + 0x30]
add qword [rbx + 0x10], r8
mov rcx, r12
mov qword [rsp + 0xc0], r9
call fcn.00466b50
mov r8d, dword [rax + 0xe0]
movzx ecx, byte [rsp + 0x40]
mov rdx, qword [rax + 0x30]
mov r9, qword [rsp + 0xc0]
sub qword [rbx + 0x10], rdx
mov r11, r8
mov r8, qword [rbx + 8]
shl r11, cl
jmp 0x44549b
xor r11d, r11d
jmp 0x44549b
mov rax, qword [r9 + 0xd0]
test rax, rax
je 0x445959
mov rdx, qword [rax + 0x70]
test rdx, rdx
je 0x445959
mov rax, qword [rdx + 0x30]
xor r11d, r11d
sub qword [rbx + 0x10], rax
cmp rdx, qword [rsp + 0xb8]
je 0x44549b
jmp 0x445482
mov dword [rax + 0x18], 0xfffffff1
mov qword [rax], rdi
jmp 0x444d50
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x48], rax
jmp 0x4451fe
mov rdx, qword [r15 + 0x70]
mov r8, qword [rsp + 0x110]
mov r9, rsi
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x20], rbx
call fcn.00412050
test eax, eax
jne 0x4446e0
jmp 0x444ad1
mov ecx, 0x11
call fcn.0040a380
xor eax, eax
jmp 0x4446f2
and ecx, 0xfffffff0
mov byte [rsp + 0x134], cl
jmp 0x445639
mov qword [rsp + 0xe0], 0
jmp 0x4456b8
mov ecx, 5
call fcn.0040a380
xor eax, eax
jmp 0x4446f2
mov rax, qword [rsp + 0x108]
mov ecx, dword [rax + 0x78]
mov rax, qword [rax + 0x80]
lea rax, [rax + rcx*8]
mov rcx, rax
mov qword [rsp + 0x68], rax
movzx eax, byte [r13 + 0x3cc]
mov qword [rsp + 0xe0], rcx
shr al, 6
and eax, 1
mov dword [rsp + 0xc8], eax
jmp 0x4452b5
lea r8, str.elf_link_input_bfd
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elflink.c
mov edx, 0x2a80
call fcn.0040a320
lea r8, str.elf_link_input_bfd
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elflink.c
mov edx, 0x2c63
call fcn.0040a320
nop
nop dword [rax]
nop word cs:[rax + rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1e8
mov rax, qword [rdx + 0x28]
mov r15, rcx
mov qword [rsp + 0x238], rdx
cmp dword [rax + 0x40], 1
mov qword [rsp + 0x50], rax
je 0x445ae5
xor ebx, ebx
mov eax, ebx
add rsp, 0x1e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rcx + 8]
mov rax, qword [rax + 0x370]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x238]
movzx eax, byte [rax]
mov edx, eax
and edx, 3
test al, 1
jne 0x4464dd
mov rax, qword [rsp + 0x50]
cmp dl, 2
mov r14d, 1
mov ecx, dword [rax + 0x4c]
mov rax, qword [rax + 0x68]
mov dword [rsp + 0x80], ecx
mov qword [rsp + 0x78], rax
je 0x445b49
mov rax, qword [rsp + 0x238]
movzx eax, byte [rax + 3]
mov byte [rsp + 0x58], al
shr al, 6
and eax, 1
mov r14d, eax
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x168], r15
mov qword [rsp + 0x160], rax
call fcn.0044be90
test rax, rax
mov qword [rsp + 0x170], rax
je 0x445acd
mov esi, dword [rsp + 0x80]
test esi, esi
jne 0x446565
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov rax, qword [r15 + 8]
mov r13, qword [r15 + 0x88]
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], 0
mov rax, qword [rax + 0x370]
test r13, r13
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x1b0], 0
mov qword [rsp + 0x1b8], 0
mov qword [rsp + 0x1c0], 0
mov qword [rsp + 0x1c8], 0
mov qword [rsp + 0x1d0], 0
mov rbx, qword [rax + 0x348]
je 0x446740
xor eax, eax
mov byte [rsp + 0x60], r14b
xor ebp, ebp
mov r14, r13
mov qword [rsp + 0x58], 0
mov r13, rbx
lea r12, str..gnu.attributes
mov rbx, rax
jmp 0x445cbf
mov ecx, 0x10
mov rdi, r12
repe cmpsb byte [rsi], byte [rdi]
je 0x445cd6
mov eax, dword [r14 + 0x28]
test eax, 0x2000000
je 0x445cb6
cmp qword [r14 + 0x40], 0
jne 0x445cb6
nop
mov rdx, qword [r14 + 0x20]
or ah, 0x80
mov dword [r14 + 0x28], eax
mov rax, qword [r14 + 0x18]
test rdx, rdx
je 0x446418
mov qword [rdx + 0x18], rax
test rax, rax
je 0x44640c
mov qword [rax + 0x20], rdx
sub dword [r15 + 0x98], 1
mov ebp, 1
mov r14, qword [r14 + 0x18]
test r14, r14
je 0x445d3d
test r13, r13
mov rsi, qword [r14]
je 0x445c60
mov rdx, r13
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x445c60
mov rax, qword [r14 + 0x110]
test rax, rax
jne 0x445cec
jmp 0x445d05
mov rax, qword [rax]
test rax, rax
je 0x445d05
cmp dword [rax + 8], 1
jne 0x445ce4
mov rdx, qword [rax + 0x20]
mov rax, qword [rax]
and dword [rdx + 0x28], 0xfffffeff
test rax, rax
jne 0x445cec
mov rcx, r15
call fcn.0044b0c0
mov rcx, r14
mov rbx, rax
mov rdx, rax
call fcn.00412010
test rbx, rbx
mov qword [r14 + 0x110], 0
je 0x446230
mov qword [rsp + 0x58], r14
mov r14, qword [r14 + 0x18]
test r14, r14
jne 0x445cbf
test ebp, ebp
movzx r14d, byte [rsp + 0x60]
mov qword [rsp + 0xa0], rbx
jne 0x446550
mov rsi, qword [r15 + 0x88]
test rsi, rsi
je 0x446755
xor r13d, r13d
xor r10d, r10d
xor r9d, r9d
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x70], 0
xor r12d, r12d
mov qword [rsp + 0x230], r15
nop dword [rax]
mov rbx, qword [rsi + 0x110]
mov rbp, qword [rsi + 0xe8]
mov dword [rsi + 0x90], 0
test rbx, rbx
je 0x446381
mov r15d, 1
jmp 0x445dd5
cmp eax, 1
je 0x446260
mov rbx, qword [rbx]
test rbx, rbx
je 0x445e61
mov eax, dword [rbx + 8]
lea edx, [rax - 3]
cmp edx, 1
ja 0x445dc0
mov edx, 1
xor ecx, ecx
xor r8d, r8d
add dword [rsi + 0x90], edx
cmp eax, 1
jne 0x446240
test r14b, r14b
je 0x446240
mov rdx, qword [rcx + 0x58]
test rdx, rdx
je 0x445e2c
mov rdi, qword [rdx + 0x38]
xor eax, eax
mov r11d, dword [rbp + 0x60]
test rdi, rdi
je 0x445e23
mov rax, qword [rdx + 0x20]
xor edx, edx
div rdi
add r11d, r8d
add eax, r11d
mov dword [rbp + 0x60], eax
mov rdx, qword [rcx + 0x70]
test rdx, rdx
je 0x445dc9
mov r11, qword [rdx + 0x38]
xor eax, eax
mov ecx, dword [rbp + 0x78]
test r11, r11
je 0x445e4c
mov rax, qword [rdx + 0x20]
xor edx, edx
div r11
mov rbx, qword [rbx]
add r8d, ecx
add eax, r8d
mov dword [rbp + 0x78], eax
test rbx, rbx
jne 0x445dd5
mov ebx, dword [rsi + 0x90]
test ebx, ebx
je 0x446381
or dword [rsi + 0x28], 4
movabs rax, 0x100000001
test qword [rsi + 0x28], rax
jne 0x445e8b
mov qword [rsi + 0x30], 0
mov rsi, qword [rsi + 0x18]
test rsi, rsi
jne 0x445d90
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x98], r10
mov qword [rsp + 0x90], r9
mov r15, qword [rsp + 0x230]
movzx eax, byte [rax]
mov byte [rsp + 0x88], al
and eax, 3
cmp al, 2
je 0x445ed3
and r13d, 1
jne 0x446521
mov rax, qword [rsp + 0x238]
mov eax, dword [rax]
mov dword [rsp + 0x88], eax
and eax, 0x18000
cmp eax, 0x18000
setne al
or eax, r14d
test byte [r15 + 0x45], 4
movzx eax, al
mov dword [r15 + 0xb0], eax
jne 0x44653a
mov rdx, qword [rsp + 0x238]
mov rcx, r15
call fcn.00428290
test eax, eax
je 0x4464c1
mov rbp, qword [r15 + 0x88]
test rbp, rbp
je 0x446010
lea rbx, str..ctf
jmp 0x445f4d
mov rbp, qword [rbp + 0x18]
test rbp, rbp
je 0x446010
test byte [rbp + 0x28], 4
mov r13, qword [rbp + 0xe8]
je 0x445f90
cmp qword [r13 + 0x58], 0
je 0x445f75
lea rdx, [r13 + 0x58]
mov rcx, r15
call fcn.00436b10
test eax, eax
je 0x4464c1
cmp qword [r13 + 0x70], 0
je 0x445f90
lea rdx, [r13 + 0x70]
mov rcx, r15
call fcn.00436b10
test eax, eax
je 0x4464c1
cmp qword [r13 + 0x18], 0xffffffffffffffff
mov dword [rbp + 0xe0], 0
mov dword [r13 + 0x60], 0
mov dword [r13 + 0x78], 0
jne 0x445f40
mov rax, qword [rbp]
mov ecx, 4
mov rdi, rbx
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
jne 0x445fd8
movzx eax, byte [rax + 4]
test al, al
je 0x445f40
cmp al, 0x2e
je 0x445f40
test byte [rbp + 0x2b], 8
je 0x446f73
cmp qword [r13 + 0x48], 0
jne 0x446f73
mov rcx, qword [r13 + 0x20]
call fcn.0040f490
test rax, rax
je 0x4464c1
mov rbp, qword [rbp + 0x18]
mov qword [r13 + 0x48], rax
test rbp, rbp
jne 0x445f4d
mov rax, qword [r15 + 0xf8]
mov dword [r15 + 0xb0], 0
mov ebx, 0x14
mov dword [rax + 0x64], 2
mov rdi, rax
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x320]
movzx edx, byte [rax + 5]
mov qword [rdi + 0x98], rdx
movzx ecx, byte [rax + 0xb]
mov eax, 1
shl rax, cl
mov qword [rdi + 0x90], rax
mov rax, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x50]
cmp rax, 0x14
cmovae rbx, rax
lea rcx, [rbx + rbx*4]
mov qword [rdi + 0xb0], rbx
shl rcx, 3
call fcn.0040f490
test rax, rax
mov qword [rdi + 0xb8], rax
je 0x4464c1
mov rdx, qword [r15 + 0xf8]
cmp dword [rdx + 0x2f4], 0xff01
sbb rax, rax
not rax
mov qword [rsp + 0x1c8], rax
mov rax, qword [rsp + 0x238]
mov eax, dword [rax]
mov dword [rsp + 0x90], eax
and eax, 0x18000
cmp eax, 0x18000
jne 0x44659d
test r14b, r14b
jne 0x44659d
test r12, r12
jne 0x446ccd
cmp qword [rsp + 0x70], 0
jne 0x446718
cmp qword [rsp + 0x60], 0
je 0x446125
mov rax, qword [rsp + 0x60]
lea rcx, [rax + rax*2]
shl rcx, 3
call fcn.0040f490
test rax, rax
mov qword [rsp + 0x198], rax
je 0x4464c1
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x320]
movzx ecx, byte [rax + 5]
imul rcx, rbx
call fcn.0040f490
test rax, rax
mov qword [rsp + 0x1a0], rax
je 0x4464c1
mov rcx, rbx
shl rcx, 5
call fcn.0040f490
test rax, rax
mov qword [rsp + 0x1b0], rax
je 0x4464c1
lea rcx, [rbx*4]
call fcn.0040f490
test rax, rax
mov qword [rsp + 0x1b8], rax
je 0x4464c1
lea rcx, [rbx*8]
call fcn.0040f490
test rax, rax
mov qword [rsp + 0x1c0], rax
je 0x4464c1
cmp qword [rsp + 0x98], 0
jne 0x446ec1
mov rax, qword [rsp + 0x50]
mov rsi, qword [rax + 0x170]
xor eax, eax
test rsi, rsi
jne 0x446209
jmp 0x4467ca
test byte [rsi + 0x29], 1
jne 0x446227
mov rdx, qword [rsi + 0x118]
mov ecx, eax
test rdx, rdx
je 0x4461f0
mov rbx, rcx
imul rbx, qword [rdx + 0x10]
add rbx, qword [rdx + 0x18]
xor edx, edx
mov rax, rbx
div rcx
add rax, qword [rsi + 0x30]
mov rsi, qword [rsi + 0x18]
test rsi, rsi
je 0x446787
test byte [rsi + 0x29], 4
je 0x446787
mov rbx, qword [rsi + 0x40]
mov rdx, rsi
mov rcx, r15
call fcn.0040a030
test rbx, rbx
je 0x4461d0
mov ecx, eax
jmp 0x4461f0
mov eax, dword [r14 + 0x28]
jmp 0x445c80
test byte [rsi + 0x2d], 4
je 0x446250
add dword [rbp + 0x78], edx
jmp 0x445dc9
add dword [rbp + 0x60], edx
jmp 0x445dc9
mov rdi, qword [rbx + 0x20]
mov r11d, dword [rdi + 0x28]
or byte [rdi + 0x2c], 2
mov rax, qword [rdi + 0x40]
test r11d, 0x800000
cmovne r13d, r15d
cmp qword [rdi + 0x48], rax
cmovae rax, qword [rdi + 0x48]
cmp r12, rax
cmovb r12, rax
mov rax, qword [rdi + 0xf8]
mov rdx, qword [rax + 8]
cmp dword [rdx + 8], 5
jne 0x445dc9
test byte [rax + 0x40], 0x40
jne 0x445dc9
mov rcx, qword [rax + 0xf8]
test byte [rcx + 0xc85], 0x40
je 0x446401
mov rax, qword [rsp + 0x48]
xor edx, edx
mov rax, qword [rax + 0x320]
movzx r8d, byte [rax + 5]
mov rax, qword [rcx + 0x80]
div r8
cmp r9, rax
cmovb r9, rax
cmp rax, r10
jbe 0x4462f3
cmp qword [rcx + 0x2e0], 0
cmovne r10, rax
mov eax, dword [rbp + 4]
cmp eax, 9
je 0x4463a0
cmp eax, 4
je 0x4463a0
test r14b, r14b
je 0x44638a
mov rax, qword [rsp + 0x48]
xor r8d, r8d
mov edx, dword [rdi + 0x90]
mov rax, qword [rax + 0x208]
test rax, rax
je 0x446361
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x90], r10
mov rcx, rdi
mov dword [rsp + 0x88], edx
call rax
mov r11d, dword [rdi + 0x28]
mov edx, dword [rsp + 0x88]
mov r8d, eax
mov r10, qword [rsp + 0x90]
mov r9, qword [rsp + 0x98]
and r11d, 4
mov rcx, qword [rdi + 0xe8]
jne 0x4463b6
test edx, edx
je 0x445dc9
add edx, r8d
mov eax, dword [rbx + 8]
jmp 0x445dea
and dword [rsi + 0x28], 0xfffffffb
jmp 0x445e73
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x4464e6
nop
and r11d, 4
mov rcx, qword [rdi + 0xe8]
je 0x445dc9
xor r8d, r8d
xor edx, edx
mov rax, qword [rcx + 0x58]
test rax, rax
je 0x446704
mov r11, qword [rcx + 0x70]
mov rax, qword [rax + 0x20]
test r11, r11
je 0x4463d4
add rax, qword [r11 + 0x20]
mov r11, qword [rsp + 0x70]
cmp r11, rax
cmovae rax, r11
mov qword [rsp + 0x70], rax
mov eax, dword [rdi + 0x90]
mov rdi, qword [rsp + 0x60]
cmp rdi, rax
cmovae rax, rdi
mov qword [rsp + 0x60], rax
jmp 0x44636e
mov eax, dword [rcx + 0x8c]
jmp 0x4462db
mov qword [r15 + 0x90], rdx
jmp 0x445ca9
mov qword [r15 + 0x88], rax
jmp 0x445c9c
cmp dword [rsi + 8], 1
mov rdi, r12
lea r13, [rsp + 0x160]
jne 0x4464c9
mov rax, qword [rdi + 8]
cmp dword [rax + 8], 5
jne 0x4464c9
mov rcx, qword [rsp + 0x48]
mov rax, qword [rdi + 0xf8]
mov rdx, qword [rcx + 0x320]
movzx eax, byte [rax + 4]
movzx edx, byte [rdx + 0xc]
cmp al, dl
je 0x4464c9
cmp dl, 1
je 0x44894c
jb 0x448940
cmp dl, 2
jne 0x448928
lea rsi, str.ELFCLASS64
cmp al, 1
je 0x44891c
jb 0x448970
cmp al, 2
jne 0x448958
lea rbx, str.ELFCLASS64
mov ecx, 3
call fcn.0040a380
lea rcx, str._pB:_file_class__s_incompatible_with__s
mov r9, rsi
mov r8, rbx
mov rdx, rdi
call fcn.0040a1e0
lea r13, [rsp + 0x160]
lea rcx, [r15 + 0x88]
mov rdx, r13
call fcn.00436ca0
jmp 0x445acd
or dword [rcx + 0x40], 0x40
jmp 0x445b0d
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x88], r10
mov rdx, rdi
mov rcx, qword [rsp + 0x238]
call rax
mov r11d, dword [rdi + 0x28]
mov edx, eax
xor r8d, r8d
mov r9, qword [rsp + 0x90]
mov r10, qword [rsp + 0x88]
jmp 0x446361
mov rcx, qword [rsp + 0x50]
lea rdx, [0x00436d50]
mov r8, r15
call fcn.00464870
jmp 0x445ed3
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elflink.c
mov edx, 0x2fa5
call fcn.0040a300
jmp 0x445f09
mov rdx, qword [rsp + 0x238]
mov rcx, r15
call fcn.00466d40
jmp 0x445d53
mov rdi, qword [rsp + 0x78]
lea rdx, str..hash
mov rcx, rdi
call fcn.00411a70
lea rdx, str..gnu.version
mov rcx, rdi
mov qword [rsp + 0x178], rax
call fcn.00411a70
mov qword [rsp + 0x180], rax
jmp 0x445b9e
mov rax, qword [rdx + 0xc90]
mov r8d, 1
lea rdi, [rsp + 0xf0]
lea r13, [rsp + 0x160]
mov rdx, qword [rax + 0x40]
mov rax, qword [rsp + 0x88]
lea rcx, [rax + 0x60]
call fcn.00427290
mov r9, qword [0x004bf7b0]
xor edx, edx
mov qword [rsp + 0x20], 0
mov r8, rdi
mov rcx, r13
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
mov byte [rsp + 0x104], 0
add r9, 0x128
mov byte [rsp + 0x105], 0
mov dword [rsp + 0x108], 0
mov byte [rsp + 0x106], 0
call fcn.00436410
cmp eax, 1
jne 0x4464c9
mov rax, qword [r15 + 0xf8]
mov qword [rsp + 0xf8], 0
mov byte [rsp + 0x104], 3
mov byte [rsp + 0x105], 0
mov qword [rsp + 0xf0], 0
mov byte [rsp + 0x106], 0
cmp dword [rax + 0x2f4], 1
jbe 0x4460e5
mov esi, 1
mov rbp, qword [rsp + 0x238]
jmp 0x4466a6
mov rax, qword [r15 + 0xf8]
add esi, 1
cmp dword [rax + 0x2f4], esi
jbe 0x4460e5
mov edx, esi
mov rcx, r15
call fcn.00426b70
test rax, rax
mov r9, rax
je 0x446690
mov eax, dword [r15 + 0xb0]
mov dword [rsp + 0x108], esi
mov dword [r9 + 0xe0], eax
movzx eax, byte [rbp]
and eax, 3
cmp al, 2
je 0x4466e4
mov rax, qword [r9 + 0x30]
mov qword [rsp + 0xf0], rax
xor edx, edx
mov qword [rsp + 0x20], 0
mov r8, rdi
mov rcx, r13
call fcn.00436410
cmp eax, 1
je 0x446690
jmp 0x4464c9
mov r11, qword [rcx + 0x70]
xor eax, eax
test r11, r11
jne 0x4463d0
jmp 0x4463e5
mov rcx, qword [rsp + 0x70]
call fcn.0040f490
test rax, rax
mov qword [rsp + 0x190], rax
jne 0x4460fa
jmp 0x4464c1
mov qword [rsp + 0x58], 0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0x60], 0
xor r12d, r12d
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
jmp 0x445ed3
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rcx + 0x170]
mov rcx, qword [rsp + 0x48]
cmp dword [rcx + 0x3c0], 1
mov r8, qword [rdx + 0x30]
jne 0x4467bb
mov ecx, dword [rdx + 0x78]
mov edx, 1
shl rdx, cl
lea rax, [rax + rdx - 1]
neg rdx
and rax, rdx
mov rcx, qword [rsp + 0x50]
sub rax, r8
mov qword [rcx + 0x178], rax
mov r13, qword [r15 + 0x88]
test r13, r13
je 0x44686c
mov rax, qword [r13 + 0x110]
test rax, rax
je 0x44685f
xor r8d, r8d
xor r10d, r10d
xor edx, edx
xor r9d, r9d
jmp 0x446811
add rdx, 1
test rdx, rdx
je 0x446805
test r9, r9
jne 0x4469a0
mov rax, qword [rax]
test rax, rax
je 0x4469ea
cmp dword [rax + 8], 1
jne 0x4467f3
mov rcx, qword [rax + 0x20]
test byte [rcx + 0x2a], 0x10
jne 0x446837
mov r11, qword [rcx + 0xf8]
mov r11, qword [r11 + 8]
cmp dword [r11 + 8], 5
je 0x446aab
add rdx, 1
mov r10, rcx
jmp 0x4467f7
lea r9, [0x004349d0]
mov r8d, 8
xor edx, edx
mov rcx, rdi
call sub.msvcrt.dll_qsort
mov rcx, rdi
call sub.msvcrt.dll_free
mov r13, qword [r13 + 0x18]
test r13, r13
jne 0x4467da
mov rcx, qword [rsp + 0x238]
call fcn.00450650
test eax, eax
je 0x445acd
mov rax, qword [rsp + 0x238]
mov rax, qword [rax + 0x60]
test rax, rax
je 0x4468a2
and byte [rax + 0x45], 0xfb
mov rax, qword [rax + 0xf0]
test rax, rax
jne 0x446892
lea rax, [rsp + 0x110]
mov rbx, qword [r15 + 0x88]
xor edi, edi
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x160]
test rbx, rbx
mov qword [rsp + 0xb8], rax
je 0x446e56
mov byte [rsp + 0xc0], r14b
mov r12, rdi
mov r14, rbx
mov rdi, qword [r14 + 0x110]
test rdi, rdi
je 0x446e40
mov rsi, rdi
mov rbp, qword [rsp + 0x238]
jmp 0x446931
sub eax, 3
cmp eax, 1
jbe 0x446ad5
mov r9, rsi
mov r8, r14
mov rdx, rbp
mov rcx, r15
call fcn.004662f0
test eax, eax
je 0x446424
mov rsi, qword [rsi]
test rsi, rsi
je 0x446e40
mov eax, dword [rsi + 8]
cmp eax, 1
jne 0x446900
mov rax, qword [rsi + 0x20]
mov r12, qword [rax + 0xf8]
mov rax, qword [r12 + 8]
cmp dword [rax + 8], 5
jne 0x44690c
mov rax, qword [rsp + 0x48]
mov rdx, qword [r12 + 0xf8]
mov rax, qword [rax + 0x320]
movzx eax, byte [rax + 0xc]
cmp byte [rdx + 4], al
jne 0x44690c
test byte [r12 + 0x45], 4
jne 0x446925
mov rcx, qword [rsp + 0xb8]
mov rdx, r12
mov r13, rcx
call fcn.00444230
test eax, eax
je 0x4464c9
or byte [r12 + 0x45], 4
jmp 0x446925
test r10, r10
je 0x446c21
test r8, r8
je 0x446c21
mov rax, qword [r10 + 0xf8]
mov r9, qword [r8 + 0xf8]
lea rcx, str._pA_has_both_ordered____pA_in__pB__and_unordered____pA_in__pB__sections
mov qword [rsp + 0x20], r10
mov rdx, r13
mov qword [rsp + 0x28], rax
call fcn.0040a1e0
mov ecx, 0x11
xor ebx, ebx
call fcn.0040a380
jmp 0x445acf
test r9, r9
je 0x44685f
lea rcx, [r9*8]
call fcn.0040f490
test rax, rax
mov rdi, rax
je 0x445acd
mov rax, qword [r13 + 0x110]
test rax, rax
je 0x446840
xor esi, esi
nop
add rsi, 1
mov qword [rdi + rsi*8 - 8], rax
mov rax, qword [rax]
test rax, rax
jne 0x446a20
lea r9, [0x004349d0]
mov r8d, 8
mov rdx, rsi
mov rcx, rdi
xor ebx, ebx
xor ebp, ebp
call sub.msvcrt.dll_qsort
nop dword [rax]
mov rax, qword [rdi + rbp*8]
mov rcx, r15
mov r12, qword [rax + 0x20]
mov rdx, r12
call fcn.0040a030
mov ecx, dword [r12 + 0x78]
mov rdx, 0xffffffffffffffff
mov r8d, eax
mov r9, qword [rdi + rbp*8]
add rbp, 1
imul ecx, eax
shl rdx, cl
mov rcx, rdx
not rdx
add rbx, rdx
xor edx, edx
and rbx, rcx
mov rax, rbx
add rbx, qword [r9 + 0x18]
div r8
cmp rsi, rbp
mov qword [r12 + 0x68], rax
mov qword [r9 + 0x10], rax
jne 0x446a50
jmp 0x446857
mov r11, qword [rcx + 0xe8]
test r11, r11
je 0x446837
cmp qword [r11 + 0x90], 0
je 0x446837
add r9, 1
mov r8, rcx
jmp 0x4467f7
mov rax, qword [r15 + 8]
mov rcx, r15
mov rbx, qword [r14 + 0xe8]
mov rax, qword [rax + 0x370]
mov qword [rsp + 0x98], rax
mov rax, qword [rsi + 0x20]
mov edx, dword [rax]
call fcn.00469170
test rax, rax
mov r13, rax
je 0x446f44
cmp qword [rbx + 0x58], 0
mov rax, qword [rsi + 0x20]
mov rdi, qword [rax + 0x10]
je 0x446cf0
add rbx, 0x58
mov ecx, dword [rbx + 8]
cmp dword [rsi + 8], 3
mov rdx, qword [rbx + 0x10]
lea r11, [rdx + rcx*8]
jne 0x446c35
mov rax, qword [rax + 8]
mov eax, dword [rax + 0xe0]
test eax, eax
mov dword [rsp + 0x60], eax
je 0x446e20
mov qword [r11], 0
test byte [r13 + 7], 4
je 0x446b62
test rdi, rdi
jne 0x446d1b
movzx eax, byte [rbp]
mov rdx, qword [rsi + 0x10]
and eax, 3
cmp al, 2
je 0x446b75
add rdx, qword [r14 + 0x30]
mov rax, qword [rsp + 0x98]
mov r9, qword [rax + 0x320]
movzx ecx, byte [r9 + 9]
test ecx, ecx
je 0x446bc0
mov r10, qword [rsp + 0x90]
sub ecx, 1
lea rcx, [rcx + rcx*2 + 3]
lea rcx, [r10 + rcx*8]
mov rax, r10
mov qword [rax], rdx
mov qword [rax + 8], 0
add rax, 0x18
mov qword [rax - 8], 0
cmp rcx, rax
jne 0x446ba4
cmp byte [r9 + 0xa], 0x20
je 0x446cb2
mov edx, dword [r13]
mov rax, qword [rsp + 0x60]
shl rax, 0x20
add rax, rdx
mov qword [rsp + 0x118], rax
mov rax, qword [rbx]
cmp dword [rax + 4], 9
mov rdx, qword [rax + 0x48]
je 0x446c91
mov qword [rsp + 0x120], rdi
movzx eax, byte [r9 + 4]
mov rcx, r15
imul eax, dword [rbx + 8]
lea r8, [rdx + rax]
mov rdx, qword [rsp + 0x90]
call qword [r9 + 0x78]
add dword [rbx + 8], 1
jmp 0x446925
lea rcx, str._pA_has_both_ordered_and_unordered_sections
mov rdx, r13
call fcn.0040a1e0
jmp 0x4469d9
mov r8, qword [rax + 8]
xor r9d, r9d
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
mov rdx, rbp
mov rcx, r15
mov qword [rsp + 0x60], r11
call fcn.00464200
test rax, rax
je 0x446f16
movzx ecx, byte [rax + 0x18]
mov r11, qword [rsp + 0x60]
lea edx, [rcx - 3]
cmp dl, 1
jbe 0x446ef0
mov dword [rax + 0x38], 0xfffffffe
mov dword [rsp + 0x60], 0
mov qword [r11], rax
jmp 0x446b52
movzx eax, byte [r9 + 3]
mov rcx, r15
imul eax, dword [rbx + 8]
lea r8, [rdx + rax]
mov rdx, qword [rsp + 0x90]
call qword [r9 + 0x68]
jmp 0x446c18
movzx eax, byte [r13]
mov edx, dword [rsp + 0x60]
shl edx, 8
add eax, edx
mov qword [rsp + 0x118], rax
jmp 0x446be3
mov rcx, r12
call fcn.0040f490
test rax, rax
mov qword [rsp + 0x188], rax
jne 0x4460ee
jmp 0x4464c1
cmp qword [rbx + 0x70], 0
je 0x446d00
add rbx, 0x70
jmp 0x446b20
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elflink.c
mov edx, 0x2cfc
call fcn.0040a300
mov rax, qword [0x10]
ud2
mov rcx, r13
call fcn.00468640
mov eax, eax
mov rcx, rax
mov qword [rsp + 0xa8], rax
call fcn.0040f580
test rax, rax
mov qword [rsp + 0x70], rax
jne 0x446d4e
cmp qword [rsp + 0xa8], 0
jne 0x4464c1
mov r9, qword [rsp + 0x70]
mov r8, rdi
mov rdx, r15
mov rcx, r13
call fcn.00468e20
cmp eax, 2
je 0x446db1
cmp eax, 3
jne 0x446f5b
cmp dword [rsi + 8], 3
mov rax, qword [rsi + 0x20]
je 0x446f8b
mov r8, qword [rax + 8]
mov rax, qword [rbp + 0x20]
mov r9, qword [r13 + 0x20]
xor edx, edx
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov rcx, rbp
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], rdi
call qword [rax + 0x38]
mov rax, qword [rsi + 0x10]
mov rdx, r14
mov rcx, r15
mov qword [rsp + 0xb0], rax
call fcn.0040a030
mov r9d, eax
mov rcx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x70]
imul r9, qword [rsp + 0xb0]
mov rdx, r14
mov qword [rsp + 0x20], rcx
mov rcx, r15
call fcn.00412050
mov rcx, qword [rsp + 0x70]
mov dword [rsp + 0xa8], eax
call sub.msvcrt.dll_free
mov eax, dword [rsp + 0xa8]
test eax, eax
jne 0x446b62
jmp 0x4464c1
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elflink.c
mov edx, 0x2d04
mov qword [rsp + 0x70], r11
call fcn.0040a300
mov r11, qword [rsp + 0x70]
jmp 0x446b4b
mov r14, qword [r14 + 0x18]
test r14, r14
jne 0x4468e2
movzx r14d, byte [rsp + 0xc0]
mov rax, qword [rsp + 0x238]
cmp byte [rax + 4], 0
js 0x446f97
mov rax, qword [rsp + 0x238]
mov rbx, qword [rax + 0x60]
test rbx, rbx
jne 0x446e90
jmp 0x446f97
mov rbx, qword [rbx + 0xf0]
test rbx, rbx
je 0x446f97
mov rax, qword [rbx + 8]
cmp dword [rax + 8], 5
jne 0x446e80
mov rax, qword [rbx + 0xf8]
mov rcx, qword [rax + 0x358]
call sub.msvcrt.dll_free
mov rax, qword [rbx + 0xf8]
mov qword [rax + 0x358], 0
jmp 0x446e80
mov rcx, qword [rsp + 0x98]
shl rcx, 2
call fcn.0040f490
test rax, rax
mov qword [rsp + 0x1a8], rax
jne 0x4461b7
jmp 0x4464c1
mov rdx, qword [rax + 0x28]
mov rax, qword [rdx + 0x70]
add rdi, qword [rdx + 0x68]
mov ecx, dword [rax + 0xe0]
add rdi, qword [rax + 0x30]
mov qword [r11], 0
mov dword [rsp + 0x60], ecx
jmp 0x446b52
mov rax, qword [rsi + 0x20]
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
mov rdx, qword [rax + 8]
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x20], 0
call qword [rax + 0x48]
mov dword [rsp + 0x60], 0
jmp 0x446b52
mov ecx, 0x11
lea r13, [rsp + 0x160]
call fcn.0040a380
jmp 0x4464c9
lea r8, str.elf_reloc_link_order
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elflink.c
mov edx, 0x2d46
call fcn.0040a320
lea r8, str.bfd_elf_final_link
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elflink.c
mov edx, 0x2fc9
call fcn.0040a320
mov rax, qword [rax + 8]
mov r8, qword [rax]
jmp 0x446d81
mov rax, qword [rsp + 0x238]
lea rbp, [rsp + 0xd0]
lea r13, [rsp + 0x160]
lea rdx, [0x00438720]
mov dword [rsp + 0xd0], 0
mov dword [rsp + 0xd4], 1
mov r8, rbp
mov qword [rsp + 0xe0], r13
mov dword [rsp + 0xd8], 0
mov rcx, qword [rax + 0x28]
call fcn.0040ef00
mov ebx, dword [rsp + 0xd0]
test ebx, ebx
jne 0x445acd
mov rax, qword [rsp + 0x48]
mov r10, qword [rax + 0x1a8]
test r10, r10
je 0x447032
mov rax, qword [rsp + 0x238]
mov eax, dword [rax]
mov dword [rsp + 0x60], eax
and eax, 0x18000
cmp eax, 0x18000
jne 0x44897c
test r14b, r14b
jne 0x44897c
mov r11d, dword [rsp + 0x80]
mov eax, dword [r15 + 0xb0]
mov rcx, qword [rsp + 0x88]
test r11d, r11d
mov dword [rcx + 0x8c], eax
je 0x4471aa
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 0x208]
test rax, rax
je 0x4471aa
mov r9, qword [0x004bf7b0]
mov rdx, qword [rax + 0x70]
add r9, 0x250
cmp rdx, r9
je 0x4471aa
mov r12, qword [rax + 0xb8]
mov rax, qword [rcx + 0x98]
mov rdx, qword [rdx + 0xe8]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x60]
add eax, 1
mov dword [rdx + 0x2c], eax
mov rax, qword [rsp + 0x238]
test byte [rax], 1
jne 0x4473f5
mov r10d, dword [rcx + 0x54]
test r10d, r10d
jne 0x4473f5
mov rax, qword [rsp + 0x50]
mov rsi, qword [rax + 0x160]
lea rax, [rsp + 0x110]
mov qword [rsp + 0x60], rax
test rsi, rsi
je 0x4471aa
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0x110], rax
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x118], rax
mov rax, qword [rsi + 0x28]
mov qword [rsp + 0x120], rax
mov rax, qword [rsi + 0x30]
and byte [rsp + 0x125], 0xfc
mov rcx, qword [rsi + 8]
mov qword [rsp + 0x128], rax
mov edx, dword [rsi + 0x30]
call fcn.00426b70
test rax, rax
mov rdi, rax
je 0x447174
mov rcx, qword [rax + 0x70]
mov rax, qword [rcx + 0xe8]
mov eax, dword [rax + 0x88]
mov dword [rsp + 0x128], eax
sub eax, 0xff00
cmp eax, 0xfffeffff
jbe 0x4489a1
mov rax, qword [rsi + 0x18]
add rax, qword [rdi + 0x68]
add rax, qword [rcx + 0x30]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x48]
xor r9d, r9d
mov rdx, qword [rsp + 0x60]
mov rcx, r15
mov r10, qword [rax + 0x320]
movzx eax, byte [r10 + 5]
imul eax, dword [rsi + 0x14]
cdqe
lea r8, [r12 + rax]
call qword [r10 + 0x38]
mov rsi, qword [rsi]
test rsi, rsi
jne 0x4470ec
mov rax, qword [rsp + 0x238]
lea rdx, [0x00438720]
mov r8, rbp
mov dword [rsp + 0xd0], 0
mov dword [rsp + 0xd4], 0
mov qword [rsp + 0xe0], r13
mov rcx, qword [rax + 0x28]
call fcn.0040ef00
mov ebx, dword [rsp + 0xd0]
test ebx, ebx
jne 0x445acd
mov rax, qword [rsp + 0x48]
mov r10, qword [rax + 0x1b0]
test r10, r10
je 0x44722a
mov rax, qword [rsp + 0x238]
mov eax, dword [rax]
mov dword [rsp + 0x60], eax
and eax, 0x18000
cmp eax, 0x18000
jne 0x4475b5
test r14b, r14b
jne 0x4475b5
mov rcx, qword [rsp + 0x170]
call fcn.0044c4e0
mov rax, qword [rsp + 0x160]
mov rsi, qword [rax + 0x28]
mov rax, qword [rsi + 0xa8]
test rax, rax
je 0x44753e
mov rdx, qword [rsp + 0x168]
mov rcx, qword [rdx + 0xf8]
mov r9d, dword [rcx + 0xc70]
test r9d, r9d
jne 0x44728e
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elflink.c
mov edx, 0x25d9
call fcn.0040a300
mov rdx, qword [rsp + 0x168]
mov rax, qword [rsi + 0xa8]
mov rdx, qword [rdx + 8]
mov rbp, qword [rdx + 0x370]
mov rdx, qword [rbp + 0x320]
movzx ecx, byte [rdx + 5]
imul rcx, rax
call fcn.0040f490
test rax, rax
mov r12, rax
je 0x445acd
cmp qword [rsp + 0x1c8], 0
je 0x4472ec
mov rax, qword [rsp + 0x168]
mov ecx, dword [rax + 0xb0]
shl rcx, 2
call fcn.0040f580
test rax, rax
mov qword [rsp + 0x1c8], rax
je 0x4474d8
mov rdx, qword [rsi + 0xa8]
xor r14d, r14d
mov qword [rsp + 0x60], 0
test rdx, rdx
je 0x44736e
mov rdi, r14
add rdi, qword [rsi + 0xb8]
mov eax, dword [rdi + 0x10]
cmp eax, 0xffffffff
jne 0x4474e5
mov dword [rdi + 0x10], 0
mov r10, qword [rbp + 0x320]
mov ecx, dword [rdi + 0x24]
add r14, 0x28
mov rdx, qword [rsp + 0x1c8]
movzx eax, byte [r10 + 5]
imul eax, dword [rdi + 0x20]
lea r9, [rdx + rcx*4]
mov rdx, rdi
mov rcx, qword [rsp + 0x168]
lea r8, [r12 + rax]
call qword [r10 + 0x38]
add qword [rsp + 0x60], 1
mov rdx, qword [rsi + 0xa8]
mov rax, qword [rsp + 0x60]
cmp rax, rdx
jb 0x447304
mov rax, qword [rsp + 0x160]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x78]
test rax, rax
je 0x447394
mov rcx, qword [rsi + 0xb8]
mov r8, qword [rsp + 0x170]
call rax
mov rcx, qword [rsp + 0x168]
mov rax, qword [rbp + 0x320]
xor r8d, r8d
mov rdi, qword [rcx + 0xf8]
movzx ebp, byte [rax + 5]
imul rbp, qword [rsi + 0xa8]
mov rdx, qword [rdi + 0x80]
add rdx, qword [rdi + 0x78]
call fcn.0040c350
test eax, eax
je 0x4474fc
mov rcx, r12
call sub.msvcrt.dll_free
mov rcx, qword [rsi + 0xb8]
call sub.msvcrt.dll_free
mov qword [rsi + 0xb8], 0
jmp 0x445acf
mov rdi, qword [r15 + 0x88]
mov qword [rsp + 0x118], 0
mov dword [rsp + 0x120], 0
mov byte [rsp + 0x124], 3
mov byte [rsp + 0x125], 0
mov byte [rsp + 0x126], 0
test rdi, rdi
je 0x4470ca
lea rax, [rsp + 0x110]
mov dword [rsp + 0x60], ebx
mov rbx, rdi
mov qword [rsp + 0x70], rax
mov rax, qword [rbx + 0xe8]
mov esi, dword [rax + 0x8c]
test esi, esi
jle 0x4474c2
mov edi, dword [rax + 0x88]
test edi, edi
jg 0x447474
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elflink.c
mov edx, 0x3122
call fcn.0040a300
mov dword [rsp + 0x128], edi
sub edi, 0xff00
cmp edi, 0xfffeffff
jbe 0x44759c
mov rax, qword [rbx + 0x30]
xor r9d, r9d
mov rdx, qword [rsp + 0x70]
mov rcx, r15
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x48]
mov r11, qword [rax + 0x320]
movzx eax, byte [r11 + 5]
imul eax, esi
cdqe
lea r8, [r12 + rax]
call qword [r11 + 0x38]
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x447448
mov ebx, dword [rsp + 0x60]
jmp 0x4470ca
mov rcx, r12
call sub.msvcrt.dll_free
jmp 0x445acf
mov rcx, qword [rsp + 0x170]
mov edx, eax
call fcn.0044c2e0
mov dword [rdi + 0x10], eax
jmp 0x447321
mov r8, qword [rsp + 0x168]
mov rdx, rbp
mov rcx, r12
call fcn.0040c1b0
cmp rbp, rax
jne 0x4473d1
add qword [rdi + 0x80], rbp
mov rcx, r12
call sub.msvcrt.dll_free
mov rcx, qword [rsi + 0xb8]
call sub.msvcrt.dll_free
mov qword [rsi + 0xb8], 0
mov r8d, dword [r15 + 0xb0]
test r8d, r8d
jne 0x447a1c
mov rax, qword [rsp + 0x238]
mov rdi, qword [rax + 0x58]
test rdi, rdi
je 0x4477ff
mov rax, qword [r15 + 8]
mov edx, 1
mov rcx, rdi
mov rbp, qword [rax + 0x370]
call fcn.0040e7a0
test eax, eax
jne 0x4475da
mov rax, qword [rsp + 0x238]
lea rcx, str._pB:_failed_to_generate_import_library
mov rdx, qword [rax + 0x58]
call fcn.0040a1e0
jmp 0x445acf
mov rcx, r15
call fcn.004363d0
test eax, eax
jne 0x44748d
mov ebx, dword [rsp + 0x60]
jmp 0x445acf
lea r9, [fcn.00436410]
mov r8, r13
mov rdx, qword [rsp + 0x238]
mov rcx, r15
call r10
test eax, eax
jne 0x44722a
jmp 0x445acd
xor edx, edx
mov rcx, rdi
mov esi, dword [r15 + 0x40]
call fcn.0040b090
test eax, eax
je 0x44757f
and esi, 0xfffffffc
mov rcx, rdi
mov edx, esi
call fcn.0040a2b0
test eax, eax
je 0x44757f
mov rcx, r15
call fcn.00409f10
mov rcx, r15
mov esi, eax
call fcn.00409f20
mov r9, qword [rdi + 8]
mov r8d, eax
mov edx, esi
mov rcx, rdi
call qword [r9 + 0x290]
test eax, eax
jne 0x44764b
test byte [r15 + 0x44], 0x40
jne 0x44757f
mov rcx, r15
call fcn.00409f10
mov rcx, rdi
mov esi, eax
call fcn.00409f10
cmp esi, eax
jne 0x44757f
mov rax, qword [r15 + 8]
mov rcx, r15
call qword [rax + 0x1f0]
test eax, eax
js 0x44757f
movsxd rcx, eax
call fcn.0040f490
test rax, rax
mov rsi, rax
je 0x44757f
mov rax, qword [r15 + 8]
mov rdx, rsi
mov rcx, r15
call qword [rax + 0x1f8]
test eax, eax
mov dword [rsp + 0x60], eax
js 0x4476e4
mov rax, qword [rdi + 8]
mov rdx, rdi
mov rcx, r15
call qword [rax + 0x160]
test eax, eax
je 0x4476e4
mov rax, qword [rbp + 0x1b8]
mov r8, rsi
mov rdx, qword [rsp + 0x238]
mov rcx, r15
mov r9d, dword [rsp + 0x60]
test rax, rax
je 0x4489d7
call rax
mov ebp, eax
test ebp, ebp
jne 0x4476f1
mov ecx, 7
call fcn.0040a380
lea rcx, str._pB:_no_symbol_found_for_import_library
mov rdx, rdi
call fcn.0040a1e0
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x44757f
movsxd rax, ebp
mov rcx, rdi
lea rdx, [rax + rax*2]
shl rdx, 5
call fcn.00410a80
test rax, rax
je 0x4476e4
test ebp, ebp
jle 0x4477bf
mov r9, qword [0x004bf7b0]
lea edx, [rbp - 1]
mov rcx, rsi
lea r8, [rsi + rdx*8 + 8]
lea r10, [r9 + 0x250]
mov rdx, qword [rcx]
add rcx, 8
mov r9, qword [rdx]
mov qword [rax], r9
mov r9, qword [rdx + 8]
mov qword [rax + 8], r9
mov r9, qword [rdx + 0x10]
mov qword [rax + 0x10], r9
mov r11, qword [rdx + 0x18]
mov qword [rax + 0x18], r11
mov r11, qword [rdx + 0x20]
mov qword [rax + 0x20], r11
mov r11, qword [rdx + 0x28]
mov qword [rax + 0x28], r11
mov r11, qword [rdx + 0x30]
mov qword [rax + 0x30], r11
mov r11, qword [rdx + 0x38]
mov qword [rax + 0x38], r11
mov r11, qword [rdx + 0x40]
mov qword [rax + 0x40], r11
mov r11, qword [rdx + 0x48]
mov qword [rax + 0x48], r11
mov r11, qword [rdx + 0x50]
mov qword [rax + 0x50], r11
mov rdx, qword [rdx + 0x58]
mov qword [rax + 0x20], r10
mov dword [rax + 0x48], 0xfffffff1
mov qword [rax + 0x58], rdx
mov rdx, qword [rcx - 8]
mov rdx, qword [rdx + 0x20]
add r9, qword [rdx + 0x30]
mov qword [rax + 0x10], r9
mov qword [rax + 0x30], r9
mov qword [rcx - 8], rax
add rax, 0x60
cmp rcx, r8
jne 0x44772a
mov r8d, ebp
mov rdx, rsi
mov rcx, rdi
call fcn.0046aaa0
mov rax, qword [rdi + 8]
mov rdx, rdi
mov rcx, r15
call qword [rax + 0x138]
test eax, eax
je 0x4476e4
mov rcx, rdi
call fcn.004108a0
mov rcx, rsi
mov edi, eax
call sub.msvcrt.dll_free
test edi, edi
je 0x44757f
mov rbx, qword [r15 + 0x88]
mov rbp, qword [rsp + 0x238]
test rbx, rbx
je 0x4478aa
test byte [rbx + 0x28], 4
mov rsi, qword [rbx + 0xe8]
je 0x44789d
mov rax, qword [rsp + 0x48]
mov edi, 1
mov rax, qword [rax + 0x210]
test rax, rax
je 0x447847
xor edi, edi
mov rcx, rbx
call rax
test eax, eax
setne dil
cmp qword [rsi + 0x58], 0
je 0x44786d
lea r8, [rsi + 0x58]
mov qword [rsp + 0x20], rbp
mov r9d, edi
mov rdx, rbx
mov rcx, r15
call fcn.00490370
test eax, eax
je 0x445acd
cmp qword [rsi + 0x70], 0
je 0x447893
lea r8, [rsi + 0x70]
mov qword [rsp + 0x20], rbp
mov r9d, edi
mov rdx, rbx
mov rcx, r15
call fcn.00490370
test eax, eax
je 0x445acd
mov dword [rbx + 0x90], 0
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x447817
mov edx, dword [rsp + 0x80]
test edx, edx
je 0x447e01
mov rax, qword [rsp + 0x238]
test byte [rax + 5], 2
je 0x447a12
cmp qword [rsp + 0x78], 0
je 0x447a12
mov rax, qword [r15 + 8]
xor edx, edx
mov rcx, r15
mov rax, qword [rax + 0x370]
mov qword [rsp + 0x80], rax
mov rdi, rax
mov rax, qword [rax + 0x320]
movzx eax, byte [rax + 9]
mov dword [rsp + 0x98], eax
call fcn.0040a030
lea rdx, str..rela.dyn
mov rcx, r15
mov dword [rsp + 0x88], eax
call fcn.004119b0
lea rdx, str..rel.dyn
mov rbx, rax
mov rcx, r15
call fcn.004119b0
test rbx, rbx
mov r11, rax
je 0x447c33
mov rax, qword [rbx + 0x40]
test rax, rax
mov qword [rsp + 0x60], rax
je 0x447c27
test r11, r11
je 0x447c27
mov r12, qword [r11 + 0x40]
test r12, r12
je 0x448771
mov r14, qword [rbx + 0x110]
test r14, r14
je 0x448743
mov r8, qword [rdi + 0x320]
mov esi, 1
mov rdi, r14
xor ecx, ecx
cmp dword [rdi + 8], 1
je 0x447b89
mov rdi, qword [rdi]
test rdi, rdi
jne 0x447986
mov rbp, qword [r11 + 0x110]
test rbp, rbp
mov rdi, rbp
je 0x4479b9
cmp dword [rdi + 8], 1
je 0x447bda
mov rdi, qword [rdi]
test rdi, rdi
jne 0x4479a7
xor ecx, 1
or esi, ecx
and esi, 1
je 0x447c5f
movzx eax, byte [r8 + 4]
mov qword [rsp + 0x70], rax
mov rax, qword [r8 + 0x70]
mov qword [rsp + 0x90], rax
mov rax, qword [r8 + 0x78]
mov qword [rsp + 0xa8], rax
test r14, r14
je 0x447a12
xor eax, eax
cmp dword [r14 + 8], 1
jne 0x4479ff
mov rdx, qword [r14 + 0x20]
add rax, qword [rdx + 0x40]
mov r14, qword [r14]
test r14, r14
jne 0x4479f0
cmp rax, qword [rsp + 0x60]
je 0x4481aa
xor ebx, ebx
xor r12d, r12d
jmp 0x447caf
mov rdi, qword [r15 + 0xf8]
mov rax, qword [rsp + 0x88]
mov rbp, qword [rdi + 0x2e0]
mov rsi, qword [rax + 0x80]
add rsi, qword [rax + 0x78]
test rbp, rbp
je 0x447a4d
mov ecx, dword [rbp]
test ecx, ecx
jne 0x447b10
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x170]
mov dword [rdi + 0x104], 3
mov eax, dword [rax + 0x3c8]
mov qword [rdi + 0x110], 0
mov qword [rdi + 0x108], rax
call fcn.0044c2c0
lea rcx, [rdi + 0x100]
mov r8d, 1
mov rdx, rsi
mov qword [rdi + 0x120], rax
mov qword [rdi + 0x138], 0
mov dword [rdi + 0x128], 0
mov dword [rdi + 0x12c], 0
mov qword [rdi + 0x130], 1
call fcn.00427290
mov rdx, qword [r15 + 0xf8]
xor r8d, r8d
mov rcx, r15
mov rdx, qword [rdx + 0xc90]
mov qword [rdx + 0x40], rax
mov rdx, qword [rdi + 0x118]
call fcn.0040c350
test eax, eax
jne 0x445acd
mov rdx, qword [rsp + 0x170]
mov rcx, r15
call fcn.0044c3f0
test eax, eax
jne 0x44754e
jmp 0x445acd
mov dword [rbp + 4], 0x12
mov edi, dword [r15 + 0xb0]
mov rdx, rsi
mov r8d, 1
mov rcx, rbp
mov qword [rbp + 0x38], 4
mov qword [rbp + 0x30], 4
shl rdi, 2
mov qword [rbp + 0x20], rdi
call fcn.00427290
mov rdx, qword [rbp + 0x18]
xor r8d, r8d
mov rcx, r15
mov rsi, rax
call fcn.0040c350
test eax, eax
jne 0x445acd
mov rcx, qword [rsp + 0x1c8]
mov r8, r15
mov rdx, rdi
call fcn.0040c1b0
cmp rdi, rax
jne 0x445acd
mov rdi, qword [r15 + 0xf8]
jmp 0x447a4d
mov rax, qword [rdi + 0x20]
movzx r10d, byte [r8 + 4]
xor edx, edx
mov r9, qword [rax + 0x40]
mov rax, r9
div r10
movzx r10d, byte [r8 + 3]
mov rax, r9
test rdx, rdx
mov edx, 0
jne 0x447fae
div r10
test rdx, rdx
je 0x447990
xor esi, 1
test esi, ecx
jne 0x447c91
mov ecx, 1
mov esi, 1
jmp 0x447990
mov rax, qword [rdi + 0x20]
movzx r10d, byte [r8 + 4]
xor edx, edx
mov r9, qword [rax + 0x40]
mov rax, r9
div r10
movzx r10d, byte [r8 + 3]
mov rax, r9
test rdx, rdx
mov edx, 0
jne 0x44818c
div r10
test rdx, rdx
je 0x4479b1
xor esi, 1
test esi, ecx
jne 0x447c91
mov ecx, 1
mov esi, 1
jmp 0x4479b1
cmp qword [rsp + 0x60], 0
jne 0x448771
test r11, r11
je 0x447a12
mov r12, qword [r11 + 0x40]
test r12, r12
je 0x447a12
mov rax, qword [rsp + 0x80]
mov rbp, qword [r11 + 0x110]
mov r8, qword [rax + 0x320]
movzx eax, byte [r8 + 3]
mov r14, rbp
mov qword [rsp + 0x60], r12
mov rbx, r11
mov qword [rsp + 0x70], rax
mov rax, qword [r8 + 0x60]
mov qword [rsp + 0x90], rax
mov rax, qword [r8 + 0x68]
mov qword [rsp + 0xa8], rax
jmp 0x4479e9
lea rcx, str._pB:_unable_to_sort_relocs___they_are_in_more_than_one_size
mov rdx, r15
call fcn.0040a1e0
xor ebx, ebx
mov ecx, 5
xor r12d, r12d
call fcn.0040a380
mov rcx, qword [rsp + 0x78]
lea rdx, [0x0049e2f2]
call fcn.00411a70
test rax, rax
mov rsi, rax
jne 0x447cd9
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elflink.c
mov edx, 0x31c6
call fcn.0040a300
mov r14, qword [rsi + 0xb8]
mov rax, r14
add rax, qword [rsi + 0x40]
cmp r14, rax
mov qword [rsp + 0x70], rax
jae 0x447e01
lea rcx, [rsp + 0x110]
mov rbp, qword [rsp + 0x48]
mov qword [rsp + 0x60], rcx
mov rcx, qword [0x004bf7b0]
mov rax, qword [rbp + 0x320]
add rcx, 0x250
mov qword [rsp + 0x80], rcx
mov r8, qword [rsp + 0x60]
mov rdx, r14
mov rcx, qword [rsp + 0x78]
call qword [rax + 0x50]
mov rax, qword [rsp + 0x110]
cmp rax, 0x12
jbe 0x4480ff
cmp rax, 0x20
je 0x4480f6
jbe 0x448091
cmp rax, 0x6ffffff0
je 0x448085
ja 0x448068
cmp rax, 0x21
je 0x448029
cmp rax, 0x6ffffef5
lea rdi, str..gnu.hash
jne 0x448013
mov rcx, qword [rsp + 0x78]
mov rdx, rdi
call fcn.00411a70
mov rsi, rax
test rsi, rsi
je 0x447ff5
mov rdx, qword [rsi + 0x70]
cmp rdx, qword [rsp + 0x80]
je 0x447ff5
mov rax, qword [rdx + 0xe8]
cmp dword [rax + 4], 7
je 0x447fc8
mov rax, qword [rsi + 0x68]
add rax, qword [rdx + 0x30]
mov qword [rsp + 0x118], rax
mov rax, qword [rbp + 0x320]
mov r8, r14
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
call qword [rax + 0x58]
mov rax, qword [rbp + 0x320]
movzx edx, byte [rax + 6]
add r14, rdx
cmp qword [rsp + 0x70], r14
ja 0x447d24
cmp qword [rsp + 0x78], 0
je 0x447e7c
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x238]
mov rcx, r15
call qword [rax + 0x140]
test eax, eax
je 0x4464c9
mov rax, qword [rsp + 0x238]
test byte [rax + 4], 0x18
jne 0x448675
mov rax, qword [rsp + 0x78]
mov r12, qword [rax + 0x88]
test r12, r12
je 0x447e7c
mov rax, qword [0x004bf7b0]
mov r14, qword [rsp + 0x50]
lea rbp, str..dynstr
lea rbx, [rax + 0x250]
mov edx, dword [r12 + 0x28]
test dh, 1
jne 0x448585
mov r12, qword [r12 + 0x18]
test r12, r12
jne 0x447e64
mov rax, qword [rsp + 0x238]
test byte [rax + 1], 0x20
jne 0x447ee2
mov rax, qword [rsp + 0x238]
mov dword [rsp + 0x110], 0
movzx eax, byte [rax]
mov byte [rsp + 0x48], al
and eax, 3
cmp al, 2
je 0x447ebc
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elflink.c
mov edx, 0x32da
call fcn.0040a300
lea r8, [rsp + 0x110]
lea rdx, [0x004224e0]
mov rcx, r15
call fcn.00411f40
mov eax, dword [rsp + 0x110]
test eax, eax
jne 0x4464c9
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x130], 0
je 0x447f0d
mov rdx, qword [rsp + 0x50]
mov rcx, r15
add rdx, 0x100
call fcn.0046a920
test eax, eax
je 0x4464c9
mov rdx, qword [rsp + 0x238]
mov rcx, r15
call fcn.00450770
test eax, eax
je 0x4464c9
mov rax, qword [rsp + 0x238]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x80]
test rax, rax
je 0x447f3f
call rax
lea rcx, [r15 + 0x88]
mov rdx, r13
mov ebx, 1
call fcn.00436ca0
mov r14, qword [rsp + 0x58]
test r14, r14
je 0x445acf
mov rdi, qword [rsp + 0xa0]
mov rcx, rdi
call fcn.0040f490
test rax, rax
mov rsi, rax
je 0x445acd
mov r8, rdi
mov rdx, rax
mov rcx, r15
call fcn.0044b100
mov rcx, r15
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov r8, rsi
mov rdx, r14
call fcn.00412050
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x445acf
div r10
test rdx, rdx
jne 0x447fe6
and esi, ecx
jne 0x447c91
mov ecx, 1
jmp 0x447990
lea rcx, str.warning:_section__s_is_being_made_into_a_note
mov rdx, rdi
call fcn.0040a1e0
mov ecx, 0xf
call fcn.0040a380
jmp 0x4464c9
mov rdx, r15
lea rcx, str._pB:_unable_to_sort_relocs___they_are_of_an_unknown_size
jmp 0x447c9b
lea rcx, str.could_not_find_section__s
mov rdx, rdi
call fcn.0040a1e0
jmp 0x4464c9
cmp rax, 8
jbe 0x44885c
mov rax, qword [rbp + 0x320]
movzx edx, byte [rax + 6]
add rdx, r14
mov r14, rdx
jmp 0x447df6
lea rdi, str..preinit_array
mov rdx, rdi
mov rcx, r15
call fcn.004119b0
test rax, rax
mov rsi, rax
je 0x447ff5
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x447dc9
lea rcx, str.warning:__s_section_has_zero_size
mov rdx, rdi
call fcn.0040a1e0
mov rax, qword [rsi + 0x40]
jmp 0x447dc9
cmp rax, 0x6ffffffc
je 0x4480b1
cmp rax, 0x6ffffffe
lea rdi, str..gnu.version_r
je 0x447d85
jmp 0x448013
lea rdi, str..gnu.version
jmp 0x447d85
cmp rax, 0x1a
je 0x4480ed
jbe 0x4480c9
cmp rax, 0x1b
je 0x4480bd
cmp rax, 0x1c
lea rdi, str..fini_array
je 0x448030
jmp 0x448013
lea rdi, str..gnu.version_d
jmp 0x447d85
lea rdi, str..init_array
jmp 0x448030
cmp rax, 0x19
lea rdi, str..init_array
jne 0x448013
mov rdx, rdi
mov rcx, r15
call fcn.004119b0
mov rsi, rax
jmp 0x447d95
lea rdi, str..fini_array
jmp 0x4480da
lea rdi, str..preinit_array
jmp 0x4480da
cmp rax, 0x11
jae 0x44885c
cmp rax, 6
je 0x448850
ja 0x4487ba
cmp rax, 4
je 0x4487ae
ja 0x4489cb
test rax, rax
jne 0x448013
mov rax, qword [rbp + 0x320]
movzx edx, byte [rax + 6]
add rdx, r14
test r12, r12
je 0x448021
cmp qword [rsp + 0x70], rdx
jbe 0x448021
mov rcx, qword [rbx + 0xe8]
mov ecx, dword [rcx + 4]
cmp ecx, 4
je 0x4489ba
cmp ecx, 9
jne 0x448021
mov qword [rsp + 0x110], 0x6ffffffa
mov qword [rsp + 0x118], r12
xor r12d, r12d
jmp 0x447dd8
div r10
test rdx, rdx
jne 0x447fe6
and esi, ecx
jne 0x447c91
mov ecx, 1
jmp 0x4479b1
mov edx, dword [rsp + 0x98]
sub edx, 1
movsxd rdx, edx
lea rdx, [rdx + rdx*2]
lea rcx, [rdx*8 + 0x28]
xor edx, edx
div qword [rsp + 0x70]
mov qword [rsp + 0x60], rcx
test rax, rax
mov rbp, rax
je 0x447a12
imul rcx, rax
call fcn.0040f580
test rax, rax
mov r10, rax
je 0x44832c
mov rax, qword [rsp + 0x80]
movabs rdx, 0xffffffff00000000
mov r9, qword [rbx + 0x110]
mov rax, qword [rax + 0x320]
cmp byte [rax + 0xa], 0x20
mov rax, 0xffffffffffffff00
cmovne rax, rdx
test r9, r9
mov qword [rsp + 0x98], rax
mov eax, dword [rsp + 0x88]
mov qword [rsp + 0xb0], rax
je 0x448260
mov r11, r13
mov r13, rbp
mov rbp, rbx
cmp dword [r9 + 8], 1
je 0x4484bd
mov r9, qword [r9]
test r9, r9
jne 0x448244
mov rbx, rbp
mov rbp, r13
mov r13, r11
mov r8, qword [rsp + 0x60]
lea r9, [0x00435f50]
mov rcx, r10
mov rdx, rbp
mov qword [rsp + 0x80], r10
xor r12d, r12d
call sub.msvcrt.dll_qsort
mov r10, qword [rsp + 0x80]
mov rcx, r10
cmp dword [rcx + 8], 1
jne 0x44836c
add r12, 1
add rcx, qword [rsp + 0x60]
cmp rbp, r12
jne 0x44828d
mov r8, qword [rsp + 0x60]
mov rdx, rbp
lea r9, [0x004383a0]
sub rdx, r12
mov qword [rsp + 0x80], r10
call sub.msvcrt.dll_qsort
mov rax, qword [rsp + 0x238]
mov r10, qword [rsp + 0x80]
mov rax, qword [rax + 0x28]
mov rdx, qword [rax + 0x1c0]
test rdx, rdx
je 0x4482ee
cmp rbx, qword [rdx + 0x70]
je 0x4483ac
mov rbp, qword [rbx + 0x110]
mov eax, dword [rsp + 0x88]
mov r14, r10
test rbp, rbp
mov qword [rsp + 0x80], rax
je 0x44831f
cmp dword [rbp + 8], 1
je 0x448410
mov rbp, qword [rbp]
test rbp, rbp
jne 0x44830c
mov rcx, r10
call sub.msvcrt.dll_free
jmp 0x447caf
mov rax, qword [rsp + 0x238]
mov r9, r15
xor r8d, r8d
lea rdx, str.not_enough_memory_to_sort_relocations
mov rcx, qword [rsp + 0x238]
xor ebx, ebx
xor r12d, r12d
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call qword [rax + 0x28]
jmp 0x447caf
cmp rbp, r12
mov r9, r12
mov r8, rcx
mov rax, rcx
jbe 0x4482a5
mov rdx, qword [rax + 0x18]
xor rdx, qword [r8 + 0x18]
test qword [rsp + 0x98], rdx
cmovne r8, rax
add r9, 1
mov rdx, qword [r8 + 0x10]
mov qword [rax], rdx
add rax, qword [rsp + 0x60]
cmp rbp, r9
jne 0x44837e
jmp 0x4482a5
lea rax, [rbp + rbp*4]
lea rcx, [r10 + rax*8]
xor eax, eax
cmp dword [rcx - 0x20], 4
jne 0x448484
add rax, 1
sub rcx, 0x28
cmp rbp, rax
jne 0x4483b7
imul rax, qword [rsp + 0x70]
cmp qword [rdx + 0x40], rax
jne 0x4482ee
mov rax, qword [rbx + 0x110]
lea r8, [rbx + 0x110]
test rax, rax
je 0x4484a7
cmp dword [rax + 8], 1
je 0x448492
mov r8, rax
mov rcx, qword [rax]
mov rax, r14
mov r14, rax
mov rax, rcx
jmp 0x4483ec
mov rax, r14
xor edx, edx
mov rcx, qword [rbp + 0x20]
sub rax, r10
div qword [rsp + 0x60]
mov rsi, qword [rcx + 0xb8]
xor edx, edx
imul rax, qword [rsp + 0x70]
mov rdi, rsi
add rdi, qword [rcx + 0x40]
div qword [rsp + 0x80]
cmp rsi, rdi
mov qword [rcx + 0x68], rax
jae 0x448316
mov qword [rsp + 0x88], r10
lea rdx, [r14 + 0x10]
mov r8, rsi
mov rcx, r15
mov rax, qword [rsp + 0xa8]
call rax
add rsi, qword [rsp + 0x70]
add r14, qword [rsp + 0x60]
mov r10, qword [rsp + 0x88]
cmp rdi, rsi
ja 0x44844c
jmp 0x448316
test rax, rax
je 0x4482ee
jmp 0x4483ce
cmp rdx, qword [rax + 0x20]
jne 0x4483ff
mov rcx, qword [rax]
mov qword [r8], rcx
jmp 0x448408
mov qword [r8], r14
mov qword [r14], 0
mov qword [rbx + 0x118], r14
jmp 0x4482ee
mov r12, qword [r9 + 0x20]
mov rsi, qword [r12 + 0xb8]
test rsi, rsi
je 0x44861a
mov rax, qword [rsp + 0xb0]
xor edx, edx
mov rbx, rsi
imul rax, qword [r12 + 0x68]
add rbx, qword [r12 + 0x40]
div qword [rsp + 0x70]
imul rax, qword [rsp + 0x60]
cmp rsi, rbx
jae 0x44824f
lea rdi, [r10 + rax + 0x10]
mov qword [rsp + 0xc8], r11
mov qword [rsp + 0xc0], r9
mov r8, rdi
mov qword [rsp + 0xb8], r10
mov rdx, rsi
mov rcx, r15
mov rax, qword [rsp + 0x90]
call rax
mov rax, qword [rsp + 0x80]
mov r8, rdi
mov rdx, r12
mov rcx, qword [rsp + 0x238]
call qword [rax + 0x240]
add rsi, qword [rsp + 0x70]
mov dword [rdi - 8], eax
mov rax, qword [rsp + 0x98]
mov r10, qword [rsp + 0xb8]
mov r9, qword [rsp + 0xc0]
mov r11, qword [rsp + 0xc8]
mov qword [rdi - 0x10], rax
add rdi, qword [rsp + 0x60]
cmp rbx, rsi
ja 0x448503
jmp 0x44824f
cmp qword [r12 + 0x40], 0
je 0x447e72
mov rax, qword [r12 + 0x70]
cmp rax, rbx
je 0x447e72
and edx, 0x100000
je 0x447e72
cmp qword [r14 + 0x130], r12
je 0x447e72
cmp qword [r14 + 0x138], r12
je 0x447e72
mov rsi, qword [r12]
mov ecx, 8
mov rdi, rbp
repe cmpsb byte [rsi], byte [rdi]
je 0x44863b
mov rsi, qword [r12 + 0x68]
mov rdx, r12
mov rcx, r15
call fcn.0040a030
mov eax, eax
mov rcx, qword [r12 + 0x40]
mov r8, qword [r12 + 0xb8]
imul rax, rsi
mov rdx, qword [r12 + 0x70]
mov qword [rsp + 0x20], rcx
mov rcx, r15
mov r9, rax
call fcn.00412050
test eax, eax
jne 0x447e72
jmp 0x4464c9
cmp qword [r12 + 0x40], 0
je 0x44824f
mov rcx, r10
mov r13, r11
xor ebx, ebx
call sub.msvcrt.dll_free
xor r12d, r12d
jmp 0x447caf
mov rax, qword [rax + 0xe8]
xor r8d, r8d
mov rcx, r15
mov rdx, qword [rax + 0x18]
call fcn.0040c350
test eax, eax
jne 0x4464c9
mov rdx, qword [r14 + 0xa0]
mov rcx, r15
call fcn.0044c3f0
test eax, eax
jne 0x447e72
jmp 0x4464c9
mov rcx, qword [rsp + 0x78]
lea rdx, [0x0049e2f2]
call fcn.00411a70
test rax, rax
je 0x447e39
mov rbx, qword [rax + 0xb8]
mov rsi, rbx
add rsi, qword [rax + 0x40]
cmp rbx, rsi
jae 0x447e39
mov rax, qword [rsp + 0x48]
lea rcx, [rsp + 0x110]
mov qword [rsp + 0x60], rcx
mov rax, qword [rax + 0x320]
mov r8, qword [rsp + 0x60]
mov rdx, rbx
mov rcx, qword [rsp + 0x78]
call qword [rax + 0x50]
cmp qword [rsp + 0x110], 0x16
je 0x4486f7
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x320]
movzx edx, byte [rax + 6]
add rbx, rdx
cmp rsi, rbx
ja 0x4486bf
jmp 0x447e39
mov rax, qword [rsp + 0x238]
movzx eax, byte [rax + 4]
mov byte [rsp + 0x48], al
and eax, 0x18
cmp al, 0x10
mov rax, qword [rsp + 0x238]
je 0x44879b
movzx eax, byte [rax]
mov byte [rsp + 0x48], al
and eax, 3
cmp al, 3
mov rax, qword [rsp + 0x238]
mov rax, qword [rax + 0x20]
je 0x44878c
lea rcx, str._P:_warning:_creating_DT_TEXTREL_in_a_PIE_n
call qword [rax + 0x58]
jmp 0x447e39
mov rbp, qword [r11 + 0x110]
mov rax, qword [rsp + 0x80]
test rbp, rbp
mov rdi, rbp
mov r8, qword [rax + 0x320]
je 0x4479c7
xor ecx, ecx
mov esi, 1
jmp 0x4479a7
mov rax, qword [rsp + 0x80]
mov r14, qword [rbx + 0x110]
mov r8, qword [rax + 0x320]
jmp 0x4479c7
lea rcx, str._P:_warning:_creating_DT_TEXTREL_in_a_shared_object_n
call qword [rax + 0x58]
jmp 0x447e39
mov rax, qword [rax + 0x20]
lea rcx, str._P_X:_read_only_segment_has_dynamic_relocations_n
call qword [rax + 0x58]
jmp 0x447e39
lea rdi, str..hash
jmp 0x447d85
cmp rax, 0xc
je 0x4489e3
jbe 0x448009
cmp rax, 0xd
jne 0x448013
mov rax, qword [rsp + 0x238]
mov rdx, qword [rax + 0x90]
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 1
call fcn.00463fb0
test rax, rax
je 0x448013
movzx ecx, byte [rax + 0x18]
lea edx, [rcx - 3]
cmp dl, 1
ja 0x448013
mov rdx, qword [rax + 0x30]
mov qword [rsp + 0x118], rdx
mov rsi, qword [rax + 0x28]
mov rcx, qword [rsi + 0x70]
test rcx, rcx
je 0x4488e0
mov rax, rdx
add rax, qword [rsi + 0x68]
add rax, qword [rcx + 0x30]
mov qword [rsp + 0x118], rax
mov rax, qword [rbp + 0x320]
jmp 0x447dd8
lea rdi, str..dynsym
jmp 0x447d85
mov rcx, qword [r15 + 0xf8]
lea rdx, [rax - 0x11]
cmp rdx, 2
mov r8d, dword [rcx + 0x2f4]
sbb edx, edx
and edx, 5
add edx, 4
cmp r8d, 1
jbe 0x448915
mov rcx, qword [rcx + 0x50]
sub r8d, 2
xor edi, edi
lea r9, [rcx + 8]
lea r10, [rcx + r8*8 + 0x10]
xor r8d, r8d
mov rcx, qword [r9]
cmp edx, dword [rcx + 4]
je 0x4488f8
add r9, 8
cmp r10, r9
jne 0x44889a
cmp byte [rbp + 0x3cc], 0
js 0x448a0b
cmp rax, 0x12
je 0x4489f7
cmp rax, 8
je 0x4489f7
mov qword [rsp + 0x118], rdi
mov rax, qword [rbp + 0x320]
jmp 0x447dd8
mov qword [rsp + 0x118], 0
mov rax, qword [rbp + 0x320]
jmp 0x447dd8
test byte [rcx + 8], 2
je 0x4488a2
add r8, qword [rcx + 0x20]
test rdi, rdi
mov rcx, qword [rcx + 0x10]
je 0x448910
cmp rcx, rdi
jae 0x4488a2
mov rdi, rcx
jmp 0x4488a2
xor edi, edi
xor r8d, r8d
jmp 0x4488ab
lea rbx, str.ELFCLASS32
jmp 0x4464a2
lea r8, str.bfd_elf_final_link
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elflink.c
mov edx, 0x30ba
call fcn.0040a320
lea rsi, str.ELFCLASSNONE
jmp 0x446485
lea rsi, str.ELFCLASS32
jmp 0x446485
lea r8, str.bfd_elf_final_link
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_riscv32_esp_elf_src_binutils_bfd_elflink.c
mov edx, 0x30c2
call fcn.0040a320
lea rbx, str.ELFCLASSNONE
jmp 0x4464a2
lea r9, [fcn.00436410]
mov r8, r13
mov rdx, qword [rsp + 0x238]
mov rcx, r15
call r10
test eax, eax
jne 0x447032
jmp 0x445acd
mov rcx, r15
call fcn.004363d0
test eax, eax
je 0x445acf
mov rcx, qword [rdi + 0x70]
jmp 0x447160
mov qword [rsp + 0x110], 0x6ffffff9
jmp 0x44817c
lea rdi, str..dynstr
jmp 0x447d85
call fcn.004271c0
mov ebp, eax
jmp 0x4476c7
mov rax, qword [rsp + 0x238]
mov rdx, qword [rax + 0x88]
jmp 0x4487e3
mov qword [rsp + 0x118], r8
mov rax, qword [rbp + 0x320]
jmp 0x447dd8
mov rcx, qword [rsp + 0x50]
cmp qword [rcx + 0x1c0], 0
je 0x4488b8
mov rdx, rsi
mov rcx, r15
mov qword [rsp + 0x88], r8
call fcn.0040a030
mov rcx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x88]
mov rdx, qword [rcx + 0x1c0]
mov rcx, qword [rdx + 0x40]
sub r8, rcx
jne 0x448a5d
mov rax, qword [rsp + 0x110]
xor edi, edi
jmp 0x4488b8
mov r9, qword [rdx + 0x70]
mov rdx, qword [rdx + 0x68]
mov eax, eax
add rdx, qword [r9 + 0x30]
imul rax, rdx
cmp rax, rdi
jne 0x448a77
add rdi, rcx
mov rax, qword [rsp + 0x110]
jmp 0x4488b8