Function at 0x422100
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2e8
xor eax, eax
lea rdi, [rsp + 0x160]
mov qword [rsp + 0x330], rcx
test rdx, rdx
mov ecx, 7
mov r15, rdx
mov qword [rsp + 0x340], r8
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x348], r9
mov qword [rsp + 0xf8], 0
rep stosq qword [rdi], rax
je 0x422290
cmp rdx, qword [rdx + 0x70]
je 0x422290
mov rbp, qword [rdx + 0xe8]
cmp rbp, 0xffffffffffffff18
je 0x422290
mov eax, dword [rbp + 0xe8]
mov ebx, 1
test eax, eax
je 0x422274
xor r14d, r14d
test byte [rdx + 0x2a], 0x10
je 0x4222b0
mov rax, qword [rsp + 0x330]
mov rbx, qword [r15 + 0x40]
movzx eax, byte [rax + 0x44]
mov byte [rsp + 0x40], al
and eax, 0x18
cmp al, 0x10
je 0x4221be
mov rax, qword [r15 + 0x48]
test rax, rax
cmovne rbx, rax
mov rcx, qword [rsp + 0x330]
mov rdx, r15
call fcn.0040a030
xor edx, edx
mov ecx, eax
mov rax, rbx
div rcx
mov rcx, qword [rsp + 0x330]
mov rdx, r15
mov rbx, rax
mov rax, qword [rsp + 0x340]
movzx eax, byte [rax + 3]
mov r8d, eax
mov byte [rsp + 0x40], al
shr r8b, 5
and r8d, 1
call fcn.0041c880
test rax, rax
mov qword [rsp + 0x58], rax
sete dl
test rbx, rbx
setne al
test dl, al
je 0x4222f0
mov rax, qword [rsp + 0xf8]
xor ebx, ebx
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x48]
call fcn.00417370
mov rax, qword [r15 + 0xe8]
mov rdi, qword [rsp + 0x58]
cmp rdi, qword [rax + 0x48]
je 0x422263
mov rcx, rdi
call sub.msvcrt.dll_free
mov rax, qword [r15 + 0xe8]
cmp r14, qword [rax + 0x98]
je 0x422274
mov rcx, r14
call sub.msvcrt.dll_free
mov eax, ebx
add rsp, 0x2e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s3_elf_src_binutils_bfd_elf32_xtensa.c
mov edx, 0x2263
call fcn.0040a300
mov eax, dword [pe_dos_header]
ud2
mov r14, qword [rbp + 0x98]
test r14, r14
jne 0x422198
mov rax, qword [rsp + 0x340]
mov rcx, qword [rsp + 0x330]
movzx eax, byte [rax + 3]
mov r8d, eax
mov byte [rsp + 0x40], al
shr r8b, 5
and r8d, 1
call fcn.00419400
mov r14, rax
jmp 0x422198
mov rax, qword [rbp + 0xf8]
movsxd rdx, dword [rbp + 0x100]
lea r9, [0x00418e40]
mov r8d, 0x48
mov rcx, rax
mov qword [rsp + 0x80], rax
call sub.msvcrt.dll_qsort
mov edx, dword [r15 + 0x90]
lea r9, [0x0041c800]
mov r8d, 0x18
mov rcx, r14
call sub.msvcrt.dll_qsort
mov eax, dword [r15 + 0x28]
and eax, 0x2001
cmp eax, 1
je 0x422dd5
mov qword [rsp + 0xf8], 0
mov dword [rsp + 0x78], 0
mov eax, dword [rbp + 0x100]
test eax, eax
jle 0x422a68
mov rax, qword [rsp + 0x80]
mov rsi, qword [0x0050ae40]
mov r12d, 1
mov dword [rsp + 0x7c], 0
mov qword [rsp + 0x50], 0
mov edi, 0xffffffff
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x338], r15
lea rbx, [rax + 8]
lea rax, [rsp + 0x100]
add rsi, 0x128
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x240]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x2c8]
mov qword [rsp + 0xa0], rax
jmp 0x422412
mov r15d, r12d
mov rax, qword [rsp + 0x40]
add rbx, 0x48
add r12d, 1
cmp dword [rax + 0x100], r15d
jle 0x422a60
call fcn.00417530
cmp eax, dword [rbx + 0x30]
lea ebp, [r12 - 1]
lea r13, [rbx - 8]
jne 0x4223f5
test r14, r14
mov r15, qword [rbx + 0x20]
je 0x4227a0
mov rax, qword [rsp + 0x338]
mov rcx, qword [rsp + 0x68]
mov r9d, 0x18
mov rdx, r14
mov qword [rsp + 0x240], r15
mov r8d, dword [rax + 0x90]
lea rax, [0x00417000]
mov qword [rsp + 0x20], rax
call sub.msvcrt.dll_bsearch
test rax, rax
je 0x4227a0
sub rax, r14
movabs rdx, 0xaaaaaaaaaaaaaaab
sar rax, 3
imul rax, rdx
test eax, eax
je 0x422e10
lea ecx, [rax - 1]
mov rdx, rcx
lea rcx, [rcx + rcx*2]
cmp r15, qword [r14 + rcx*8]
je 0x4224b5
jmp 0x422e17
lea eax, [rdx - 1]
mov rcx, rax
lea rax, [rax + rax*2]
cmp r15, qword [r14 + rax*8]
jne 0x4224b9
mov edx, ecx
test edx, edx
jne 0x4224a3
mov rax, qword [rsp + 0x338]
mov ecx, dword [rax + 0x90]
cmp ecx, edx
jbe 0x4227a0
mov eax, edx
lea rax, [rax + rax*2]
lea rsi, [r14 + rax*8]
cmp byte [rsi + 8], 0
je 0x4224e4
cmp qword [rsi], r15
je 0x42251c
lea r8d, [rdx + 1]
sub ecx, 1
sub ecx, edx
lea rdx, [rcx + r8]
lea rax, [r8 + r8*2]
lea rdx, [rdx + rdx*2]
lea rax, [r14 + rax*8]
lea rdx, [r14 + rdx*8]
cmp rax, rdx
je 0x4227a0
mov rsi, rax
add rax, 0x18
cmp byte [rsi + 8], 0
je 0x422501
cmp qword [rsi], r15
jne 0x422501
movzx eax, byte [rsi + 8]
cmp rax, 1
je 0x422530
cmp rax, 6
jne 0x4223f5
test ebp, ebp
je 0x422547
cmp edi, 0xffffffff
je 0x422547
mov rax, qword [rbx + 0x20]
cmp qword [rbx - 0x28], rax
je 0x4223f5
mov eax, dword [rsp + 0x7c]
mov byte [rsp + 0x70], 0
test eax, eax
je 0x42256f
mov rax, qword [rsp + 0x50]
add rax, 4
cmp rax, qword [rbx + 0x20]
sete byte [rsp + 0x70]
movzx eax, byte [rsp + 0x70]
mov dword [rsp + 0x7c], eax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 0x100]
mov eax, dword [rbx + 0x38]
test eax, eax
je 0x4227bf
mov r15d, dword [rsp + 0x78]
test r15d, r15d
jne 0x422b13
cmp edi, r12d
mov r15d, r12d
jle 0x42269f
movsxd rax, r12d
mov rcx, qword [rsp + 0x80]
lea rax, [rax + rax*8]
shl rax, 3
lea r11, [rcx + rax]
mov r9, qword [r11 + 0x28]
cmp r9, qword [rbx + 0x20]
jne 0x42269f
mov rcx, qword [rsp + 0x80]
sub edi, 2
mov qword [rsp + 0xa8], rsi
sub edi, ebp
mov qword [rsp + 0xc8], r13
mov qword [rsp + 0xb8], rbx
mov dword [rsp + 0xc0], r12d
mov r15, r11
mov dword [rsp + 0xb0], ebp
lea rdx, [rcx + rax + 0x70]
lea rax, [rdi + rdi*8]
mov r13, rcx
lea rax, [r11 + rax*8]
mov rsi, rdx
mov r10, rax
mov rax, rbx
mov rbx, r9
sub rax, rcx
mov rdi, rax
add rdi, 0x88
mov rax, rdi
mov rdi, r10
sub rax, r11
mov qword [rsp + 0x60], rax
jmp 0x422659
mov rax, qword [rsp + 0x60]
add rsi, 0x48
cmp qword [rsi - 0x48], rbx
lea r8, [r15 + rax]
lea r15, [r13 + r8]
jne 0x422680
mov r11d, dword [r15 + 0x40]
test r11d, r11d
jne 0x42267b
mov rbp, qword [r15]
mov rcx, rbp
call fcn.00419120
test eax, eax
jne 0x42267b
test byte [rbp + 0x29], 0x20
je 0x422e95
cmp r15, rdi
jne 0x422641
mov rsi, qword [rsp + 0xa8]
mov r15d, dword [rsp + 0xc0]
mov ebp, dword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x338]
mov rax, qword [rax + 0x70]
cmp qword [rsp + 0x338], rax
je 0x422a7f
mov rax, qword [rsp + 0x338]
mov rdi, qword [rax + 0xe8]
cmp rdi, 0xffffffffffffff18
je 0x422a7f
mov r10d, dword [rsp + 0x78]
test r10d, r10d
jne 0x422b89
lea rdx, [rdi + 0x110]
lea rcx, [rdi + 0x108]
xor r9d, r9d
mov r8, rbx
call fcn.0041b9d0
lea rax, [rdi + 0x128]
mov dword [rsp + 0x28], 4
mov r9, qword [rsp + 0x338]
mov r8d, 7
mov rcx, rax
mov qword [rsp + 0x60], rax
lea rax, [rdi + 0x130]
mov rdx, rax
mov qword [rsp + 0x70], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call fcn.0041baf0
mov rax, qword [rsp + 0x338]
cmp dword [rax + 0x78], 2
ja 0x422ec4
test rsi, rsi
je 0x42278c
mov rax, qword [rsp + 0x340]
mov rax, qword [rax + 0x28]
mov r9d, dword [rax + 0x4c]
test r9d, r9d
jne 0x422da4
mov rax, qword [rsp + 0x338]
mov qword [rsi + 8], 0
mov rax, qword [rax + 0xe8]
mov qword [rax + 0x98], r14
mov rax, qword [rbx + 0x20]
mov edi, ebp
mov qword [rsp + 0x50], rax
jmp 0x4223f8
xor esi, esi
jmp 0x422530
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x40]
mov edi, dword [rax + 0x100]
mov rax, qword [rsp + 0x338]
mov rax, qword [rax + 0x70]
cmp qword [rsp + 0x338], rax
je 0x422a7f
mov rax, qword [rsp + 0x338]
cmp qword [rax + 0xe8], 0xffffffffffffff18
je 0x422a7f
mov r8, qword [rax + 0x40]
mov rax, qword [rsp + 0x330]
movzx eax, byte [rax + 0x44]
mov byte [rsp + 0x60], al
and eax, 0x18
cmp al, 0x10
je 0x422820
mov rax, qword [rsp + 0x338]
mov rax, qword [rax + 0x48]
test rax, rax
cmovne r8, rax
mov rdx, qword [rsp + 0x338]
mov rcx, qword [rsp + 0x330]
mov qword [rsp + 0x60], r8
mov r15d, dword [rbx + 0x3c]
call fcn.0040a030
mov r8, qword [rsp + 0x60]
mov ecx, eax
xor edx, edx
mov rax, r8
div rcx
mov rcx, qword [rsp + 0x340]
movzx ecx, byte [rcx]
mov edx, ecx
mov byte [rsp + 0x60], cl
xor ecx, ecx
and edx, 3
cmp dl, 2
je 0x42287e
mov rcx, qword [rsp + 0x340]
mov rdx, qword [rcx + 0x28]
mov r8d, dword [rdx + 0x4c]
test r8d, r8d
sete cl
movzx ecx, cl
mov rdx, qword [rsp + 0x330]
mov r9, qword [rsp + 0x58]
mov dword [rsp + 0x60], ecx
mov rcx, qword [rsp + 0x90]
mov r8, rsi
mov qword [rsp + 0x20], rax
mov qword [rsp + 0xa8], rax
call fcn.0041ab50
xor edx, edx
test rsi, rsi
mov rax, qword [rsp + 0xa8]
je 0x422e69
mov rax, qword [rsp + 0x100]
mov r9d, dword [rsp + 0x60]
sub edi, ebp
mov r8, qword [rsp + 0x88]
mov dword [rsp + 0x1d0], edx
mov dword [rsp + 0x1d4], r15d
mov dword [rsp + 0xb0], edi
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x1a8], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x1c8], rax
mov rax, qword [rsp + 0x348]
lea rdx, [rax + 8]
mov rcx, rax
call fcn.00419650
test rax, rax
mov r15, rax
je 0x422a8e
mov rdx, qword [rax + 0x48]
mov rcx, qword [rax + 0x38]
shr rdx, 8
call fcn.00419420
mov rdi, qword [rsp + 0x338]
mov rdi, qword [rdi + 0x70]
cmp qword [rax + 0x70], rdi
je 0x422ed3
mov rax, qword [rsp + 0x340]
movzx eax, byte [rax]
mov byte [rsp + 0xa8], al
and eax, 3
cmp al, 2
je 0x422e1e
mov rax, qword [rsp + 0x348]
mov eax, dword [rax + 0x14]
test eax, eax
je 0x4229c5
cmp byte [rsp + 0x70], 0
je 0x423033
mov rax, qword [rsp + 0x348]
mov rdi, qword [rsp + 0x348]
test r15, r15
mov dword [rax + 0x14], 1
mov rax, qword [rbx]
mov qword [rdi + 0x18], rax
mov rax, qword [rbx + 8]
mov qword [rdi + 0x20], rax
mov rax, qword [rbx + 0x10]
mov qword [rdi + 0x28], rax
mov rax, qword [rbx + 0x18]
mov qword [rdi + 0x30], rax
mov rax, qword [rbx + 0x20]
mov qword [rdi + 0x38], rax
mov rax, qword [rbx + 0x28]
mov qword [rdi + 0x40], rax
je 0x422af1
mov rax, qword [rbx]
mov qword [r15 + 0x38], rax
mov rax, qword [rbx + 8]
mov qword [r15 + 0x40], rax
mov rax, qword [rbx + 0x10]
mov qword [r15 + 0x48], rax
mov rax, qword [rbx + 0x18]
mov qword [r15 + 0x50], rax
mov rax, qword [rbx + 0x20]
mov qword [r15 + 0x58], rax
mov rax, qword [rbx + 0x28]
mov qword [r15 + 0x60], rax
mov dword [rsp + 0x7c], 1
mov rax, qword [rbx + 0x20]
mov r15d, r12d
mov edi, ebp
mov qword [rsp + 0x50], rax
jmp 0x4223f8
mov r15, qword [rsp + 0x338]
mov rax, qword [rsp + 0xf8]
mov ebx, 1
mov qword [rsp + 0x50], rax
jmp 0x42222e
mov r15, qword [rsp + 0x338]
xor ebx, ebx
jmp 0x42222e
mov rax, qword [rsp + 0x340]
movzx eax, byte [rax]
mov byte [rsp + 0xa8], al
and eax, 3
cmp al, 2
jne 0x4229ab
mov rax, qword [rsp + 0x348]
mov rdi, qword [rsp + 0x348]
mov dword [rax + 0x14], 1
mov rax, qword [rbx]
mov qword [rdi + 0x18], rax
mov rax, qword [rbx + 8]
mov qword [rdi + 0x20], rax
mov rax, qword [rbx + 0x10]
mov qword [rdi + 0x28], rax
mov rax, qword [rbx + 0x18]
mov qword [rdi + 0x30], rax
mov rax, qword [rbx + 0x20]
mov qword [rdi + 0x38], rax
mov rax, qword [rbx + 0x28]
mov qword [rdi + 0x40], rax
mov r9d, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x88]
mov r8, rbx
mov rcx, qword [rsp + 0x348]
call fcn.00419830
jmp 0x422a43
mov rcx, qword [rsp + 0x338]
mov rax, qword [rbx + 0x20]
mov r9d, 0x18
movsxd r8, dword [rsp + 0x78]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x248], 1
mov dword [rsp + 0x250], 0
add rax, qword [rcx + 0x30]
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x240], rax
lea rax, [0x00416d70]
mov qword [rsp + 0x20], rax
call sub.msvcrt.dll_bsearch
test rax, rax
je 0x422b77
test byte [rax + 0x11], 1
jne 0x4227a7
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x50], rax
jmp 0x4225a0
mov rcx, qword [rsp + 0x338]
mov rax, qword [rbx + 0x20]
mov r9d, 0x18
movsxd r11, dword [rsp + 0x78]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x248], 1
mov dword [rsp + 0x250], 0
add rax, qword [rcx + 0x30]
mov rcx, qword [rsp + 0x68]
mov r8, r11
mov qword [rsp + 0xb0], r11
mov qword [rsp + 0x240], rax
lea rax, [0x00416d70]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0xa8], rax
call sub.msvcrt.dll_bsearch
lea rdx, [rdi + 0x110]
lea rcx, [rdi + 0x108]
xor r9d, r9d
mov r8, rbx
mov r13, rax
call fcn.0041b9d0
lea rax, [rdi + 0x128]
mov dword [rsp + 0x28], 4
mov r9, qword [rsp + 0x338]
mov r8d, 7
mov rcx, rax
mov qword [rsp + 0x60], rax
lea rax, [rdi + 0x130]
mov rdx, rax
mov qword [rsp + 0x70], rax
mov rax, qword [rbx + 0x20]
mov qword [rsp + 0x20], rax
call fcn.0041baf0
mov rax, qword [rsp + 0x338]
cmp dword [rax + 0x78], 2
jbe 0x422750
test r13, r13
mov r11, qword [rsp + 0xb0]
je 0x423ae7
mov rax, qword [r13 + 8]
add rax, qword [r13]
mov r13, rax
mov rax, qword [rsp + 0x338]
sub r13, qword [rax + 0x30]
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x68]
mov r9d, 0x18
mov rdx, qword [rsp + 0x50]
mov r8, r11
mov qword [rsp + 0x240], r13
mov qword [rsp + 0x248], 1
mov dword [rsp + 0x250], 0
mov qword [rsp + 0x20], rax
call sub.msvcrt.dll_bsearch
mov rcx, rax
call fcn.00420580
mov r8d, eax
mov rax, qword [rsp + 0x338]
cmp qword [rax + 0x40], r13
je 0x422d5a
mov rcx, qword [rdi + 0x130]
mov rdx, qword [rsp + 0x68]
mov dword [rsp + 0x50], r8d
mov qword [rsp + 0x250], r13
mov dword [rsp + 0x240], 6
call fcn.00499390
test rax, rax
mov r8d, dword [rsp + 0x50]
je 0x422d52
mov rdi, qword [rax + 8]
mov rax, qword [rsp + 0x338]
mov r9, r13
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], 0xfffffffc
lea rdx, [rax + 0x40]
lea r8, [rax + 0x78]
mov rcx, rdi
call fcn.00418f50
test rdi, rdi
je 0x422d79
add dword [rdi + 0x20], eax
jmp 0x422750
mov rax, qword [rsp + 0x338]
mov dword [rsp + 0x28], r8d
lea rdx, [rax + 0x40]
lea r8, [rax + 0x78]
mov dword [rsp + 0x20], 0xfffffffc
mov r9, r13
xor ecx, ecx
call fcn.00418f50
mov r9, qword [rsp + 0x338]
mov rdx, qword [rsp + 0x70]
mov r8d, 6
mov rcx, qword [rsp + 0x60]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r13
call fcn.0041baf0
jmp 0x422750
mov rax, qword [rsp + 0x330]
mov rcx, qword [rsp + 0x340]
lea r9, [rsi + 8]
lea rdx, [rax + 0xf8]
mov rax, qword [rsp + 0x338]
lea r8, [rax + 0x28]
call fcn.0041b6e0
jmp 0x42276e
mov rcx, qword [rsp + 0x330]
lea r9, str..xt.prop
lea r8, [rsp + 0xf8]
mov dword [rsp + 0x20], 0
mov rdx, r15
call fcn.0041d760
test eax, eax
mov dword [rsp + 0x78], eax
js 0x42221f
jmp 0x42235d
xor edx, edx
jmp 0x4224b9
mov edx, eax
jmp 0x4224b9
mov rax, qword [rsp + 0x348]
mov rdi, qword [rsp + 0x348]
mov dword [rax + 0x14], 1
mov rax, qword [rbx]
mov qword [rdi + 0x18], rax
mov rax, qword [rbx + 8]
mov qword [rdi + 0x20], rax
mov rax, qword [rbx + 0x10]
mov qword [rdi + 0x28], rax
mov rax, qword [rbx + 0x18]
mov qword [rdi + 0x30], rax
mov rax, qword [rbx + 0x20]
mov qword [rdi + 0x38], rax
mov rax, qword [rbx + 0x28]
mov qword [rdi + 0x40], rax
jmp 0x422a14
mov rdx, qword [rbx + 0x20]
cmp rdx, rax
jae 0x423275
mov rax, qword [rsp + 0x58]
lea rcx, [rax + rdx]
mov rax, qword [rsp + 0x330]
mov rax, qword [rax + 8]
call qword [rax + 0x38]
mov edx, eax
jmp 0x4228c2
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0xa8]
mov r13, qword [rsp + 0xc8]
mov ebp, dword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
mov edi, dword [rax + 0x100]
jmp 0x4227bf
mov rax, qword [rbx + 0x20]
xor ecx, ecx
lea r13, [rax + 4]
jmp 0x422cd0
lea rdi, [r15 + 0x38]
mov edx, dword [rsp + 0xb0]
mov rcx, r13
mov r8, rdi
call fcn.0041ac10
test eax, eax
je 0x42298e
mov rax, qword [rsp + 0x338]
mov rax, qword [rax + 0x70]
cmp qword [rsp + 0x338], rax
je 0x42298e
mov rax, qword [rsp + 0x338]
mov rsi, qword [rax + 0xe8]
cmp rsi, 0xffffffffffffff18
je 0x42298e
mov ecx, dword [rsp + 0x78]
test ecx, ecx
jne 0x4239db
lea rdx, [rsi + 0x110]
lea rcx, [rsi + 0x108]
mov r9, rdi
mov r8, rbx
lea r15, [rsi + 0x128]
lea r13, [rsi + 0x130]
call fcn.0041b9d0
mov dword [rsp + 0x28], 4
mov rax, qword [rbx + 0x20]
mov r8d, 7
mov r9, qword [rsp + 0x338]
mov rdx, r13
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.0041baf0
mov rax, qword [rsp + 0x338]
cmp dword [rax + 0x78], 2
jbe 0x422a4b
mov edx, dword [rsp + 0x78]
mov rax, qword [rbx + 0x20]
xor r8d, r8d
test edx, edx
lea rdi, [rax + 4]
jne 0x423964
mov rax, qword [rsp + 0x338]
cmp qword [rax + 0x40], rdi
je 0x42391e
mov rcx, qword [rsi + 0x130]
mov rdx, qword [rsp + 0x68]
mov dword [rsp + 0x50], r8d
mov qword [rsp + 0x250], rdi
mov dword [rsp + 0x240], 6
call fcn.00499390
test rax, rax
mov r8d, dword [rsp + 0x50]
je 0x423916
mov rsi, qword [rax + 8]
mov rax, qword [rsp + 0x338]
mov r9, rdi
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], 0xfffffffc
lea rdx, [rax + 0x40]
lea r8, [rax + 0x78]
mov rcx, rsi
call fcn.00418f50
test rsi, rsi
je 0x42393d
add dword [rsi + 0x20], eax
jmp 0x422a4b
mov rax, qword [rsp + 0x348]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x70], rax
mov rdx, rax
mov rax, qword [rsp + 0x348]
shr rdx, 8
mov rcx, qword [rax + 0x18]
call fcn.00419420
test rax, rax
je 0x4229c5
mov rdi, qword [rsp + 0x338]
mov rdi, qword [rdi + 0x70]
cmp qword [rax + 0x70], rdi
jne 0x4229c5
mov rax, qword [rsp + 0x348]
lea rdi, [rsp + 0x130]
mov ecx, 0xc
mov edx, dword [rsp + 0xb0]
lea rsi, [rax + 0x18]
lea rax, [rsp + 0x130]
rep movsd dword [rdi], dword [rsi]
mov r8, rax
mov rcx, r13
mov qword [rsp + 0xc8], rax
add qword [rsp + 0x158], 4
call fcn.0041ac10
test eax, eax
je 0x4229c5
mov eax, dword [0x0049ebf4]
test eax, eax
mov dword [rsp + 0xb0], eax
jne 0x4229c5
mov rax, qword [rsp + 0x338]
mov rax, qword [rax + 0x70]
cmp qword [rsp + 0x338], rax
je 0x4229c5
mov rax, qword [rsp + 0x338]
mov rax, qword [rax + 0xe8]
cmp rax, 0xffffffffffffff18
mov qword [rsp + 0xd0], rax
je 0x4229c5
mov rdx, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x130]
shr rdx, 8
call fcn.00419420
test rax, rax
mov r13, rax
je 0x423b60
cmp rax, qword [rax + 0x70]
je 0x423b52
mov rax, qword [rax + 0xe8]
add rax, 0xe8
mov qword [rsp + 0x70], rax
cmp r13, qword [rsp + 0x98]
je 0x4229c5
mov rax, qword [rsp + 0x338]
mov rax, qword [rax + 0x30]
add rax, qword [rbx + 0x20]
cmp dword [rsp + 0x78], 0
jne 0x423bc5
mov qword [rsp + 0x240], 0
mov qword [rsp + 0xc0], 0
cmp r13, qword [rsp + 0x160]
je 0x423370
mov rdi, qword [r13 + 0xf8]
mov rsi, qword [r13 + 0x40]
movzx eax, byte [rdi + 0x44]
and eax, 0x18
cmp al, 0x10
je 0x4231cc
mov rax, qword [r13 + 0x48]
test rax, rax
cmovne rsi, rax
mov rdx, r13
mov rcx, rdi
call fcn.0040a030
mov ecx, eax
mov rax, rsi
mov rsi, qword [rsp + 0x340]
xor edx, edx
div rcx
movzx esi, byte [rsi + 3]
mov rdx, r13
mov rcx, rdi
mov r8d, esi
mov byte [rsp + 0xa8], sil
shr r8b, 5
mov qword [rsp + 0xb8], rax
and r8d, 1
call fcn.0041c880
test rax, rax
mov rsi, rax
mov qword [rsp + 0xa8], rax
jne 0x42328f
cmp qword [rsp + 0xb8], 0
je 0x42328f
mov rax, qword [r13 + 0xe8]
mov rdi, qword [rsp + 0xa8]
cmp rdi, qword [rax + 0x48]
je 0x423252
mov rcx, rdi
call sub.msvcrt.dll_free
mov rax, qword [r13 + 0xe8]
cmp qword [rax + 0x98], rsi
je 0x423263
mov rcx, rsi
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x240]
call sub.msvcrt.dll_free
jmp 0x4229c5
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s3_elf_src_binutils_bfd_elf32_xtensa.c
mov edx, 0x238e
call fcn.0040a300
mov rdx, qword [rbx + 0x20]
jmp 0x422e76
mov rax, qword [rsp + 0x340]
xor esi, esi
movzx eax, byte [rax + 3]
mov r8d, eax
mov byte [rsp + 0xd8], al
shr r8b, 5
and r8d, 1
test byte [r13 + 0x2a], 0x10
jne 0x4232d7
mov rax, qword [r13 + 0xe8]
mov rsi, qword [rax + 0x98]
test rsi, rsi
jne 0x4232d7
mov rdx, r13
mov rcx, rdi
call fcn.00419400
mov rsi, rax
mov eax, dword [r13 + 0x28]
and eax, 0x2001
sub eax, 1
je 0x423c23
mov qword [rsp + 0x240], 0
xor edx, edx
mov rdi, qword [rsp + 0x48]
mov dword [rsp + 0xd8], edx
mov rcx, rdi
call fcn.00417370
xor eax, eax
mov ecx, 0xe
mov edx, dword [rsp + 0xd8]
rep stosd dword [rdi], eax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x160], r13
mov qword [rsp + 0x188], rsi
mov dword [rsp + 0x180], edx
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x170], rax
mov eax, dword [r13 + 0x90]
mov dword [rsp + 0x190], eax
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0x178], rax
movsxd r8, dword [rsp + 0x180]
mov rax, qword [rsp + 0x150]
add rax, qword [r13 + 0x30]
mov rdx, qword [rsp + 0x178]
test r8d, r8d
je 0x4229c5
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x240], rax
lea rax, [0x00416d70]
mov r9d, 0x18
mov qword [rsp + 0x248], 1
mov dword [rsp + 0x250], 0
mov qword [rsp + 0x20], rax
mov qword [rsp + 0xa8], rax
mov rcx, rdi
call sub.msvcrt.dll_bsearch
test rax, rax
mov qword [rsp + 0xb8], rax
je 0x4229c5
mov r8, qword [rsp + 0x160]
xor eax, eax
mov ecx, 0x26
mov r10, rdi
mov qword [rsp + 0x68], rdi
mov edx, dword [rsp + 0x190]
rep stosd dword [rdi], eax
mov qword [rsp + 0x240], r8
mov r8, qword [rsp + 0x168]
mov esi, 0xfffffffc
mov ecx, dword [rsp + 0x180]
mov rax, qword [rsp + 0x170]
mov rdi, r10
mov dword [rsp + 0x28], 1
mov r9, qword [rsp + 0x150]
mov qword [rsp + 0x248], r8
mov r8, qword [rsp + 0x178]
mov dword [rsp + 0x260], ecx
mov dword [rsp + 0x290], ecx
mov ecx, dword [r13 + 0x78]
mov qword [rsp + 0x250], rax
sub rax, 1
mov qword [rsp + 0x258], r8
mov qword [rsp + 0x288], rax
mov eax, 1
mov r8, qword [rsp + 0x188]
mov dword [rsp + 0x270], edx
shl eax, cl
mov dword [rsp + 0x294], edx
mov rcx, r10
sub esi, eax
xor edx, edx
mov qword [rsp + 0x268], r8
mov dword [rsp + 0x20], esi
mov r8d, 6
call fcn.0041bbd0
mov rax, qword [rsp + 0xa0]
mov rcx, qword [r13 + 0xf8]
mov rdx, r13
mov r9, qword [rsp + 0x188]
mov r8, qword [rsp + 0x168]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x30], rax
lea rax, [rdi + 0x7c]
mov qword [rsp + 0x28], rax
call fcn.0041dbb0
test eax, eax
je 0x4229c5
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x130]
lea rdi, [rax + 0x40]
shr rdx, 8
mov qword [rsp + 0xd8], rdi
lea rdi, [rax + 0x48]
mov qword [rsp + 0xe0], rdi
call fcn.00419420
mov ecx, 0x60
mov rdi, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x158]
mov qword [rsp + 0xe8], rax
call fcn.0040f580
mov rdx, qword [rsp + 0xe8]
mov r9, rax
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rsi
mov dword [rax], 8
lea rdi, [rax + 0x28]
mov rsi, qword [rsp + 0x88]
mov ecx, 0xe
mov qword [rsp + 0xe8], r9
mov qword [rax + 8], rdx
mov rdx, r9
rep movsd dword [rdi], dword [rsi]
mov dword [rax + 0x20], 0xfffffffc
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x48]
call fcn.00499390
test rax, rax
mov r9, qword [rsp + 0xe8]
je 0x4235d9
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s3_elf_src_binutils_bfd_elf32_xtensa.c
mov edx, 0x160a
call fcn.0040a300
mov r9, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x70]
mov r8, r9
mov rdx, r9
mov rcx, qword [rdi + 0x48]
call fcn.004991e0
add dword [rdi + 0x40], 1
mov rax, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xc0]
cmp rax, rdi
setne byte [rsp + 0xb8]
cmp dword [r13 + 0x78], 2
movzx edi, byte [rsp + 0xb8]
jbe 0x4236c8
test dil, dil
je 0x4236c8
movsxd r8, dword [rsp + 0x180]
mov rsi, qword [rax + 8]
add rsi, qword [rax]
mov rdx, qword [rsp + 0x178]
sub rsi, qword [r13 + 0x30]
test r8d, r8d
jne 0x423af4
cmp rsi, qword [r13 + 0x40]
je 0x423846
mov rax, qword [rsp + 0x70]
lea rdx, [rsp + 0x1e0]
mov dword [rsp + 0xe8], r8d
mov qword [rsp + 0x1f0], rsi
mov dword [rsp + 0x1e0], 6
mov rcx, qword [rax + 0x48]
call fcn.00499390
test rax, rax
mov r8d, dword [rsp + 0xe8]
je 0x423846
mov rdi, qword [rax + 8]
lea rdx, [r13 + 0x40]
mov dword [rsp + 0x28], r8d
lea r8, [r13 + 0x78]
mov dword [rsp + 0x20], 4
mov r9, rsi
mov rcx, rdi
call fcn.00418f50
test rdi, rdi
je 0x423865
add dword [rdi + 0x20], eax
mov rdi, qword [rsp + 0xd0]
mov r9, qword [rsp + 0xc8]
mov r8, rbx
lea rdx, [rdi + 0x110]
lea rcx, [rdi + 0x108]
call fcn.0041b9d0
mov rax, rdi
mov dword [rsp + 0x28], 4
lea rdi, [rdi + 0x128]
lea r13, [rax + 0x130]
mov rax, qword [rbx + 0x20]
mov r9, qword [rsp + 0x338]
mov r8d, 7
mov rcx, rdi
mov qword [rsp + 0x70], rdi
mov rdx, r13
mov qword [rsp + 0x20], rax
call fcn.0041baf0
mov rax, qword [rsp + 0x338]
cmp dword [rax + 0x78], 2
jbe 0x423818
cmp byte [rsp + 0xb8], 0
je 0x423818
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x423cbc
mov rsi, qword [rax + 8]
add rsi, qword [rax]
mov rax, qword [rsp + 0x338]
sub rsi, qword [rax + 0x30]
cmp dword [rsp + 0x78], 0
jne 0x423c51
mov dword [rsp + 0xb0], 0
mov rax, qword [rsp + 0x338]
cmp qword [rax + 0x40], rsi
je 0x423899
mov rax, qword [rsp + 0xd0]
lea rdx, [rsp + 0x1e0]
mov qword [rsp + 0x1f0], rsi
mov dword [rsp + 0x1e0], 6
mov rcx, qword [rax + 0x130]
call fcn.00499390
test rax, rax
je 0x423891
mov rdi, qword [rax + 8]
mov rax, qword [rsp + 0x338]
mov r9, rsi
mov dword [rsp + 0x20], 0xfffffffc
lea rdx, [rax + 0x40]
mov eax, dword [rsp + 0xb0]
mov rcx, rdi
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x338]
lea r8, [rax + 0x78]
call fcn.00418f50
test rdi, rdi
je 0x4238c6
add dword [rdi + 0x20], eax
mov rax, qword [rsp + 0x348]
add qword [rax + 0x40], 4
test r15, r15
je 0x4238ef
lea rdi, [r15 + 0x38]
mov ecx, 0xc
mov rsi, qword [rsp + 0xc8]
rep movsd dword [rdi], dword [rsi]
jmp 0x422a4b
mov dword [rsp + 0x28], r8d
lea rdx, [r13 + 0x40]
lea r8, [r13 + 0x78]
mov dword [rsp + 0x20], 4
mov r9, rsi
xor ecx, ecx
call fcn.00418f50
mov rdx, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xd8]
mov r9, r13
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
mov r8d, 6
call fcn.0041baf0
jmp 0x4236c8
mov rax, qword [rsp + 0x338]
lea rdx, [rax + 0x40]
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x20], 0xfffffffc
mov r9, rsi
xor ecx, ecx
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x338]
lea r8, [rax + 0x78]
call fcn.00418f50
mov r9, qword [rsp + 0x338]
mov rcx, qword [rsp + 0x70]
mov r8d, 6
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
mov rdx, r13
call fcn.0041baf0
jmp 0x423818
mov r9d, dword [rsp + 0x60]
mov r8, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x348]
call fcn.00419830
jmp 0x422a4b
mov rax, qword [rsp + 0x338]
mov dword [rsp + 0x28], r8d
lea rdx, [rax + 0x40]
lea r8, [rax + 0x78]
mov dword [rsp + 0x20], 0xfffffffc
mov r9, rdi
xor ecx, ecx
call fcn.00418f50
mov r9, qword [rsp + 0x338]
mov dword [rsp + 0x28], eax
mov r8d, 6
mov qword [rsp + 0x20], rdi
mov rdx, r13
mov rcx, r15
call fcn.0041baf0
jmp 0x422a4b
movsxd r11, dword [rsp + 0x78]
lea rax, [0x00416d70]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x50]
mov r8, r11
mov rcx, qword [rsp + 0x68]
mov r9d, 0x18
mov qword [rsp + 0x240], rdi
mov qword [rsp + 0x248], 1
mov dword [rsp + 0x250], 0
mov qword [rsp + 0x20], rax
call sub.msvcrt.dll_bsearch
xor r8d, r8d
test rax, rax
je 0x422fad
test byte [rax + 0x10], 8
je 0x422fad
mov r8d, dword [rax + 8]
jmp 0x422fad
mov rcx, qword [rsp + 0x338]
mov rax, qword [rbx + 0x20]
mov r9d, 0x18
movsxd r11, dword [rsp + 0x78]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x248], 1
mov dword [rsp + 0x250], 0
add rax, qword [rcx + 0x30]
mov rcx, qword [rsp + 0x68]
mov r8, r11
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x240], rax
lea rax, [0x00416d70]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0xa8], rax
call sub.msvcrt.dll_bsearch
test rax, rax
je 0x422f33
test byte [rax + 0x11], 1
mov r11, qword [rsp + 0x60]
jne 0x422a4b
lea rdx, [rsi + 0x110]
lea rcx, [rsi + 0x108]
mov r9, rdi
mov r8, rbx
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x60], rax
call fcn.0041b9d0
mov dword [rsp + 0x28], 4
mov rdx, qword [rbx + 0x20]
lea r15, [rsi + 0x128]
lea r13, [rsi + 0x130]
mov r9, qword [rsp + 0x338]
mov r8d, 7
mov rcx, r15
mov qword [rsp + 0x20], rdx
mov rdx, r13
call fcn.0041baf0
mov rax, qword [rsp + 0x338]
mov r11, qword [rsp + 0x70]
cmp dword [rax + 0x78], 2
mov rax, qword [rsp + 0x60]
jbe 0x422a4b
mov rdi, qword [rax + 8]
add rdi, qword [rax]
mov rax, qword [rsp + 0x338]
sub rdi, qword [rax + 0x30]
jmp 0x423978
mov rax, qword [rbx + 0x20]
lea r13, [rax + 4]
jmp 0x422c89
mov rax, qword [rsp + 0xa8]
lea rcx, [rsp + 0x1e0]
mov r9d, 0x18
mov qword [rsp + 0x1e0], rsi
mov qword [rsp + 0x1e8], 1
mov dword [rsp + 0x1f0], 0
mov qword [rsp + 0x20], rax
call sub.msvcrt.dll_bsearch
xor r8d, r8d
test rax, rax
je 0x42364c
test byte [rax + 0x10], 8
je 0x42364c
mov r8d, dword [rax + 8]
jmp 0x42364c
mov qword [rsp + 0x70], 0
jmp 0x42315c
mov rax, qword [rsp + 0x338]
mov rax, qword [rax + 0x30]
add rax, qword [rbx + 0x20]
cmp dword [rsp + 0x78], 0
je 0x4229c5
movsxd r8, dword [rsp + 0x78]
mov qword [rsp + 0x240], rax
lea rax, [0x00416d70]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
mov r9d, 0x18
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x248], 1
mov dword [rsp + 0x250], 0
call sub.msvcrt.dll_bsearch
jmp 0x4229c5
movsxd r8, dword [rsp + 0x78]
mov qword [rsp + 0x240], rax
lea rax, [0x00416d70]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
mov r9d, 0x18
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x248], 1
mov dword [rsp + 0x250], 0
call sub.msvcrt.dll_bsearch
mov qword [rsp + 0x240], 0
mov qword [rsp + 0xc0], rax
jmp 0x42319d
mov r8, qword [rsp + 0x68]
lea r9, str..xt.prop
mov rdx, r13
mov dword [rsp + 0x20], 0
mov rcx, rdi
call fcn.0041d760
test eax, eax
mov edx, eax
js 0x42322e
jmp 0x4232f7
mov rax, qword [rsp + 0xa8]
movsxd r8, dword [rsp + 0x78]
lea rcx, [rsp + 0x1e0]
mov rdx, qword [rsp + 0x50]
mov r9d, 0x18
mov qword [rsp + 0x1e0], rsi
mov qword [rsp + 0x1e8], 1
mov dword [rsp + 0x1f0], 0
mov qword [rsp + 0x20], rax
call sub.msvcrt.dll_bsearch
test rax, rax
je 0x423788
test byte [rax + 0x10], 8
je 0x423788
mov eax, dword [rax + 8]
mov dword [rsp + 0xb0], eax
jmp 0x423788
mov rax, qword [rbx + 0x20]
lea rsi, [rax + 4]
jmp 0x423772