Function at 0x467ca0
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 + 0x41], 8
mov r12, rcx
mov r13, rdx
jne 0x4668f0
mov rax, qword [rcx + 8]
mov rdi, qword [rdx + 0xf0]
mov qword [rsp + 0x40], rax
mov rax, qword [rax + 8]
test byte [rdi + 0xc85], 0x40
lea rsi, [rdi + 0x60]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x88], rsi
mov rax, qword [rax + 0x360]
mov qword [rsp + 0x98], rax
jne 0x466910
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x8c]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x98]
mov rax, qword [rax + 0x118]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0xa8]
test rax, rax
mov qword [rsp + 0x70], rax
jne 0x466547
mov r8, qword [rsp + 0x60]
test r8, r8
jne 0x467342
mov rax, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
mov rsi, qword [r12 + 0x58]
mov r14, qword [r12 + 0x60]
shl rdi, 5
add rdi, rcx
cmp rcx, rdi
jae 0x466b40
mov rbx, rcx
mov rcx, qword [0x00505dc0]
mov dword [rsp + 0x68], 0
mov r15, r14
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x78], rcx
add rcx, 0x230
mov qword [rsp + 0x80], rcx
mov rcx, qword [0x00505dc0]
mov qword [rsp + 0x48], rcx
add rcx, 0x118
mov qword [rsp + 0x50], rcx
jmp 0x4667e0
mov rax, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
mov qword [rsp + 0x118], rax
mov qword [r15], rax
mov rdx, qword [rsp + 0x118]
lea rax, [r14 + 0x118]
cmp rdx, rax
je 0x4667c4
movzx eax, byte [rbx + 0x14]
and eax, 0xf
cmp al, 3
je 0x4667c4
mov rcx, qword [r12]
movzx eax, byte [rcx + 1]
and eax, 0x60
cmp al, 0x60
je 0x4667c4
mov eax, dword [rcx]
and eax, 0x18000
cmp eax, 0x18000
je 0x4667c4
mov eax, dword [rbx + 0x18]
sub eax, 1
cmp eax, 0xfffffefe
ja 0x46664e
mov rax, qword [rdx + 0x68]
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x466a22
cmp qword [rdx + 0x18], rax
setne al
test al, al
jne 0x4667c4
mov rax, qword [rsp + 0x58]
mov rcx, r13
mov r8d, dword [rbx + 0x10]
mov edx, dword [rax + 0x88]
call fcn.00448f30
test rax, rax
mov rbp, rax
je 0x466a80
mov rdx, qword [r12]
movzx eax, byte [rdx + 1]
and eax, 0x60
cmp al, 0x40
je 0x466a40
mov eax, dword [rdx]
and eax, 0x18000
jne 0x4669f2
mov rax, qword [rsp + 0x118]
test byte [rax + 0x22], 0x80
je 0x4666c1
movzx eax, byte [rdx]
and eax, 3
cmp al, 2
je 0x4666c1
mov rax, qword [r13 + 8]
mov rdx, rbp
mov rcx, r13
call qword [rax + 0x220]
test eax, eax
jne 0x4667c4
movzx eax, byte [rbx + 0x14]
and eax, 0xf
cmp al, 4
je 0x466a0c
mov r9d, dword [rsp + 0x68]
test r9d, r9d
je 0x466a90
mov rax, qword [rbx]
mov rcx, qword [rsp + 0x40]
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 + 0x68]
call fcn.00450b10
cmp eax, 0xfffffeff
mov dword [rsp + 0x138], eax
je 0x466a80
mov rcx, qword [r12]
mov r9, qword [rsp + 0x118]
movzx edx, byte [rcx]
mov rax, qword [r9 + 0x60]
add rax, qword [rsp + 0x120]
and edx, 3
cmp dl, 2
mov qword [rsp + 0x120], rax
je 0x466784
mov rdx, qword [r9 + 0x68]
add rax, qword [rdx + 0x28]
movzx edx, byte [rsp + 0x134]
mov qword [rsp + 0x120], rax
and edx, 0xf
cmp dl, 6
je 0x466b15
mov rax, qword [rsp + 0x40]
lea r8, [rsp + 0x120]
mov rdx, rbp
mov rcx, r12
mov r14d, dword [rax + 0xb0]
mov qword [rsp + 0x20], 0
call fcn.00458d80
test eax, eax
je 0x466a80
cmp eax, 1
jne 0x4667bc
mov dword [rsi], r14d
mov dword [rsp + 0x68], 1
add rbx, 0x20
add rsi, 4
add r15, 8
mov rax, qword [r13 + 0xf0]
cmp rdi, rbx
jbe 0x466b40
mov dword [rsi], 0xffffffff
test byte [rax + 0xc85], 0x40
je 0x4667fe
movzx eax, byte [rbx + 0x14]
shr al, 4
test al, al
jne 0x466940
mov edx, dword [rbx + 0x18]
test edx, edx
je 0x4665c0
cmp edx, 0xfffffff1
je 0x466950
cmp edx, 0xfffffff2
jne 0x466970
mov r14, qword [0x00505dc0]
mov qword [rsp + 0x118], r14
mov rax, r14
jmp 0x4665d2
mov rax, qword [r12 + 0x28]
lea r8, [rsp + 0x110]
mov rdx, r15
mov rcx, r13
mov qword [rsp + 0x110], rax
call fcn.00491370
test eax, eax
je 0x466a80
mov eax, dword [r15 + 0x20]
nop
test al, 4
jne 0x466d20
mov rax, qword [rbp + 0x268]
test rax, rax
je 0x46688e
mov r9, qword [rsp + 0x110]
mov r8, r15
mov rdx, qword [r12]
mov rcx, qword [rsp + 0x40]
call rax
test eax, eax
jne 0x4668e0
movzx eax, word [r15 + 0x24]
shr ax, 7
and eax, 7
cmp al, 2
je 0x4677a7
jbe 0x4673b0
cmp al, 3
je 0x467844
cmp al, 6
jne 0x4677d0
mov r9, qword [rsp + 0x110]
mov r8, r15
mov rdx, qword [r12]
mov rcx, qword [rsp + 0x40]
call fcn.00471650
test eax, eax
je 0x466a80
nop dword [rax]
mov r15, qword [r15 + 0x10]
test r15, r15
jne 0x466bd0
nop dword [rax]
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 [rax + 0x2f8]
xor edx, edx
mov qword [rsp + 0x90], 0
movzx ecx, byte [rax + 5]
mov rax, qword [rdi + 0x80]
div rcx
mov qword [rsp + 0x60], rax
jmp 0x46650c
mov qword [r15], 0
jmp 0x4667c4
mov rax, qword [rsp + 0x80]
mov r14, qword [rsp + 0x78]
mov qword [rsp + 0x118], rax
jmp 0x4665d2
mov rcx, r13
call fcn.0044bb20
test rax, rax
mov qword [rsp + 0x118], rax
je 0x466940
movzx edx, word [rax + 0x24]
mov r14, qword [0x00505dc0]
and dx, 0x380
cmp dx, 0x100
jne 0x4665d2
movzx edx, byte [rbx + 0x14]
mov r14, qword [rsp + 0xa0]
and edx, 0xf
cmp dl, 3
je 0x4665d2
mov rax, qword [rax + 0xe0]
lea rdx, [rsp + 0x118]
mov r9, qword [rbx]
mov rcx, qword [rsp + 0x40]
mov r8, qword [rax + 0xd8]
call fcn.004962e0
mov r14, qword [0x00505dc0]
mov qword [rbx], rax
mov rax, qword [rsp + 0x118]
jmp 0x4665d2
cmp eax, 0x10000
je 0x4666a9
movzx eax, byte [rbx + 0x14]
and eax, 0xf
cmp al, 4
jne 0x4666d0
test byte [r13 + 0x44], 0x40
jne 0x4667c4
add qword [r12 + 0x70], 1
jmp 0x4666de
mov rcx, qword [rsp + 0x40]
cmp qword [rcx + 0x90], rax
setne al
jmp 0x466646
mov rcx, qword [rdx + 0x30]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbp
call fcn.004108a0
test rax, rax
je 0x4667c4
mov rdx, qword [r12]
jmp 0x466684
lea rcx, str.error:__B:_size_of_section__A_is_not_multiple_of_address_size
mov r8, r15
mov rdx, r13
call fcn.0040e1e0
mov ecx, 0x11
call fcn.0040e3a0
xor eax, eax
jmp 0x4668f5
add qword [r12 + 0x70], 1
xor edx, edx
mov qword [rsp + 0x130], 0
test byte [r13 + 0x44], 0x40
mov qword [rsp + 0x138], 0
lea r8, [rsp + 0x120]
mov byte [rsp + 0x134], 4
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
mov dword [rsp + 0x138], 0xfffffff1
jne 0x466aee
mov rdx, qword [r13]
mov qword [rsp + 0x20], 0
lea r9, [r14 + 0x230]
mov rcx, r12
call fcn.00458d80
test eax, eax
jne 0x4666de
xor eax, eax
jmp 0x4668f5
mov rdx, qword [rcx + 0x28]
mov rdx, qword [rdx + 0x160]
test rdx, rdx
je 0x467870
sub rax, qword [rdx + 0x28]
mov qword [rsp + 0x120], rax
jmp 0x466784
mov rbp, qword [rsp + 0x98]
mov r8d, 0x20
mov ecx, 8
mov r15, qword [r13 + 0x88]
mov rax, qword [rax + 0x2f8]
mov rdx, qword [rbp + 0x2f8]
mov qword [rsp + 0x78], rax
cmp byte [rdx + 0xa], 0x20
cmovne ecx, r8d
setne dil
mov r8d, 0xffffffff
movzx edi, dil
mov dword [rsp + 0x48], ecx
mov ecx, 0xff
cmovne rcx, r8
test r15, r15
lea rsi, [rdi*4 + 4]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0xa8], rsi
je 0x4668f0
mov rax, qword [0x00505dc0]
add rax, 0x230
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xb0], rax
nop
test byte [r15 + 0x24], 2
je 0x4668e0
mov rdx, qword [r12]
mov eax, dword [r15 + 0x20]
test byte [rdx + 1], 0x10
jne 0x466bfd
mov ecx, eax
and ecx, 0x2100000
cmp ecx, 0x2000000
je 0x466c81
test ah, 1
je 0x4668e0
mov rcx, qword [r15 + 0x38]
test rcx, rcx
jne 0x466c17
test al, 4
je 0x4668e0
test eax, 0x100000
jne 0x4668e0
mov rdx, qword [r15 + 0xe0]
mov rdx, qword [rdx + 0x48]
test rdx, rdx
je 0x466832
test byte [rbp + 0x37f], 2
mov qword [rsp + 0x110], rdx
je 0x466860
mov r8, qword [r15 + 0x40]
test r8, r8
je 0x466860
cmp rcx, r8
jbe 0x466860
mov rcx, qword [r12 + 0x28]
call sub.msvcrt.dll_memcpy
mov rax, qword [r12 + 0x28]
mov qword [rsp + 0x110], rax
mov eax, dword [r15 + 0x20]
jmp 0x466860
movzx edx, byte [rdx]
mov rax, qword [r15 + 0xe0]
mov rbx, qword [r15 + 0x68]
and edx, 3
cmp dl, 2
mov esi, dword [rax + 0x2c]
je 0x466cab
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x28ab
call fcn.0040e320
mov eax, esi
cmp rax, qword [rsp + 0x60]
jae 0x467530
mov rdx, qword [r13 + 0xf0]
test byte [rdx + 0xc85], 0x40
je 0x466cd8
mov rdx, qword [r12 + 0x60]
cmp qword [rdx + rax*8], 0
je 0x467530
mov rdx, rax
shl rdx, 5
add rdx, qword [rsp + 0x70]
movzx ecx, byte [rdx + 0x14]
and ecx, 0xf
cmp cl, 3
je 0x467458
mov rcx, qword [r12 + 0x58]
lea rdi, [rax*4]
mov esi, dword [rcx + rax*4]
cmp esi, 0xffffffff
je 0x467a06
mov rax, qword [rbx + 0xe0]
mov dword [rax + 0x2c], esi
mov eax, dword [r15 + 0x20]
jmp 0x466bfd
mov dword [rsp + 0x20], 0
mov r9, qword [r12 + 0x38]
mov rdx, r15
mov rcx, r13
mov r8, qword [r12 + 0x30]
call fcn.0045e910
test rax, rax
mov qword [rsp + 0x98], rax
je 0x467400
mov rdx, qword [r15 + 0x38]
cmp rdx, qword [rsp + 0xa8]
jbe 0x466db4
mov rax, qword [r15]
lea rdi, [0x004df829]
mov ecx, 6
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
je 0x467390
lea rdi, [0x004df830]
mov ecx, 6
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
jne 0x466db4
mov rcx, qword [r15 + 0x68]
lea rdi, str..fini_array
mov rsi, qword [rcx]
mov ecx, 0xc
repe cmpsb byte [rsi], byte [rdi]
jne 0x466db4
movzx eax, byte [rax + 6]
test al, al
je 0x4674f4
cmp al, 0x2e
je 0x4674f4
movzx ecx, word [r15 + 0x24]
shr cx, 7
and ecx, 7
cmp cl, 7
je 0x466de0
mov eax, 1
shl rax, cl
test al, 0x4a
je 0x466de0
mov dword [rsp + 0x50], 0xffffffff
jmp 0x466e14
mov rax, qword [r15 + 0xf0]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x360]
mov rax, qword [rax + 0x238]
test rax, rax
je 0x466e07
mov rcx, r15
call rax
test eax, eax
jne 0x466dd1
mov rcx, r15
call qword [rbp + 0x240]
mov dword [rsp + 0x50], eax
mov eax, dword [r15 + 0x88]
mov rsi, qword [rsp + 0x98]
lea rax, [rax + rax*2]
lea rdi, [rsi + rax*8]
cmp rsi, rdi
jae 0x466f25
mov qword [rsp + 0x198], r13
mov r13, r12
mov r12, qword [rsp + 0x198]
mov qword [rsp + 0x68], rbp
mov rbp, rdi
nop
mov r8, qword [rsi + 8]
movzx ecx, byte [rsp + 0x48]
mov rbx, r8
shr rbx, cl
test ebx, ebx
je 0x466f00
mov ebx, ebx
cmp qword [rsp + 0x60], rbx
jbe 0x467200
mov rax, qword [r13 + 0x60]
lea r14, [rax + rbx*8]
mov rax, qword [r12 + 0xf0]
mov r9, qword [r14]
test byte [rax + 0xc85], 0x40
je 0x466e99
test r9, r9
je 0x467200
mov r8, rbx
mov rdx, qword [rsp + 0x88]
mov rcx, r12
shl r8, 5
add r8, qword [rsp + 0x70]
movzx edi, byte [r8 + 0x14]
call fcn.004494f0
mov qword [rsp + 0x118], rax
and edi, 0xf
lea eax, [rdi - 8]
cmp eax, 1
jbe 0x467275
cmp dword [rsp + 0x50], 0xffffffff
je 0x466f00
test r14, r14
je 0x466f00
mov rbx, qword [r14]
test rbx, rbx
je 0x466f00
mov rax, qword [rsp + 0xb0]
cmp rbx, rax
je 0x466f00
cmp qword [rbx + 0x68], rax
je 0x46747e
nop dword [rax]
add rsi, 0x18
cmp rbp, rsi
ja 0x466e50
mov qword [rsp + 0x198], r12
mov rbp, qword [rsp + 0x68]
mov r12, r13
mov r13, qword [rsp + 0x198]
mov rax, qword [r12 + 0x60]
mov r9, r15
mov r8, r13
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0xb8]
mov rdx, qword [r12]
call rax
test eax, eax
je 0x466a80
mov rcx, qword [r12]
movzx r8d, byte [rcx]
and r8d, 3
cmp eax, 2
je 0x466f95
cmp r8b, 2
je 0x466f95
test byte [rcx + 3], 8
je 0x466868
mov r10, qword [r15 + 0x68]
mov eax, dword [r15 + 0x88]
mov r11, qword [rsp + 0x98]
mov rsi, qword [r15 + 0xe0]
mov rdi, qword [r10 + 0xe0]
lea rax, [rax + rax*2]
lea rax, [r11 + rax*8]
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x68], rax
mov rbx, qword [rsi + 0x58]
mov edx, dword [rdi + 0x60]
mov qword [rsp + 0xf8], rsi
mov rax, qword [rdi + 0x68]
mov qword [rsp + 0x108], rdi
test rbx, rbx
lea rax, [rax + rdx*8]
mov qword [rsp + 0xf0], rax
je 0x46702d
mov r9, qword [rbx + 0x38]
test r9, r9
je 0x467009
mov rax, qword [rbx + 0x20]
xor edx, edx
div r9
mov r9, rax
mov rax, qword [rbp + 0x2f8]
movzx eax, byte [rax + 9]
lea rax, [rax + rax*2]
shl rax, 3
imul r9, rax
add r9, qword [rsp + 0x98]
mov qword [rsp + 0x50], r9
cmp r8b, 2
mov r14, qword [r15 + 0x60]
je 0x46703b
add r14, qword [r10 + 0x28]
mov rax, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x68]
cmp rax, rdi
jae 0x467c4f
mov r11, qword [rsp + 0xf0]
mov rbx, rax
xor edi, edi
mov rdx, rcx
lea rax, [rsp + 0x120]
mov qword [rsp + 0x198], r13
mov rsi, qword [rsp + 0x40]
mov dword [rsp + 0xc4], 0
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xe8], rax
mov r13, r11
jmp 0x4671aa
add rax, qword [r15 + 0x60]
mov rdx, qword [r12]
mov r14, rax
mov qword [rbx], rax
movzx eax, byte [rdx]
and eax, 3
cmp al, 2
je 0x4670c3
mov rax, qword [r15 + 0x68]
add r14, qword [rax + 0x28]
mov qword [rbx], r14
mov rax, qword [rbx + 8]
movzx ecx, byte [rsp + 0x48]
mov r8, rax
shr r8, cl
test r8d, r8d
je 0x467194
mov r11d, r8d
mov rcx, qword [rsp + 0x198]
cmp qword [rsp + 0x60], r11
mov rcx, qword [rcx + 0xf0]
jbe 0x4675f0
mov r9, qword [r12 + 0x60]
test byte [rcx + 0xc85], 0x40
mov r9, qword [r9 + r11*8]
je 0x467113
test r9, r9
je 0x4675f0
mov rcx, r11
mov qword [r13], 0
shl rcx, 5
add rcx, qword [rsp + 0x70]
mov r8, qword [rcx]
mov qword [rsp + 0x120], r8
mov r8, qword [rcx + 8]
mov qword [rsp + 0x128], r8
mov r8, qword [rcx + 0x10]
mov qword [rsp + 0x130], r8
mov rcx, qword [rcx + 0x18]
mov qword [rsp + 0x138], rcx
movzx ecx, byte [rsp + 0x134]
and ecx, 0xf
cmp cl, 3
je 0x467580
mov rcx, qword [r12 + 0x58]
mov r10d, dword [rcx + r11*4]
cmp r10d, 0xffffffff
je 0x467660
movzx ecx, byte [rsp + 0x48]
shl r10, cl
and rax, qword [rsp + 0x80]
or rax, r10
mov qword [rbx + 8], rax
add rbx, 0x18
add edi, 1
cmp qword [rsp + 0x68], rbx
jbe 0x4678f0
mov rdx, qword [r12]
mov rax, qword [rbp + 0x2f8]
movzx eax, byte [rax + 9]
cmp eax, edi
jne 0x4671bf
add r13, 8
xor edi, edi
cmp qword [rsp + 0x50], rbx
je 0x467b6f
mov r9, qword [rbx]
mov r8, r15
mov rcx, rsi
call fcn.004573c0
cmp rax, 0xfffffffffffffffd
mov qword [rbx], rax
jbe 0x4670a0
mov qword [rbx], r14
mov qword [rbx + 8], 0
mov qword [rbx + 0x10], 0
jmp 0x467194
mov rax, rbx
mov rdi, qword [rsp + 0x78]
sub rax, qword [rsp + 0x90]
mov rax, qword [rdi + rax*8]
test rax, rax
jne 0x467224
jmp 0x467afe
mov rax, qword [rax + 0x28]
movzx edx, byte [rax + 0x18]
lea ecx, [rdx - 6]
cmp cl, 1
jbe 0x467220
test byte [rax + 0x19], 3
movzx edi, byte [rax + 0x58]
je 0x467246
sub edx, 3
cmp dl, 1
jbe 0x467420
movzx ecx, byte [rax + 0x18]
lea r14, [rax + 0x28]
lea edx, [rcx - 3]
cmp dl, 2
mov edx, 0
cmovae r14, rdx
mov rax, qword [rax + 8]
mov qword [rsp + 0x118], rax
lea eax, [rdi - 8]
cmp eax, 1
ja 0x466ed1
mov rax, qword [r13]
movzx eax, byte [rax]
and eax, 3
cmp al, 2
je 0x466ed1
lea rdx, [rsp + 0x118]
xor eax, eax
cmp edi, 9
lea rcx, [rsp + 0x120]
sete al
mov r9, r13
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov r8, qword [r15 + 0x68]
mov rax, qword [r15 + 0x60]
add rax, qword [r8 + 0x28]
mov r8, r12
add rax, qword [rsi]
mov qword [rsp + 0x20], rax
call fcn.00459d70
test eax, eax
je 0x466a80
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x120]
cmp rcx, rbx
ja 0x467b21
mov rax, qword [r12 + 0xf0]
sub rbx, rcx
mov rax, qword [rax + 0x2f8]
mov rdx, qword [rax + rbx*8]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
ja 0x467324
mov rdx, qword [rdx + 0x28]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
jbe 0x467315
mov rax, qword [0x00505dc0]
mov byte [rdx + 0x18], 3
mov qword [rdx + 0x30], rdi
add rax, 0x230
mov qword [rdx + 0x28], rax
jmp 0x466f00
mov rax, qword [r12 + 0x48]
xor r9d, r9d
mov rcx, r13
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x30], rax
mov rax, qword [r12 + 0x40]
mov qword [rsp + 0x28], rax
mov rax, qword [r12 + 0x50]
mov qword [rsp + 0x20], rax
call fcn.00449110
test rax, rax
mov qword [rsp + 0x70], rax
je 0x466a80
mov rax, qword [r13 + 0xf0]
jmp 0x46654c
mov rcx, qword [r15 + 0x68]
lea rdi, str..init_array
mov rsi, qword [rcx]
mov ecx, 0xc
repe cmpsb byte [rsi], byte [rdi]
je 0x466da0
jmp 0x466d76
cmp al, 1
jne 0x4677d0
mov rdx, qword [r12]
mov r8, r15
mov rcx, qword [rsp + 0x110]
mov rax, qword [r15 + 0xe0]
mov rdx, qword [rdx + 0x28]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x40]
lea r9, [rax + 0xd8]
add rdx, 0xf0
call fcn.00498a40
test eax, eax
jne 0x4668e0
jmp 0x466a80
mov r8d, dword [r15 + 0x88]
test r8d, r8d
je 0x466d4e
xor eax, eax
jmp 0x4668f5
mov rdx, qword [rax + 0x28]
test byte [rdx + 0x22], 0x10
jne 0x467246
mov rdx, qword [rdx + 0xf0]
test rdx, rdx
je 0x467246
test byte [rdx + 0x42], 0x20
je 0x467246
mov byte [rax + 0x18], 1
xor r14d, r14d
mov qword [rax + 0x28], rdx
jmp 0x46725d
mov rcx, qword [r12 + 0x60]
mov rdx, qword [rbx + 0xe0]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x68]
mov eax, dword [rax + 0xd8]
mov dword [rdx + 0x2c], eax
mov eax, dword [r15 + 0x20]
jmp 0x466bfd
movzx eax, word [rbx + 0x24]
and ax, 0x380
sub ax, 0x100
test ax, 0xfe80
je 0x466f00
test byte [rsp + 0x50], 1
je 0x4674cc
mov rax, qword [r13]
lea rcx, str._X__s_referenced_in_section___A_of__B:_defined_in_discarded_section___A_of__B_n
mov r9, r12
mov r8, r15
mov rdx, qword [rbx + 0xf0]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rdx
mov rdx, qword [rsp + 0x118]
call qword [rax + 0x58]
test byte [rsp + 0x50], 2
je 0x466f00
mov rdx, qword [r13]
mov rcx, rbx
call fcn.004663d0
test rax, rax
je 0x466f00
mov qword [r14], rax
jmp 0x466f00
mov rax, qword [rbp + 0x2f8]
movzx eax, byte [rax + 9]
imul rdx, rax
mov eax, dword [r15 + 0x88]
imul rax, qword [rsp + 0xa8]
cmp rdx, rax
jne 0x466a64
or dword [r15 + 0x20], 0x4000000
jmp 0x466db4
sub rax, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x78]
mov rdx, qword [rsi + rax*8]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
ja 0x46755f
nop dword [rax]
mov rdx, qword [rdx + 0x28]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
jbe 0x467550
mov rax, qword [rbx + 0xe0]
mov dword [rdx + 0x38], 0xfffffffe
mov dword [rax + 0x2c], 0xfffffffe
mov eax, dword [r15 + 0x20]
jmp 0x466bfd
cmp r9, qword [rsp + 0xa0]
je 0x4678a5
test r9, r9
je 0x467be0
cmp qword [r9 + 0xf0], 0
je 0x467be0
mov rdx, qword [r9 + 0x68]
cmp rdx, qword [rsp + 0xa0]
je 0x4678ad
mov ecx, dword [rdx + 0xd8]
test ecx, ecx
je 0x4679c4
mov r10d, ecx
movzx ecx, byte [rsp + 0x48]
shl r10, cl
mov edx, dword [rsp + 0xc4]
test edx, edx
je 0x467185
mov rdx, qword [r9 + 0x60]
add qword [rbx + 0x10], rdx
jmp 0x467185
mov eax, r8d
mov rdx, qword [rcx + 0x2f8]
sub eax, dword [rsp + 0x90]
mov r8, qword [rdx + rax*8]
movzx eax, byte [r8 + 0x18]
sub eax, 6
cmp al, 1
ja 0x467621
mov r8, qword [r8 + 0x28]
movzx eax, byte [r8 + 0x18]
sub eax, 6
cmp al, 1
jbe 0x467611
mov ecx, dword [r8 + 0x38]
test ecx, ecx
js 0x46764a
mov edx, 0x2a46
mov qword [rsp + 0xc8], r8
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.0040e320
mov r8, qword [rsp + 0xc8]
mov dword [r8 + 0x38], 0xfffffffe
mov qword [r13], r8
jmp 0x467194
movzx eax, byte [rdx + 1]
and eax, 0x60
cmp al, 0x60
je 0x467c3e
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xd0], r9
mov r8d, dword [rsp + 0x130]
mov qword [rsp + 0xd8], r11
mov rcx, qword [rsp + 0x198]
mov edx, dword [rax + 0x88]
call fcn.00448f30
test rax, rax
mov qword [rsp + 0xc8], rax
je 0x466a80
mov r9, qword [rsp + 0xd0]
mov rcx, rsi
mov r8, qword [r9 + 0x68]
mov rdx, r8
mov qword [rsp + 0xe0], r8
call fcn.00450b10
cmp eax, 0xfffffeff
mov dword [rsp + 0x138], eax
je 0x466a80
mov rdx, qword [r12]
mov r9, qword [rsp + 0xd0]
mov r11, qword [rsp + 0xd8]
movzx ecx, byte [rdx]
mov rax, qword [r9 + 0x60]
add rax, qword [rsp + 0x120]
and ecx, 3
cmp cl, 2
mov qword [rsp + 0x120], rax
je 0x46773c
mov r8, qword [rsp + 0xe0]
movzx ecx, byte [rsp + 0x134]
add rax, qword [r8 + 0x28]
and ecx, 0xf
cmp cl, 6
mov qword [rsp + 0x120], rax
je 0x467ad9
mov r10d, dword [rsi + 0xb0]
mov rcx, r12
mov qword [rsp + 0xd8], r11
mov r8, qword [rsp + 0xe8]
mov qword [rsp + 0x20], 0
mov rdx, qword [rsp + 0xc8]
mov dword [rsp + 0xd0], r10d
call fcn.00458d80
test eax, eax
je 0x466a80
cmp eax, 1
jne 0x467c60
mov rax, qword [r12 + 0x58]
mov r10d, dword [rsp + 0xd0]
mov r11, qword [rsp + 0xd8]
mov dword [rax + r11*4], r10d
mov rax, qword [rbx + 8]
jmp 0x46717d
mov rax, qword [r15 + 0xe0]
mov rdx, r15
mov rcx, qword [rsp + 0x40]
mov r8, qword [rax + 0xd8]
call fcn.00496090
test eax, eax
jne 0x4668e0
jmp 0x466a80
test byte [r15 + 0x21], 0x80
jne 0x4668e0
mov r14, qword [rsp + 0x40]
mov rsi, qword [r15 + 0x60]
mov rbx, qword [r15 + 0x38]
mov rcx, r14
call fcn.0040e050
mov eax, eax
imul rsi, rax
test byte [r15 + 0x23], 4
je 0x467ba6
mov rdi, qword [rsp + 0xa8]
jmp 0x467817
test rbx, rbx
je 0x4668e0
add rsi, rdi
mov rdx, qword [r15 + 0x68]
sub rbx, rdi
mov qword [rsp + 0x20], rdi
mov r9, rsi
mov r8, qword [rsp + 0x110]
mov rcx, r14
add r8, rbx
call fcn.00413c80
test eax, eax
jne 0x46780b
xor eax, eax
jmp 0x4668f5
mov r9, qword [rsp + 0x110]
mov r8, r15
mov rdx, qword [r12]
mov rcx, qword [rsp + 0x40]
call fcn.00471890
test eax, eax
jne 0x4668e0
jmp 0x466a80
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x287d
call fcn.0040e320
mov rdx, qword [r12]
mov rax, qword [rsp + 0x120]
mov r9, qword [rsp + 0x118]
mov rdx, qword [rdx + 0x28]
mov rdx, qword [rdx + 0x160]
jmp 0x466b29
xor r10d, r10d
jmp 0x4675d0
mov rdx, qword [r9 + 0xc8]
xor r10d, r10d
test rdx, rdx
je 0x4675d0
mov rdx, qword [rdx + 0x68]
test rdx, rdx
je 0x4675d0
mov rcx, qword [rdx + 0x28]
sub qword [rbx + 0x10], rcx
cmp rdx, qword [rsp + 0xa0]
je 0x4675d0
jmp 0x4675b7
mov rax, qword [rsp + 0xf8]
mov r13, qword [rsp + 0x198]
mov rbx, qword [rax + 0x58]
test rbx, rbx
je 0x467972
cmp qword [rbx + 0x20], 0
je 0x467972
mov rax, qword [rsp + 0xf0]
mov r8, rbx
mov rdx, r15
mov r9, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
call qword [rbp + 0x1d8]
test eax, eax
je 0x466a80
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x467953
mov rax, qword [rbx + 0x20]
xor edx, edx
div rcx
mov rcx, rax
mov rax, qword [rbp + 0x2f8]
movzx eax, byte [rax + 9]
lea rax, [rax + rax*2]
shl rax, 3
imul rax, rcx
add qword [rsp + 0x98], rax
mov rax, qword [rsp + 0xf8]
mov r8, qword [rax + 0x70]
test r8, r8
je 0x466868
cmp qword [r8 + 0x20], 0
je 0x466868
mov rax, qword [rsp + 0x100]
mov rdx, r15
mov r9, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
call qword [rbp + 0x1d8]
test eax, eax
jne 0x466868
xor eax, eax
jmp 0x4668f5
mov r8, qword [rdx + 0x28]
mov rcx, rsi
mov qword [rsp + 0xc8], r9
add qword [rbx + 0x10], r8
call fcn.00494e90
movzx ecx, byte [rsp + 0x48]
mov rdx, qword [rax + 0x28]
mov eax, dword [rax + 0xd8]
sub qword [rbx + 0x10], rdx
mov r9, qword [rsp + 0xc8]
shl rax, cl
mov r10, rax
mov rax, qword [rbx + 8]
jmp 0x4675d0
mov rcx, qword [rdx]
mov qword [rsp + 0x120], rcx
mov rcx, qword [rdx + 8]
mov qword [rsp + 0x128], rcx
mov rcx, qword [rdx + 0x10]
mov qword [rsp + 0x130], rcx
mov rdx, qword [rdx + 0x18]
mov rcx, r13
mov r8d, dword [rsp + 0x130]
mov qword [rsp + 0x138], rdx
mov rdx, qword [r12 + 0x60]
mov rax, qword [rdx + rax*8]
mov rsi, qword [rax + 0x68]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x88]
call fcn.00448f30
test rax, rax
mov r14, rax
je 0x466a80
mov rdx, rsi
mov rsi, qword [rsp + 0x40]
mov rcx, rsi
call fcn.00450b10
cmp eax, 0xfffffeff
mov dword [rsp + 0x138], eax
je 0x466a80
mov rax, qword [r15 + 0x60]
mov r9, r15
mov rdx, r14
mov rcx, r12
mov esi, dword [rsi + 0xb0]
lea r8, [rsp + 0x120]
mov qword [rsp + 0x20], 0
add qword [rsp + 0x120], rax
call fcn.00458d80
test eax, eax
je 0x466a80
cmp eax, 1
jne 0x467c78
add rdi, qword [r12 + 0x58]
mov dword [rdi], esi
jmp 0x466d0d
mov rdx, qword [rdx + 0x28]
mov rdx, qword [rdx + 0x160]
test rdx, rdx
je 0x467bf1
sub rax, qword [rdx + 0x28]
mov qword [rsp + 0x120], rax
jmp 0x46773c
lea rcx, str.error:__B_contains_a_reloc___Lx__for_section__A_that_references_a_non_existent_global_symbol
mov r9, r15
mov rdx, r12
call fcn.0040e1e0
mov ecx, 0x11
call fcn.0040e3a0
xor eax, eax
jmp 0x4668f5
mov rax, rbx
shl rax, 5
add rax, qword [rsp + 0x70]
movzx edx, byte [rax + 0x14]
shr dl, 4
test dl, dl
je 0x467bd1
mov rax, qword [r12 + 0xf0]
test byte [rax + 0xc85], 0x40
jne 0x4672ff
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x1f97
call fcn.0040e320
mov rax, qword [r12 + 0xf0]
jmp 0x4672ff
mov rax, qword [rsp + 0x108]
mov ecx, dword [rax + 0x78]
mov rax, qword [rax + 0x80]
lea r13, [rax + rcx*8]
movzx eax, byte [rbp + 0x37c]
mov qword [rsp + 0x100], r13
shr al, 6
and eax, 1
mov dword [rsp + 0xc4], eax
jmp 0x4671ca
mov rdx, qword [r15 + 0x68]
mov r9, rsi
mov qword [rsp + 0x20], rbx
mov r8, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x40]
call fcn.00413c80
test eax, eax
jne 0x4668e0
jmp 0x466a80
mov dword [rax + 0x18], 0xfffffff1
mov qword [rax], rdi
jmp 0x466f00
mov ecx, 0x11
call fcn.0040e3a0
xor eax, eax
jmp 0x4668f5
mov edx, 0x2aad
mov qword [rsp + 0xd8], r9
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov qword [rsp + 0xd0], r11
call fcn.0040e320
mov rdx, qword [r12]
mov rax, qword [rsp + 0x120]
mov r9, qword [rsp + 0xd8]
mov r11, qword [rsp + 0xd0]
mov rdx, qword [rdx + 0x28]
mov rdx, qword [rdx + 0x160]
jmp 0x467aed
mov ecx, 5
call fcn.0040e3a0
xor eax, eax
jmp 0x4668f5
mov qword [rsp + 0x100], 0
jmp 0x467904
lea r8, str.elf_link_input_bfd
mov edx, 0x2abc
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.0040e340
lea r8, str.elf_link_input_bfd
mov edx, 0x28de
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.0040e340
nop
nop dword [rax + 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]
cmp dword [rax + 0x40], 1
mov r14, rcx
mov r15, rdx
mov qword [rsp + 0x48], rax
je 0x467ce2
xor r13d, r13d
mov eax, r13d
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 + 0x360]
mov qword [rsp + 0x60], rax
movzx eax, byte [rdx]
mov edx, eax
and edx, 3
test al, 1
jne 0x4680e0
mov rax, qword [rsp + 0x48]
cmp dl, 2
mov dword [rsp + 0x50], 1
mov edi, dword [rax + 0x4c]
mov rax, qword [rax + 0x58]
mov dword [rsp + 0x78], edi
mov qword [rsp + 0x90], rax
je 0x467d36
movzx eax, byte [r15 + 3]
shr al, 3
and eax, 1
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x160], r15
mov qword [rsp + 0x168], r14
call fcn.0046d890
test rax, rax
mov qword [rsp + 0x170], rax
je 0x467cc8
mov eax, dword [rsp + 0x78]
test eax, eax
jne 0x4680f0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
mov rax, qword [r14 + 8]
mov r12, qword [r14 + 0x88]
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], 0
mov rax, qword [rax + 0x360]
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x1b0], 0
mov qword [rsp + 0x1b8], 0
mov qword [rsp + 0x1c0], 0
mov rbx, qword [rax + 0x320]
mov qword [rsp + 0x1c8], 0
movzx eax, byte [rsp + 0x50]
mov qword [rsp + 0x1d0], 0
and eax, 1
test r12, r12
mov byte [rsp + 0x68], al
je 0x468b80
mov qword [rsp + 0x98], 0
xor r13d, r13d
lea rbp, str..gnu.attributes
jmp 0x467e4a
mov r12, qword [r12 + 0x10]
test r12, r12
je 0x467ec0
test rbx, rbx
mov rsi, qword [r12]
je 0x467e62
mov rdx, rbx
mov rcx, rsi
call fcn.004c1658
test eax, eax
je 0x467e6e
mov ecx, 0x10
mov rdi, rbp
repe cmpsb byte [rsi], byte [rdi]
jne 0x467e40
mov rax, qword [r12 + 0x108]
test rax, rax
je 0x467e99
nop dword [rax + rax]
cmp dword [rax + 8], 1
jne 0x467e91
mov rdx, qword [rax + 0x20]
and dword [rdx + 0x20], 0xfffffeff
mov rax, qword [rax]
test rax, rax
jne 0x467e80
mov rcx, r14
call fcn.0046cb00
test rax, rax
mov r13, rax
jne 0x468130
or dword [r12 + 0x20], 0x8000
mov r12, qword [r12 + 0x10]
test r12, r12
jne 0x467e4a
mov rsi, qword [r14 + 0x88]
mov qword [rsp + 0xa0], r13
test rsi, rsi
je 0x4690b9
mov r10, r14
xor r13d, r13d
mov r9, r15
movzx r14d, byte [rsp + 0x68]
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov rbx, qword [rsi + 0x108]
mov dword [rsi + 0x88], 0
mov rbp, qword [rsi + 0xe0]
test rbx, rbx
je 0x468310
mov r15d, 1
jmp 0x467f51
cmp eax, 1
je 0x468170
mov rbx, qword [rbx]
test rbx, rbx
je 0x467f8f
mov eax, dword [rbx + 8]
lea edx, [rax - 3]
cmp edx, 1
ja 0x467f40
mov edx, 1
xor ecx, ecx
xor r8d, r8d
add dword [rsi + 0x88], edx
cmp eax, 1
jne 0x467f7a
test r14b, r14b
jne 0x4682b1
test byte [rsi + 0x25], 4
je 0x468160
mov rbx, qword [rbx]
add dword [rbp + 0x78], edx
test rbx, rbx
jne 0x467f51
mov r8d, dword [rsi + 0x88]
mov eax, dword [rsi + 0x20]
test r8d, r8d
je 0x468313
or eax, 4
mov dword [rsi + 0x20], eax
movabs rax, 0x100000001
test qword [rsi + 0x20], rax
jne 0x467fc0
mov qword [rsi + 0x28], 0
mov rsi, qword [rsi + 0x10]
test rsi, rsi
jne 0x467f11
movzx eax, byte [r9]
mov r14, r10
mov r15, r9
and eax, 3
cmp al, 2
je 0x467ff8
and r13d, 1
je 0x467ff8
mov rcx, qword [rsp + 0x48]
lea rdx, [0x00459bd0]
mov r8, r10
call fcn.00492540
movzx eax, byte [r15 + 1]
and eax, 0x60
cmp al, 0x60
setne al
or al, byte [rsp + 0x68]
test byte [r14 + 0x43], 0x40
movzx eax, al
mov dword [r14 + 0xb0], eax
jne 0x468824
mov rdx, r15
mov rcx, r14
call fcn.0044d270
test eax, eax
je 0x4683c0
mov rsi, qword [r14 + 0x88]
test rsi, rsi
jne 0x46804f
jmp 0x468460
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x468460
test byte [rsi + 0x20], 4
mov rbx, qword [rsi + 0xe0]
je 0x468092
cmp qword [rbx + 0x58], 0
je 0x468077
lea rdx, [rbx + 0x58]
mov rcx, r14
call fcn.00459740
test eax, eax
je 0x4683c0
cmp qword [rbx + 0x70], 0
je 0x468092
lea rdx, [rbx + 0x70]
mov rcx, r14
call fcn.00459740
test eax, eax
je 0x4683c0
cmp qword [rbx + 0x18], 0xffffffffffffffff
mov dword [rbx + 0x60], 0
mov dword [rbx + 0x78], 0
jne 0x468042
test byte [rsi + 0x23], 8
je 0x4690a1
cmp qword [rbx + 0x48], 0
jne 0x4690a1
mov rcx, qword [rbx + 0x20]
call fcn.004110d0
test rax, rax
je 0x4683c0
mov qword [rbx + 0x48], rax
jmp 0x468042
or dword [rcx + 0x40], 0x800
jmp 0x467d02
mov rdi, qword [rsp + 0x90]
lea rdx, str..hash
mov rcx, rdi
call fcn.00413690
lea rdx, str..gnu.version
mov rcx, rdi
mov qword [rsp + 0x178], rax
call fcn.00413690
mov qword [rsp + 0x180], rax
jmp 0x467d80
mov r8, rax
mov rdx, r12
mov rcx, r14
call fcn.00413c40
mov qword [rsp + 0x98], r12
mov qword [r12 + 0x108], 0
jmp 0x467e40
add dword [rbp + 0x60], edx
jmp 0x467f49
mov rdi, qword [rbx + 0x20]
mov r11d, dword [rdi + 0x20]
or byte [rdi + 0x24], 2
mov rax, qword [rdi + 0x38]
test r11d, 0x800000
cmovne r13d, r15d
cmp qword [rdi + 0x40], rax
cmovae rax, qword [rdi + 0x40]
cmp r12, rax
cmovb r12, rax
mov rax, qword [rdi + 0xf0]
mov rdx, qword [rax + 8]
cmp dword [rdx + 8], 5
jne 0x467f49
test byte [rax + 0x41], 8
jne 0x467f49
mov rcx, qword [rax + 0xf0]
test byte [rcx + 0xc85], 0x40
je 0x468450
mov rax, qword [rsp + 0x60]
xor edx, edx
mov rax, qword [rax + 0x2f8]
movzx r8d, byte [rax + 5]
mov rax, qword [rcx + 0x80]
div r8
mov rdx, qword [rsp + 0x58]
cmp rdx, rax
cmovb rdx, rax
mov qword [rsp + 0x58], rdx
mov rdx, qword [rsp + 0x70]
cmp rax, rdx
jbe 0x468217
cmp qword [rcx + 0x2e0], 0
cmove rax, rdx
mov qword [rsp + 0x70], rax
mov eax, dword [rbp + 4]
cmp eax, 9
je 0x4683e0
cmp eax, 4
je 0x4683e0
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x46883a
mov rax, qword [rsp + 0x60]
mov edx, dword [rdi + 0x88]
mov rax, qword [rax + 0x1f0]
test rax, rax
je 0x468f48
mov qword [rsp + 0xb8], r9
mov rcx, rdi
mov qword [rsp + 0xb0], r10
mov dword [rsp + 0xa8], edx
call rax
mov r11d, dword [rdi + 0x20]
mov edx, dword [rsp + 0xa8]
mov r8d, eax
mov r10, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xb8]
and r11d, 4
mov rcx, qword [rdi + 0xe0]
jne 0x4683f6
test edx, edx
je 0x467f49
mov eax, dword [rbx + 8]
add edx, r8d
jmp 0x467f66
mov rdx, qword [rcx + 0x58]
test rdx, rdx
je 0x4682dc
mov rdi, qword [rdx + 0x38]
xor eax, eax
mov r11d, dword [rbp + 0x60]
test rdi, rdi
je 0x4682d2
mov rax, qword [rdx + 0x20]
xor edx, edx
div rdi
add r11d, r8d
add r11d, eax
mov dword [rbp + 0x60], r11d
mov rdx, qword [rcx + 0x70]
test rdx, rdx
je 0x467f49
mov r11, qword [rdx + 0x38]
xor eax, eax
mov ecx, dword [rbp + 0x78]
test r11, r11
je 0x468300
mov rax, qword [rdx + 0x20]
xor edx, edx
div r11
add r8d, ecx
add r8d, eax
mov dword [rbp + 0x78], r8d
jmp 0x467f49
mov eax, dword [rsi + 0x20]
and eax, 0xfffffffb
mov dword [rsi + 0x20], eax
jmp 0x467fa8
cmp dword [rdi + 8], 1
lea rbp, [rsp + 0x160]
mov r13, r15
jne 0x4683c8
mov rax, qword [r15 + 8]
cmp dword [rax + 8], 5
jne 0x4683c8
mov rdi, qword [rsp + 0x60]
mov rax, qword [r15 + 0xf0]
mov rdx, qword [rdi + 0x2f8]
movzx eax, byte [rax + 4]
movzx edx, byte [rdx + 0xc]
cmp al, dl
je 0x4683c8
cmp dl, 1
je 0x46981b
jb 0x46980f
lea rsi, str.ELFCLASS64
cmp dl, 2
jne 0x4697f7
cmp al, 1
je 0x4697eb
jb 0x469477
lea rbx, str.ELFCLASS64
cmp al, 2
jne 0x46945f
mov ecx, 3
call fcn.0040e3a0
mov r9, rsi
mov r8, rbx
mov rdx, r13
lea rcx, str._B:_file_class__s_incompatible_with__s
call fcn.0040e1e0
nop dword [rax + rax]
lea rbp, [rsp + 0x160]
lea rcx, [r14 + 0x88]
mov rdx, rbp
call fcn.004599c0
jmp 0x467cc8
and r11d, 4
mov rcx, qword [rdi + 0xe0]
je 0x467f49
xor r8d, r8d
xor edx, edx
mov rax, qword [rcx + 0x58]
mov r11, qword [rcx + 0x70]
test rax, rax
je 0x468885
test r11, r11
mov rax, qword [rax + 0x20]
je 0x468414
add rax, qword [r11 + 0x20]
mov r11, qword [rsp + 0x88]
cmp r11, rax
cmovae rax, r11
mov qword [rsp + 0x88], rax
mov eax, dword [rdi + 0x88]
mov rdi, qword [rsp + 0x80]
cmp rdi, rax
cmovae rax, rdi
mov qword [rsp + 0x80], rax
jmp 0x46829e
mov eax, dword [rcx + 0x8c]
jmp 0x4681eb
mov rax, qword [rsp + 0x60]
mov ebx, 0x14
mov dword [r14 + 0xb0], 0
mov rdi, qword [r14 + 0xf0]
mov rax, qword [rax + 0x2f8]
mov dword [rdi + 0x64], 2
mov qword [rsp + 0x50], rdi
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 + 0x58]
mov rdi, qword [rsp + 0x48]
cmp rax, 0x14
cmovae rbx, rax
lea rcx, [rbx + rbx*4]
mov qword [rdi + 0xa0], rbx
shl rcx, 3
call fcn.004110d0
test rax, rax
mov qword [rdi + 0xa8], rax
je 0x4683c0
mov rdx, qword [r14 + 0xf0]
cmp dword [rdx + 0x2f4], 0xff01
sbb rax, rax
not rax
mov qword [rsp + 0x1c8], rax
movzx eax, byte [r15 + 1]
and eax, 0x60
cmp al, 0x60
jne 0x4686d6
cmp byte [rsp + 0x68], 0
jne 0x4686d6
test r12, r12
jne 0x468e0e
cmp qword [rsp + 0x88], 0
jne 0x468e90
cmp qword [rsp + 0x80], 0
jne 0x468eb3
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x2f8]
movzx ecx, byte [rax + 5]
imul rcx, rbx
call fcn.004110d0
test rax, rax
mov qword [rsp + 0x1a0], rax
je 0x4683c0
mov rcx, rbx
shl rcx, 5
call fcn.004110d0
test rax, rax
mov qword [rsp + 0x1b0], rax
je 0x4683c0
lea rcx, [rbx*4]
call fcn.004110d0
test rax, rax
mov qword [rsp + 0x1b8], rax
je 0x4683c0
lea rcx, [rbx*8]
call fcn.004110d0
test rax, rax
mov qword [rsp + 0x1c0], rax
je 0x4683c0
cmp qword [rsp + 0x70], 0
jne 0x468f0d
mov rax, qword [rsp + 0x48]
xor edx, edx
mov r8, qword [rax + 0x160]
test r8, r8
mov rax, r8
je 0x468658
mov ecx, dword [rax + 0x20]
test ch, 4
je 0x468620
mov rdx, qword [rax + 0x38]
test rdx, rdx
jne 0x468613
and ch, 1
jne 0x468613
mov rcx, qword [rax + 0x110]
test rcx, rcx
je 0x468613
mov rdx, qword [rcx + 0x18]
add rdx, qword [rcx + 0x10]
add rdx, qword [rax + 0x28]
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x4685e9
mov rax, qword [rsp + 0x60]
mov r9, qword [r8 + 0x28]
cmp dword [rax + 0x370], 1
jne 0x468649
mov ecx, dword [r8 + 0x70]
mov eax, 1
shl rax, cl
lea rdx, [rax + rdx - 1]
neg rax
and rdx, rax
mov rax, qword [rsp + 0x48]
sub rdx, r9
mov qword [rax + 0x168], rdx
mov r10, qword [r14 + 0x88]
test r10, r10
je 0x4688c1
mov rdi, r10
mov rbx, qword [rdi + 0x108]
mov rax, qword [r14 + 8]
test rbx, rbx
mov r10, qword [rax + 0x360]
je 0x4688b4
xor r8d, r8d
xor r13d, r13d
xor esi, esi
xor r12d, r12d
jmp 0x4686af
add esi, 1
test esi, esi
je 0x4686a3
test r12d, r12d
jne 0x468bca
mov rbx, qword [rbx]
test rbx, rbx
je 0x468c18
cmp dword [rbx + 8], 1
jne 0x468693
mov rbp, qword [rbx + 0x20]
mov r9, qword [rbp + 0xf0]
mov rax, qword [r9 + 8]
cmp dword [rax + 8], 5
je 0x468a4f
add esi, 1
mov r13, rbp
jmp 0x468696
mov rax, qword [rdx + 0xc90]
mov r8d, 1
lea rsi, [rsp + 0xf0]
lea rbp, [rsp + 0x160]
mov rdx, qword [rax + 0x40]
mov rax, qword [rsp + 0x50]
lea rcx, [rax + 0x60]
call fcn.0044c420
mov r9, qword [0x00505dc0]
xor ecx, ecx
xor edx, edx
mov word [rsp + 0x104], cx
mov r8, rsi
mov rcx, rbp
mov qword [rsp + 0x20], 0
mov qword [rsp + 0xf0], 0
add r9, 0x118
mov byte [rsp + 0x106], 0
mov qword [rsp + 0xf8], 0
mov dword [rsp + 0x108], 0
call fcn.00458d80
cmp eax, 1
jne 0x4683c8
mov rax, qword [r14 + 0xf0]
mov edx, 3
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0xf0], 0
mov word [rsp + 0x104], dx
mov byte [rsp + 0x106], 0
cmp dword [rax + 0x2f4], 1
jbe 0x46851d
mov edi, 1
nop dword [rax]
mov edx, edi
mov rcx, r14
call fcn.0044bb20
test rax, rax
je 0x46880d
mov edx, dword [r14 + 0xb0]
mov dword [rsp + 0x108], edi
mov dword [rax + 0xd8], edx
movzx edx, byte [r15]
and edx, 3
cmp dl, 2
je 0x4687eb
mov rdx, qword [rax + 0x28]
mov qword [rsp + 0xf0], rdx
xor edx, edx
mov r9, rax
mov r8, rsi
mov qword [rsp + 0x20], 0
mov rcx, rbp
call fcn.00458d80
cmp eax, 1
jne 0x4683c8
mov rax, qword [r14 + 0xf0]
add edi, 1
cmp dword [rax + 0x2f4], edi
ja 0x4687b0
jmp 0x46851d
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x2e02
call fcn.0040e320
jmp 0x46801e
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x1e8]
test rax, rax
je 0x4683e0
mov qword [rsp + 0xb0], r10
mov rdx, rdi
mov rcx, r9
mov qword [rsp + 0xa8], r9
call rax
mov r11d, dword [rdi + 0x20]
xor r8d, r8d
mov edx, eax
mov r9, qword [rsp + 0xa8]
mov r10, qword [rsp + 0xb0]
jmp 0x46828d
xor eax, eax
test r11, r11
jne 0x468410
jmp 0x46842b
lea r9, [0x00458fb0]
mov r8d, 8
xor edx, edx
mov rcx, rbp
call sub.msvcrt.dll_qsort
mov rcx, rbp
call sub.msvcrt.dll_free
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x46866b
mov rcx, r15
call fcn.00472590
test eax, eax
je 0x467cc8
mov rax, qword [r15 + 0x60]
test rax, rax
je 0x4688ea
and byte [rax + 0x43], 0xbf
mov rax, qword [rax + 0xe8]
test rax, rax
jne 0x4688da
mov rbx, qword [r14 + 0x88]
test rbx, rbx
je 0x468b15
lea rax, [rsp + 0x110]
xor r13d, r13d
mov r12, r15
mov qword [rsp + 0x88], rax
mov r15, r13
mov r13, rbx
mov rbx, qword [r13 + 0x108]
test rbx, rbx
je 0x468b05
lea rax, [rsp + 0x160]
mov rdi, rbx
mov qword [rsp + 0xb8], rax
nop dword [rax]
mov eax, dword [rdi + 8]
cmp eax, 1
je 0x468cd1
sub eax, 3
cmp eax, 1
ja 0x468ae0
mov rax, qword [r14 + 8]
mov rcx, r14
mov rsi, qword [r13 + 0xe0]
mov rax, qword [rax + 0x360]
mov qword [rsp + 0x70], rax
mov rax, qword [rdi + 0x20]
mov edx, dword [rax]
call fcn.00497490
test rax, rax
mov rbp, rax
je 0x468f31
mov rax, qword [rdi + 0x20]
cmp qword [rsi + 0x58], 0
mov rbx, qword [rax + 0x10]
je 0x468e2c
add rsi, 0x58
mov ecx, dword [rsi + 8]
mov rdx, qword [rsi + 0x10]
cmp dword [rdi + 8], 3
mov r8, qword [rax + 8]
lea r11, [rdx + rcx*8]
jne 0x468db6
mov eax, dword [r8 + 0xd8]
test eax, eax
mov dword [rsp + 0x58], eax
je 0x469055
mov qword [r11], 0
mov eax, dword [rbp + 0x30]
test eax, eax
je 0x4689e3
test rbx, rbx
jne 0x468f50
movzx eax, byte [r12]
mov rcx, qword [rdi + 0x10]
and eax, 3
cmp al, 2
je 0x4689f7
add rcx, qword [r13 + 0x28]
mov rax, qword [rsp + 0x70]
mov r9, qword [rax + 0x2f8]
movzx edx, byte [r9 + 9]
test edx, edx
je 0x468d40
mov r10, qword [rsp + 0x88]
sub edx, 1
lea r8, [rdx + rdx*2]
lea rdx, [r10 + 0x18]
mov rax, r10
lea r8, [rdx + r8*8]
cmp r8, rdx
mov qword [rax], rcx
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov rax, rdx
je 0x468d40
add rdx, 0x18
jmp 0x468a2a
mov rdx, qword [r9 + 0xf0]
mov rax, qword [r10 + 0x2f8]
movzx eax, byte [rax + 0xc]
cmp byte [rdx + 4], al
jne 0x4686ce
mov rdx, rbp
mov rcx, r9
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x58], r9
call fcn.00450b10
mov r10, qword [rsp + 0x70]
test eax, eax
mov r8, qword [rsp + 0x80]
je 0x4686ce
mov r9, qword [rsp + 0x58]
mov rcx, qword [r9 + 0xf0]
mov edx, dword [rcx + 0x2f4]
cmp eax, edx
jae 0x4686ce
mov rcx, qword [rcx + 0x50]
mov eax, eax
mov rax, qword [rcx + rax*8]
test byte [rax + 8], 0x80
je 0x4686ce
cmp edx, dword [rax + 0x28]
jbe 0x4686ce
add r12d, 1
mov r8, rbp
jmp 0x468696
mov r9, rdi
mov r8, r13
mov rdx, r12
mov rcx, r14
call fcn.00494610
test eax, eax
je 0x46831e
mov rdi, qword [rdi]
test rdi, rdi
jne 0x468940
mov r13, qword [r13 + 0x10]
test r13, r13
jne 0x468916
mov r15, r12
test byte [r15 + 4], 0x10
jne 0x46910b
mov rbx, qword [r15 + 0x60]
test rbx, rbx
jne 0x468b40
jmp 0x46910b
mov rbx, qword [rbx + 0xe8]
test rbx, rbx
je 0x46910b
mov rax, qword [rbx + 8]
cmp dword [rax + 8], 5
jne 0x468b30
mov rax, qword [rbx + 0xf0]
mov rcx, qword [rax + 0x358]
test rcx, rcx
je 0x468b30
call sub.msvcrt.dll_free
mov rax, qword [rbx + 0xf0]
mov qword [rax + 0x358], 0
jmp 0x468b30
mov qword [rsp + 0x98], 0
xor r12d, r12d
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
jmp 0x467ff8
test r13, r13
mov r10, rdi
je 0x468da2
test r8, r8
je 0x468da2
mov rax, qword [r13 + 0xf0]
mov rdx, rdi
mov r9, qword [r8 + 0xf0]
lea rcx, str._A_has_both_ordered____A_in__B__and_unordered____A_in__B__sections
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x28], rax
call fcn.0040e1e0
mov ecx, 0x11
xor r13d, r13d
call fcn.0040e3a0
jmp 0x467ccb
test r12d, r12d
je 0x4688b4
movsxd rcx, r12d
shl rcx, 3
call fcn.004110d0
test rax, rax
mov rbp, rax
je 0x467cc8
mov rax, qword [rdi + 0x108]
test rax, rax
je 0x468895
mov ebx, 1
jmp 0x468c53
mov rbx, rdx
mov qword [rbp + rbx*8 - 8], rax
mov rax, qword [rax]
lea rdx, [rbx + 1]
test rax, rax
jne 0x468c50
movsxd rdx, ebx
mov r8d, 8
mov rcx, rbp
lea r9, [0x00458fb0]
mov rsi, rbp
call sub.msvcrt.dll_qsort
lea eax, [rbx - 1]
xor ebx, ebx
lea r12, [rbp + rax*8 + 8]
mov rax, qword [rsi]
add rsi, 8
mov r13, qword [rax + 0x20]
mov rax, 0xffffffffffffffff
mov ecx, dword [r13 + 0x70]
shl rax, cl
mov rcx, r14
and rbx, rax
call fcn.0040e050
xor edx, edx
mov ecx, eax
mov rax, rbx
div rcx
mov qword [r13 + 0x60], rax
mov rax, qword [rsi - 8]
mov qword [rax + 0x10], rbx
add rbx, qword [rax + 0x18]
cmp r12, rsi
jne 0x468c89
jmp 0x4688ac
mov rax, qword [rdi + 0x20]
mov r15, qword [rax + 0xf0]
mov rax, qword [r15 + 8]
cmp dword [rax + 8], 5
jne 0x468ae0
mov rax, qword [rsp + 0x60]
mov rdx, qword [r15 + 0xf0]
mov rax, qword [rax + 0x2f8]
movzx eax, byte [rax + 0xc]
cmp byte [rdx + 4], al
jne 0x468ae0
test byte [r15 + 0x43], 0x40
jne 0x468af9
mov rcx, qword [rsp + 0xb8]
mov rdx, r15
mov rbp, rcx
call fcn.00466490
test eax, eax
je 0x4683c8
or byte [r15 + 0x43], 0x40
jmp 0x468af9
cmp byte [r9 + 0xa], 0x20
mov edx, dword [rbp]
je 0x468e77
mov rax, qword [rsp + 0x58]
shl rax, 0x20
add rax, rdx
mov qword [rsp + 0x118], rax
mov rax, qword [rsi]
mov ecx, dword [rsi + 8]
cmp dword [rax + 4], 9
mov rdx, qword [rax + 0x48]
je 0x468e57
mov qword [rsp + 0x120], rbx
movzx eax, byte [r9 + 4]
imul eax, ecx
mov rcx, r14
lea r8, [rdx + rax]
mov rdx, qword [rsp + 0x88]
call qword [r9 + 0x78]
add dword [rsi + 8], 1
jmp 0x468af9
lea rcx, str._A_has_both_ordered_and_unordered_sections
mov rdx, r10
call fcn.0040e1e0
jmp 0x468c06
xor r9d, r9d
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x58], r11
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
call fcn.004922b0
test rax, rax
je 0x468ede
movzx ecx, byte [rax + 0x18]
mov r11, qword [rsp + 0x58]
lea edx, [rcx - 3]
cmp dl, 1
jbe 0x46907b
mov dword [rax + 0x38], 0xfffffffe
mov dword [rsp + 0x58], 0
mov qword [r11], rax
jmp 0x4689d3
mov rcx, r12
call fcn.004110d0
test rax, rax
mov qword [rsp + 0x188], rax
jne 0x468526
jmp 0x4683c0
cmp qword [rsi + 0x70], 0
je 0x468e3c
add rsi, 0x70
jmp 0x4689a0
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x2b55
call fcn.0040e320
mov rax, qword [0x10]
ud2
movzx eax, byte [r9 + 3]
imul eax, ecx
mov rcx, r14
lea r8, [rdx + rax]
mov rdx, qword [rsp + 0x88]
call qword [r9 + 0x68]
jmp 0x468d99
mov eax, dword [rsp + 0x58]
movzx edx, dl
shl eax, 8
add eax, edx
mov qword [rsp + 0x118], rax
jmp 0x468d62
mov rcx, qword [rsp + 0x88]
call fcn.004110d0
test rax, rax
mov qword [rsp + 0x190], rax
jne 0x468535
jmp 0x4683c0
mov rax, qword [rsp + 0x80]
lea rcx, [rax + rax*2]
shl rcx, 3
call fcn.004110d0
test rax, rax
mov qword [rsp + 0x198], rax
jne 0x468544
jmp 0x4683c0
mov rax, qword [rdi + 0x20]
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov rdx, qword [rax + 8]
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0x20], 0
call qword [rax + 0x48]
mov dword [rsp + 0x58], 0
jmp 0x4689d3
mov rcx, qword [rsp + 0x70]
shl rcx, 2
call fcn.004110d0
test rax, rax
mov qword [rsp + 0x1a8], rax
jne 0x4685d3
jmp 0x4683c0
lea rbp, [rsp + 0x160]
mov ecx, 0x11
call fcn.0040e3a0
jmp 0x4683c8
xor r8d, r8d
jmp 0x46828d
mov rcx, rbp
call fcn.00496530
mov eax, eax
mov rcx, rax
mov qword [rsp + 0xa8], rax
call fcn.00411240
test rax, rax
mov qword [rsp + 0x80], rax
jne 0x468f86
cmp qword [rsp + 0xa8], 0
jne 0x4683c0
mov r9, qword [rsp + 0x80]
mov r8, rbx
mov rdx, r14
mov rcx, rbp
call fcn.00496f20
cmp eax, 2
je 0x468fed
cmp eax, 3
jne 0x4690f3
mov rax, qword [rdi + 0x20]
cmp dword [rdi + 8], 3
mov r8, qword [rax + 8]
je 0x4690eb
mov rax, qword [r12 + 0x20]
xor edx, edx
mov rcx, r12
mov r9, qword [rbp + 0x28]
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
call qword [rax + 0x38]
mov rax, qword [rdi + 0x10]
mov rcx, r14
mov qword [rsp + 0xb0], rax
call fcn.0040e050
mov rcx, qword [rsp + 0xa8]
mov rdx, r13
mov r9d, eax
mov r8, qword [rsp + 0x80]
imul r9, qword [rsp + 0xb0]
mov qword [rsp + 0x20], rcx
mov rcx, r14
call fcn.00413c80
mov rcx, qword [rsp + 0x80]
mov dword [rsp + 0xa8], eax
call sub.msvcrt.dll_free
mov eax, dword [rsp + 0xa8]
test eax, eax
jne 0x4689e3
jmp 0x4683c0
mov edx, 0x2b5d
mov qword [rsp + 0x80], r11
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.0040e320
mov r11, qword [rsp + 0x80]
jmp 0x4689cc
mov rdx, qword [rax + 0x28]
mov rax, qword [rdx + 0x68]
add rbx, qword [rdx + 0x60]
mov ecx, dword [rax + 0xd8]
mov qword [r11], 0
add rbx, qword [rax + 0x28]
mov dword [rsp + 0x58], ecx
jmp 0x4689d3
lea r8, str.bfd_elf_final_link
mov edx, 0x2e21
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.0040e340
mov qword [rsp + 0x58], 0
xor r12d, r12d
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
jmp 0x467ff8
mov r8, qword [r8]
jmp 0x468fbc
lea r8, str.elf_reloc_link_order
mov edx, 0x2b9e
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.0040e340
mov rcx, qword [r15 + 0x28]
lea rbp, [rsp + 0x160]
movabs rax, 0x100000000
mov dword [rsp + 0xd8], 0
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0xd0]
lea rdx, [0x0045b370]
mov r8, rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0xe0], rbp
call fcn.00410c00
mov r13d, dword [rsp + 0xd0]
test r13d, r13d
jne 0x467cc8
mov rax, qword [rsp + 0x60]
mov r10, qword [rax + 0x190]
test r10, r10
je 0x4691a8
movzx eax, byte [r15 + 1]
and eax, 0x60
cmp al, 0x60
jne 0x46918d
cmp byte [rsp + 0x68], 0
je 0x4691a8
lea r9, [fcn.00458d80]
mov r8, rbp
mov rdx, r15
mov rcx, r14
call r10
test eax, eax
je 0x467cc8
mov eax, dword [r14 + 0xb0]
mov rdi, qword [rsp + 0x50]
cmp dword [rsp + 0x78], 0
mov dword [rdi + 0x8c], eax
je 0x4692ad
mov rdi, qword [rsp + 0x48]
mov rax, qword [rdi + 0x1e0]
test rax, rax
je 0x4692ad
mov rsi, qword [0x00505dc0]
mov rcx, qword [rax + 0x68]
lea rdx, [rsi + 0x230]
cmp rcx, rdx
je 0x4692ad
mov r12, qword [rax + 0xb0]
mov rax, qword [rdi + 0x88]
mov rdx, qword [rcx + 0xe0]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x58]
add eax, 1
test byte [r15], 1
mov dword [rdx + 0x2c], eax
jne 0x4694c4
cmp dword [rdi + 0x50], 0
jne 0x4694c4
mov rax, qword [rsp + 0x48]
mov rbx, qword [rax + 0x150]
lea rax, [rsp + 0x110]
mov qword [rsp + 0x58], rax
test rbx, rbx
je 0x4692ad
mov rdi, qword [rsp + 0x58]
lea rsi, [rbx + 0x18]
mov ecx, 8
rep movsd dword [rdi], dword [rsi]
and byte [rsp + 0x125], 0xfc
mov edx, dword [rbx + 0x30]
mov rcx, qword [rbx + 8]
call fcn.0044bb20
test rax, rax
mov rsi, rax
jne 0x469483
mov rax, qword [rsp + 0x60]
xor r9d, r9d
mov rcx, r14
mov rdx, qword [rsp + 0x58]
mov r10, qword [rax + 0x2f8]
movzx eax, byte [r10 + 5]
imul eax, dword [rbx + 0x14]
cdqe
lea r8, [r12 + rax]
call qword [r10 + 0x38]
mov rbx, qword [rbx]
test rbx, rbx
jne 0x46924b
mov rcx, qword [r15 + 0x28]
lea rdx, [0x0045b370]
mov qword [rsp + 0xd0], 0
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0xe0], rbp
call fcn.00410c00
mov r13d, dword [rsp + 0xd0]
test r13d, r13d
jne 0x467cc8
mov rax, qword [rsp + 0x60]
mov r10, qword [rax + 0x198]
test r10, r10
je 0x469326
movzx eax, byte [r15 + 1]
and eax, 0x60
cmp al, 0x60
jne 0x46930b
cmp byte [rsp + 0x68], 0
je 0x469326
lea r9, [fcn.00458d80]
mov r8, rbp
mov rdx, r15
mov rcx, r14
call r10
test eax, eax
je 0x467cc8
mov rcx, qword [rsp + 0x170]
call fcn.0046de60
mov rax, qword [rsp + 0x160]
mov rbx, qword [rax + 0x28]
cmp qword [rbx + 0x98], 0
je 0x469664
mov rax, qword [rsp + 0x168]
mov rdx, qword [rax + 0xf0]
cmp dword [rdx + 0xc70], 0
jne 0x46937e
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x244a
call fcn.0040e320
mov rax, qword [rsp + 0x168]
mov rax, qword [rax + 8]
mov rsi, qword [rax + 0x360]
mov rax, qword [rsi + 0x2f8]
movzx ecx, byte [rax + 5]
imul rcx, qword [rbx + 0x98]
call fcn.004110d0
test rax, rax
mov rdi, rax
je 0x467cc8
cmp qword [rsp + 0x1c8], 0
je 0x4693e0
mov rax, qword [rsp + 0x168]
mov ecx, dword [rax + 0xb0]
shl rcx, 2
call fcn.00411240
test rax, rax
mov qword [rsp + 0x1c8], rax
je 0x469599
xor r10d, r10d
mov qword [rsp + 0x58], rbp
mov rbp, rsi
mov rsi, rbx
mov rbx, r10
mov rax, qword [rsi + 0x98]
cmp rbx, rax
jae 0x4695bf
imul r12, rbx, 0x28
add r12, qword [rsi + 0xa8]
mov eax, dword [r12 + 0x10]
cmp eax, 0xffffffff
jne 0x4695a6
mov dword [r12 + 0x10], 0
mov r11, qword [rbp + 0x2f8]
add rbx, 1
mov ecx, dword [r12 + 0x24]
mov rdx, qword [rsp + 0x1c8]
movzx eax, byte [r11 + 5]
imul eax, dword [r12 + 0x20]
lea r9, [rdx + rcx*4]
mov rdx, r12
mov rcx, qword [rsp + 0x168]
lea r8, [rdi + rax]
call qword [r11 + 0x38]
jmp 0x4693f1
lea r8, str.bfd_elf_final_link
mov edx, 0x2f19
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.0040e340
lea rbx, str.ELFCLASSNONE
jmp 0x46839c
mov rdx, qword [rax + 0x68]
mov rax, qword [rdx + 0xe0]
mov eax, dword [rax + 0x88]
mov dword [rsp + 0x128], eax
sub eax, 0xff00
cmp eax, 0xfffeffff
jbe 0x4696b1
mov rax, qword [rbx + 0x18]
add rax, qword [rsi + 0x60]
add rax, qword [rdx + 0x28]
mov qword [rsp + 0x110], rax
jmp 0x46927b
mov rdi, qword [r14 + 0x88]
lea rax, [rsp + 0x110]
mov qword [rsp + 0x118], 0
mov dword [rsp + 0x120], 0
mov word [rsp + 0x124], 3
mov byte [rsp + 0x126], 0
mov qword [rsp + 0x58], rax
test rdi, rdi
je 0x46922d
mov rax, qword [rdi + 0xe0]
mov esi, dword [rax + 0x8c]
test esi, esi
jle 0x46957f
mov ebx, dword [rax + 0x88]
test ebx, ebx
jg 0x469536
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x2f7a
call fcn.0040e320
lea eax, [rbx - 0xff00]
mov dword [rsp + 0x128], ebx
cmp eax, 0xfffeffff
jbe 0x469588
mov rax, qword [rdi + 0x28]
xor r9d, r9d
mov rcx, r14
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x60]
mov r10, qword [rax + 0x2f8]
movzx eax, byte [r10 + 5]
imul eax, esi
cdqe
lea r8, [r12 + rax]
call qword [r10 + 0x38]
mov rdi, qword [rdi + 0x10]
jmp 0x469501
mov rcx, r14
call fcn.00458d40
test eax, eax
jne 0x46954a
jmp 0x467ccb
mov rcx, rdi
call sub.msvcrt.dll_free
jmp 0x467ccb
mov rcx, qword [rsp + 0x170]
mov edx, eax
call fcn.0046dce0
mov dword [r12 + 0x10], eax
jmp 0x469423
mov rcx, qword [rsp + 0x168]
mov rbx, rsi
mov rsi, rbp
xor r8d, r8d
mov rdx, qword [rsi + 0x2f8]
mov rbp, qword [rsp + 0x58]
mov r12, qword [rcx + 0xf0]
movzx esi, byte [rdx + 5]
mov rdx, qword [r12 + 0x80]
add rdx, qword [r12 + 0x78]
imul rsi, rax
call fcn.004908c0
test eax, eax
je 0x469625
mov rcx, rdi
call sub.msvcrt.dll_free
mov rcx, qword [rbx + 0xa8]
call sub.msvcrt.dll_free
mov qword [rbx + 0xa8], 0
jmp 0x467ccb
mov r8, qword [rsp + 0x168]
mov rdx, rsi
mov rcx, rdi
call fcn.00490780
cmp rsi, rax
jne 0x469601
add qword [r12 + 0x80], rsi
mov rcx, rdi
call sub.msvcrt.dll_free
mov rcx, qword [rbx + 0xa8]
call sub.msvcrt.dll_free
mov qword [rbx + 0xa8], 0
mov eax, dword [r14 + 0xb0]
test eax, eax
jne 0x469b1c
mov rbx, qword [r15 + 0x58]
test rbx, rbx
je 0x469867
mov rax, qword [r14 + 8]
mov edx, 1
mov rcx, rbx
mov rdi, qword [rax + 0x360]
call fcn.004104f0
test eax, eax
jne 0x4696ca
mov rdx, qword [r15 + 0x58]
lea rcx, str._B:_failed_to_generate_import_library
call fcn.0040e1e0
jmp 0x467ccb
mov rcx, r14
call fcn.00458d40
test eax, eax
je 0x467ccb
mov rdx, qword [rsi + 0x68]
jmp 0x4694ab
mov esi, dword [r14 + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.0040f0c0
shr esi, 5
and esi, 0xfffff
test eax, eax
je 0x46969c
and esi, 0xfffffffc
mov rcx, rbx
mov edx, esi
call fcn.0040e2b0
test eax, eax
je 0x46969c
mov rcx, r14
call fcn.0040df00
mov rcx, r14
mov esi, eax
call fcn.0040df10
mov r9, qword [rbx + 8]
mov edx, esi
mov rcx, rbx
mov r8d, eax
call qword [r9 + 0x290]
test eax, eax
je 0x4697c1
mov rax, qword [r14 + 8]
mov rcx, r14
call qword [rax + 0x1f0]
test eax, eax
js 0x46969c
movsxd rcx, eax
call fcn.004be5f0
mov rcx, r14
mov r12, rax
mov rax, qword [r14 + 8]
mov rdx, r12
call qword [rax + 0x1f8]
test eax, eax
mov dword [rsp + 0x50], eax
js 0x4697b4
mov rax, qword [rbx + 8]
mov rdx, rbx
mov rcx, r14
call qword [rax + 0x160]
test eax, eax
je 0x4697b4
mov rax, qword [rdi + 0x1a0]
mov r8, r12
mov rdx, r15
mov rcx, r14
mov r9d, dword [rsp + 0x50]
test rax, rax
je 0x469c78
call rax
mov r10d, eax
test r10d, r10d
jne 0x469aa9
mov ecx, 7
call fcn.0040e3a0
lea rcx, str._B:_no_symbol_found_for_import_library
mov rdx, rbx
call fcn.0040e1e0
mov rcx, r12
call sub.msvcrt.dll_free
jmp 0x46969c
test byte [r14 + 0x43], 4
jne 0x46969c
mov rcx, r14
call fcn.0040df00
mov rcx, rbx
mov esi, eax
call fcn.0040df00
cmp esi, eax
jne 0x46969c
jmp 0x469723
lea rbx, str.ELFCLASS32
jmp 0x46839c
lea r8, str.bfd_elf_final_link
mov edx, 0x2f11
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.0040e340
lea rsi, str.ELFCLASSNONE
jmp 0x46837f
lea rsi, str.ELFCLASS32
jmp 0x46837f
mov r8d, r10d
mov rdx, r12
mov rcx, rbx
call fcn.00498d70
mov rax, qword [rbx + 8]
mov rdx, rbx
mov rcx, r14
call qword [rax + 0x138]
test eax, eax
je 0x4697b4
mov rcx, rbx
call fcn.00412720
mov rcx, r12
mov ebx, eax
call sub.msvcrt.dll_free
test ebx, ebx
je 0x46969c
mov r13, qword [r14 + 0x88]
test r13, r13
je 0x46990a
test byte [r13 + 0x20], 4
mov rbx, qword [r13 + 0xe0]
je 0x4698fa
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x1f8]
test rax, rax
je 0x469903
mov rcx, r13
xor esi, esi
call rax
test eax, eax
setne sil
cmp qword [rbx + 0x58], 0
je 0x4698c9
mov qword [rsp + 0x20], r15
mov r9d, esi
mov rdx, r13
mov rcx, r14
lea r8, [rbx + 0x58]
call fcn.004c2769
test eax, eax
je 0x467cc8
cmp qword [rbx + 0x70], 0
je 0x4698ef
mov qword [rsp + 0x20], r15
mov r9d, esi
mov rdx, r13
mov rcx, r14
lea r8, [rbx + 0x70]
call fcn.004c2769
test eax, eax
je 0x467cc8
mov dword [r13 + 0x88], 0
mov r13, qword [r13 + 0x10]
jmp 0x46986e
mov esi, 1
jmp 0x4698a3
cmp dword [rsp + 0x78], 0
jne 0x469d9e
cmp qword [rsp + 0x90], 0
je 0x469c85
mov rax, qword [rsp + 0x60]
mov rdx, r15
mov rcx, r14
call qword [rax + 0x128]
test eax, eax
je 0x4683c8
movzx eax, byte [r15 + 4]
test al, 1
je 0x46994c
test byte [r15], 1
jne 0x469954
test al, 2
je 0x4699de
mov rcx, qword [rsp + 0x90]
lea rdx, str..dynamic
call fcn.00413690
test rax, rax
je 0x4699de
mov rdi, qword [rax + 0xb0]
lea rbx, [rsp + 0x110]
mov rsi, qword [rax + 0x38]
mov r12, qword [rsp + 0x60]
add rsi, rdi
cmp rdi, rsi
jae 0x4699de
mov rax, qword [r12 + 0x2f8]
mov r8, rbx
mov rdx, rdi
mov rcx, qword [rsp + 0x90]
call qword [rax + 0x50]
cmp qword [rsp + 0x110], 0x16
je 0x4699c2
mov rax, qword [r12 + 0x2f8]
movzx eax, byte [rax + 6]
add rdi, rax
jmp 0x469988
mov rax, qword [r15 + 0x20]
test byte [r15 + 4], 2
mov rax, qword [rax + 0x58]
je 0x46a712
lea rcx, str._P_X:_read_only_segment_has_dynamic_relocations._n
call rax
mov rax, qword [rsp + 0x90]
lea rdi, str..dynstr
mov rsi, qword [rsp + 0x48]
mov r13, qword [rax + 0x88]
mov rax, qword [0x00505dc0]
lea rbx, [rax + 0x230]
test r13, r13
je 0x469c85
mov eax, dword [r13 + 0x20]
test ah, 1
je 0x469aa0
mov r12, qword [r13 + 0x38]
test r12, r12
je 0x469aa0
mov r8, qword [r13 + 0x68]
cmp r8, rbx
mov qword [rsp + 0x50], r8
je 0x469aa0
test eax, 0x100000
je 0x469aa0
cmp qword [rsi + 0x120], r13
je 0x469aa0
cmp qword [rsi + 0x128], r13
je 0x469aa0
mov rcx, qword [r13]
mov rdx, rdi
call fcn.004c1658
mov r8, qword [rsp + 0x50]
test eax, eax
je 0x46a6d8
mov rax, qword [r13 + 0x60]
mov rcx, r14
mov qword [rsp + 0x50], rax
call fcn.0040e050
mov r8, qword [r13 + 0xb0]
mov rcx, r14
mov r9d, eax
mov rdx, qword [r13 + 0x68]
mov qword [rsp + 0x20], r12
imul r9, qword [rsp + 0x50]
call fcn.00413c80
test eax, eax
je 0x4683c8
mov r13, qword [r13 + 0x10]
jmp 0x469a07
movsxd rdx, r10d
mov r8d, 0x60
mov rcx, rbx
mov dword [rsp + 0x50], r10d
call fcn.00412dd0
mov rdi, qword [0x00505dc0]
xor edx, edx
mov r10d, dword [rsp + 0x50]
lea r8, [rdi + 0x230]
cmp r10d, edx
jle 0x469827
mov rsi, qword [r12 + rdx*8]
mov rdi, rax
mov ecx, 0x18
rep movsd dword [rdi], dword [rsi]
mov qword [rax + 0x20], r8
mov dword [rax + 0x48], 0xfffffff1
mov rcx, qword [r12 + rdx*8]
mov r9, qword [rcx + 0x20]
mov rcx, qword [rax + 0x10]
add rcx, qword [r9 + 0x28]
mov qword [rax + 0x10], rcx
mov qword [rax + 0x30], rcx
mov qword [r12 + rdx*8], rax
add rdx, 1
add rax, 0x60
jmp 0x469ad4
mov rdi, qword [rsp + 0x50]
mov rbx, qword [r14 + 0xf0]
mov rsi, qword [rdi + 0x80]
add rsi, qword [rdi + 0x78]
mov rdi, qword [rbx + 0x2e0]
test rdi, rdi
je 0x469b48
cmp dword [rdi], 0
jne 0x469c02
mov dword [rbx + 0x104], 3
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x170]
mov eax, dword [rax + 0x378]
mov qword [rbx + 0x110], 0
mov qword [rbx + 0x108], rax
call fcn.0046dcd0
lea rcx, [rbx + 0x100]
mov r8d, 1
mov rdx, rsi
mov qword [rbx + 0x120], rax
mov qword [rbx + 0x128], 0
mov qword [rbx + 0x130], 1
mov qword [rbx + 0x138], 0
call fcn.0044c420
mov rdx, qword [r14 + 0xf0]
xor r8d, r8d
mov rcx, r14
mov rdx, qword [rdx + 0xc90]
mov qword [rdx + 0x40], rax
mov rdx, qword [rbx + 0x118]
call fcn.004908c0
test eax, eax
jne 0x467cc8
mov rdx, qword [rsp + 0x170]
mov rcx, r14
call fcn.0046dd70
test eax, eax
jne 0x469673
jmp 0x467cc8
lea rbx, [rax*4]
mov rdx, rsi
mov rcx, rdi
mov dword [rdi + 4], 0x12
mov r8d, 1
mov qword [rdi + 0x38], 4
mov qword [rdi + 0x30], 4
mov qword [rdi + 0x20], rbx
call fcn.0044c420
mov rdx, qword [rdi + 0x18]
xor r8d, r8d
mov rcx, r14
mov rsi, rax
call fcn.004908c0
test eax, eax
jne 0x467cc8
mov rcx, qword [rsp + 0x1c8]
mov r8, r14
mov rdx, rbx
call fcn.00490780
cmp rax, rbx
jne 0x467cc8
mov rbx, qword [r14 + 0xf0]
jmp 0x469b48
call fcn.0044c340
mov r10d, eax
jmp 0x469792
test byte [r15 + 1], 0x10
jne 0x469cd8
mov dword [rsp + 0x110], 0
movzx eax, byte [r15]
and eax, 3
cmp al, 2
je 0x469cb3
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x312f
call fcn.0040e320
lea r8, [rsp + 0x110]
mov rcx, r14
lea rdx, [0x00447890]
call fcn.00413b70
cmp dword [rsp + 0x110], 0
jne 0x4683c8
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x120], 0
je 0x469d03
mov rdx, qword [rsp + 0x48]
mov rcx, r14
add rdx, 0xf0
call fcn.00498c10
test eax, eax
je 0x4683c8
mov rcx, r14
mov rdx, r15
call fcn.004726a0
lea rcx, [r14 + 0x88]
test eax, eax
je 0x4683c8
mov rdx, rbp
mov r13d, 1
call fcn.004599c0
mov rax, qword [r14 + 0xf0]
mov rsi, qword [rsp + 0x98]
mov rax, qword [rax + 0xc90]
test rsi, rsi
mov dword [rax + 0x58], 1
je 0x467ccb
mov rdi, qword [rsp + 0xa0]
mov rcx, rdi
call fcn.004110d0
test rax, rax
mov rbx, rax
je 0x467cc8
mov r8, rdi
mov rdx, rax
mov rcx, r14
call fcn.0046cb40
mov rcx, r14
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov r8, rbx
mov rdx, rsi
call fcn.00413c80
mov rcx, rbx
call sub.msvcrt.dll_free
jmp 0x467ccb
test byte [r15 + 4], 0x40
je 0x469db4
cmp qword [rsp + 0x90], 0
jne 0x46a07e
xor r12d, r12d
mov rcx, qword [rsp + 0x90]
lea rdx, str..dynamic
call fcn.00413690
test rax, rax
mov rsi, rax
jne 0x469de4
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x301e
call fcn.0040e320
mov rbx, qword [rsi + 0xb0]
mov qword [rsp + 0x50], rbp
mov rax, qword [rsi + 0x38]
mov rdi, qword [rsp + 0x60]
add rax, rbx
mov qword [rsp + 0x58], rax
mov rax, qword [0x00505dc0]
add rax, 0x230
mov qword [rsp + 0x70], rax
cmp rbx, qword [rsp + 0x58]
jae 0x46a074
mov rax, qword [rdi + 0x2f8]
lea rbp, [rsp + 0x110]
mov rdx, rbx
mov r8, rbp
mov rcx, qword [rsp + 0x90]
call qword [rax + 0x50]
mov rax, qword [rsp + 0x110]
cmp rax, 0x12
jbe 0x469fe7
cmp rax, 0x20
je 0x469fde
jbe 0x469f78
cmp rax, 0x6ffffff0
je 0x469f6c
ja 0x469f4f
cmp rax, 0x21
je 0x469eff
lea rsi, str..gnu.hash
cmp rax, 0x6ffffef5
jne 0x469eec
mov rcx, qword [rsp + 0x90]
mov rdx, rsi
call fcn.00413690
test rax, rax
je 0x46a743
mov rdx, qword [rax + 0x68]
cmp rdx, qword [rsp + 0x70]
je 0x46a743
mov rcx, qword [rdx + 0xe0]
cmp dword [rcx + 4], 7
je 0x46a720
mov rax, qword [rax + 0x60]
add rax, qword [rdx + 0x28]
mov qword [rsp + 0x118], rax
mov rax, qword [rdi + 0x2f8]
mov r8, rbx
mov rdx, rbp
mov rcx, qword [rsp + 0x90]
call qword [rax + 0x58]
mov rax, qword [rdi + 0x2f8]
movzx eax, byte [rax + 6]
add rbx, rax
jmp 0x469e13
lea rsi, str..preinit_array
mov rdx, rsi
mov rcx, r14
call fcn.004135c0
test rax, rax
je 0x46a743
cmp qword [rax + 0x38], 0
jne 0x469f3a
lea rcx, str.warning:__s_section_has_zero_size
mov rdx, rsi
mov qword [rsp + 0x68], rax
call fcn.0040e1e0
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x118], rax
mov rax, qword [rdi + 0x2f8]
jmp 0x469edb
cmp rax, 0x6ffffffc
je 0x469f9c
lea rsi, str..gnu.version_r
cmp rax, 0x6ffffffe
je 0x469e8b
jmp 0x469eec
lea rsi, str..gnu.version
jmp 0x469e8b
cmp rax, 0x1a
je 0x469fd5
jbe 0x469fb4
cmp rax, 0x1b
je 0x469fa8
lea rsi, str..fini_array
cmp rax, 0x1c
je 0x469f06
jmp 0x469eec
lea rsi, str..gnu.version_d
jmp 0x469e8b
lea rsi, str..init_array
jmp 0x469f06
lea rsi, str..init_array
cmp rax, 0x19
jne 0x469eec
mov rdx, rsi
mov rcx, r14
call fcn.004135c0
jmp 0x469e9b
lea rsi, str..fini_array
jmp 0x469fc5
lea rsi, str..preinit_array
jmp 0x469fc5
cmp rax, 0x11
jae 0x46a772
cmp rax, 6
je 0x46a75c
ja 0x46a7cd
cmp rax, 4
je 0x46a2f3
ja 0x46a36d
test rax, rax
mov rax, qword [rdi + 0x2f8]
jne 0x469ef3
movzx edx, byte [rax + 6]
add rdx, rbx
test r12, r12
je 0x469ef3
cmp qword [rsp + 0x58], rdx
jbe 0x469ef3
mov rdx, qword [r13 + 0xe0]
mov edx, dword [rdx + 4]
cmp edx, 4
je 0x46a35c
cmp edx, 9
jne 0x469ef3
mov qword [rsp + 0x110], 0x6ffffffa
mov qword [rsp + 0x118], r12
xor r12d, r12d
jmp 0x469edb
mov rbp, qword [rsp + 0x50]
jmp 0x469915
mov rax, qword [r14 + 8]
mov rcx, r14
mov rbx, qword [rax + 0x360]
mov rax, qword [rbx + 0x2f8]
mov qword [rsp + 0x68], rbx
movzx eax, byte [rax + 9]
mov dword [rsp + 0x50], eax
call fcn.0040e050
lea rdx, str..rela.dyn
mov rcx, r14
mov dword [rsp + 0x70], eax
call fcn.004135c0
lea rdx, str..rel.dyn
mov rcx, r14
mov rsi, rax
call fcn.004135c0
test rsi, rsi
mov rdi, rax
je 0x46a315
test rdi, rdi
mov rax, qword [rsi + 0x38]
je 0x46a2ff
test rax, rax
je 0x46a2ff
cmp qword [rdi + 0x38], 0
jne 0x46a1b9
mov r8, qword [rbx + 0x2f8]
movzx eax, byte [r8 + 4]
mov qword [rsp + 0x58], rax
mov rax, qword [r8 + 0x70]
mov qword [rsp + 0x78], rax
mov rax, qword [r8 + 0x78]
mov qword [rsp + 0x88], rax
mov rdx, qword [rsi + 0x108]
xor eax, eax
test rdx, rdx
je 0x46a13e
cmp dword [rdx + 8], 1
jne 0x46a139
mov rcx, qword [rdx + 0x20]
add rax, qword [rcx + 0x38]
mov rdx, qword [rdx]
jmp 0x46a126
cmp rax, qword [rsi + 0x38]
jne 0x469db4
mov ecx, dword [rsp + 0x50]
xor edx, edx
div qword [rsp + 0x58]
sub ecx, 1
movsxd rcx, ecx
imul rcx, rcx, 0x18
test rax, rax
lea rdi, [rcx + 0x28]
mov qword [rsp + 0x50], rdi
mov rdi, rax
je 0x469db4
mov rcx, qword [rsp + 0x50]
imul rcx, rax
call fcn.00411240
test rax, rax
mov rbx, rax
jne 0x46a1ea
mov rax, qword [r15 + 0x20]
mov r9, r14
xor r8d, r8d
mov rcx, r15
mov qword [rsp + 0x28], 0
lea rdx, str.Not_enough_memory_to_sort_relocations
xor r12d, r12d
mov qword [rsp + 0x20], 0
call qword [rax + 0x28]
jmp 0x469db7
mov rax, qword [rsp + 0x68]
xor ecx, ecx
mov ebx, 1
mov r12, qword [rsi + 0x108]
mov r8, qword [rax + 0x2f8]
test r12, r12
je 0x46a299
cmp dword [r12 + 8], 1
je 0x46a24f
mov r12, qword [r12]
jmp 0x46a1d3
mov rax, qword [rsp + 0x68]
mov r9, rdi
mov r11, rbp
mov rdi, rbx
movabs rdx, 0xffffffff00000000
mov r10, qword [rsi + 0x108]
mov rbp, rsi
mov rax, qword [rax + 0x2f8]
cmp byte [rax + 0xa], 0x20
mov rax, 0xffffffffffffff00
cmovne rax, rdx
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x70]
mov qword [rsp + 0xb0], rax
test r10, r10
je 0x46a43b
cmp dword [r10 + 8], 1
je 0x46a379
mov r10, qword [r10]
jmp 0x46a236
mov rax, qword [r12 + 0x20]
xor edx, edx
movzx r10d, byte [r8 + 3]
movzx r11d, byte [r8 + 4]
mov r9, qword [rax + 0x38]
mov rax, r9
div r10
mov rax, r9
mov r10, rdx
xor edx, edx
div r11
test rdx, rdx
jne 0x46a2dc
test r10, r10
je 0x46a1e4
xor ebx, 1
test ebx, ecx
jne 0x46a2bb
mov ecx, 1
mov ebx, 1
jmp 0x46a1e4
mov r12, qword [rdi + 0x108]
test r12, r12
je 0x46a55f
cmp dword [r12 + 8], 1
je 0x46a511
mov r12, qword [r12]
jmp 0x46a2a0
lea rcx, str._B:_Unable_to_sort_relocs___they_are_in_more_than_one_size
mov rdx, r14
xor r12d, r12d
call fcn.0040e1e0
mov ecx, 5
call fcn.0040e3a0
jmp 0x469db7
test r10, r10
jne 0x46a853
and ebx, ecx
jne 0x46a2bb
mov ecx, 1
jmp 0x46a1e4
lea rsi, str..hash
jmp 0x469e8b
test rax, rax
je 0x46a315
mov rax, qword [rsp + 0x68]
mov r8, qword [rax + 0x2f8]
jmp 0x46a0fe
test rdi, rdi
je 0x469db4
cmp qword [rdi + 0x38], 0
je 0x469db4
mov rax, qword [rsp + 0x68]
mov r8, qword [rax + 0x2f8]
movzx eax, byte [r8 + 3]
mov rsi, rdi
mov qword [rsp + 0x58], rax
mov rax, qword [r8 + 0x60]
mov qword [rsp + 0x78], rax
mov rax, qword [r8 + 0x68]
mov qword [rsp + 0x88], rax
jmp 0x46a11d
mov qword [rsp + 0x110], 0x6ffffff9
jmp 0x46a064
lea rsi, str..dynstr
jmp 0x469e8b
mov rsi, qword [r10 + 0x20]
mov rbx, qword [rsi + 0xb0]
mov rax, qword [rsi + 0x38]
test rbx, rbx
je 0x46a4f5
add rax, rbx
xor edx, edx
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xb0]
imul rax, qword [rsi + 0x60]
div qword [rsp + 0x58]
imul rax, qword [rsp + 0x50]
lea r12, [rdi + rax + 0x10]
cmp qword [rsp + 0xa8], rbx
jbe 0x46a24a
mov r8, r12
mov rdx, rbx
mov rcx, r14
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xc8], r11
mov qword [rsp + 0xc0], r9
mov qword [rsp + 0xb8], r10
call rax
mov rax, qword [rsp + 0x68]
mov r8, r12
mov rdx, rsi
mov rcx, r15
call qword [rax + 0x228]
add rbx, qword [rsp + 0x58]
mov dword [r12 - 8], eax
mov rax, qword [rsp + 0x80]
mov r11, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xc0]
mov r10, qword [rsp + 0xb8]
mov qword [r12 - 0x10], rax
add r12, qword [rsp + 0x50]
jmp 0x46a3bb
mov r8, qword [rsp + 0x50]
mov rbx, rdi
mov rdi, r9
mov qword [rsp + 0x68], r10
mov rcx, rbx
mov rdx, rdi
mov rsi, rbp
lea r9, [0x00458970]
mov rbp, r11
xor r12d, r12d
call sub.msvcrt.dll_qsort
mov r10, qword [rsp + 0x68]
mov rcx, rbx
cmp dword [rcx + 8], 1
jne 0x46a58d
add r12, 1
add rcx, qword [rsp + 0x50]
cmp rdi, r12
jne 0x46a46e
mov r12, rdi
mov r8, qword [rsp + 0x50]
mov rdx, rdi
mov qword [rsp + 0x68], r10
lea r9, [0x0045b330]
sub rdx, r12
call sub.msvcrt.dll_qsort
mov rax, qword [r15 + 0x28]
mov rcx, qword [rax + 0x198]
test rcx, rcx
je 0x46a4c4
cmp rsi, qword [rcx + 0x68]
mov r10, qword [rsp + 0x68]
je 0x46a5c5
mov eax, dword [rsp + 0x70]
mov r10, rbp
mov rbp, rsi
mov rdi, qword [rsi + 0x108]
mov rsi, rbx
mov qword [rsp + 0x70], rax
test rdi, rdi
je 0x46a686
cmp dword [rdi + 8], 1
je 0x46a61c
mov rdi, qword [rdi]
jmp 0x46a4dd
test rax, rax
je 0x46a391
mov rcx, rdi
mov rbp, r11
xor r12d, r12d
call sub.msvcrt.dll_free
jmp 0x469db7
mov rax, qword [r12 + 0x20]
xor edx, edx
movzx r10d, byte [r8 + 3]
movzx r11d, byte [r8 + 4]
mov r9, qword [rax + 0x38]
mov rax, r9
div r10
mov rax, r9
mov r10, rdx
xor edx, edx
div r11
test rdx, rdx
jne 0x46a572
test r10, r10
je 0x46a2b5
xor ebx, 1
test ebx, ecx
jne 0x46a2bb
mov ecx, 1
mov ebx, 1
jmp 0x46a2b5
xor ecx, 1
or ebx, ecx
and bl, 1
jne 0x46a0fe
jmp 0x46a335
test r10, r10
jne 0x46a853
and ebx, ecx
jne 0x46a2bb
mov ecx, 1
jmp 0x46a2b5
mov rdx, rcx
mov rax, rcx
mov r8, r12
cmp rdi, r8
jbe 0x46a489
mov r9, qword [rax + 0x18]
xor r9, qword [rdx + 0x18]
test qword [rsp + 0x80], r9
cmovne rdx, rax
add r8, 1
mov r9, qword [rdx + 0x10]
mov qword [rax], r9
add rax, qword [rsp + 0x50]
jmp 0x46a596
imul rdx, rdi, 0x28
xor eax, eax
add rdx, rbx
imul r8, rax, 0xffffffffffffffd8
cmp dword [rdx + r8 - 0x20], 4
jne 0x46a69f
add rax, 1
cmp rdi, rax
jne 0x46a5ce
imul rax, qword [rsp + 0x58]
cmp qword [rcx + 0x38], rax
lea rdx, [rsi + 0x108]
jne 0x46a4c4
mov rax, qword [rdx]
test rax, rax
je 0x46a6c2
cmp dword [rax + 8], 1
mov r8, qword [rax]
je 0x46a6ad
mov rdx, rax
jmp 0x46a5fe
mov rcx, qword [rdi + 0x20]
xor edx, edx
mov r13, qword [rcx + 0xb0]
mov rax, qword [rcx + 0x38]
add rax, r13
mov qword [rsp + 0x68], rax
mov rax, rbx
sub rax, rsi
div qword [rsp + 0x50]
imul rax, qword [rsp + 0x58]
xor edx, edx
div qword [rsp + 0x70]
mov qword [rcx + 0x60], rax
cmp qword [rsp + 0x68], r13
jbe 0x46a4f0
mov qword [rsp + 0x78], r10
lea rdx, [rbx + 0x10]
mov r8, r13
mov rcx, r14
mov rax, qword [rsp + 0x88]
call rax
add rbx, qword [rsp + 0x50]
add r13, qword [rsp + 0x58]
mov r10, qword [rsp + 0x78]
jmp 0x46a651
mov rbx, rsi
mov rsi, rbp
mov rbp, r10
mov rcx, rbx
mov r13, rsi
call sub.msvcrt.dll_free
jmp 0x469db7
test rax, rax
je 0x46a4c4
jmp 0x46a5e7
cmp rcx, qword [rax + 0x20]
jne 0x46a617
mov qword [rdx], r8
mov r10, rax
jmp 0x46a5fe
mov qword [rdx], r10
mov qword [r10], 0
mov qword [rsi + 0x110], r10
jmp 0x46a4c4
mov rax, qword [r8 + 0xe0]
mov rcx, r14
xor r8d, r8d
mov rdx, qword [rax + 0x18]
call fcn.004908c0
test eax, eax
jne 0x4683c8
mov rdx, qword [rsi + 0x90]
mov rcx, r14
call fcn.0046dd70
test eax, eax
jne 0x469aa0
jmp 0x4683c8
lea rcx, str._P:_warning:_creating_a_DT_TEXTREL_in_a_shared_object._n
call rax
jmp 0x4699de
lea rcx, str.warning:_section__s_is_being_made_into_a_note
mov rdx, rsi
mov rbp, qword [rsp + 0x50]
call fcn.0040e1e0
mov ecx, 0xf
call fcn.0040e3a0
jmp 0x4683c8
lea rcx, str.could_not_find_section__s
mov rdx, rsi
mov rbp, qword [rsp + 0x50]
call fcn.0040e1e0
jmp 0x4683c8
lea rsi, str..dynsym
jmp 0x469e8b
cmp rax, 8
ja 0x469eec
lea rdx, [rax - 0x11]
mov rsi, qword [r14 + 0xf0]
mov r11d, 8
mov r10d, 1
cmp rdx, 2
sbb r8d, r8d
xor edx, edx
and r8d, 5
mov ecx, dword [rsi + 0x2f4]
add r8d, 4
mov dword [rsp + 0x68], ecx
xor ecx, ecx
cmp dword [rsp + 0x68], r10d
jbe 0x46a8bc
mov r9, qword [rsi + 0x50]
mov r9, qword [r9 + r11]
cmp dword [r9 + 4], r8d
je 0x46a898
add r10d, 1
add r11, 8
jmp 0x46a7a6
cmp rax, 0xc
je 0x46a88c
jbe 0x46a768
cmp rax, 0xd
jne 0x469eec
mov rdx, qword [r15 + 0x90]
mov rcx, qword [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 1
call fcn.00492270
test rax, rax
je 0x469eec
movzx ecx, byte [rax + 0x18]
lea edx, [rcx - 3]
cmp dl, 1
ja 0x469eec
mov rdx, qword [rax + 0x30]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x118], rdx
mov rcx, qword [rax + 0x68]
test rcx, rcx
je 0x46a874
add rdx, qword [rax + 0x60]
mov rax, qword [rcx + 0x28]
add rax, rdx
mov qword [rsp + 0x118], rax
mov rax, qword [rdi + 0x2f8]
jmp 0x469edb
lea rcx, str._B:_Unable_to_sort_relocs___they_are_of_an_unknown_size
mov rdx, r14
xor r12d, r12d
call fcn.0040e1e0
mov ecx, 5
call fcn.0040e3a0
jmp 0x469db7
mov qword [rsp + 0x118], 0
mov rax, qword [rdi + 0x2f8]
jmp 0x469edb
mov rdx, qword [r15 + 0x88]
jmp 0x46a7ea
test byte [r9 + 8], 2
je 0x46a7c3
add rcx, qword [r9 + 0x20]
test rdx, rdx
mov r9, qword [r9 + 0x10]
je 0x46a8e5
cmp rdx, r9
cmova rdx, r9
jmp 0x46a7c3
cmp byte [rdi + 0x37c], 0
js 0x46a901
cmp rax, 0x12
je 0x46a8ed
cmp rax, 8
je 0x46a8ed
mov qword [rsp + 0x118], rdx
mov rax, qword [rdi + 0x2f8]
jmp 0x469edb
mov rdx, r9
jmp 0x46a7c3
mov qword [rsp + 0x118], rcx
mov rax, qword [rdi + 0x2f8]
jmp 0x469edb
mov rsi, qword [rsp + 0x48]
mov r8, qword [rsi + 0x198]
test r8, r8
je 0x46a8c5
mov r9, qword [r8 + 0x38]
sub rcx, r9
je 0x46a931
mov r10, qword [r8 + 0x68]
mov r8, qword [r8 + 0x60]
add r8, qword [r10 + 0x28]
cmp r8, rdx
jne 0x46a8c5
add rdx, r9
jmp 0x46a8c5
xor edx, edx
jmp 0x46a8c5