Function at 0x48c6b0
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 0x48b2fd
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 0x48b320
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 0x48aefd
mov r8, qword [rsp + 0x58]
test r8, r8
jne 0x48bb79
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 0x48b483
mov rax, qword [0x0051ed80]
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 [0x0051ed80]
mov qword [rsp + 0x40], rax
lea rdi, [rax + 0x128]
jmp 0x48af97
movzx eax, byte [rbx + 0x14]
shr al, 4
test al, al
je 0x48afae
mov qword [r15], 0
add rbx, 0x20
add r14, 4
add r15, 8
cmp rsi, rbx
jbe 0x48b480
mov dword [r14], 0xffffffff
mov rax, qword [r13 + 0xf8]
test byte [rax + 0xc85], 0x40
jne 0x48af70
mov edx, dword [rbx + 0x18]
test edx, edx
jne 0x48b350
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 0x48af82
movzx eax, byte [rbx + 0x14]
and eax, 0xf
cmp al, 3
je 0x48af82
mov rcx, qword [rbp]
mov eax, dword [rcx]
and eax, 0x18000
cmp eax, 0x18000
je 0x48af82
movzx eax, byte [rcx + 2]
and eax, 6
cmp al, 6
je 0x48af82
mov eax, dword [rbx + 0x18]
sub eax, 1
cmp eax, 0xfffffefe
ja 0x48b046
mov r8, qword [rdx + 0x70]
test r8, r8
je 0x48b750
mov rax, qword [r8 + 0x18]
test rax, rax
je 0x48b460
cmp qword [rax + 0x20], r8
setne al
movzx eax, al
test eax, eax
jne 0x48af82
mov rax, qword [rsp + 0x60]
mov r8d, dword [rbx + 0x10]
mov rcx, r13
mov edx, dword [rax + 0x88]
call fcn.0046aa40
test rax, rax
mov qword [rsp + 0x48], rax
je 0x48b6e1
mov rdx, qword [rbp]
mov eax, dword [rdx]
and eax, 0x18000
cmp eax, 0x10000
je 0x48b670
movzx eax, byte [rdx + 2]
and eax, 6
jne 0x48b420
mov rax, qword [rsp + 0x118]
test byte [rax + 0x2a], 0x80
je 0x48b0c0
movzx eax, byte [rdx]
and eax, 3
cmp al, 2
je 0x48b0c0
mov rax, qword [r13 + 8]
mov rdx, qword [rsp + 0x48]
mov rcx, r13
call qword [rax + 0x220]
test eax, eax
jne 0x48af82
movzx eax, byte [rbx + 0x14]
and eax, 0xf
cmp al, 4
je 0x48b437
mov r9d, dword [rsp + 0x68]
test r9d, r9d
jne 0x48b157
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 0x48b136
mov rdx, qword [r13]
lea r9, [r12 + 0x250]
mov qword [rsp + 0x20], 0
mov rcx, rbp
call fcn.0047d020
test eax, eax
je 0x48b6e1
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.00472b20
cmp eax, 0xfffffeff
mov dword [rsp + 0x138], eax
je 0x48b6e1
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 0x48b202
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 0x48b6a0
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.0047d020
test eax, eax
je 0x48b6e1
cmp eax, 1
je 0x48b450
mov dword [rsp + 0x68], 1
jmp 0x48af82
mov rax, qword [rbp + 0x28]
lea r8, [rsp + 0x110]
mov rdx, r15
mov rcx, r12
mov qword [rsp + 0x110], rax
call fcn.004a3750
test eax, eax
je 0x48b6e1
mov eax, dword [r15 + 0x28]
test al, 4
jne 0x48b780
mov rax, qword [r13 + 0x280]
test rax, rax
je 0x48b2a3
mov r9, qword [rsp + 0x110]
mov r8, r15
mov rdx, qword [rbp]
mov rcx, qword [rsp + 0x50]
call rax
test eax, eax
jne 0x48b2f0
movzx eax, word [r15 + 0x2c]
shr ax, 7
and eax, 7
cmp al, 2
je 0x48bc4c
jbe 0x48bbbc
cmp al, 3
je 0x48bb0f
cmp al, 6
jne 0x48bc81
mov r9, qword [rsp + 0x110]
mov rdx, qword [rbp]
mov r8, r15
mov rcx, qword [rsp + 0x50]
call fcn.00496140
test eax, eax
je 0x48b6e1
nop
mov r15, qword [r15 + 0x18]
test r15, r15
jne 0x48b521
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 0x48aec2
cmp edx, 0xfffffff1
je 0x48b400
cmp edx, 0xfffffff2
jne 0x48b375
mov r12, qword [0x0051ed80]
mov qword [rsp + 0x118], r12
mov rax, r12
jmp 0x48afc9
mov rcx, r13
call fcn.0046d780
test rax, rax
mov qword [rsp + 0x118], rax
je 0x48afb9
movzx edx, word [rax + 0x2c]
mov r12, qword [0x0051ed80]
and dx, 0x380
cmp dx, 0x100
jne 0x48afc9
movzx edx, byte [rbx + 0x14]
mov r12, qword [rsp + 0xa0]
and edx, 0xf
cmp dl, 3
je 0x48afc9
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.004a89f0
mov r12, qword [0x0051ed80]
mov qword [rbx], rax
mov rax, qword [rsp + 0x118]
jmp 0x48afc9
mov rax, qword [rsp + 0x80]
mov r12, qword [rsp + 0x78]
mov qword [rsp + 0x118], rax
jmp 0x48afc9
cmp al, 4
je 0x48b0a6
movzx eax, byte [rbx + 0x14]
and eax, 0xf
cmp al, 4
jne 0x48b0cf
test byte [r13 + 0x46], 8
jne 0x48af82
add qword [rbp + 0x70], 1
jmp 0x48b157
mov dword [r14], r12d
jmp 0x48b23d
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x90], r8
setne al
movzx eax, al
jmp 0x48b03e
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 0x48b2fd
mov rax, qword [0x0051ed80]
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 0x48b2f0
mov rdx, qword [rbp]
mov eax, dword [r15 + 0x28]
test byte [rdx + 1], 0x20
jne 0x48b54e
mov ecx, eax
and ecx, 0x2100000
cmp ecx, 0x2000000
je 0x48b5d1
test ah, 1
je 0x48b2f0
mov rcx, qword [r15 + 0x40]
test rcx, rcx
jne 0x48b568
test al, 4
je 0x48b2f0
test eax, 0x100000
jne 0x48b2f0
mov rdx, qword [r15 + 0xe8]
mov rdx, qword [rdx + 0x48]
test rdx, rdx
je 0x48b24a
test byte [r13 + 0x3cf], 2
mov qword [rsp + 0x110], rdx
je 0x48b275
mov r8, qword [r15 + 0x48]
cmp rcx, r8
jbe 0x48b275
test r8, r8
je 0x48b275
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 0x48b275
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 0x48b5fa
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elflink.c
mov edx, 0x2a4d
call fcn.0043f7d0
mov edx, esi
cmp qword [rsp + 0x58], rdx
jbe 0x48b700
mov rax, qword [r12 + 0xf8]
test byte [rax + 0xc85], 0x40
jne 0x48b6e8
mov rax, rdx
shl rax, 5
add rax, qword [rsp + 0x70]
movzx ecx, byte [rax + 0x14]
and ecx, 0xf
cmp cl, 3
je 0x48c0c7
mov rcx, qword [rbp + 0x58]
lea rsi, [rdx*4]
mov r14d, dword [rcx + rdx*4]
cmp r14d, 0xffffffff
je 0x48c430
mov rax, qword [rbx + 0xe8]
mov dword [rax + 0x2c], r14d
mov eax, dword [r15 + 0x28]
jmp 0x48b54e
mov rcx, qword [rdx + 0x30]
mov rdx, qword [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
call fcn.00443740
test rax, rax
je 0x48af82
mov rdx, qword [rbp]
jmp 0x48b081
mov rcx, qword [rcx + 0x28]
mov rcx, qword [rcx + 0x170]
test rcx, rcx
je 0x48c330
sub rax, qword [rcx + 0x30]
mov qword [rsp + 0x120], rax
jmp 0x48b202
lea rcx, str.error:__pB:_size_of_section__pA_is_not_multiple_of_address_size
mov r8, r15
mov rdx, r12
call fcn.0043f6b0
mov ecx, 0x11
call fcn.0043f850
xor eax, eax
jmp 0x48b302
mov rax, qword [rbp + 0x60]
cmp qword [rax + rdx*8], 0
jne 0x48b61c
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 0x48b72f
nop
mov rdx, qword [rdx + 0x28]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
jbe 0x48b720
mov rax, qword [rbx + 0xe8]
mov dword [rdx + 0x38], 0xfffffffe
mov dword [rax + 0x2c], 0xfffffffe
mov eax, dword [r15 + 0x28]
jmp 0x48b54e
movzx eax, byte [rcx + 7]
and eax, 0x60
cmp al, 0x60
jne 0x48b027
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.0043f6b0
jmp 0x48af82
mov dword [rsp + 0x20], 0
mov r9, qword [rbp + 0x38]
mov rdx, r15
mov r8, qword [rbp + 0x30]
mov rcx, r12
call fcn.00482c60
test rax, rax
mov qword [rsp + 0x90], rax
je 0x48c412
mov rdx, qword [r15 + 0x40]
cmp qword [rsp + 0xa0], rdx
jae 0x48b803
mov rax, qword [r15]
lea rdi, str..ctors
mov ecx, 6
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
jne 0x48bb42
mov rcx, qword [r15 + 0x70]
lea rdi, str..init_array
mov rsi, qword [rcx]
mov ecx, 0xc
repe cmpsb byte [rsi], byte [rdi]
jne 0x48bb42
movzx eax, byte [rax + 6]
test al, al
je 0x48c350
cmp al, 0x2e
je 0x48c350
movzx ecx, word [r15 + 0x2c]
shr cx, 7
and ecx, 7
cmp cl, 7
je 0x48b830
mov eax, 1
shl rax, cl
test al, 0x4a
je 0x48b830
mov dword [rsp + 0x48], 0xffffffff
jmp 0x48b865
mov rax, qword [r15 + 0xf8]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x370]
mov rax, qword [rax + 0x250]
test rax, rax
je 0x48b857
mov rcx, r15
call rax
test eax, eax
jne 0x48b820
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 0x48bd0c
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 0x48b96d
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 0x48b8f5
test r9, r9
je 0x48b98d
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.0046af10
mov qword [rsp + 0x118], rax
and r13d, 0xf
lea eax, [r13 - 8]
cmp eax, 1
jbe 0x48ba07
cmp dword [rsp + 0x48], 0xffffffff
je 0x48b960
test rdi, rdi
je 0x48b960
mov rbx, qword [rdi]
mov rax, qword [rsp + 0x80]
cmp rbx, rax
je 0x48b960
test rbx, rbx
je 0x48b960
cmp qword [rbx + 0x70], rax
je 0x48c0ec
nop word [rax + rax]
add rsi, 0x18
cmp rbp, rsi
jbe 0x48bcfe
mov r8, qword [rsi + 8]
movzx ecx, byte [rsp + 0x40]
mov rbx, r8
shr rbx, cl
test ebx, ebx
je 0x48b960
mov ebx, ebx
cmp qword [rsp + 0x58], rbx
ja 0x48b8d0
mov rax, rbx
sub rax, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x78]
mov rax, qword [rdi + rax*8]
test rax, rax
jne 0x48b9b4
jmp 0x48c503
mov rax, qword [rax + 0x28]
movzx edx, byte [rax + 0x18]
lea ecx, [rdx - 6]
cmp cl, 1
jbe 0x48b9b0
test byte [rax + 0x19], 3
movzx r13d, byte [rax + 0x60]
je 0x48b9d7
sub edx, 3
cmp dl, 1
jbe 0x48bc15
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 0x48b92f
mov rax, qword [r12]
movzx eax, byte [rax]
and eax, 3
cmp al, 2
je 0x48b92f
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.0047db00
test eax, eax
je 0x48b6e1
mov r13, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x120]
cmp r13, rbx
jbe 0x48bac2
mov rax, rbx
shl rax, 5
add rax, qword [rsp + 0x70]
movzx edx, byte [rax + 0x14]
shr dl, 4
test dl, dl
je 0x48c5a4
mov rax, qword [r14 + 0xf8]
xor r13d, r13d
test byte [rax + 0xc85], 0x40
jne 0x48bac9
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elflink.c
mov edx, 0x2117
call fcn.0043f7d0
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 0x48baf1
mov rdx, qword [rdx + 0x28]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
jbe 0x48bae2
mov rax, qword [0x0051ed80]
mov byte [rdx + 0x18], 3
mov qword [rdx + 0x30], rdi
add rax, 0x250
mov qword [rdx + 0x28], rax
jmp 0x48b960
mov r9, qword [rsp + 0x110]
mov rdx, qword [rbp]
mov r8, r15
mov rcx, qword [rsp + 0x50]
call fcn.00496380
test eax, eax
je 0x48b6e1
mov r15, qword [r15 + 0x18]
test r15, r15
jne 0x48b521
jmp 0x48b2fd
lea rdi, str..dtors
mov ecx, 6
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
jne 0x48b803
mov rcx, qword [r15 + 0x70]
lea rdi, str..fini_array
mov rsi, qword [rcx]
mov ecx, 0xc
repe cmpsb byte [rsi], byte [rdi]
jne 0x48b803
jmp 0x48b7ef
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.0046ab50
test rax, rax
mov qword [rsp + 0x70], rax
jne 0x48aefd
xor eax, eax
jmp 0x48b302
cmp al, 1
jne 0x48bc81
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.004a9c80
test eax, eax
je 0x48b6e1
mov r15, qword [r15 + 0x18]
test r15, r15
jne 0x48b521
jmp 0x48b2fd
mov rdx, qword [rax + 0x28]
test byte [rdx + 0x2a], 0x10
jne 0x48b9d7
mov rdx, qword [rdx + 0xf8]
test rdx, rdx
je 0x48b9d7
test byte [rdx + 0x42], 1
je 0x48b9d7
mov byte [rax + 0x18], 1
mov qword [rax + 0x28], rdx
xor edi, edi
jmp 0x48b9ee
mov rax, qword [r15 + 0xe8]
mov rcx, qword [rsp + 0x50]
mov rdx, r15
mov r8, qword [rax + 0xe0]
call fcn.004a8780
test eax, eax
je 0x48b6e1
mov r15, qword [r15 + 0x18]
test r15, r15
jne 0x48b521
jmp 0x48b2fd
test byte [r15 + 0x29], 0x80
jne 0x48b2f0
mov r14, qword [rsp + 0x50]
mov rdi, qword [r15 + 0x68]
mov rdx, r15
mov rbx, qword [r15 + 0x40]
mov rcx, r14
call fcn.0043f500
mov esi, eax
imul rsi, rdi
test byte [r15 + 0x2b], 4
je 0x48c5c5
mov rax, qword [rsp + 0xa0]
sub rbx, rax
mov rdi, rax
jmp 0x48bcd4
test rbx, rbx
je 0x48b2f0
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.00447f20
test eax, eax
jne 0x48bcc5
xor eax, eax
jmp 0x48b302
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 0x48b6e1
mov rcx, qword [rbp]
movzx r10d, byte [rcx]
and r10d, 3
cmp eax, 2
je 0x48bd7b
cmp r10b, 2
je 0x48bd7b
test byte [rcx + 3], 0x40
je 0x48b27d
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 0x48c5b3
mov r8, qword [rbx + 0x38]
test r8, r8
jne 0x48c33f
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 0x48be1c
add rdi, qword [r9 + 0x30]
mov rax, qword [rsp + 0x90]
mov r14, r11
cmp rax, r11
jae 0x48c610
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 0x48bea7
mov qword [rbx], rdi
mov qword [rbx + 8], 0
mov qword [rbx + 0x10], 0
add rbx, 0x18
add esi, 1
cmp r14, rbx
jbe 0x48c2b4
mov rdx, qword [rbp]
mov rax, qword [r13 + 0x320]
movzx eax, byte [rax + 9]
cmp eax, esi
je 0x48bfd5
cmp qword [rsp + 0x48], rbx
je 0x48c632
mov r9, qword [rbx]
mov r8, r15
mov rcx, r12
call fcn.0047a670
cmp rax, 0xfffffffffffffffd
mov qword [rbx], rax
ja 0x48be80
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 0x48beff
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 0x48be93
mov r10d, eax
cmp qword [rsp + 0x58], r10
mov rcx, qword [rsp + 0x198]
mov rcx, qword [rcx + 0xf8]
jbe 0x48bfe2
test byte [rcx + 0xc85], 0x40
je 0x48c04e
mov r9, qword [rbp + 0x60]
mov r9, qword [r9 + r10*8]
test r9, r9
je 0x48bfe2
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 0x48c05b
mov rax, qword [rbp + 0x58]
mov r11d, dword [rax + r10*4]
cmp r11d, 0xffffffff
je 0x48c165
movzx ecx, byte [rsp + 0x40]
shl r11, cl
and r8, qword [rsp + 0xa8]
or r8, r11
mov qword [rbx + 8], r8
jmp 0x48be93
add qword [rsp + 0x68], 8
xor esi, esi
jmp 0x48beba
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 0x48c010
mov r8, qword [r8 + 0x28]
movzx eax, byte [r8 + 0x18]
sub eax, 6
cmp al, 1
jbe 0x48c000
mov ecx, dword [r8 + 0x38]
test ecx, ecx
js 0x48c039
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elflink.c
mov edx, 0x2be8
mov qword [rsp + 0xc0], r8
call fcn.0043f7d0
mov r8, qword [rsp + 0xc0]
mov rax, qword [rsp + 0x68]
mov dword [r8 + 0x38], 0xfffffffe
mov qword [rax], r8
jmp 0x48be93
mov rax, qword [rbp + 0x60]
mov r9, qword [rax + r10*8]
jmp 0x48bf4d
cmp r9, qword [rsp + 0xb8]
je 0x48c569
test r9, r9
je 0x48c5f0
cmp qword [r9 + 0xf8], 0
je 0x48c5f0
mov rdx, qword [r9 + 0x70]
cmp rdx, qword [rsp + 0xb8]
je 0x48c571
mov eax, dword [rdx + 0xe0]
test eax, eax
je 0x48c526
movzx ecx, byte [rsp + 0x40]
mov r11d, eax
shl r11, cl
mov edx, dword [rsp + 0xc8]
test edx, edx
je 0x48bfc1
mov rax, qword [r9 + 0x68]
add qword [rbx + 0x10], rax
jmp 0x48bfc1
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 0x48b54e
movzx eax, word [rbx + 0x2c]
and ax, 0x380
sub ax, 0x100
test ax, 0xfe80
je 0x48b960
mov eax, dword [rsp + 0x68]
test eax, eax
jne 0x48c132
test byte [rsp + 0x48], 2
je 0x48b960
mov rdx, qword [r12]
mov rcx, rbx
call fcn.0048ad70
test rax, rax
je 0x48b960
mov qword [rdi], rax
jmp 0x48b960
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 0x48c10a
mov eax, dword [rdx]
and eax, 0x18000
cmp eax, 0x18000
je 0x48c621
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.0046aa40
test rax, rax
mov qword [rsp + 0xc0], rax
je 0x48b6e1
mov r9, qword [rsp + 0xf0]
mov rcx, r12
mov r8, qword [r9 + 0x70]
mov rdx, r8
mov qword [rsp + 0x100], r8
call fcn.00472b20
cmp eax, 0xfffffeff
mov dword [rsp + 0x138], eax
je 0x48b6e1
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 0x48c249
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 0x48c3ed
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.0047d020
test eax, eax
je 0x48b6e1
cmp eax, 1
jne 0x48c68a
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 0x48bfb9
mov rax, qword [rsp + 0xd0]
mov r12, qword [rsp + 0x198]
mov rbx, qword [rax + 0x58]
test rbx, rbx
je 0x48c2d8
cmp qword [rbx + 0x20], 0
jne 0x48c385
mov rax, qword [rsp + 0xd0]
mov r8, qword [rax + 0x70]
test r8, r8
je 0x48b27d
cmp qword [r8 + 0x20], 0
je 0x48b27d
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 0x48b27d
xor eax, eax
jmp 0x48b302
and edx, 0xfffffff0
mov byte [rsp + 0x134], dl
jmp 0x48b202
mov rax, qword [rbx + 0x20]
xor edx, edx
div r8
mov r8, rax
jmp 0x48bdea
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 0x48b6c5
or dword [r15 + 0x28], 0x4000000
jmp 0x48b803
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 0x48b6e1
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x48c3c9
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 0x48c2d8
mov rdx, qword [rdx + 0x28]
mov rdx, qword [rdx + 0x170]
test rdx, rdx
je 0x48c601
sub rax, qword [rdx + 0x30]
mov qword [rsp + 0x120], rax
jmp 0x48c249
mov r8d, dword [r15 + 0x90]
test r8d, r8d
je 0x48b7ac
xor eax, eax
jmp 0x48b302
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.0046aa40
test rax, rax
mov rdi, rax
je 0x48b6e1
mov rdx, r14
mov r14, qword [rsp + 0x50]
mov rcx, r14
call fcn.00472b20
cmp eax, 0xfffffeff
mov dword [rsp + 0x138], eax
je 0x48b6e1
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.0047d020
test eax, eax
je 0x48b6e1
cmp eax, 1
jne 0x48c672
add rsi, qword [rbp + 0x58]
mov dword [rsi], r14d
jmp 0x48b652
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.0043f6b0
mov ecx, 0x11
call fcn.0043f850
xor eax, eax
jmp 0x48b302
mov r8, qword [rdx + 0x30]
add qword [rbx + 0x10], r8
mov rcx, r12
mov qword [rsp + 0xc0], r9
call fcn.004a7350
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 0x48c0ab
xor r11d, r11d
jmp 0x48c0ab
mov rax, qword [r9 + 0xd0]
test rax, rax
je 0x48c569
mov rdx, qword [rax + 0x70]
test rdx, rdx
je 0x48c569
mov rax, qword [rdx + 0x30]
xor r11d, r11d
sub qword [rbx + 0x10], rax
cmp rdx, qword [rsp + 0xb8]
je 0x48c0ab
jmp 0x48c092
mov dword [rax + 0x18], 0xfffffff1
mov qword [rax], rdi
jmp 0x48b960
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x48], rax
jmp 0x48be0e
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.00447f20
test eax, eax
jne 0x48b2f0
jmp 0x48b6e1
mov ecx, 0x11
call fcn.0043f850
xor eax, eax
jmp 0x48b302
and ecx, 0xfffffff0
mov byte [rsp + 0x134], cl
jmp 0x48c249
mov qword [rsp + 0xe0], 0
jmp 0x48c2c8
mov ecx, 5
call fcn.0043f850
xor eax, eax
jmp 0x48b302
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 0x48bec5
lea r8, str.elf_link_input_bfd
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elflink.c
mov edx, 0x2a80
call fcn.0043f7f0
lea r8, str.elf_link_input_bfd
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elflink.c
mov edx, 0x2c63
call fcn.0043f7f0
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 0x48c6f5
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 0x48d0ed
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 0x48c759
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.00492aa0
test rax, rax
mov qword [rsp + 0x170], rax
je 0x48c6dd
mov esi, dword [rsp + 0x80]
test esi, esi
jne 0x48d175
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 0x48d350
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 0x48c8cf
mov ecx, 0x10
mov rdi, r12
repe cmpsb byte [rsi], byte [rdi]
je 0x48c8e6
mov eax, dword [r14 + 0x28]
test eax, 0x2000000
je 0x48c8c6
cmp qword [r14 + 0x40], 0
jne 0x48c8c6
nop
mov rdx, qword [r14 + 0x20]
or ah, 0x80
mov dword [r14 + 0x28], eax
mov rax, qword [r14 + 0x18]
test rdx, rdx
je 0x48d028
mov qword [rdx + 0x18], rax
test rax, rax
je 0x48d01c
mov qword [rax + 0x20], rdx
sub dword [r15 + 0x98], 1
mov ebp, 1
mov r14, qword [r14 + 0x18]
test r14, r14
je 0x48c94d
test r13, r13
mov rsi, qword [r14]
je 0x48c870
mov rdx, r13
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x48c870
mov rax, qword [r14 + 0x110]
test rax, rax
jne 0x48c8fc
jmp 0x48c915
mov rax, qword [rax]
test rax, rax
je 0x48c915
cmp dword [rax + 8], 1
jne 0x48c8f4
mov rdx, qword [rax + 0x20]
mov rax, qword [rax]
and dword [rdx + 0x28], 0xfffffeff
test rax, rax
jne 0x48c8fc
mov rcx, r15
call fcn.00491cd0
mov rcx, r14
mov rbx, rax
mov rdx, rax
call fcn.00447ee0
test rbx, rbx
mov qword [r14 + 0x110], 0
je 0x48ce40
mov qword [rsp + 0x58], r14
mov r14, qword [r14 + 0x18]
test r14, r14
jne 0x48c8cf
test ebp, ebp
movzx r14d, byte [rsp + 0x60]
mov qword [rsp + 0xa0], rbx
jne 0x48d160
mov rsi, qword [r15 + 0x88]
test rsi, rsi
je 0x48d365
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 0x48cf91
mov r15d, 1
jmp 0x48c9e5
cmp eax, 1
je 0x48ce70
mov rbx, qword [rbx]
test rbx, rbx
je 0x48ca71
mov eax, dword [rbx + 8]
lea edx, [rax - 3]
cmp edx, 1
ja 0x48c9d0
mov edx, 1
xor ecx, ecx
xor r8d, r8d
add dword [rsi + 0x90], edx
cmp eax, 1
jne 0x48ce50
test r14b, r14b
je 0x48ce50
mov rdx, qword [rcx + 0x58]
test rdx, rdx
je 0x48ca3c
mov rdi, qword [rdx + 0x38]
xor eax, eax
mov r11d, dword [rbp + 0x60]
test rdi, rdi
je 0x48ca33
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 0x48c9d9
mov r11, qword [rdx + 0x38]
xor eax, eax
mov ecx, dword [rbp + 0x78]
test r11, r11
je 0x48ca5c
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 0x48c9e5
mov ebx, dword [rsi + 0x90]
test ebx, ebx
je 0x48cf91
or dword [rsi + 0x28], 4
movabs rax, 0x100000001
test qword [rsi + 0x28], rax
jne 0x48ca9b
mov qword [rsi + 0x30], 0
mov rsi, qword [rsi + 0x18]
test rsi, rsi
jne 0x48c9a0
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 0x48cae3
and r13d, 1
jne 0x48d131
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 0x48d14a
mov rdx, qword [rsp + 0x238]
mov rcx, r15
call fcn.0046eea0
test eax, eax
je 0x48d0d1
mov rbp, qword [r15 + 0x88]
test rbp, rbp
je 0x48cc20
lea rbx, str..ctf
jmp 0x48cb5d
mov rbp, qword [rbp + 0x18]
test rbp, rbp
je 0x48cc20
test byte [rbp + 0x28], 4
mov r13, qword [rbp + 0xe8]
je 0x48cba0
cmp qword [r13 + 0x58], 0
je 0x48cb85
lea rdx, [r13 + 0x58]
mov rcx, r15
call fcn.0047d720
test eax, eax
je 0x48d0d1
cmp qword [r13 + 0x70], 0
je 0x48cba0
lea rdx, [r13 + 0x70]
mov rcx, r15
call fcn.0047d720
test eax, eax
je 0x48d0d1
cmp qword [r13 + 0x18], 0xffffffffffffffff
mov dword [rbp + 0xe0], 0
mov dword [r13 + 0x60], 0
mov dword [r13 + 0x78], 0
jne 0x48cb50
mov rax, qword [rbp]
mov ecx, 4
mov rdi, rbx
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
jne 0x48cbe8
movzx eax, byte [rax + 4]
test al, al
je 0x48cb50
cmp al, 0x2e
je 0x48cb50
test byte [rbp + 0x2b], 8
je 0x48db83
cmp qword [r13 + 0x48], 0
jne 0x48db83
mov rcx, qword [r13 + 0x20]
call fcn.00444070
test rax, rax
je 0x48d0d1
mov rbp, qword [rbp + 0x18]
mov qword [r13 + 0x48], rax
test rbp, rbp
jne 0x48cb5d
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.00444070
test rax, rax
mov qword [rdi + 0xb8], rax
je 0x48d0d1
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 0x48d1ad
test r14b, r14b
jne 0x48d1ad
test r12, r12
jne 0x48d8dd
cmp qword [rsp + 0x70], 0
jne 0x48d328
cmp qword [rsp + 0x60], 0
je 0x48cd35
mov rax, qword [rsp + 0x60]
lea rcx, [rax + rax*2]
shl rcx, 3
call fcn.00444070
test rax, rax
mov qword [rsp + 0x198], rax
je 0x48d0d1
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x320]
movzx ecx, byte [rax + 5]
imul rcx, rbx
call fcn.00444070
test rax, rax
mov qword [rsp + 0x1a0], rax
je 0x48d0d1
mov rcx, rbx
shl rcx, 5
call fcn.00444070
test rax, rax
mov qword [rsp + 0x1b0], rax
je 0x48d0d1
lea rcx, [rbx*4]
call fcn.00444070
test rax, rax
mov qword [rsp + 0x1b8], rax
je 0x48d0d1
lea rcx, [rbx*8]
call fcn.00444070
test rax, rax
mov qword [rsp + 0x1c0], rax
je 0x48d0d1
cmp qword [rsp + 0x98], 0
jne 0x48dad1
mov rax, qword [rsp + 0x50]
mov rsi, qword [rax + 0x170]
xor eax, eax
test rsi, rsi
jne 0x48ce19
jmp 0x48d3da
test byte [rsi + 0x29], 1
jne 0x48ce37
mov rdx, qword [rsi + 0x118]
mov ecx, eax
test rdx, rdx
je 0x48ce00
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 0x48d397
test byte [rsi + 0x29], 4
je 0x48d397
mov rbx, qword [rsi + 0x40]
mov rdx, rsi
mov rcx, r15
call fcn.0043f500
test rbx, rbx
je 0x48cde0
mov ecx, eax
jmp 0x48ce00
mov eax, dword [r14 + 0x28]
jmp 0x48c890
test byte [rsi + 0x2d], 4
je 0x48ce60
add dword [rbp + 0x78], edx
jmp 0x48c9d9
add dword [rbp + 0x60], edx
jmp 0x48c9d9
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 0x48c9d9
test byte [rax + 0x40], 0x40
jne 0x48c9d9
mov rcx, qword [rax + 0xf8]
test byte [rcx + 0xc85], 0x40
je 0x48d011
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 0x48cf03
cmp qword [rcx + 0x2e0], 0
cmovne r10, rax
mov eax, dword [rbp + 4]
cmp eax, 9
je 0x48cfb0
cmp eax, 4
je 0x48cfb0
test r14b, r14b
je 0x48cf9a
mov rax, qword [rsp + 0x48]
xor r8d, r8d
mov edx, dword [rdi + 0x90]
mov rax, qword [rax + 0x208]
test rax, rax
je 0x48cf71
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 0x48cfc6
test edx, edx
je 0x48c9d9
add edx, r8d
mov eax, dword [rbx + 8]
jmp 0x48c9fa
and dword [rsi + 0x28], 0xfffffffb
jmp 0x48ca83
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x48d0f6
nop
and r11d, 4
mov rcx, qword [rdi + 0xe8]
je 0x48c9d9
xor r8d, r8d
xor edx, edx
mov rax, qword [rcx + 0x58]
test rax, rax
je 0x48d314
mov r11, qword [rcx + 0x70]
mov rax, qword [rax + 0x20]
test r11, r11
je 0x48cfe4
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 0x48cf7e
mov eax, dword [rcx + 0x8c]
jmp 0x48ceeb
mov qword [r15 + 0x90], rdx
jmp 0x48c8b9
mov qword [r15 + 0x88], rax
jmp 0x48c8ac
cmp dword [rsi + 8], 1
mov rdi, r12
lea r13, [rsp + 0x160]
jne 0x48d0d9
mov rax, qword [rdi + 8]
cmp dword [rax + 8], 5
jne 0x48d0d9
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 0x48d0d9
cmp dl, 1
je 0x48f55c
jb 0x48f550
cmp dl, 2
jne 0x48f538
lea rsi, str.ELFCLASS64
cmp al, 1
je 0x48f52c
jb 0x48f580
cmp al, 2
jne 0x48f568
lea rbx, str.ELFCLASS64
mov ecx, 3
call fcn.0043f850
lea rcx, str._pB:_file_class__s_incompatible_with__s
mov r9, rsi
mov r8, rbx
mov rdx, rdi
call fcn.0043f6b0
lea r13, [rsp + 0x160]
lea rcx, [r15 + 0x88]
mov rdx, r13
call fcn.0047d8b0
jmp 0x48c6dd
or dword [rcx + 0x40], 0x40
jmp 0x48c71d
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 0x48cf71
mov rcx, qword [rsp + 0x50]
lea rdx, [0x0047d960]
mov r8, r15
call fcn.004a5070
jmp 0x48cae3
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elflink.c
mov edx, 0x2fa5
call fcn.0043f7d0
jmp 0x48cb19
mov rdx, qword [rsp + 0x238]
mov rcx, r15
call fcn.004a7540
jmp 0x48c963
mov rdi, qword [rsp + 0x78]
lea rdx, str..hash
mov rcx, rdi
call fcn.00447940
lea rdx, str..gnu.version
mov rcx, rdi
mov qword [rsp + 0x178], rax
call fcn.00447940
mov qword [rsp + 0x180], rax
jmp 0x48c7ae
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.0046dea0
mov r9, qword [0x0051ed80]
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.0047d020
cmp eax, 1
jne 0x48d0d9
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 0x48ccf5
mov esi, 1
mov rbp, qword [rsp + 0x238]
jmp 0x48d2b6
mov rax, qword [r15 + 0xf8]
add esi, 1
cmp dword [rax + 0x2f4], esi
jbe 0x48ccf5
mov edx, esi
mov rcx, r15
call fcn.0046d780
test rax, rax
mov r9, rax
je 0x48d2a0
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 0x48d2f4
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.0047d020
cmp eax, 1
je 0x48d2a0
jmp 0x48d0d9
mov r11, qword [rcx + 0x70]
xor eax, eax
test r11, r11
jne 0x48cfe0
jmp 0x48cff5
mov rcx, qword [rsp + 0x70]
call fcn.00444070
test rax, rax
mov qword [rsp + 0x190], rax
jne 0x48cd0a
jmp 0x48d0d1
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 0x48cae3
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 0x48d3cb
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 0x48d47c
mov rax, qword [r13 + 0x110]
test rax, rax
je 0x48d46f
xor r8d, r8d
xor r10d, r10d
xor edx, edx
xor r9d, r9d
jmp 0x48d421
add rdx, 1
test rdx, rdx
je 0x48d415
test r9, r9
jne 0x48d5b0
mov rax, qword [rax]
test rax, rax
je 0x48d5fa
cmp dword [rax + 8], 1
jne 0x48d403
mov rcx, qword [rax + 0x20]
test byte [rcx + 0x2a], 0x10
jne 0x48d447
mov r11, qword [rcx + 0xf8]
mov r11, qword [r11 + 8]
cmp dword [r11 + 8], 5
je 0x48d6bb
add rdx, 1
mov r10, rcx
jmp 0x48d407
lea r9, [0x0047b5e0]
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 0x48d3ea
mov rcx, qword [rsp + 0x238]
call fcn.00497260
test eax, eax
je 0x48c6dd
mov rax, qword [rsp + 0x238]
mov rax, qword [rax + 0x60]
test rax, rax
je 0x48d4b2
and byte [rax + 0x45], 0xfb
mov rax, qword [rax + 0xf0]
test rax, rax
jne 0x48d4a2
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 0x48da66
mov byte [rsp + 0xc0], r14b
mov r12, rdi
mov r14, rbx
mov rdi, qword [r14 + 0x110]
test rdi, rdi
je 0x48da50
mov rsi, rdi
mov rbp, qword [rsp + 0x238]
jmp 0x48d541
sub eax, 3
cmp eax, 1
jbe 0x48d6e5
mov r9, rsi
mov r8, r14
mov rdx, rbp
mov rcx, r15
call fcn.004a6af0
test eax, eax
je 0x48d034
mov rsi, qword [rsi]
test rsi, rsi
je 0x48da50
mov eax, dword [rsi + 8]
cmp eax, 1
jne 0x48d510
mov rax, qword [rsi + 0x20]
mov r12, qword [rax + 0xf8]
mov rax, qword [r12 + 8]
cmp dword [rax + 8], 5
jne 0x48d51c
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 0x48d51c
test byte [r12 + 0x45], 4
jne 0x48d535
mov rcx, qword [rsp + 0xb8]
mov rdx, r12
mov r13, rcx
call fcn.0048ae40
test eax, eax
je 0x48d0d9
or byte [r12 + 0x45], 4
jmp 0x48d535
test r10, r10
je 0x48d831
test r8, r8
je 0x48d831
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.0043f6b0
mov ecx, 0x11
xor ebx, ebx
call fcn.0043f850
jmp 0x48c6df
test r9, r9
je 0x48d46f
lea rcx, [r9*8]
call fcn.00444070
test rax, rax
mov rdi, rax
je 0x48c6dd
mov rax, qword [r13 + 0x110]
test rax, rax
je 0x48d450
xor esi, esi
nop
add rsi, 1
mov qword [rdi + rsi*8 - 8], rax
mov rax, qword [rax]
test rax, rax
jne 0x48d630
lea r9, [0x0047b5e0]
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.0043f500
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 0x48d660
jmp 0x48d467
mov r11, qword [rcx + 0xe8]
test r11, r11
je 0x48d447
cmp qword [r11 + 0x90], 0
je 0x48d447
add r9, 1
mov r8, rcx
jmp 0x48d407
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.00447100
test rax, rax
mov r13, rax
je 0x48db54
cmp qword [rbx + 0x58], 0
mov rax, qword [rsi + 0x20]
mov rdi, qword [rax + 0x10]
je 0x48d900
add rbx, 0x58
mov ecx, dword [rbx + 8]
cmp dword [rsi + 8], 3
mov rdx, qword [rbx + 0x10]
lea r11, [rdx + rcx*8]
jne 0x48d845
mov rax, qword [rax + 8]
mov eax, dword [rax + 0xe0]
test eax, eax
mov dword [rsp + 0x60], eax
je 0x48da30
mov qword [r11], 0
test byte [r13 + 7], 4
je 0x48d772
test rdi, rdi
jne 0x48d92b
movzx eax, byte [rbp]
mov rdx, qword [rsi + 0x10]
and eax, 3
cmp al, 2
je 0x48d785
add rdx, qword [r14 + 0x30]
mov rax, qword [rsp + 0x98]
mov r9, qword [rax + 0x320]
movzx ecx, byte [r9 + 9]
test ecx, ecx
je 0x48d7d0
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 0x48d7b4
cmp byte [r9 + 0xa], 0x20
je 0x48d8c2
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 0x48d8a1
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 0x48d535
lea rcx, str._pA_has_both_ordered_and_unordered_sections
mov rdx, r13
call fcn.0043f6b0
jmp 0x48d5e9
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.004a4a00
test rax, rax
je 0x48db26
movzx ecx, byte [rax + 0x18]
mov r11, qword [rsp + 0x60]
lea edx, [rcx - 3]
cmp dl, 1
jbe 0x48db00
mov dword [rax + 0x38], 0xfffffffe
mov dword [rsp + 0x60], 0
mov qword [r11], rax
jmp 0x48d762
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 0x48d828
movzx eax, byte [r13]
mov edx, dword [rsp + 0x60]
shl edx, 8
add eax, edx
mov qword [rsp + 0x118], rax
jmp 0x48d7f3
mov rcx, r12
call fcn.00444070
test rax, rax
mov qword [rsp + 0x188], rax
jne 0x48ccfe
jmp 0x48d0d1
cmp qword [rbx + 0x70], 0
je 0x48d910
add rbx, 0x70
jmp 0x48d730
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elflink.c
mov edx, 0x2cfc
call fcn.0043f7d0
mov rax, qword [0x10]
ud2
mov rcx, r13
call fcn.004465d0
mov eax, eax
mov rcx, rax
mov qword [rsp + 0xa8], rax
call fcn.00444160
test rax, rax
mov qword [rsp + 0x70], rax
jne 0x48d95e
cmp qword [rsp + 0xa8], 0
jne 0x48d0d1
mov r9, qword [rsp + 0x70]
mov r8, rdi
mov rdx, r15
mov rcx, r13
call fcn.00446db0
cmp eax, 2
je 0x48d9c1
cmp eax, 3
jne 0x48db6b
cmp dword [rsi + 8], 3
mov rax, qword [rsi + 0x20]
je 0x48db9b
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.0043f500
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.00447f20
mov rcx, qword [rsp + 0x70]
mov dword [rsp + 0xa8], eax
call sub.msvcrt.dll_free
mov eax, dword [rsp + 0xa8]
test eax, eax
jne 0x48d772
jmp 0x48d0d1
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elflink.c
mov edx, 0x2d04
mov qword [rsp + 0x70], r11
call fcn.0043f7d0
mov r11, qword [rsp + 0x70]
jmp 0x48d75b
mov r14, qword [r14 + 0x18]
test r14, r14
jne 0x48d4f2
movzx r14d, byte [rsp + 0xc0]
mov rax, qword [rsp + 0x238]
cmp byte [rax + 4], 0
js 0x48dba7
mov rax, qword [rsp + 0x238]
mov rbx, qword [rax + 0x60]
test rbx, rbx
jne 0x48daa0
jmp 0x48dba7
mov rbx, qword [rbx + 0xf0]
test rbx, rbx
je 0x48dba7
mov rax, qword [rbx + 8]
cmp dword [rax + 8], 5
jne 0x48da90
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 0x48da90
mov rcx, qword [rsp + 0x98]
shl rcx, 2
call fcn.00444070
test rax, rax
mov qword [rsp + 0x1a8], rax
jne 0x48cdc7
jmp 0x48d0d1
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 0x48d762
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 0x48d762
mov ecx, 0x11
lea r13, [rsp + 0x160]
call fcn.0043f850
jmp 0x48d0d9
lea r8, str.elf_reloc_link_order
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elflink.c
mov edx, 0x2d46
call fcn.0043f7f0
lea r8, str.bfd_elf_final_link
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elflink.c
mov edx, 0x2fc9
call fcn.0043f7f0
mov rax, qword [rax + 8]
mov r8, qword [rax]
jmp 0x48d991
mov rax, qword [rsp + 0x238]
lea rbp, [rsp + 0xd0]
lea r13, [rsp + 0x160]
lea rdx, [0x0047f330]
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.00443ae0
mov ebx, dword [rsp + 0xd0]
test ebx, ebx
jne 0x48c6dd
mov rax, qword [rsp + 0x48]
mov r10, qword [rax + 0x1a8]
test r10, r10
je 0x48dc42
mov rax, qword [rsp + 0x238]
mov eax, dword [rax]
mov dword [rsp + 0x60], eax
and eax, 0x18000
cmp eax, 0x18000
jne 0x48f58c
test r14b, r14b
jne 0x48f58c
mov r11d, dword [rsp + 0x80]
mov eax, dword [r15 + 0xb0]
mov rcx, qword [rsp + 0x88]
test r11d, r11d
mov dword [rcx + 0x8c], eax
je 0x48ddba
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 0x208]
test rax, rax
je 0x48ddba
mov r9, qword [0x0051ed80]
mov rdx, qword [rax + 0x70]
add r9, 0x250
cmp rdx, r9
je 0x48ddba
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 0x48e005
mov r10d, dword [rcx + 0x54]
test r10d, r10d
jne 0x48e005
mov rax, qword [rsp + 0x50]
mov rsi, qword [rax + 0x160]
lea rax, [rsp + 0x110]
mov qword [rsp + 0x60], rax
test rsi, rsi
je 0x48ddba
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.0046d780
test rax, rax
mov rdi, rax
je 0x48dd84
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 0x48f5b1
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 0x48dcfc
mov rax, qword [rsp + 0x238]
lea rdx, [0x0047f330]
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.00443ae0
mov ebx, dword [rsp + 0xd0]
test ebx, ebx
jne 0x48c6dd
mov rax, qword [rsp + 0x48]
mov r10, qword [rax + 0x1b0]
test r10, r10
je 0x48de3a
mov rax, qword [rsp + 0x238]
mov eax, dword [rax]
mov dword [rsp + 0x60], eax
and eax, 0x18000
cmp eax, 0x18000
jne 0x48e1c5
test r14b, r14b
jne 0x48e1c5
mov rcx, qword [rsp + 0x170]
call fcn.004930f0
mov rax, qword [rsp + 0x160]
mov rsi, qword [rax + 0x28]
mov rax, qword [rsi + 0xa8]
test rax, rax
je 0x48e14e
mov rdx, qword [rsp + 0x168]
mov rcx, qword [rdx + 0xf8]
mov r9d, dword [rcx + 0xc70]
test r9d, r9d
jne 0x48de9e
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elflink.c
mov edx, 0x25d9
call fcn.0043f7d0
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.00444070
test rax, rax
mov r12, rax
je 0x48c6dd
cmp qword [rsp + 0x1c8], 0
je 0x48defc
mov rax, qword [rsp + 0x168]
mov ecx, dword [rax + 0xb0]
shl rcx, 2
call fcn.00444160
test rax, rax
mov qword [rsp + 0x1c8], rax
je 0x48e0e8
mov rdx, qword [rsi + 0xa8]
xor r14d, r14d
mov qword [rsp + 0x60], 0
test rdx, rdx
je 0x48df7e
mov rdi, r14
add rdi, qword [rsi + 0xb8]
mov eax, dword [rdi + 0x10]
cmp eax, 0xffffffff
jne 0x48e0f5
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 0x48df14
mov rax, qword [rsp + 0x160]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x78]
test rax, rax
je 0x48dfa4
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.004a3380
test eax, eax
je 0x48e10c
mov rcx, r12
call sub.msvcrt.dll_free
mov rcx, qword [rsi + 0xb8]
call sub.msvcrt.dll_free
mov qword [rsi + 0xb8], 0
jmp 0x48c6df
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 0x48dcda
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 0x48e0d2
mov edi, dword [rax + 0x88]
test edi, edi
jg 0x48e084
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elflink.c
mov edx, 0x3122
call fcn.0043f7d0
mov dword [rsp + 0x128], edi
sub edi, 0xff00
cmp edi, 0xfffeffff
jbe 0x48e1ac
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 0x48e058
mov ebx, dword [rsp + 0x60]
jmp 0x48dcda
mov rcx, r12
call sub.msvcrt.dll_free
jmp 0x48c6df
mov rcx, qword [rsp + 0x170]
mov edx, eax
call fcn.00492ef0
mov dword [rdi + 0x10], eax
jmp 0x48df31
mov r8, qword [rsp + 0x168]
mov rdx, rbp
mov rcx, r12
call fcn.004a31e0
cmp rbp, rax
jne 0x48dfe1
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 0x48e62c
mov rax, qword [rsp + 0x238]
mov rdi, qword [rax + 0x58]
test rdi, rdi
je 0x48e40f
mov rax, qword [r15 + 8]
mov edx, 1
mov rcx, rdi
mov rbp, qword [rax + 0x370]
call fcn.00443380
test eax, eax
jne 0x48e1ea
mov rax, qword [rsp + 0x238]
lea rcx, str._pB:_failed_to_generate_import_library
mov rdx, qword [rax + 0x58]
call fcn.0043f6b0
jmp 0x48c6df
mov rcx, r15
call fcn.0047cfe0
test eax, eax
jne 0x48e09d
mov ebx, dword [rsp + 0x60]
jmp 0x48c6df
lea r9, [fcn.0047d020]
mov r8, r13
mov rdx, qword [rsp + 0x238]
mov rcx, r15
call r10
test eax, eax
jne 0x48de3a
jmp 0x48c6dd
xor edx, edx
mov rcx, rdi
mov esi, dword [r15 + 0x40]
call fcn.00440560
test eax, eax
je 0x48e18f
and esi, 0xfffffffc
mov rcx, rdi
mov edx, esi
call fcn.0043f780
test eax, eax
je 0x48e18f
mov rcx, r15
call fcn.0043f3e0
mov rcx, r15
mov esi, eax
call fcn.0043f3f0
mov r9, qword [rdi + 8]
mov r8d, eax
mov edx, esi
mov rcx, rdi
call qword [r9 + 0x290]
test eax, eax
jne 0x48e25b
test byte [r15 + 0x44], 0x40
jne 0x48e18f
mov rcx, r15
call fcn.0043f3e0
mov rcx, rdi
mov esi, eax
call fcn.0043f3e0
cmp esi, eax
jne 0x48e18f
mov rax, qword [r15 + 8]
mov rcx, r15
call qword [rax + 0x1f0]
test eax, eax
js 0x48e18f
movsxd rcx, eax
call fcn.00444070
test rax, rax
mov rsi, rax
je 0x48e18f
mov rax, qword [r15 + 8]
mov rdx, rsi
mov rcx, r15
call qword [rax + 0x1f8]
test eax, eax
mov dword [rsp + 0x60], eax
js 0x48e2f4
mov rax, qword [rdi + 8]
mov rdx, rdi
mov rcx, r15
call qword [rax + 0x160]
test eax, eax
je 0x48e2f4
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 0x48f5e7
call rax
mov ebp, eax
test ebp, ebp
jne 0x48e301
mov ecx, 7
call fcn.0043f850
lea rcx, str._pB:_no_symbol_found_for_import_library
mov rdx, rdi
call fcn.0043f6b0
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x48e18f
movsxd rax, ebp
mov rcx, rdi
lea rdx, [rax + rax*2]
shl rdx, 5
call fcn.00445660
test rax, rax
je 0x48e2f4
test ebp, ebp
jle 0x48e3cf
mov r9, qword [0x0051ed80]
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 0x48e33a
mov r8d, ebp
mov rdx, rsi
mov rcx, rdi
call fcn.004481b0
mov rax, qword [rdi + 8]
mov rdx, rdi
mov rcx, r15
call qword [rax + 0x138]
test eax, eax
je 0x48e2f4
mov rcx, rdi
call fcn.00445480
mov rcx, rsi
mov edi, eax
call sub.msvcrt.dll_free
test edi, edi
je 0x48e18f
mov rbx, qword [r15 + 0x88]
mov rbp, qword [rsp + 0x238]
test rbx, rbx
je 0x48e4ba
test byte [rbx + 0x28], 4
mov rsi, qword [rbx + 0xe8]
je 0x48e4ad
mov rax, qword [rsp + 0x48]
mov edi, 1
mov rax, qword [rax + 0x210]
test rax, rax
je 0x48e457
xor edi, edi
mov rcx, rbx
call rax
test eax, eax
setne dil
cmp qword [rsi + 0x58], 0
je 0x48e47d
lea r8, [rsi + 0x58]
mov qword [rsp + 0x20], rbp
mov r9d, edi
mov rdx, rbx
mov rcx, r15
call fcn.004d3a10
test eax, eax
je 0x48c6dd
cmp qword [rsi + 0x70], 0
je 0x48e4a3
lea r8, [rsi + 0x70]
mov qword [rsp + 0x20], rbp
mov r9d, edi
mov rdx, rbx
mov rcx, r15
call fcn.004d3a10
test eax, eax
je 0x48c6dd
mov dword [rbx + 0x90], 0
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x48e427
mov edx, dword [rsp + 0x80]
test edx, edx
je 0x48ea11
mov rax, qword [rsp + 0x238]
test byte [rax + 5], 2
je 0x48e622
cmp qword [rsp + 0x78], 0
je 0x48e622
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.0043f500
lea rdx, str..rela.dyn
mov rcx, r15
mov dword [rsp + 0x88], eax
call fcn.00447880
lea rdx, str..rel.dyn
mov rbx, rax
mov rcx, r15
call fcn.00447880
test rbx, rbx
mov r11, rax
je 0x48e843
mov rax, qword [rbx + 0x40]
test rax, rax
mov qword [rsp + 0x60], rax
je 0x48e837
test r11, r11
je 0x48e837
mov r12, qword [r11 + 0x40]
test r12, r12
je 0x48f381
mov r14, qword [rbx + 0x110]
test r14, r14
je 0x48f353
mov r8, qword [rdi + 0x320]
mov esi, 1
mov rdi, r14
xor ecx, ecx
cmp dword [rdi + 8], 1
je 0x48e799
mov rdi, qword [rdi]
test rdi, rdi
jne 0x48e596
mov rbp, qword [r11 + 0x110]
test rbp, rbp
mov rdi, rbp
je 0x48e5c9
cmp dword [rdi + 8], 1
je 0x48e7ea
mov rdi, qword [rdi]
test rdi, rdi
jne 0x48e5b7
xor ecx, 1
or esi, ecx
and esi, 1
je 0x48e86f
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 0x48e622
xor eax, eax
cmp dword [r14 + 8], 1
jne 0x48e60f
mov rdx, qword [r14 + 0x20]
add rax, qword [rdx + 0x40]
mov r14, qword [r14]
test r14, r14
jne 0x48e600
cmp rax, qword [rsp + 0x60]
je 0x48edba
xor ebx, ebx
xor r12d, r12d
jmp 0x48e8bf
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 0x48e65d
mov ecx, dword [rbp]
test ecx, ecx
jne 0x48e720
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.00492ed0
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.0046dea0
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.004a3380
test eax, eax
jne 0x48c6dd
mov rdx, qword [rsp + 0x170]
mov rcx, r15
call fcn.00493000
test eax, eax
jne 0x48e15e
jmp 0x48c6dd
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.0046dea0
mov rdx, qword [rbp + 0x18]
xor r8d, r8d
mov rcx, r15
mov rsi, rax
call fcn.004a3380
test eax, eax
jne 0x48c6dd
mov rcx, qword [rsp + 0x1c8]
mov r8, r15
mov rdx, rdi
call fcn.004a31e0
cmp rdi, rax
jne 0x48c6dd
mov rdi, qword [r15 + 0xf8]
jmp 0x48e65d
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 0x48ebbe
div r10
test rdx, rdx
je 0x48e5a0
xor esi, 1
test esi, ecx
jne 0x48e8a1
mov ecx, 1
mov esi, 1
jmp 0x48e5a0
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 0x48ed9c
div r10
test rdx, rdx
je 0x48e5c1
xor esi, 1
test esi, ecx
jne 0x48e8a1
mov ecx, 1
mov esi, 1
jmp 0x48e5c1
cmp qword [rsp + 0x60], 0
jne 0x48f381
test r11, r11
je 0x48e622
mov r12, qword [r11 + 0x40]
test r12, r12
je 0x48e622
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 0x48e5f9
lea rcx, str._pB:_unable_to_sort_relocs___they_are_in_more_than_one_size
mov rdx, r15
call fcn.0043f6b0
xor ebx, ebx
mov ecx, 5
xor r12d, r12d
call fcn.0043f850
mov rcx, qword [rsp + 0x78]
lea rdx, str..dynamic
call fcn.00447940
test rax, rax
mov rsi, rax
jne 0x48e8e9
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elflink.c
mov edx, 0x31c6
call fcn.0043f7d0
mov r14, qword [rsi + 0xb8]
mov rax, r14
add rax, qword [rsi + 0x40]
cmp r14, rax
mov qword [rsp + 0x70], rax
jae 0x48ea11
lea rcx, [rsp + 0x110]
mov rbp, qword [rsp + 0x48]
mov qword [rsp + 0x60], rcx
mov rcx, qword [0x0051ed80]
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 0x48ed0f
cmp rax, 0x20
je 0x48ed06
jbe 0x48eca1
cmp rax, 0x6ffffff0
je 0x48ec95
ja 0x48ec78
cmp rax, 0x21
je 0x48ec39
cmp rax, 0x6ffffef5
lea rdi, str..gnu.hash
jne 0x48ec23
mov rcx, qword [rsp + 0x78]
mov rdx, rdi
call fcn.00447940
mov rsi, rax
test rsi, rsi
je 0x48ec05
mov rdx, qword [rsi + 0x70]
cmp rdx, qword [rsp + 0x80]
je 0x48ec05
mov rax, qword [rdx + 0xe8]
cmp dword [rax + 4], 7
je 0x48ebd8
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 0x48e934
cmp qword [rsp + 0x78], 0
je 0x48ea8c
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x238]
mov rcx, r15
call qword [rax + 0x140]
test eax, eax
je 0x48d0d9
mov rax, qword [rsp + 0x238]
test byte [rax + 4], 0x18
jne 0x48f285
mov rax, qword [rsp + 0x78]
mov r12, qword [rax + 0x88]
test r12, r12
je 0x48ea8c
mov rax, qword [0x0051ed80]
mov r14, qword [rsp + 0x50]
lea rbp, str..dynstr
lea rbx, [rax + 0x250]
mov edx, dword [r12 + 0x28]
test dh, 1
jne 0x48f195
mov r12, qword [r12 + 0x18]
test r12, r12
jne 0x48ea74
mov rax, qword [rsp + 0x238]
test byte [rax + 1], 0x20
jne 0x48eaf2
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 0x48eacc
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elflink.c
mov edx, 0x32da
call fcn.0043f7d0
lea r8, [rsp + 0x110]
lea rdx, [0x004690f0]
mov rcx, r15
call fcn.00447e10
mov eax, dword [rsp + 0x110]
test eax, eax
jne 0x48d0d9
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x130], 0
je 0x48eb1d
mov rdx, qword [rsp + 0x50]
mov rcx, r15
add rdx, 0x100
call fcn.004a9e30
test eax, eax
je 0x48d0d9
mov rdx, qword [rsp + 0x238]
mov rcx, r15
call fcn.00497380
test eax, eax
je 0x48d0d9
mov rax, qword [rsp + 0x238]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x80]
test rax, rax
je 0x48eb4f
call rax
lea rcx, [r15 + 0x88]
mov rdx, r13
mov ebx, 1
call fcn.0047d8b0
mov r14, qword [rsp + 0x58]
test r14, r14
je 0x48c6df
mov rdi, qword [rsp + 0xa0]
mov rcx, rdi
call fcn.00444070
test rax, rax
mov rsi, rax
je 0x48c6dd
mov r8, rdi
mov rdx, rax
mov rcx, r15
call fcn.00491d10
mov rcx, r15
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov r8, rsi
mov rdx, r14
call fcn.00447f20
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x48c6df
div r10
test rdx, rdx
jne 0x48ebf6
and esi, ecx
jne 0x48e8a1
mov ecx, 1
jmp 0x48e5a0
lea rcx, str.warning:_section__s_is_being_made_into_a_note
mov rdx, rdi
call fcn.0043f6b0
mov ecx, 0xf
call fcn.0043f850
jmp 0x48d0d9
mov rdx, r15
lea rcx, str._pB:_unable_to_sort_relocs___they_are_of_an_unknown_size
jmp 0x48e8ab
lea rcx, str.could_not_find_section__s
mov rdx, rdi
call fcn.0043f6b0
jmp 0x48d0d9
cmp rax, 8
jbe 0x48f46c
mov rax, qword [rbp + 0x320]
movzx edx, byte [rax + 6]
add rdx, r14
mov r14, rdx
jmp 0x48ea06
lea rdi, str..preinit_array
mov rdx, rdi
mov rcx, r15
call fcn.00447880
test rax, rax
mov rsi, rax
je 0x48ec05
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x48e9d9
lea rcx, str.warning:__s_section_has_zero_size
mov rdx, rdi
call fcn.0043f6b0
mov rax, qword [rsi + 0x40]
jmp 0x48e9d9
cmp rax, 0x6ffffffc
je 0x48ecc1
cmp rax, 0x6ffffffe
lea rdi, str..gnu.version_r
je 0x48e995
jmp 0x48ec23
lea rdi, str..gnu.version
jmp 0x48e995
cmp rax, 0x1a
je 0x48ecfd
jbe 0x48ecd9
cmp rax, 0x1b
je 0x48eccd
cmp rax, 0x1c
lea rdi, str..fini_array
je 0x48ec40
jmp 0x48ec23
lea rdi, str..gnu.version_d
jmp 0x48e995
lea rdi, str..init_array
jmp 0x48ec40
cmp rax, 0x19
lea rdi, str..init_array
jne 0x48ec23
mov rdx, rdi
mov rcx, r15
call fcn.00447880
mov rsi, rax
jmp 0x48e9a5
lea rdi, str..fini_array
jmp 0x48ecea
lea rdi, str..preinit_array
jmp 0x48ecea
cmp rax, 0x11
jae 0x48f46c
cmp rax, 6
je 0x48f460
ja 0x48f3ca
cmp rax, 4
je 0x48f3be
ja 0x48f5db
test rax, rax
jne 0x48ec23
mov rax, qword [rbp + 0x320]
movzx edx, byte [rax + 6]
add rdx, r14
test r12, r12
je 0x48ec31
cmp qword [rsp + 0x70], rdx
jbe 0x48ec31
mov rcx, qword [rbx + 0xe8]
mov ecx, dword [rcx + 4]
cmp ecx, 4
je 0x48f5ca
cmp ecx, 9
jne 0x48ec31
mov qword [rsp + 0x110], 0x6ffffffa
mov qword [rsp + 0x118], r12
xor r12d, r12d
jmp 0x48e9e8
div r10
test rdx, rdx
jne 0x48ebf6
and esi, ecx
jne 0x48e8a1
mov ecx, 1
jmp 0x48e5c1
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 0x48e622
imul rcx, rax
call fcn.00444160
test rax, rax
mov r10, rax
je 0x48ef3c
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 0x48ee70
mov r11, r13
mov r13, rbp
mov rbp, rbx
cmp dword [r9 + 8], 1
je 0x48f0cd
mov r9, qword [r9]
test r9, r9
jne 0x48ee54
mov rbx, rbp
mov rbp, r13
mov r13, r11
mov r8, qword [rsp + 0x60]
lea r9, [0x0047cb60]
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 0x48ef7c
add r12, 1
add rcx, qword [rsp + 0x60]
cmp rbp, r12
jne 0x48ee9d
mov r8, qword [rsp + 0x60]
mov rdx, rbp
lea r9, [0x0047efb0]
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 0x48eefe
cmp rbx, qword [rdx + 0x70]
je 0x48efbc
mov rbp, qword [rbx + 0x110]
mov eax, dword [rsp + 0x88]
mov r14, r10
test rbp, rbp
mov qword [rsp + 0x80], rax
je 0x48ef2f
cmp dword [rbp + 8], 1
je 0x48f020
mov rbp, qword [rbp]
test rbp, rbp
jne 0x48ef1c
mov rcx, r10
call sub.msvcrt.dll_free
jmp 0x48e8bf
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 0x48e8bf
cmp rbp, r12
mov r9, r12
mov r8, rcx
mov rax, rcx
jbe 0x48eeb5
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 0x48ef8e
jmp 0x48eeb5
lea rax, [rbp + rbp*4]
lea rcx, [r10 + rax*8]
xor eax, eax
cmp dword [rcx - 0x20], 4
jne 0x48f094
add rax, 1
sub rcx, 0x28
cmp rbp, rax
jne 0x48efc7
imul rax, qword [rsp + 0x70]
cmp qword [rdx + 0x40], rax
jne 0x48eefe
mov rax, qword [rbx + 0x110]
lea r8, [rbx + 0x110]
test rax, rax
je 0x48f0b7
cmp dword [rax + 8], 1
je 0x48f0a2
mov r8, rax
mov rcx, qword [rax]
mov rax, r14
mov r14, rax
mov rax, rcx
jmp 0x48effc
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 0x48ef26
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 0x48f05c
jmp 0x48ef26
test rax, rax
je 0x48eefe
jmp 0x48efde
cmp rdx, qword [rax + 0x20]
jne 0x48f00f
mov rcx, qword [rax]
mov qword [r8], rcx
jmp 0x48f018
mov qword [r8], r14
mov qword [r14], 0
mov qword [rbx + 0x118], r14
jmp 0x48eefe
mov r12, qword [r9 + 0x20]
mov rsi, qword [r12 + 0xb8]
test rsi, rsi
je 0x48f22a
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 0x48ee5f
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 0x48f113
jmp 0x48ee5f
cmp qword [r12 + 0x40], 0
je 0x48ea82
mov rax, qword [r12 + 0x70]
cmp rax, rbx
je 0x48ea82
and edx, 0x100000
je 0x48ea82
cmp qword [r14 + 0x130], r12
je 0x48ea82
cmp qword [r14 + 0x138], r12
je 0x48ea82
mov rsi, qword [r12]
mov ecx, 8
mov rdi, rbp
repe cmpsb byte [rsi], byte [rdi]
je 0x48f24b
mov rsi, qword [r12 + 0x68]
mov rdx, r12
mov rcx, r15
call fcn.0043f500
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.00447f20
test eax, eax
jne 0x48ea82
jmp 0x48d0d9
cmp qword [r12 + 0x40], 0
je 0x48ee5f
mov rcx, r10
mov r13, r11
xor ebx, ebx
call sub.msvcrt.dll_free
xor r12d, r12d
jmp 0x48e8bf
mov rax, qword [rax + 0xe8]
xor r8d, r8d
mov rcx, r15
mov rdx, qword [rax + 0x18]
call fcn.004a3380
test eax, eax
jne 0x48d0d9
mov rdx, qword [r14 + 0xa0]
mov rcx, r15
call fcn.00493000
test eax, eax
jne 0x48ea82
jmp 0x48d0d9
mov rcx, qword [rsp + 0x78]
lea rdx, str..dynamic
call fcn.00447940
test rax, rax
je 0x48ea49
mov rbx, qword [rax + 0xb8]
mov rsi, rbx
add rsi, qword [rax + 0x40]
cmp rbx, rsi
jae 0x48ea49
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 0x48f307
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x320]
movzx edx, byte [rax + 6]
add rbx, rdx
cmp rsi, rbx
ja 0x48f2cf
jmp 0x48ea49
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 0x48f3ab
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 0x48f39c
lea rcx, str._P:_warning:_creating_DT_TEXTREL_in_a_PIE_n
call qword [rax + 0x58]
jmp 0x48ea49
mov rbp, qword [r11 + 0x110]
mov rax, qword [rsp + 0x80]
test rbp, rbp
mov rdi, rbp
mov r8, qword [rax + 0x320]
je 0x48e5d7
xor ecx, ecx
mov esi, 1
jmp 0x48e5b7
mov rax, qword [rsp + 0x80]
mov r14, qword [rbx + 0x110]
mov r8, qword [rax + 0x320]
jmp 0x48e5d7
lea rcx, str._P:_warning:_creating_DT_TEXTREL_in_a_shared_object_n
call qword [rax + 0x58]
jmp 0x48ea49
mov rax, qword [rax + 0x20]
lea rcx, str._P_X:_read_only_segment_has_dynamic_relocations_n
call qword [rax + 0x58]
jmp 0x48ea49
lea rdi, str..hash
jmp 0x48e995
cmp rax, 0xc
je 0x48f5f3
jbe 0x48ec19
cmp rax, 0xd
jne 0x48ec23
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.004a47b0
test rax, rax
je 0x48ec23
movzx ecx, byte [rax + 0x18]
lea edx, [rcx - 3]
cmp dl, 1
ja 0x48ec23
mov rdx, qword [rax + 0x30]
mov qword [rsp + 0x118], rdx
mov rsi, qword [rax + 0x28]
mov rcx, qword [rsi + 0x70]
test rcx, rcx
je 0x48f4f0
mov rax, rdx
add rax, qword [rsi + 0x68]
add rax, qword [rcx + 0x30]
mov qword [rsp + 0x118], rax
mov rax, qword [rbp + 0x320]
jmp 0x48e9e8
lea rdi, str..dynsym
jmp 0x48e995
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 0x48f525
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 0x48f508
add r9, 8
cmp r10, r9
jne 0x48f4aa
cmp byte [rbp + 0x3cc], 0
js 0x48f61b
cmp rax, 0x12
je 0x48f607
cmp rax, 8
je 0x48f607
mov qword [rsp + 0x118], rdi
mov rax, qword [rbp + 0x320]
jmp 0x48e9e8
mov qword [rsp + 0x118], 0
mov rax, qword [rbp + 0x320]
jmp 0x48e9e8
test byte [rcx + 8], 2
je 0x48f4b2
add r8, qword [rcx + 0x20]
test rdi, rdi
mov rcx, qword [rcx + 0x10]
je 0x48f520
cmp rcx, rdi
jae 0x48f4b2
mov rdi, rcx
jmp 0x48f4b2
xor edi, edi
xor r8d, r8d
jmp 0x48f4bb
lea rbx, str.ELFCLASS32
jmp 0x48d0b2
lea r8, str.bfd_elf_final_link
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elflink.c
mov edx, 0x30ba
call fcn.0043f7f0
lea rsi, str.ELFCLASSNONE
jmp 0x48d095
lea rsi, str.ELFCLASS32
jmp 0x48d095
lea r8, str.bfd_elf_final_link
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elflink.c
mov edx, 0x30c2
call fcn.0043f7f0
lea rbx, str.ELFCLASSNONE
jmp 0x48d0b2
lea r9, [fcn.0047d020]
mov r8, r13
mov rdx, qword [rsp + 0x238]
mov rcx, r15
call r10
test eax, eax
jne 0x48dc42
jmp 0x48c6dd
mov rcx, r15
call fcn.0047cfe0
test eax, eax
je 0x48c6df
mov rcx, qword [rdi + 0x70]
jmp 0x48dd70
mov qword [rsp + 0x110], 0x6ffffff9
jmp 0x48ed8c
lea rdi, str..dynstr
jmp 0x48e995
call fcn.0046ddd0
mov ebp, eax
jmp 0x48e2d7
mov rax, qword [rsp + 0x238]
mov rdx, qword [rax + 0x88]
jmp 0x48f3f3
mov qword [rsp + 0x118], r8
mov rax, qword [rbp + 0x320]
jmp 0x48e9e8
mov rcx, qword [rsp + 0x50]
cmp qword [rcx + 0x1c0], 0
je 0x48f4c8
mov rdx, rsi
mov rcx, r15
mov qword [rsp + 0x88], r8
call fcn.0043f500
mov rcx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x88]
mov rdx, qword [rcx + 0x1c0]
mov rcx, qword [rdx + 0x40]
sub r8, rcx
jne 0x48f66d
mov rax, qword [rsp + 0x110]
xor edi, edi
jmp 0x48f4c8
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 0x48f687
add rdi, rcx
mov rax, qword [rsp + 0x110]
jmp 0x48f4c8