Function at 0x4604b0
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 0x460640
cmp rdx, qword [rdx + 0x70]
je 0x460640
mov rbp, qword [rdx + 0xe8]
cmp rbp, 0xffffffffffffff18
je 0x460640
mov eax, dword [rbp + 0xe8]
mov ebx, 1
test eax, eax
je 0x460624
xor r14d, r14d
test byte [rdx + 0x2a], 0x10
je 0x460660
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 0x46056e
mov rax, qword [r15 + 0x48]
test rax, rax
cmovne rbx, rax
mov rcx, qword [rsp + 0x330]
mov rdx, r15
call fcn.0043f500
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.0045ac30
test rax, rax
mov qword [rsp + 0x58], rax
sete dl
test rbx, rbx
setne al
test dl, al
je 0x4606a0
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.00455720
mov rax, qword [r15 + 0xe8]
mov rdi, qword [rsp + 0x58]
cmp rdi, qword [rax + 0x48]
je 0x460613
mov rcx, rdi
call sub.msvcrt.dll_free
mov rax, qword [r15 + 0xe8]
cmp r14, qword [rax + 0x98]
je 0x460624
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_esp32s2_elf_src_binutils_bfd_elf32_xtensa.c
mov edx, 0x2263
call fcn.0043f7d0
mov eax, dword [pe_dos_header]
ud2
mov r14, qword [rbp + 0x98]
test r14, r14
jne 0x460548
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.004577b0
mov r14, rax
jmp 0x460548
mov rax, qword [rbp + 0xf8]
movsxd rdx, dword [rbp + 0x100]
lea r9, [0x004571f0]
mov r8d, 0x48
mov rcx, rax
mov qword [rsp + 0x80], rax
call sub.msvcrt.dll_qsort
mov edx, dword [r15 + 0x90]
lea r9, [0x0045abb0]
mov r8d, 0x18
mov rcx, r14
call sub.msvcrt.dll_qsort
mov eax, dword [r15 + 0x28]
and eax, 0x2001
cmp eax, 1
je 0x461185
mov qword [rsp + 0xf8], 0
mov dword [rsp + 0x78], 0
mov eax, dword [rbp + 0x100]
test eax, eax
jle 0x460e18
mov rax, qword [rsp + 0x80]
mov rsi, qword [0x0051ed80]
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 0x4607c2
mov r15d, r12d
mov rax, qword [rsp + 0x40]
add rbx, 0x48
add r12d, 1
cmp dword [rax + 0x100], r15d
jle 0x460e10
call fcn.004558e0
cmp eax, dword [rbx + 0x30]
lea ebp, [r12 - 1]
lea r13, [rbx - 8]
jne 0x4607a5
test r14, r14
mov r15, qword [rbx + 0x20]
je 0x460b50
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, [0x004553b0]
mov qword [rsp + 0x20], rax
call sub.msvcrt.dll_bsearch
test rax, rax
je 0x460b50
sub rax, r14
movabs rdx, 0xaaaaaaaaaaaaaaab
sar rax, 3
imul rax, rdx
test eax, eax
je 0x4611c0
lea ecx, [rax - 1]
mov rdx, rcx
lea rcx, [rcx + rcx*2]
cmp r15, qword [r14 + rcx*8]
je 0x460865
jmp 0x4611c7
lea eax, [rdx - 1]
mov rcx, rax
lea rax, [rax + rax*2]
cmp r15, qword [r14 + rax*8]
jne 0x460869
mov edx, ecx
test edx, edx
jne 0x460853
mov rax, qword [rsp + 0x338]
mov ecx, dword [rax + 0x90]
cmp ecx, edx
jbe 0x460b50
mov eax, edx
lea rax, [rax + rax*2]
lea rsi, [r14 + rax*8]
cmp byte [rsi + 8], 0
je 0x460894
cmp qword [rsi], r15
je 0x4608cc
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 0x460b50
mov rsi, rax
add rax, 0x18
cmp byte [rsi + 8], 0
je 0x4608b1
cmp qword [rsi], r15
jne 0x4608b1
movzx eax, byte [rsi + 8]
cmp rax, 1
je 0x4608e0
cmp rax, 6
jne 0x4607a5
test ebp, ebp
je 0x4608f7
cmp edi, 0xffffffff
je 0x4608f7
mov rax, qword [rbx + 0x20]
cmp qword [rbx - 0x28], rax
je 0x4607a5
mov eax, dword [rsp + 0x7c]
mov byte [rsp + 0x70], 0
test eax, eax
je 0x46091f
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 0x460b6f
mov r15d, dword [rsp + 0x78]
test r15d, r15d
jne 0x460ec3
cmp edi, r12d
mov r15d, r12d
jle 0x460a4f
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 0x460a4f
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 0x460a09
mov rax, qword [rsp + 0x60]
add rsi, 0x48
cmp qword [rsi - 0x48], rbx
lea r8, [r15 + rax]
lea r15, [r13 + r8]
jne 0x460a30
mov r11d, dword [r15 + 0x40]
test r11d, r11d
jne 0x460a2b
mov rbp, qword [r15]
mov rcx, rbp
call fcn.004574d0
test eax, eax
jne 0x460a2b
test byte [rbp + 0x29], 0x20
je 0x461245
cmp r15, rdi
jne 0x4609f1
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 0x460e2f
mov rax, qword [rsp + 0x338]
mov rdi, qword [rax + 0xe8]
cmp rdi, 0xffffffffffffff18
je 0x460e2f
mov r10d, dword [rsp + 0x78]
test r10d, r10d
jne 0x460f39
lea rdx, [rdi + 0x110]
lea rcx, [rdi + 0x108]
xor r9d, r9d
mov r8, rbx
call fcn.00459d80
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.00459ea0
mov rax, qword [rsp + 0x338]
cmp dword [rax + 0x78], 2
ja 0x461274
test rsi, rsi
je 0x460b3c
mov rax, qword [rsp + 0x340]
mov rax, qword [rax + 0x28]
mov r9d, dword [rax + 0x4c]
test r9d, r9d
jne 0x461154
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 0x4607a8
xor esi, esi
jmp 0x4608e0
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 0x460e2f
mov rax, qword [rsp + 0x338]
cmp qword [rax + 0xe8], 0xffffffffffffff18
je 0x460e2f
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 0x460bd0
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.0043f500
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 0x460c2e
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.00458f00
xor edx, edx
test rsi, rsi
mov rax, qword [rsp + 0xa8]
je 0x461219
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.00457a00
test rax, rax
mov r15, rax
je 0x460e3e
mov rdx, qword [rax + 0x48]
mov rcx, qword [rax + 0x38]
shr rdx, 8
call fcn.004577d0
mov rdi, qword [rsp + 0x338]
mov rdi, qword [rdi + 0x70]
cmp qword [rax + 0x70], rdi
je 0x461283
mov rax, qword [rsp + 0x340]
movzx eax, byte [rax]
mov byte [rsp + 0xa8], al
and eax, 3
cmp al, 2
je 0x4611ce
mov rax, qword [rsp + 0x348]
mov eax, dword [rax + 0x14]
test eax, eax
je 0x460d75
cmp byte [rsp + 0x70], 0
je 0x4613e3
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 0x460ea1
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 0x4607a8
mov r15, qword [rsp + 0x338]
mov rax, qword [rsp + 0xf8]
mov ebx, 1
mov qword [rsp + 0x50], rax
jmp 0x4605de
mov r15, qword [rsp + 0x338]
xor ebx, ebx
jmp 0x4605de
mov rax, qword [rsp + 0x340]
movzx eax, byte [rax]
mov byte [rsp + 0xa8], al
and eax, 3
cmp al, 2
jne 0x460d5b
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.00457be0
jmp 0x460df3
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, [0x00455120]
mov qword [rsp + 0x20], rax
call sub.msvcrt.dll_bsearch
test rax, rax
je 0x460f27
test byte [rax + 0x11], 1
jne 0x460b57
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x50], rax
jmp 0x460950
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, [0x00455120]
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.00459d80
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.00459ea0
mov rax, qword [rsp + 0x338]
cmp dword [rax + 0x78], 2
jbe 0x460b00
test r13, r13
mov r11, qword [rsp + 0xb0]
je 0x461e97
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.0045e930
mov r8d, eax
mov rax, qword [rsp + 0x338]
cmp qword [rax + 0x40], r13
je 0x46110a
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.004cb1a0
test rax, rax
mov r8d, dword [rsp + 0x50]
je 0x461102
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.00457300
test rdi, rdi
je 0x461129
add dword [rdi + 0x20], eax
jmp 0x460b00
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.00457300
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.00459ea0
jmp 0x460b00
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.00459a90
jmp 0x460b1e
mov rcx, qword [rsp + 0x330]
lea r9, str..xt.prop
lea r8, [rsp + 0xf8]
mov dword [rsp + 0x20], 0
mov rdx, r15
call fcn.0045bb10
test eax, eax
mov dword [rsp + 0x78], eax
js 0x4605cf
jmp 0x46070d
xor edx, edx
jmp 0x460869
mov edx, eax
jmp 0x460869
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 0x460dc4
mov rdx, qword [rbx + 0x20]
cmp rdx, rax
jae 0x461625
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 0x460c72
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 0x460b6f
mov rax, qword [rbx + 0x20]
xor ecx, ecx
lea r13, [rax + 4]
jmp 0x461080
lea rdi, [r15 + 0x38]
mov edx, dword [rsp + 0xb0]
mov rcx, r13
mov r8, rdi
call fcn.00458fc0
test eax, eax
je 0x460d3e
mov rax, qword [rsp + 0x338]
mov rax, qword [rax + 0x70]
cmp qword [rsp + 0x338], rax
je 0x460d3e
mov rax, qword [rsp + 0x338]
mov rsi, qword [rax + 0xe8]
cmp rsi, 0xffffffffffffff18
je 0x460d3e
mov ecx, dword [rsp + 0x78]
test ecx, ecx
jne 0x461d8b
lea rdx, [rsi + 0x110]
lea rcx, [rsi + 0x108]
mov r9, rdi
mov r8, rbx
lea r15, [rsi + 0x128]
lea r13, [rsi + 0x130]
call fcn.00459d80
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.00459ea0
mov rax, qword [rsp + 0x338]
cmp dword [rax + 0x78], 2
jbe 0x460dfb
mov edx, dword [rsp + 0x78]
mov rax, qword [rbx + 0x20]
xor r8d, r8d
test edx, edx
lea rdi, [rax + 4]
jne 0x461d14
mov rax, qword [rsp + 0x338]
cmp qword [rax + 0x40], rdi
je 0x461cce
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.004cb1a0
test rax, rax
mov r8d, dword [rsp + 0x50]
je 0x461cc6
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.00457300
test rsi, rsi
je 0x461ced
add dword [rsi + 0x20], eax
jmp 0x460dfb
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.004577d0
test rax, rax
je 0x460d75
mov rdi, qword [rsp + 0x338]
mov rdi, qword [rdi + 0x70]
cmp qword [rax + 0x70], rdi
jne 0x460d75
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.00458fc0
test eax, eax
je 0x460d75
mov eax, dword [0x004e28f4]
test eax, eax
mov dword [rsp + 0xb0], eax
jne 0x460d75
mov rax, qword [rsp + 0x338]
mov rax, qword [rax + 0x70]
cmp qword [rsp + 0x338], rax
je 0x460d75
mov rax, qword [rsp + 0x338]
mov rax, qword [rax + 0xe8]
cmp rax, 0xffffffffffffff18
mov qword [rsp + 0xd0], rax
je 0x460d75
mov rdx, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x130]
shr rdx, 8
call fcn.004577d0
test rax, rax
mov r13, rax
je 0x461f10
cmp rax, qword [rax + 0x70]
je 0x461f02
mov rax, qword [rax + 0xe8]
add rax, 0xe8
mov qword [rsp + 0x70], rax
cmp r13, qword [rsp + 0x98]
je 0x460d75
mov rax, qword [rsp + 0x338]
mov rax, qword [rax + 0x30]
add rax, qword [rbx + 0x20]
cmp dword [rsp + 0x78], 0
jne 0x461f75
mov qword [rsp + 0x240], 0
mov qword [rsp + 0xc0], 0
cmp r13, qword [rsp + 0x160]
je 0x461720
mov rdi, qword [r13 + 0xf8]
mov rsi, qword [r13 + 0x40]
movzx eax, byte [rdi + 0x44]
and eax, 0x18
cmp al, 0x10
je 0x46157c
mov rax, qword [r13 + 0x48]
test rax, rax
cmovne rsi, rax
mov rdx, r13
mov rcx, rdi
call fcn.0043f500
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.0045ac30
test rax, rax
mov rsi, rax
mov qword [rsp + 0xa8], rax
jne 0x46163f
cmp qword [rsp + 0xb8], 0
je 0x46163f
mov rax, qword [r13 + 0xe8]
mov rdi, qword [rsp + 0xa8]
cmp rdi, qword [rax + 0x48]
je 0x461602
mov rcx, rdi
call sub.msvcrt.dll_free
mov rax, qword [r13 + 0xe8]
cmp qword [rax + 0x98], rsi
je 0x461613
mov rcx, rsi
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x240]
call sub.msvcrt.dll_free
jmp 0x460d75
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elf32_xtensa.c
mov edx, 0x238e
call fcn.0043f7d0
mov rdx, qword [rbx + 0x20]
jmp 0x461226
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 0x461687
mov rax, qword [r13 + 0xe8]
mov rsi, qword [rax + 0x98]
test rsi, rsi
jne 0x461687
mov rdx, r13
mov rcx, rdi
call fcn.004577b0
mov rsi, rax
mov eax, dword [r13 + 0x28]
and eax, 0x2001
sub eax, 1
je 0x461fd3
mov qword [rsp + 0x240], 0
xor edx, edx
mov rdi, qword [rsp + 0x48]
mov dword [rsp + 0xd8], edx
mov rcx, rdi
call fcn.00455720
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 0x460d75
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x240], rax
lea rax, [0x00455120]
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 0x460d75
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.00459f80
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.0045bf60
test eax, eax
je 0x460d75
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.004577d0
mov ecx, 0x60
mov rdi, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x158]
mov qword [rsp + 0xe8], rax
call fcn.00444160
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.004cb1a0
test rax, rax
mov r9, qword [rsp + 0xe8]
je 0x461989
lea rcx, str._builds_idf_crosstool_NG_.build_HOST_x86_64_w64_mingw32_xtensa_esp32s2_elf_src_binutils_bfd_elf32_xtensa.c
mov edx, 0x160a
call fcn.0043f7d0
mov r9, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x70]
mov r8, r9
mov rdx, r9
mov rcx, qword [rdi + 0x48]
call fcn.004caff0
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 0x461a78
test dil, dil
je 0x461a78
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 0x461ea4
cmp rsi, qword [r13 + 0x40]
je 0x461bf6
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.004cb1a0
test rax, rax
mov r8d, dword [rsp + 0xe8]
je 0x461bf6
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.00457300
test rdi, rdi
je 0x461c15
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.00459d80
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.00459ea0
mov rax, qword [rsp + 0x338]
cmp dword [rax + 0x78], 2
jbe 0x461bc8
cmp byte [rsp + 0xb8], 0
je 0x461bc8
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x46206c
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 0x462001
mov dword [rsp + 0xb0], 0
mov rax, qword [rsp + 0x338]
cmp qword [rax + 0x40], rsi
je 0x461c49
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.004cb1a0
test rax, rax
je 0x461c41
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.00457300
test rdi, rdi
je 0x461c76
add dword [rdi + 0x20], eax
mov rax, qword [rsp + 0x348]
add qword [rax + 0x40], 4
test r15, r15
je 0x461c9f
lea rdi, [r15 + 0x38]
mov ecx, 0xc
mov rsi, qword [rsp + 0xc8]
rep movsd dword [rdi], dword [rsi]
jmp 0x460dfb
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.00457300
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.00459ea0
jmp 0x461a78
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.00457300
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.00459ea0
jmp 0x461bc8
mov r9d, dword [rsp + 0x60]
mov r8, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x348]
call fcn.00457be0
jmp 0x460dfb
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.00457300
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.00459ea0
jmp 0x460dfb
movsxd r11, dword [rsp + 0x78]
lea rax, [0x00455120]
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 0x46135d
test byte [rax + 0x10], 8
je 0x46135d
mov r8d, dword [rax + 8]
jmp 0x46135d
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, [0x00455120]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0xa8], rax
call sub.msvcrt.dll_bsearch
test rax, rax
je 0x4612e3
test byte [rax + 0x11], 1
mov r11, qword [rsp + 0x60]
jne 0x460dfb
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.00459d80
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.00459ea0
mov rax, qword [rsp + 0x338]
mov r11, qword [rsp + 0x70]
cmp dword [rax + 0x78], 2
mov rax, qword [rsp + 0x60]
jbe 0x460dfb
mov rdi, qword [rax + 8]
add rdi, qword [rax]
mov rax, qword [rsp + 0x338]
sub rdi, qword [rax + 0x30]
jmp 0x461d28
mov rax, qword [rbx + 0x20]
lea r13, [rax + 4]
jmp 0x461039
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 0x4619fc
test byte [rax + 0x10], 8
je 0x4619fc
mov r8d, dword [rax + 8]
jmp 0x4619fc
mov qword [rsp + 0x70], 0
jmp 0x46150c
mov rax, qword [rsp + 0x338]
mov rax, qword [rax + 0x30]
add rax, qword [rbx + 0x20]
cmp dword [rsp + 0x78], 0
je 0x460d75
movsxd r8, dword [rsp + 0x78]
mov qword [rsp + 0x240], rax
lea rax, [0x00455120]
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 0x460d75
movsxd r8, dword [rsp + 0x78]
mov qword [rsp + 0x240], rax
lea rax, [0x00455120]
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 0x46154d
mov r8, qword [rsp + 0x68]
lea r9, str..xt.prop
mov rdx, r13
mov dword [rsp + 0x20], 0
mov rcx, rdi
call fcn.0045bb10
test eax, eax
mov edx, eax
js 0x4615de
jmp 0x4616a7
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 0x461b38
test byte [rax + 0x10], 8
je 0x461b38
mov eax, dword [rax + 8]
mov dword [rsp + 0xb0], eax
jmp 0x461b38
mov rax, qword [rbx + 0x20]
lea rsi, [rax + 4]
jmp 0x461b22