Function at 0x480100
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 0x47ed50
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 0x47ed70
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 0x47e9a7
mov r8, qword [rsp + 0x60]
test r8, r8
jne 0x47f7a2
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 0x47efa0
mov rbx, rcx
mov rcx, qword [0x00521260]
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 [0x00521260]
mov qword [rsp + 0x48], rcx
add rcx, 0x118
mov qword [rsp + 0x50], rcx
jmp 0x47ec40
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 0x47ec24
movzx eax, byte [rbx + 0x14]
and eax, 0xf
cmp al, 3
je 0x47ec24
mov rcx, qword [r12]
movzx eax, byte [rcx + 1]
and eax, 0x60
cmp al, 0x60
je 0x47ec24
mov eax, dword [rcx]
and eax, 0x18000
cmp eax, 0x18000
je 0x47ec24
mov eax, dword [rbx + 0x18]
sub eax, 1
cmp eax, 0xfffffefe
ja 0x47eaae
mov rax, qword [rdx + 0x68]
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x47ee82
cmp qword [rdx + 0x18], rax
setne al
test al, al
jne 0x47ec24
mov rax, qword [rsp + 0x58]
mov rcx, r13
mov r8d, dword [rbx + 0x10]
mov edx, dword [rax + 0x88]
call fcn.00461390
test rax, rax
mov rbp, rax
je 0x47eee0
mov rdx, qword [r12]
movzx eax, byte [rdx + 1]
and eax, 0x60
cmp al, 0x40
je 0x47eea0
mov eax, dword [rdx]
and eax, 0x18000
jne 0x47ee52
mov rax, qword [rsp + 0x118]
test byte [rax + 0x22], 0x80
je 0x47eb21
movzx eax, byte [rdx]
and eax, 3
cmp al, 2
je 0x47eb21
mov rax, qword [r13 + 8]
mov rdx, rbp
mov rcx, r13
call qword [rax + 0x220]
test eax, eax
jne 0x47ec24
movzx eax, byte [rbx + 0x14]
and eax, 0xf
cmp al, 4
je 0x47ee6c
mov r9d, dword [rsp + 0x68]
test r9d, r9d
je 0x47eef0
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.00468f70
cmp eax, 0xfffffeff
mov dword [rsp + 0x138], eax
je 0x47eee0
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 0x47ebe4
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 0x47ef75
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.004711e0
test eax, eax
je 0x47eee0
cmp eax, 1
jne 0x47ec1c
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 0x47efa0
mov dword [rsi], 0xffffffff
test byte [rax + 0xc85], 0x40
je 0x47ec5e
movzx eax, byte [rbx + 0x14]
shr al, 4
test al, al
jne 0x47eda0
mov edx, dword [rbx + 0x18]
test edx, edx
je 0x47ea20
cmp edx, 0xfffffff1
je 0x47edb0
cmp edx, 0xfffffff2
jne 0x47edd0
mov r14, qword [0x00521260]
mov qword [rsp + 0x118], r14
mov rax, r14
jmp 0x47ea32
mov rax, qword [r12 + 0x28]
lea r8, [rsp + 0x110]
mov rdx, r15
mov rcx, r13
mov qword [rsp + 0x110], rax
call fcn.00426380
test eax, eax
je 0x47eee0
mov eax, dword [r15 + 0x20]
nop
test al, 4
jne 0x47f180
mov rax, qword [rbp + 0x268]
test rax, rax
je 0x47ecee
mov r9, qword [rsp + 0x110]
mov r8, r15
mov rdx, qword [r12]
mov rcx, qword [rsp + 0x40]
call rax
test eax, eax
jne 0x47ed40
movzx eax, word [r15 + 0x24]
shr ax, 7
and eax, 7
cmp al, 2
je 0x47fc07
jbe 0x47f810
cmp al, 3
je 0x47fca4
cmp al, 6
jne 0x47fc30
mov r9, qword [rsp + 0x110]
mov r8, r15
mov rdx, qword [r12]
mov rcx, qword [rsp + 0x40]
call fcn.00489ab0
test eax, eax
je 0x47eee0
nop dword [rax]
mov r15, qword [r15 + 0x10]
test r15, r15
jne 0x47f030
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 0x47e96c
mov qword [r15], 0
jmp 0x47ec24
mov rax, qword [rsp + 0x80]
mov r14, qword [rsp + 0x78]
mov qword [rsp + 0x118], rax
jmp 0x47ea32
mov rcx, r13
call fcn.00463f80
test rax, rax
mov qword [rsp + 0x118], rax
je 0x47eda0
movzx edx, word [rax + 0x24]
mov r14, qword [0x00521260]
and dx, 0x380
cmp dx, 0x100
jne 0x47ea32
movzx edx, byte [rbx + 0x14]
mov r14, qword [rsp + 0xa0]
and edx, 0xf
cmp dl, 3
je 0x47ea32
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.004aa530
mov r14, qword [0x00521260]
mov qword [rbx], rax
mov rax, qword [rsp + 0x118]
jmp 0x47ea32
cmp eax, 0x10000
je 0x47eb09
movzx eax, byte [rbx + 0x14]
and eax, 0xf
cmp al, 4
jne 0x47eb30
test byte [r13 + 0x44], 0x40
jne 0x47ec24
add qword [r12 + 0x70], 1
jmp 0x47eb3e
mov rcx, qword [rsp + 0x40]
cmp qword [rcx + 0x90], rax
setne al
jmp 0x47eaa6
mov rcx, qword [rdx + 0x30]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbp
call fcn.00427860
test rax, rax
je 0x47ec24
mov rdx, qword [r12]
jmp 0x47eae4
lea rcx, str.error:__B:_size_of_section__A_is_not_multiple_of_address_size
mov r8, r15
mov rdx, r13
call fcn.00423f70
mov ecx, 0x11
call fcn.00424130
xor eax, eax
jmp 0x47ed55
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 0x47ef4e
mov rdx, qword [r13]
mov qword [rsp + 0x20], 0
lea r9, [r14 + 0x230]
mov rcx, r12
call fcn.004711e0
test eax, eax
jne 0x47eb3e
xor eax, eax
jmp 0x47ed55
mov rdx, qword [rcx + 0x28]
mov rdx, qword [rdx + 0x160]
test rdx, rdx
je 0x47fcd0
sub rax, qword [rdx + 0x28]
mov qword [rsp + 0x120], rax
jmp 0x47ebe4
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 0x47ed50
mov rax, qword [0x00521260]
add rax, 0x230
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xb0], rax
nop
test byte [r15 + 0x24], 2
je 0x47ed40
mov rdx, qword [r12]
mov eax, dword [r15 + 0x20]
test byte [rdx + 1], 0x10
jne 0x47f05d
mov ecx, eax
and ecx, 0x2100000
cmp ecx, 0x2000000
je 0x47f0e1
test ah, 1
je 0x47ed40
mov rcx, qword [r15 + 0x38]
test rcx, rcx
jne 0x47f077
test al, 4
je 0x47ed40
test eax, 0x100000
jne 0x47ed40
mov rdx, qword [r15 + 0xe0]
mov rdx, qword [rdx + 0x48]
test rdx, rdx
je 0x47ec92
test byte [rbp + 0x37f], 2
mov qword [rsp + 0x110], rdx
je 0x47ecc0
mov r8, qword [r15 + 0x40]
test r8, r8
je 0x47ecc0
cmp rcx, r8
jbe 0x47ecc0
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 0x47ecc0
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 0x47f10b
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x28ab
call fcn.004240b0
mov eax, esi
cmp rax, qword [rsp + 0x60]
jae 0x47f990
mov rdx, qword [r13 + 0xf0]
test byte [rdx + 0xc85], 0x40
je 0x47f138
mov rdx, qword [r12 + 0x60]
cmp qword [rdx + rax*8], 0
je 0x47f990
mov rdx, rax
shl rdx, 5
add rdx, qword [rsp + 0x70]
movzx ecx, byte [rdx + 0x14]
and ecx, 0xf
cmp cl, 3
je 0x47f8b8
mov rcx, qword [r12 + 0x58]
lea rdi, [rax*4]
mov esi, dword [rcx + rax*4]
cmp esi, 0xffffffff
je 0x47fe66
mov rax, qword [rbx + 0xe0]
mov dword [rax + 0x2c], esi
mov eax, dword [r15 + 0x20]
jmp 0x47f05d
mov dword [rsp + 0x20], 0
mov r9, qword [r12 + 0x38]
mov rdx, r15
mov rcx, r13
mov r8, qword [r12 + 0x30]
call fcn.00476d70
test rax, rax
mov qword [rsp + 0x98], rax
je 0x47f860
mov rdx, qword [r15 + 0x38]
cmp rdx, qword [rsp + 0xa8]
jbe 0x47f214
mov rax, qword [r15]
lea rdi, [0x004fb0a9]
mov ecx, 6
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
je 0x47f7f0
lea rdi, [0x004fb0b0]
mov ecx, 6
mov rsi, rax
repe cmpsb byte [rsi], byte [rdi]
jne 0x47f214
mov rcx, qword [r15 + 0x68]
lea rdi, str..fini_array
mov rsi, qword [rcx]
mov ecx, 0xc
repe cmpsb byte [rsi], byte [rdi]
jne 0x47f214
movzx eax, byte [rax + 6]
test al, al
je 0x47f954
cmp al, 0x2e
je 0x47f954
movzx ecx, word [r15 + 0x24]
shr cx, 7
and ecx, 7
cmp cl, 7
je 0x47f240
mov eax, 1
shl rax, cl
test al, 0x4a
je 0x47f240
mov dword [rsp + 0x50], 0xffffffff
jmp 0x47f274
mov rax, qword [r15 + 0xf0]
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x360]
mov rax, qword [rax + 0x238]
test rax, rax
je 0x47f267
mov rcx, r15
call rax
test eax, eax
jne 0x47f231
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 0x47f385
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 0x47f360
mov ebx, ebx
cmp qword [rsp + 0x60], rbx
jbe 0x47f660
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 0x47f2f9
test r9, r9
je 0x47f660
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.00461950
mov qword [rsp + 0x118], rax
and edi, 0xf
lea eax, [rdi - 8]
cmp eax, 1
jbe 0x47f6d5
cmp dword [rsp + 0x50], 0xffffffff
je 0x47f360
test r14, r14
je 0x47f360
mov rbx, qword [r14]
test rbx, rbx
je 0x47f360
mov rax, qword [rsp + 0xb0]
cmp rbx, rax
je 0x47f360
cmp qword [rbx + 0x68], rax
je 0x47f8de
nop dword [rax]
add rsi, 0x18
cmp rbp, rsi
ja 0x47f2b0
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 0x47eee0
mov rcx, qword [r12]
movzx r8d, byte [rcx]
and r8d, 3
cmp eax, 2
je 0x47f3f5
cmp r8b, 2
je 0x47f3f5
test byte [rcx + 3], 8
je 0x47ecc8
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 0x47f48d
mov r9, qword [rbx + 0x38]
test r9, r9
je 0x47f469
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 0x47f49b
add r14, qword [r10 + 0x28]
mov rax, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x68]
cmp rax, rdi
jae 0x4800af
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 0x47f60a
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 0x47f523
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 0x47f5f4
mov r11d, r8d
mov rcx, qword [rsp + 0x198]
cmp qword [rsp + 0x60], r11
mov rcx, qword [rcx + 0xf0]
jbe 0x47fa50
mov r9, qword [r12 + 0x60]
test byte [rcx + 0xc85], 0x40
mov r9, qword [r9 + r11*8]
je 0x47f573
test r9, r9
je 0x47fa50
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 0x47f9e0
mov rcx, qword [r12 + 0x58]
mov r10d, dword [rcx + r11*4]
cmp r10d, 0xffffffff
je 0x47fac0
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 0x47fd50
mov rdx, qword [r12]
mov rax, qword [rbp + 0x2f8]
movzx eax, byte [rax + 9]
cmp eax, edi
jne 0x47f61f
add r13, 8
xor edi, edi
cmp qword [rsp + 0x50], rbx
je 0x47ffcf
mov r9, qword [rbx]
mov r8, r15
mov rcx, rsi
call fcn.0046f820
cmp rax, 0xfffffffffffffffd
mov qword [rbx], rax
jbe 0x47f500
mov qword [rbx], r14
mov qword [rbx + 8], 0
mov qword [rbx + 0x10], 0
jmp 0x47f5f4
mov rax, rbx
mov rdi, qword [rsp + 0x78]
sub rax, qword [rsp + 0x90]
mov rax, qword [rdi + rax*8]
test rax, rax
jne 0x47f684
jmp 0x47ff5e
mov rax, qword [rax + 0x28]
movzx edx, byte [rax + 0x18]
lea ecx, [rdx - 6]
cmp cl, 1
jbe 0x47f680
test byte [rax + 0x19], 3
movzx edi, byte [rax + 0x58]
je 0x47f6a6
sub edx, 3
cmp dl, 1
jbe 0x47f880
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 0x47f331
mov rax, qword [r13]
movzx eax, byte [rax]
and eax, 3
cmp al, 2
je 0x47f331
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.004721d0
test eax, eax
je 0x47eee0
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x120]
cmp rcx, rbx
ja 0x47ff81
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 0x47f784
mov rdx, qword [rdx + 0x28]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
jbe 0x47f775
mov rax, qword [0x00521260]
mov byte [rdx + 0x18], 3
mov qword [rdx + 0x30], rdi
add rax, 0x230
mov qword [rdx + 0x28], rax
jmp 0x47f360
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.00461570
test rax, rax
mov qword [rsp + 0x70], rax
je 0x47eee0
mov rax, qword [r13 + 0xf0]
jmp 0x47e9ac
mov rcx, qword [r15 + 0x68]
lea rdi, str..init_array
mov rsi, qword [rcx]
mov ecx, 0xc
repe cmpsb byte [rsi], byte [rdi]
je 0x47f200
jmp 0x47f1d6
cmp al, 1
jne 0x47fc30
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.004acc90
test eax, eax
jne 0x47ed40
jmp 0x47eee0
mov r8d, dword [r15 + 0x88]
test r8d, r8d
je 0x47f1ae
xor eax, eax
jmp 0x47ed55
mov rdx, qword [rax + 0x28]
test byte [rdx + 0x22], 0x10
jne 0x47f6a6
mov rdx, qword [rdx + 0xf0]
test rdx, rdx
je 0x47f6a6
test byte [rdx + 0x42], 0x20
je 0x47f6a6
mov byte [rax + 0x18], 1
xor r14d, r14d
mov qword [rax + 0x28], rdx
jmp 0x47f6bd
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 0x47f05d
movzx eax, word [rbx + 0x24]
and ax, 0x380
sub ax, 0x100
test ax, 0xfe80
je 0x47f360
test byte [rsp + 0x50], 1
je 0x47f92c
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 0x47f360
mov rdx, qword [r13]
mov rcx, rbx
call fcn.0047e830
test rax, rax
je 0x47f360
mov qword [r14], rax
jmp 0x47f360
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 0x47eec4
or dword [r15 + 0x20], 0x4000000
jmp 0x47f214
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 0x47f9bf
nop dword [rax]
mov rdx, qword [rdx + 0x28]
movzx eax, byte [rdx + 0x18]
sub eax, 6
cmp al, 1
jbe 0x47f9b0
mov rax, qword [rbx + 0xe0]
mov dword [rdx + 0x38], 0xfffffffe
mov dword [rax + 0x2c], 0xfffffffe
mov eax, dword [r15 + 0x20]
jmp 0x47f05d
cmp r9, qword [rsp + 0xa0]
je 0x47fd05
test r9, r9
je 0x480040
cmp qword [r9 + 0xf0], 0
je 0x480040
mov rdx, qword [r9 + 0x68]
cmp rdx, qword [rsp + 0xa0]
je 0x47fd0d
mov ecx, dword [rdx + 0xd8]
test ecx, ecx
je 0x47fe24
mov r10d, ecx
movzx ecx, byte [rsp + 0x48]
shl r10, cl
mov edx, dword [rsp + 0xc4]
test edx, edx
je 0x47f5e5
mov rdx, qword [r9 + 0x60]
add qword [rbx + 0x10], rdx
jmp 0x47f5e5
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 0x47fa81
mov r8, qword [r8 + 0x28]
movzx eax, byte [r8 + 0x18]
sub eax, 6
cmp al, 1
jbe 0x47fa71
mov ecx, dword [r8 + 0x38]
test ecx, ecx
js 0x47faaa
mov edx, 0x2a46
mov qword [rsp + 0xc8], r8
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.004240b0
mov r8, qword [rsp + 0xc8]
mov dword [r8 + 0x38], 0xfffffffe
mov qword [r13], r8
jmp 0x47f5f4
movzx eax, byte [rdx + 1]
and eax, 0x60
cmp al, 0x60
je 0x48009e
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.00461390
test rax, rax
mov qword [rsp + 0xc8], rax
je 0x47eee0
mov r9, qword [rsp + 0xd0]
mov rcx, rsi
mov r8, qword [r9 + 0x68]
mov rdx, r8
mov qword [rsp + 0xe0], r8
call fcn.00468f70
cmp eax, 0xfffffeff
mov dword [rsp + 0x138], eax
je 0x47eee0
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 0x47fb9c
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 0x47ff39
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.004711e0
test eax, eax
je 0x47eee0
cmp eax, 1
jne 0x4800c0
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 0x47f5dd
mov rax, qword [r15 + 0xe0]
mov rdx, r15
mov rcx, qword [rsp + 0x40]
mov r8, qword [rax + 0xd8]
call fcn.004aa2e0
test eax, eax
jne 0x47ed40
jmp 0x47eee0
test byte [r15 + 0x21], 0x80
jne 0x47ed40
mov r14, qword [rsp + 0x40]
mov rsi, qword [r15 + 0x60]
mov rbx, qword [r15 + 0x38]
mov rcx, r14
call fcn.00423de0
mov eax, eax
imul rsi, rax
test byte [r15 + 0x23], 4
je 0x480006
mov rdi, qword [rsp + 0xa8]
jmp 0x47fc77
test rbx, rbx
je 0x47ed40
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.0042ac50
test eax, eax
jne 0x47fc6b
xor eax, eax
jmp 0x47ed55
mov r9, qword [rsp + 0x110]
mov r8, r15
mov rdx, qword [r12]
mov rcx, qword [rsp + 0x40]
call fcn.00489cf0
test eax, eax
jne 0x47ed40
jmp 0x47eee0
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x287d
call fcn.004240b0
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 0x47ef89
xor r10d, r10d
jmp 0x47fa30
mov rdx, qword [r9 + 0xc8]
xor r10d, r10d
test rdx, rdx
je 0x47fa30
mov rdx, qword [rdx + 0x68]
test rdx, rdx
je 0x47fa30
mov rcx, qword [rdx + 0x28]
sub qword [rbx + 0x10], rcx
cmp rdx, qword [rsp + 0xa0]
je 0x47fa30
jmp 0x47fa17
mov rax, qword [rsp + 0xf8]
mov r13, qword [rsp + 0x198]
mov rbx, qword [rax + 0x58]
test rbx, rbx
je 0x47fdd2
cmp qword [rbx + 0x20], 0
je 0x47fdd2
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 0x47eee0
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x47fdb3
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 0x47ecc8
cmp qword [r8 + 0x20], 0
je 0x47ecc8
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 0x47ecc8
xor eax, eax
jmp 0x47ed55
mov r8, qword [rdx + 0x28]
mov rcx, rsi
mov qword [rsp + 0xc8], r9
add qword [rbx + 0x10], r8
call fcn.004a90e0
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 0x47fa30
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.00461390
test rax, rax
mov r14, rax
je 0x47eee0
mov rdx, rsi
mov rsi, qword [rsp + 0x40]
mov rcx, rsi
call fcn.00468f70
cmp eax, 0xfffffeff
mov dword [rsp + 0x138], eax
je 0x47eee0
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.004711e0
test eax, eax
je 0x47eee0
cmp eax, 1
jne 0x4800d8
add rdi, qword [r12 + 0x58]
mov dword [rdi], esi
jmp 0x47f16d
mov rdx, qword [rdx + 0x28]
mov rdx, qword [rdx + 0x160]
test rdx, rdx
je 0x480051
sub rax, qword [rdx + 0x28]
mov qword [rsp + 0x120], rax
jmp 0x47fb9c
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.00423f70
mov ecx, 0x11
call fcn.00424130
xor eax, eax
jmp 0x47ed55
mov rax, rbx
shl rax, 5
add rax, qword [rsp + 0x70]
movzx edx, byte [rax + 0x14]
shr dl, 4
test dl, dl
je 0x480031
mov rax, qword [r12 + 0xf0]
test byte [rax + 0xc85], 0x40
jne 0x47f75f
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x1f97
call fcn.004240b0
mov rax, qword [r12 + 0xf0]
jmp 0x47f75f
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 0x47f62a
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.0042ac50
test eax, eax
jne 0x47ed40
jmp 0x47eee0
mov dword [rax + 0x18], 0xfffffff1
mov qword [rax], rdi
jmp 0x47f360
mov ecx, 0x11
call fcn.00424130
xor eax, eax
jmp 0x47ed55
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.004240b0
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 0x47ff4d
mov ecx, 5
call fcn.00424130
xor eax, eax
jmp 0x47ed55
mov qword [rsp + 0x100], 0
jmp 0x47fd64
lea r8, str.elf_link_input_bfd
mov edx, 0x2abc
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.004240d0
lea r8, str.elf_link_input_bfd
mov edx, 0x28de
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.004240d0
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 0x480142
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 0x480540
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 0x480196
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.00485cf0
test rax, rax
mov qword [rsp + 0x170], rax
je 0x480128
mov eax, dword [rsp + 0x78]
test eax, eax
jne 0x480550
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 0x480fe0
mov qword [rsp + 0x98], 0
xor r13d, r13d
lea rbp, str..gnu.attributes
jmp 0x4802aa
mov r12, qword [r12 + 0x10]
test r12, r12
je 0x480320
test rbx, rbx
mov rsi, qword [r12]
je 0x4802c2
mov rdx, rbx
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x4802ce
mov ecx, 0x10
mov rdi, rbp
repe cmpsb byte [rsi], byte [rdi]
jne 0x4802a0
mov rax, qword [r12 + 0x108]
test rax, rax
je 0x4802f9
nop dword [rax + rax]
cmp dword [rax + 8], 1
jne 0x4802f1
mov rdx, qword [rax + 0x20]
and dword [rdx + 0x20], 0xfffffeff
mov rax, qword [rax]
test rax, rax
jne 0x4802e0
mov rcx, r14
call fcn.00484f60
test rax, rax
mov r13, rax
jne 0x480590
or dword [r12 + 0x20], 0x8000
mov r12, qword [r12 + 0x10]
test r12, r12
jne 0x4802aa
mov rsi, qword [r14 + 0x88]
mov qword [rsp + 0xa0], r13
test rsi, rsi
je 0x481519
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 0x480770
mov r15d, 1
jmp 0x4803b1
cmp eax, 1
je 0x4805d0
mov rbx, qword [rbx]
test rbx, rbx
je 0x4803ef
mov eax, dword [rbx + 8]
lea edx, [rax - 3]
cmp edx, 1
ja 0x4803a0
mov edx, 1
xor ecx, ecx
xor r8d, r8d
add dword [rsi + 0x88], edx
cmp eax, 1
jne 0x4803da
test r14b, r14b
jne 0x480711
test byte [rsi + 0x25], 4
je 0x4805c0
mov rbx, qword [rbx]
add dword [rbp + 0x78], edx
test rbx, rbx
jne 0x4803b1
mov r8d, dword [rsi + 0x88]
mov eax, dword [rsi + 0x20]
test r8d, r8d
je 0x480773
or eax, 4
mov dword [rsi + 0x20], eax
movabs rax, 0x100000001
test qword [rsi + 0x20], rax
jne 0x480420
mov qword [rsi + 0x28], 0
mov rsi, qword [rsi + 0x10]
test rsi, rsi
jne 0x480371
movzx eax, byte [r9]
mov r14, r10
mov r15, r9
and eax, 3
cmp al, 2
je 0x480458
and r13d, 1
je 0x480458
mov rcx, qword [rsp + 0x48]
lea rdx, [0x00472030]
mov r8, r10
call fcn.004a6790
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 0x480c84
mov rdx, r15
mov rcx, r14
call fcn.004656d0
test eax, eax
je 0x480820
mov rsi, qword [r14 + 0x88]
test rsi, rsi
jne 0x4804af
jmp 0x4808c0
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x4808c0
test byte [rsi + 0x20], 4
mov rbx, qword [rsi + 0xe0]
je 0x4804f2
cmp qword [rbx + 0x58], 0
je 0x4804d7
lea rdx, [rbx + 0x58]
mov rcx, r14
call fcn.00471ba0
test eax, eax
je 0x480820
cmp qword [rbx + 0x70], 0
je 0x4804f2
lea rdx, [rbx + 0x70]
mov rcx, r14
call fcn.00471ba0
test eax, eax
je 0x480820
cmp qword [rbx + 0x18], 0xffffffffffffffff
mov dword [rbx + 0x60], 0
mov dword [rbx + 0x78], 0
jne 0x4804a2
test byte [rsi + 0x23], 8
je 0x481501
cmp qword [rbx + 0x48], 0
jne 0x481501
mov rcx, qword [rbx + 0x20]
call fcn.004280a0
test rax, rax
je 0x480820
mov qword [rbx + 0x48], rax
jmp 0x4804a2
or dword [rcx + 0x40], 0x800
jmp 0x480162
mov rdi, qword [rsp + 0x90]
lea rdx, str..hash
mov rcx, rdi
call fcn.0042a660
lea rdx, str..gnu.version
mov rcx, rdi
mov qword [rsp + 0x178], rax
call fcn.0042a660
mov qword [rsp + 0x180], rax
jmp 0x4801e0
mov r8, rax
mov rdx, r12
mov rcx, r14
call fcn.0042ac10
mov qword [rsp + 0x98], r12
mov qword [r12 + 0x108], 0
jmp 0x4802a0
add dword [rbp + 0x60], edx
jmp 0x4803a9
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 0x4803a9
test byte [rax + 0x41], 8
jne 0x4803a9
mov rcx, qword [rax + 0xf0]
test byte [rcx + 0xc85], 0x40
je 0x4808b0
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 0x480677
cmp qword [rcx + 0x2e0], 0
cmove rax, rdx
mov qword [rsp + 0x70], rax
mov eax, dword [rbp + 4]
cmp eax, 9
je 0x480840
cmp eax, 4
je 0x480840
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x480c9a
mov rax, qword [rsp + 0x60]
mov edx, dword [rdi + 0x88]
mov rax, qword [rax + 0x1f0]
test rax, rax
je 0x4813a8
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 0x480856
test edx, edx
je 0x4803a9
mov eax, dword [rbx + 8]
add edx, r8d
jmp 0x4803c6
mov rdx, qword [rcx + 0x58]
test rdx, rdx
je 0x48073c
mov rdi, qword [rdx + 0x38]
xor eax, eax
mov r11d, dword [rbp + 0x60]
test rdi, rdi
je 0x480732
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 0x4803a9
mov r11, qword [rdx + 0x38]
xor eax, eax
mov ecx, dword [rbp + 0x78]
test r11, r11
je 0x480760
mov rax, qword [rdx + 0x20]
xor edx, edx
div r11
add r8d, ecx
add r8d, eax
mov dword [rbp + 0x78], r8d
jmp 0x4803a9
mov eax, dword [rsi + 0x20]
and eax, 0xfffffffb
mov dword [rsi + 0x20], eax
jmp 0x480408
cmp dword [rdi + 8], 1
lea rbp, [rsp + 0x160]
mov r13, r15
jne 0x480828
mov rax, qword [r15 + 8]
cmp dword [rax + 8], 5
jne 0x480828
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 0x480828
cmp dl, 1
je 0x481c7b
jb 0x481c6f
lea rsi, str.ELFCLASS64
cmp dl, 2
jne 0x481c57
cmp al, 1
je 0x481c4b
jb 0x4818d7
lea rbx, str.ELFCLASS64
cmp al, 2
jne 0x4818bf
mov ecx, 3
call fcn.00424130
mov r9, rsi
mov r8, rbx
mov rdx, r13
lea rcx, str._B:_file_class__s_incompatible_with__s
call fcn.00423f70
nop dword [rax + rax]
lea rbp, [rsp + 0x160]
lea rcx, [r14 + 0x88]
mov rdx, rbp
call fcn.00471e20
jmp 0x480128
and r11d, 4
mov rcx, qword [rdi + 0xe0]
je 0x4803a9
xor r8d, r8d
xor edx, edx
mov rax, qword [rcx + 0x58]
mov r11, qword [rcx + 0x70]
test rax, rax
je 0x480ce5
test r11, r11
mov rax, qword [rax + 0x20]
je 0x480874
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 0x4806fe
mov eax, dword [rcx + 0x8c]
jmp 0x48064b
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.004280a0
test rax, rax
mov qword [rdi + 0xa8], rax
je 0x480820
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 0x480b36
cmp byte [rsp + 0x68], 0
jne 0x480b36
test r12, r12
jne 0x48126e
cmp qword [rsp + 0x88], 0
jne 0x4812f0
cmp qword [rsp + 0x80], 0
jne 0x481313
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x2f8]
movzx ecx, byte [rax + 5]
imul rcx, rbx
call fcn.004280a0
test rax, rax
mov qword [rsp + 0x1a0], rax
je 0x480820
mov rcx, rbx
shl rcx, 5
call fcn.004280a0
test rax, rax
mov qword [rsp + 0x1b0], rax
je 0x480820
lea rcx, [rbx*4]
call fcn.004280a0
test rax, rax
mov qword [rsp + 0x1b8], rax
je 0x480820
lea rcx, [rbx*8]
call fcn.004280a0
test rax, rax
mov qword [rsp + 0x1c0], rax
je 0x480820
cmp qword [rsp + 0x70], 0
jne 0x48136d
mov rax, qword [rsp + 0x48]
xor edx, edx
mov r8, qword [rax + 0x160]
test r8, r8
mov rax, r8
je 0x480ab8
mov ecx, dword [rax + 0x20]
test ch, 4
je 0x480a80
mov rdx, qword [rax + 0x38]
test rdx, rdx
jne 0x480a73
and ch, 1
jne 0x480a73
mov rcx, qword [rax + 0x110]
test rcx, rcx
je 0x480a73
mov rdx, qword [rcx + 0x18]
add rdx, qword [rcx + 0x10]
add rdx, qword [rax + 0x28]
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x480a49
mov rax, qword [rsp + 0x60]
mov r9, qword [r8 + 0x28]
cmp dword [rax + 0x370], 1
jne 0x480aa9
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 0x480d21
mov rdi, r10
mov rbx, qword [rdi + 0x108]
mov rax, qword [r14 + 8]
test rbx, rbx
mov r10, qword [rax + 0x360]
je 0x480d14
xor r8d, r8d
xor r13d, r13d
xor esi, esi
xor r12d, r12d
jmp 0x480b0f
add esi, 1
test esi, esi
je 0x480b03
test r12d, r12d
jne 0x48102a
mov rbx, qword [rbx]
test rbx, rbx
je 0x481078
cmp dword [rbx + 8], 1
jne 0x480af3
mov rbp, qword [rbx + 0x20]
mov r9, qword [rbp + 0xf0]
mov rax, qword [r9 + 8]
cmp dword [rax + 8], 5
je 0x480eaf
add esi, 1
mov r13, rbp
jmp 0x480af6
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.00464880
mov r9, qword [0x00521260]
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.004711e0
cmp eax, 1
jne 0x480828
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 0x48097d
mov edi, 1
nop dword [rax]
mov edx, edi
mov rcx, r14
call fcn.00463f80
test rax, rax
je 0x480c6d
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 0x480c4b
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.004711e0
cmp eax, 1
jne 0x480828
mov rax, qword [r14 + 0xf0]
add edi, 1
cmp dword [rax + 0x2f4], edi
ja 0x480c10
jmp 0x48097d
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x2e02
call fcn.004240b0
jmp 0x48047e
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x1e8]
test rax, rax
je 0x480840
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 0x4806ed
xor eax, eax
test r11, r11
jne 0x480870
jmp 0x48088b
lea r9, [0x00471410]
mov r8d, 8
xor edx, edx
mov rcx, rbp
call sub.msvcrt.dll_qsort
mov rcx, rbp
call fcn.004d4f88
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x480acb
mov rcx, r15
call fcn.0048a9f0
test eax, eax
je 0x480128
mov rax, qword [r15 + 0x60]
test rax, rax
je 0x480d4a
and byte [rax + 0x43], 0xbf
mov rax, qword [rax + 0xe8]
test rax, rax
jne 0x480d3a
mov rbx, qword [r14 + 0x88]
test rbx, rbx
je 0x480f75
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 0x480f65
lea rax, [rsp + 0x160]
mov rdi, rbx
mov qword [rsp + 0xb8], rax
nop dword [rax]
mov eax, dword [rdi + 8]
cmp eax, 1
je 0x481131
sub eax, 3
cmp eax, 1
ja 0x480f40
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.004ab6e0
test rax, rax
mov rbp, rax
je 0x481391
mov rax, qword [rdi + 0x20]
cmp qword [rsi + 0x58], 0
mov rbx, qword [rax + 0x10]
je 0x48128c
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 0x481216
mov eax, dword [r8 + 0xd8]
test eax, eax
mov dword [rsp + 0x58], eax
je 0x4814b5
mov qword [r11], 0
mov eax, dword [rbp + 0x30]
test eax, eax
je 0x480e43
test rbx, rbx
jne 0x4813b0
movzx eax, byte [r12]
mov rcx, qword [rdi + 0x10]
and eax, 3
cmp al, 2
je 0x480e57
add rcx, qword [r13 + 0x28]
mov rax, qword [rsp + 0x70]
mov r9, qword [rax + 0x2f8]
movzx edx, byte [r9 + 9]
test edx, edx
je 0x4811a0
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 0x4811a0
add rdx, 0x18
jmp 0x480e8a
mov rdx, qword [r9 + 0xf0]
mov rax, qword [r10 + 0x2f8]
movzx eax, byte [rax + 0xc]
cmp byte [rdx + 4], al
jne 0x480b2e
mov rdx, rbp
mov rcx, r9
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x58], r9
call fcn.00468f70
mov r10, qword [rsp + 0x70]
test eax, eax
mov r8, qword [rsp + 0x80]
je 0x480b2e
mov r9, qword [rsp + 0x58]
mov rcx, qword [r9 + 0xf0]
mov edx, dword [rcx + 0x2f4]
cmp eax, edx
jae 0x480b2e
mov rcx, qword [rcx + 0x50]
mov eax, eax
mov rax, qword [rcx + rax*8]
test byte [rax + 8], 0x80
je 0x480b2e
cmp edx, dword [rax + 0x28]
jbe 0x480b2e
add r12d, 1
mov r8, rbp
jmp 0x480af6
mov r9, rdi
mov r8, r13
mov rdx, r12
mov rcx, r14
call fcn.004a8860
test eax, eax
je 0x48077e
mov rdi, qword [rdi]
test rdi, rdi
jne 0x480da0
mov r13, qword [r13 + 0x10]
test r13, r13
jne 0x480d76
mov r15, r12
test byte [r15 + 4], 0x10
jne 0x48156b
mov rbx, qword [r15 + 0x60]
test rbx, rbx
jne 0x480fa0
jmp 0x48156b
mov rbx, qword [rbx + 0xe8]
test rbx, rbx
je 0x48156b
mov rax, qword [rbx + 8]
cmp dword [rax + 8], 5
jne 0x480f90
mov rax, qword [rbx + 0xf0]
mov rcx, qword [rax + 0x358]
test rcx, rcx
je 0x480f90
call fcn.004d4f88
mov rax, qword [rbx + 0xf0]
mov qword [rax + 0x358], 0
jmp 0x480f90
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 0x480458
test r13, r13
mov r10, rdi
je 0x481202
test r8, r8
je 0x481202
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.00423f70
mov ecx, 0x11
xor r13d, r13d
call fcn.00424130
jmp 0x48012b
test r12d, r12d
je 0x480d14
movsxd rcx, r12d
shl rcx, 3
call fcn.004280a0
test rax, rax
mov rbp, rax
je 0x480128
mov rax, qword [rdi + 0x108]
test rax, rax
je 0x480cf5
mov ebx, 1
jmp 0x4810b3
mov rbx, rdx
mov qword [rbp + rbx*8 - 8], rax
mov rax, qword [rax]
lea rdx, [rbx + 1]
test rax, rax
jne 0x4810b0
movsxd rdx, ebx
mov r8d, 8
mov rcx, rbp
lea r9, [0x00471410]
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.00423de0
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 0x4810e9
jmp 0x480d0c
mov rax, qword [rdi + 0x20]
mov r15, qword [rax + 0xf0]
mov rax, qword [r15 + 8]
cmp dword [rax + 8], 5
jne 0x480f40
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 0x480f40
test byte [r15 + 0x43], 0x40
jne 0x480f59
mov rcx, qword [rsp + 0xb8]
mov rdx, r15
mov rbp, rcx
call fcn.0047e8f0
test eax, eax
je 0x480828
or byte [r15 + 0x43], 0x40
jmp 0x480f59
cmp byte [r9 + 0xa], 0x20
mov edx, dword [rbp]
je 0x4812d7
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 0x4812b7
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 0x480f59
lea rcx, str._A_has_both_ordered_and_unordered_sections
mov rdx, r10
call fcn.00423f70
jmp 0x481066
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.004a6500
test rax, rax
je 0x48133e
movzx ecx, byte [rax + 0x18]
mov r11, qword [rsp + 0x58]
lea edx, [rcx - 3]
cmp dl, 1
jbe 0x4814db
mov dword [rax + 0x38], 0xfffffffe
mov dword [rsp + 0x58], 0
mov qword [r11], rax
jmp 0x480e33
mov rcx, r12
call fcn.004280a0
test rax, rax
mov qword [rsp + 0x188], rax
jne 0x480986
jmp 0x480820
cmp qword [rsi + 0x70], 0
je 0x48129c
add rsi, 0x70
jmp 0x480e00
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x2b55
call fcn.004240b0
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 0x4811f9
mov eax, dword [rsp + 0x58]
movzx edx, dl
shl eax, 8
add eax, edx
mov qword [rsp + 0x118], rax
jmp 0x4811c2
mov rcx, qword [rsp + 0x88]
call fcn.004280a0
test rax, rax
mov qword [rsp + 0x190], rax
jne 0x480995
jmp 0x480820
mov rax, qword [rsp + 0x80]
lea rcx, [rax + rax*2]
shl rcx, 3
call fcn.004280a0
test rax, rax
mov qword [rsp + 0x198], rax
jne 0x4809a4
jmp 0x480820
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 0x480e33
mov rcx, qword [rsp + 0x70]
shl rcx, 2
call fcn.004280a0
test rax, rax
mov qword [rsp + 0x1a8], rax
jne 0x480a33
jmp 0x480820
lea rbp, [rsp + 0x160]
mov ecx, 0x11
call fcn.00424130
jmp 0x480828
xor r8d, r8d
jmp 0x4806ed
mov rcx, rbp
call fcn.004aa780
mov eax, eax
mov rcx, rax
mov qword [rsp + 0xa8], rax
call fcn.00428210
test rax, rax
mov qword [rsp + 0x80], rax
jne 0x4813e6
cmp qword [rsp + 0xa8], 0
jne 0x480820
mov r9, qword [rsp + 0x80]
mov r8, rbx
mov rdx, r14
mov rcx, rbp
call fcn.004ab170
cmp eax, 2
je 0x48144d
cmp eax, 3
jne 0x481553
mov rax, qword [rdi + 0x20]
cmp dword [rdi + 8], 3
mov r8, qword [rax + 8]
je 0x48154b
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.00423de0
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.0042ac50
mov rcx, qword [rsp + 0x80]
mov dword [rsp + 0xa8], eax
call fcn.004d4f88
mov eax, dword [rsp + 0xa8]
test eax, eax
jne 0x480e43
jmp 0x480820
mov edx, 0x2b5d
mov qword [rsp + 0x80], r11
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.004240b0
mov r11, qword [rsp + 0x80]
jmp 0x480e2c
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 0x480e33
lea r8, str.bfd_elf_final_link
mov edx, 0x2e21
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.004240d0
mov qword [rsp + 0x58], 0
xor r12d, r12d
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
jmp 0x480458
mov r8, qword [r8]
jmp 0x48141c
lea r8, str.elf_reloc_link_order
mov edx, 0x2b9e
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.004240d0
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, [0x004737d0]
mov r8, rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0xe0], rbp
call fcn.00427bc0
mov r13d, dword [rsp + 0xd0]
test r13d, r13d
jne 0x480128
mov rax, qword [rsp + 0x60]
mov r10, qword [rax + 0x190]
test r10, r10
je 0x481608
movzx eax, byte [r15 + 1]
and eax, 0x60
cmp al, 0x60
jne 0x4815ed
cmp byte [rsp + 0x68], 0
je 0x481608
lea r9, [fcn.004711e0]
mov r8, rbp
mov rdx, r15
mov rcx, r14
call r10
test eax, eax
je 0x480128
mov eax, dword [r14 + 0xb0]
mov rdi, qword [rsp + 0x50]
cmp dword [rsp + 0x78], 0
mov dword [rdi + 0x8c], eax
je 0x48170d
mov rdi, qword [rsp + 0x48]
mov rax, qword [rdi + 0x1e0]
test rax, rax
je 0x48170d
mov rsi, qword [0x00521260]
mov rcx, qword [rax + 0x68]
lea rdx, [rsi + 0x230]
cmp rcx, rdx
je 0x48170d
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 0x481924
cmp dword [rdi + 0x50], 0
jne 0x481924
mov rax, qword [rsp + 0x48]
mov rbx, qword [rax + 0x150]
lea rax, [rsp + 0x110]
mov qword [rsp + 0x58], rax
test rbx, rbx
je 0x48170d
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.00463f80
test rax, rax
mov rsi, rax
jne 0x4818e3
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 0x4816ab
mov rcx, qword [r15 + 0x28]
lea rdx, [0x004737d0]
mov qword [rsp + 0xd0], 0
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0xe0], rbp
call fcn.00427bc0
mov r13d, dword [rsp + 0xd0]
test r13d, r13d
jne 0x480128
mov rax, qword [rsp + 0x60]
mov r10, qword [rax + 0x198]
test r10, r10
je 0x481786
movzx eax, byte [r15 + 1]
and eax, 0x60
cmp al, 0x60
jne 0x48176b
cmp byte [rsp + 0x68], 0
je 0x481786
lea r9, [fcn.004711e0]
mov r8, rbp
mov rdx, r15
mov rcx, r14
call r10
test eax, eax
je 0x480128
mov rcx, qword [rsp + 0x170]
call fcn.004862c0
mov rax, qword [rsp + 0x160]
mov rbx, qword [rax + 0x28]
cmp qword [rbx + 0x98], 0
je 0x481ac4
mov rax, qword [rsp + 0x168]
mov rdx, qword [rax + 0xf0]
cmp dword [rdx + 0xc70], 0
jne 0x4817de
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x244a
call fcn.004240b0
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.004280a0
test rax, rax
mov rdi, rax
je 0x480128
cmp qword [rsp + 0x1c8], 0
je 0x481840
mov rax, qword [rsp + 0x168]
mov ecx, dword [rax + 0xb0]
shl rcx, 2
call fcn.00428210
test rax, rax
mov qword [rsp + 0x1c8], rax
je 0x4819f9
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 0x481a1f
imul r12, rbx, 0x28
add r12, qword [rsi + 0xa8]
mov eax, dword [r12 + 0x10]
cmp eax, 0xffffffff
jne 0x481a06
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 0x481851
lea r8, str.bfd_elf_final_link
mov edx, 0x2f19
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.004240d0
lea rbx, str.ELFCLASSNONE
jmp 0x4807fc
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 0x481b11
mov rax, qword [rbx + 0x18]
add rax, qword [rsi + 0x60]
add rax, qword [rdx + 0x28]
mov qword [rsp + 0x110], rax
jmp 0x4816db
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 0x48168d
mov rax, qword [rdi + 0xe0]
mov esi, dword [rax + 0x8c]
test esi, esi
jle 0x4819df
mov ebx, dword [rax + 0x88]
test ebx, ebx
jg 0x481996
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x2f7a
call fcn.004240b0
lea eax, [rbx - 0xff00]
mov dword [rsp + 0x128], ebx
cmp eax, 0xfffeffff
jbe 0x4819e8
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 0x481961
mov rcx, r14
call fcn.004711a0
test eax, eax
jne 0x4819aa
jmp 0x48012b
mov rcx, rdi
call fcn.004d4f88
jmp 0x48012b
mov rcx, qword [rsp + 0x170]
mov edx, eax
call fcn.00486140
mov dword [r12 + 0x10], eax
jmp 0x481883
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.00425e80
test eax, eax
je 0x481a85
mov rcx, rdi
call fcn.004d4f88
mov rcx, qword [rbx + 0xa8]
call fcn.004d4f88
mov qword [rbx + 0xa8], 0
jmp 0x48012b
mov r8, qword [rsp + 0x168]
mov rdx, rsi
mov rcx, rdi
call fcn.00425d40
cmp rsi, rax
jne 0x481a61
add qword [r12 + 0x80], rsi
mov rcx, rdi
call fcn.004d4f88
mov rcx, qword [rbx + 0xa8]
call fcn.004d4f88
mov qword [rbx + 0xa8], 0
mov eax, dword [r14 + 0xb0]
test eax, eax
jne 0x481f7c
mov rbx, qword [r15 + 0x58]
test rbx, rbx
je 0x481cc7
mov rax, qword [r14 + 8]
mov edx, 1
mov rcx, rbx
mov rdi, qword [rax + 0x360]
call fcn.004274b0
test eax, eax
jne 0x481b2a
mov rdx, qword [r15 + 0x58]
lea rcx, str._B:_failed_to_generate_import_library
call fcn.00423f70
jmp 0x48012b
mov rcx, r14
call fcn.004711a0
test eax, eax
je 0x48012b
mov rdx, qword [rsi + 0x68]
jmp 0x48190b
mov esi, dword [r14 + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.00424e50
shr esi, 5
and esi, 0xfffff
test eax, eax
je 0x481afc
and esi, 0xfffffffc
mov rcx, rbx
mov edx, esi
call fcn.00424040
test eax, eax
je 0x481afc
mov rcx, r14
call fcn.00423c90
mov rcx, r14
mov esi, eax
call fcn.00423ca0
mov r9, qword [rbx + 8]
mov edx, esi
mov rcx, rbx
mov r8d, eax
call qword [r9 + 0x290]
test eax, eax
je 0x481c21
mov rax, qword [r14 + 8]
mov rcx, r14
call qword [rax + 0x1f0]
test eax, eax
js 0x481afc
movsxd rcx, eax
call fcn.004d1690
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 0x481c14
mov rax, qword [rbx + 8]
mov rdx, rbx
mov rcx, r14
call qword [rax + 0x160]
test eax, eax
je 0x481c14
mov rax, qword [rdi + 0x1a0]
mov r8, r12
mov rdx, r15
mov rcx, r14
mov r9d, dword [rsp + 0x50]
test rax, rax
je 0x4820d8
call rax
mov r10d, eax
test r10d, r10d
jne 0x481f09
mov ecx, 7
call fcn.00424130
lea rcx, str._B:_no_symbol_found_for_import_library
mov rdx, rbx
call fcn.00423f70
mov rcx, r12
call fcn.004d4f88
jmp 0x481afc
test byte [r14 + 0x43], 4
jne 0x481afc
mov rcx, r14
call fcn.00423c90
mov rcx, rbx
mov esi, eax
call fcn.00423c90
cmp esi, eax
jne 0x481afc
jmp 0x481b83
lea rbx, str.ELFCLASS32
jmp 0x4807fc
lea r8, str.bfd_elf_final_link
mov edx, 0x2f11
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
call fcn.004240d0
lea rsi, str.ELFCLASSNONE
jmp 0x4807df
lea rsi, str.ELFCLASS32
jmp 0x4807df
mov r8d, r10d
mov rdx, r12
mov rcx, rbx
call fcn.0042b250
mov rax, qword [rbx + 8]
mov rdx, rbx
mov rcx, r14
call qword [rax + 0x138]
test eax, eax
je 0x481c14
mov rcx, rbx
call fcn.004296f0
mov rcx, r12
mov ebx, eax
call fcn.004d4f88
test ebx, ebx
je 0x481afc
mov r13, qword [r14 + 0x88]
test r13, r13
je 0x481d6a
test byte [r13 + 0x20], 4
mov rbx, qword [r13 + 0xe0]
je 0x481d5a
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x1f8]
test rax, rax
je 0x481d63
mov rcx, r13
xor esi, esi
call rax
test eax, eax
setne sil
cmp qword [rbx + 0x58], 0
je 0x481d29
mov qword [rsp + 0x20], r15
mov r9d, esi
mov rdx, r13
mov rcx, r14
lea r8, [rbx + 0x58]
call fcn.004d9289
test eax, eax
je 0x480128
cmp qword [rbx + 0x70], 0
je 0x481d4f
mov qword [rsp + 0x20], r15
mov r9d, esi
mov rdx, r13
mov rcx, r14
lea r8, [rbx + 0x70]
call fcn.004d9289
test eax, eax
je 0x480128
mov dword [r13 + 0x88], 0
mov r13, qword [r13 + 0x10]
jmp 0x481cce
mov esi, 1
jmp 0x481d03
cmp dword [rsp + 0x78], 0
jne 0x4821fe
cmp qword [rsp + 0x90], 0
je 0x4820e5
mov rax, qword [rsp + 0x60]
mov rdx, r15
mov rcx, r14
call qword [rax + 0x128]
test eax, eax
je 0x480828
movzx eax, byte [r15 + 4]
test al, 1
je 0x481dac
test byte [r15], 1
jne 0x481db4
test al, 2
je 0x481e3e
mov rcx, qword [rsp + 0x90]
lea rdx, str..dynamic
call fcn.0042a660
test rax, rax
je 0x481e3e
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 0x481e3e
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 0x481e22
mov rax, qword [r12 + 0x2f8]
movzx eax, byte [rax + 6]
add rdi, rax
jmp 0x481de8
mov rax, qword [r15 + 0x20]
test byte [r15 + 4], 2
mov rax, qword [rax + 0x58]
je 0x482b72
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 [0x00521260]
lea rbx, [rax + 0x230]
test r13, r13
je 0x4820e5
mov eax, dword [r13 + 0x20]
test ah, 1
je 0x481f00
mov r12, qword [r13 + 0x38]
test r12, r12
je 0x481f00
mov r8, qword [r13 + 0x68]
cmp r8, rbx
mov qword [rsp + 0x50], r8
je 0x481f00
test eax, 0x100000
je 0x481f00
cmp qword [rsi + 0x120], r13
je 0x481f00
cmp qword [rsi + 0x128], r13
je 0x481f00
mov rcx, qword [r13]
mov rdx, rdi
call sub.msvcrt.dll_strcmp
mov r8, qword [rsp + 0x50]
test eax, eax
je 0x482b38
mov rax, qword [r13 + 0x60]
mov rcx, r14
mov qword [rsp + 0x50], rax
call fcn.00423de0
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.0042ac50
test eax, eax
je 0x480828
mov r13, qword [r13 + 0x10]
jmp 0x481e67
movsxd rdx, r10d
mov r8d, 0x60
mov rcx, rbx
mov dword [rsp + 0x50], r10d
call fcn.00429da0
mov rdi, qword [0x00521260]
xor edx, edx
mov r10d, dword [rsp + 0x50]
lea r8, [rdi + 0x230]
cmp r10d, edx
jle 0x481c87
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 0x481f34
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 0x481fa8
cmp dword [rdi], 0
jne 0x482062
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.00486130
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.00464880
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.00425e80
test eax, eax
jne 0x480128
mov rdx, qword [rsp + 0x170]
mov rcx, r14
call fcn.004861d0
test eax, eax
jne 0x481ad3
jmp 0x480128
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.00464880
mov rdx, qword [rdi + 0x18]
xor r8d, r8d
mov rcx, r14
mov rsi, rax
call fcn.00425e80
test eax, eax
jne 0x480128
mov rcx, qword [rsp + 0x1c8]
mov r8, r14
mov rdx, rbx
call fcn.00425d40
cmp rax, rbx
jne 0x480128
mov rbx, qword [r14 + 0xf0]
jmp 0x481fa8
call fcn.004647a0
mov r10d, eax
jmp 0x481bf2
test byte [r15 + 1], 0x10
jne 0x482138
mov dword [rsp + 0x110], 0
movzx eax, byte [r15]
and eax, 3
cmp al, 2
je 0x482113
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x312f
call fcn.004240b0
lea r8, [rsp + 0x110]
mov rcx, r14
lea rdx, [0x0045fcf0]
call fcn.0042ab40
cmp dword [rsp + 0x110], 0
jne 0x480828
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x120], 0
je 0x482163
mov rdx, qword [rsp + 0x48]
mov rcx, r14
add rdx, 0xf0
call fcn.004ace60
test eax, eax
je 0x480828
mov rcx, r14
mov rdx, r15
call fcn.0048ab00
lea rcx, [r14 + 0x88]
test eax, eax
je 0x480828
mov rdx, rbp
mov r13d, 1
call fcn.00471e20
mov rax, qword [r14 + 0xf0]
mov rsi, qword [rsp + 0x98]
mov rax, qword [rax + 0xc90]
test rsi, rsi
mov dword [rax + 0x58], 1
je 0x48012b
mov rdi, qword [rsp + 0xa0]
mov rcx, rdi
call fcn.004280a0
test rax, rax
mov rbx, rax
je 0x480128
mov r8, rdi
mov rdx, rax
mov rcx, r14
call fcn.00484fa0
mov rcx, r14
mov qword [rsp + 0x20], rdi
xor r9d, r9d
mov r8, rbx
mov rdx, rsi
call fcn.0042ac50
mov rcx, rbx
call fcn.004d4f88
jmp 0x48012b
test byte [r15 + 4], 0x40
je 0x482214
cmp qword [rsp + 0x90], 0
jne 0x4824de
xor r12d, r12d
mov rcx, qword [rsp + 0x90]
lea rdx, str..dynamic
call fcn.0042a660
test rax, rax
mov rsi, rax
jne 0x482244
lea rcx, str..._.._.._src_binutils_2.30_bfd_elflink.c
mov edx, 0x301e
call fcn.004240b0
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 [0x00521260]
add rax, 0x230
mov qword [rsp + 0x70], rax
cmp rbx, qword [rsp + 0x58]
jae 0x4824d4
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 0x482447
cmp rax, 0x20
je 0x48243e
jbe 0x4823d8
cmp rax, 0x6ffffff0
je 0x4823cc
ja 0x4823af
cmp rax, 0x21
je 0x48235f
lea rsi, str..gnu.hash
cmp rax, 0x6ffffef5
jne 0x48234c
mov rcx, qword [rsp + 0x90]
mov rdx, rsi
call fcn.0042a660
test rax, rax
je 0x482ba3
mov rdx, qword [rax + 0x68]
cmp rdx, qword [rsp + 0x70]
je 0x482ba3
mov rcx, qword [rdx + 0xe0]
cmp dword [rcx + 4], 7
je 0x482b80
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 0x482273
lea rsi, str..preinit_array
mov rdx, rsi
mov rcx, r14
call fcn.0042a590
test rax, rax
je 0x482ba3
cmp qword [rax + 0x38], 0
jne 0x48239a
lea rcx, str.warning:__s_section_has_zero_size
mov rdx, rsi
mov qword [rsp + 0x68], rax
call fcn.00423f70
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x118], rax
mov rax, qword [rdi + 0x2f8]
jmp 0x48233b
cmp rax, 0x6ffffffc
je 0x4823fc
lea rsi, str..gnu.version_r
cmp rax, 0x6ffffffe
je 0x4822eb
jmp 0x48234c
lea rsi, str..gnu.version
jmp 0x4822eb
cmp rax, 0x1a
je 0x482435
jbe 0x482414
cmp rax, 0x1b
je 0x482408
lea rsi, str..fini_array
cmp rax, 0x1c
je 0x482366
jmp 0x48234c
lea rsi, str..gnu.version_d
jmp 0x4822eb
lea rsi, str..init_array
jmp 0x482366
lea rsi, str..init_array
cmp rax, 0x19
jne 0x48234c
mov rdx, rsi
mov rcx, r14
call fcn.0042a590
jmp 0x4822fb
lea rsi, str..fini_array
jmp 0x482425
lea rsi, str..preinit_array
jmp 0x482425
cmp rax, 0x11
jae 0x482bd2
cmp rax, 6
je 0x482bbc
ja 0x482c2d
cmp rax, 4
je 0x482753
ja 0x4827cd
test rax, rax
mov rax, qword [rdi + 0x2f8]
jne 0x482353
movzx edx, byte [rax + 6]
add rdx, rbx
test r12, r12
je 0x482353
cmp qword [rsp + 0x58], rdx
jbe 0x482353
mov rdx, qword [r13 + 0xe0]
mov edx, dword [rdx + 4]
cmp edx, 4
je 0x4827bc
cmp edx, 9
jne 0x482353
mov qword [rsp + 0x110], 0x6ffffffa
mov qword [rsp + 0x118], r12
xor r12d, r12d
jmp 0x48233b
mov rbp, qword [rsp + 0x50]
jmp 0x481d75
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.00423de0
lea rdx, str..rela.dyn
mov rcx, r14
mov dword [rsp + 0x70], eax
call fcn.0042a590
lea rdx, str..rel.dyn
mov rcx, r14
mov rsi, rax
call fcn.0042a590
test rsi, rsi
mov rdi, rax
je 0x482775
test rdi, rdi
mov rax, qword [rsi + 0x38]
je 0x48275f
test rax, rax
je 0x48275f
cmp qword [rdi + 0x38], 0
jne 0x482619
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 0x48259e
cmp dword [rdx + 8], 1
jne 0x482599
mov rcx, qword [rdx + 0x20]
add rax, qword [rcx + 0x38]
mov rdx, qword [rdx]
jmp 0x482586
cmp rax, qword [rsi + 0x38]
jne 0x482214
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 0x482214
mov rcx, qword [rsp + 0x50]
imul rcx, rax
call fcn.00428210
test rax, rax
mov rbx, rax
jne 0x48264a
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 0x482217
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 0x4826f9
cmp dword [r12 + 8], 1
je 0x4826af
mov r12, qword [r12]
jmp 0x482633
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 0x48289b
cmp dword [r10 + 8], 1
je 0x4827d9
mov r10, qword [r10]
jmp 0x482696
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 0x48273c
test r10, r10
je 0x482644
xor ebx, 1
test ebx, ecx
jne 0x48271b
mov ecx, 1
mov ebx, 1
jmp 0x482644
mov r12, qword [rdi + 0x108]
test r12, r12
je 0x4829bf
cmp dword [r12 + 8], 1
je 0x482971
mov r12, qword [r12]
jmp 0x482700
lea rcx, str._B:_Unable_to_sort_relocs___they_are_in_more_than_one_size
mov rdx, r14
xor r12d, r12d
call fcn.00423f70
mov ecx, 5
call fcn.00424130
jmp 0x482217
test r10, r10
jne 0x482cb3
and ebx, ecx
jne 0x48271b
mov ecx, 1
jmp 0x482644
lea rsi, str..hash
jmp 0x4822eb
test rax, rax
je 0x482775
mov rax, qword [rsp + 0x68]
mov r8, qword [rax + 0x2f8]
jmp 0x48255e
test rdi, rdi
je 0x482214
cmp qword [rdi + 0x38], 0
je 0x482214
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 0x48257d
mov qword [rsp + 0x110], 0x6ffffff9
jmp 0x4824c4
lea rsi, str..dynstr
jmp 0x4822eb
mov rsi, qword [r10 + 0x20]
mov rbx, qword [rsi + 0xb0]
mov rax, qword [rsi + 0x38]
test rbx, rbx
je 0x482955
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 0x4826aa
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 0x48281b
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, [0x00470dd0]
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 0x4829ed
add r12, 1
add rcx, qword [rsp + 0x50]
cmp rdi, r12
jne 0x4828ce
mov r12, rdi
mov r8, qword [rsp + 0x50]
mov rdx, rdi
mov qword [rsp + 0x68], r10
lea r9, [0x00473790]
sub rdx, r12
call sub.msvcrt.dll_qsort
mov rax, qword [r15 + 0x28]
mov rcx, qword [rax + 0x198]
test rcx, rcx
je 0x482924
cmp rsi, qword [rcx + 0x68]
mov r10, qword [rsp + 0x68]
je 0x482a25
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 0x482ae6
cmp dword [rdi + 8], 1
je 0x482a7c
mov rdi, qword [rdi]
jmp 0x48293d
test rax, rax
je 0x4827f1
mov rcx, rdi
mov rbp, r11
xor r12d, r12d
call fcn.004d4f88
jmp 0x482217
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 0x4829d2
test r10, r10
je 0x482715
xor ebx, 1
test ebx, ecx
jne 0x48271b
mov ecx, 1
mov ebx, 1
jmp 0x482715
xor ecx, 1
or ebx, ecx
and bl, 1
jne 0x48255e
jmp 0x482795
test r10, r10
jne 0x482cb3
and ebx, ecx
jne 0x48271b
mov ecx, 1
jmp 0x482715
mov rdx, rcx
mov rax, rcx
mov r8, r12
cmp rdi, r8
jbe 0x4828e9
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 0x4829f6
imul rdx, rdi, 0x28
xor eax, eax
add rdx, rbx
imul r8, rax, 0xffffffffffffffd8
cmp dword [rdx + r8 - 0x20], 4
jne 0x482aff
add rax, 1
cmp rdi, rax
jne 0x482a2e
imul rax, qword [rsp + 0x58]
cmp qword [rcx + 0x38], rax
lea rdx, [rsi + 0x108]
jne 0x482924
mov rax, qword [rdx]
test rax, rax
je 0x482b22
cmp dword [rax + 8], 1
mov r8, qword [rax]
je 0x482b0d
mov rdx, rax
jmp 0x482a5e
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 0x482950
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 0x482ab1
mov rbx, rsi
mov rsi, rbp
mov rbp, r10
mov rcx, rbx
mov r13, rsi
call fcn.004d4f88
jmp 0x482217
test rax, rax
je 0x482924
jmp 0x482a47
cmp rcx, qword [rax + 0x20]
jne 0x482a77
mov qword [rdx], r8
mov r10, rax
jmp 0x482a5e
mov qword [rdx], r10
mov qword [r10], 0
mov qword [rsi + 0x110], r10
jmp 0x482924
mov rax, qword [r8 + 0xe0]
mov rcx, r14
xor r8d, r8d
mov rdx, qword [rax + 0x18]
call fcn.00425e80
test eax, eax
jne 0x480828
mov rdx, qword [rsi + 0x90]
mov rcx, r14
call fcn.004861d0
test eax, eax
jne 0x481f00
jmp 0x480828
lea rcx, str._P:_warning:_creating_a_DT_TEXTREL_in_a_shared_object._n
call rax
jmp 0x481e3e
lea rcx, str.warning:_section__s_is_being_made_into_a_note
mov rdx, rsi
mov rbp, qword [rsp + 0x50]
call fcn.00423f70
mov ecx, 0xf
call fcn.00424130
jmp 0x480828
lea rcx, str.could_not_find_section__s
mov rdx, rsi
mov rbp, qword [rsp + 0x50]
call fcn.00423f70
jmp 0x480828
lea rsi, str..dynsym
jmp 0x4822eb
cmp rax, 8
ja 0x48234c
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 0x482d1c
mov r9, qword [rsi + 0x50]
mov r9, qword [r9 + r11]
cmp dword [r9 + 4], r8d
je 0x482cf8
add r10d, 1
add r11, 8
jmp 0x482c06
cmp rax, 0xc
je 0x482cec
jbe 0x482bc8
cmp rax, 0xd
jne 0x48234c
mov rdx, qword [r15 + 0x90]
mov rcx, qword [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 1
call fcn.004a64c0
test rax, rax
je 0x48234c
movzx ecx, byte [rax + 0x18]
lea edx, [rcx - 3]
cmp dl, 1
ja 0x48234c
mov rdx, qword [rax + 0x30]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x118], rdx
mov rcx, qword [rax + 0x68]
test rcx, rcx
je 0x482cd4
add rdx, qword [rax + 0x60]
mov rax, qword [rcx + 0x28]
add rax, rdx
mov qword [rsp + 0x118], rax
mov rax, qword [rdi + 0x2f8]
jmp 0x48233b
lea rcx, str._B:_Unable_to_sort_relocs___they_are_of_an_unknown_size
mov rdx, r14
xor r12d, r12d
call fcn.00423f70
mov ecx, 5
call fcn.00424130
jmp 0x482217
mov qword [rsp + 0x118], 0
mov rax, qword [rdi + 0x2f8]
jmp 0x48233b
mov rdx, qword [r15 + 0x88]
jmp 0x482c4a
test byte [r9 + 8], 2
je 0x482c23
add rcx, qword [r9 + 0x20]
test rdx, rdx
mov r9, qword [r9 + 0x10]
je 0x482d45
cmp rdx, r9
cmova rdx, r9
jmp 0x482c23
cmp byte [rdi + 0x37c], 0
js 0x482d61
cmp rax, 0x12
je 0x482d4d
cmp rax, 8
je 0x482d4d
mov qword [rsp + 0x118], rdx
mov rax, qword [rdi + 0x2f8]
jmp 0x48233b
mov rdx, r9
jmp 0x482c23
mov qword [rsp + 0x118], rcx
mov rax, qword [rdi + 0x2f8]
jmp 0x48233b
mov rsi, qword [rsp + 0x48]
mov r8, qword [rsi + 0x198]
test r8, r8
je 0x482d25
mov r9, qword [r8 + 0x38]
sub rcx, r9
je 0x482d91
mov r10, qword [r8 + 0x68]
mov r8, qword [r8 + 0x60]
add r8, qword [r10 + 0x28]
cmp r8, rdx
jne 0x482d25
add rdx, r9
jmp 0x482d25
xor edx, edx
jmp 0x482d25