Function at 0x461d50
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1fc
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x1b4]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ecx + 0x1c]
cmp dword [eax + 0x28], 1
je 0x461d84
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dl, byte [ecx]
and edx, 3
cmp dl, 3
je 0x4625a6
dec dl
je 0x4625a6
mov edx, dword [eax + 0x30]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x1c0], edx
mov dword [ebp - 0x1b8], eax
mov al, byte [ecx]
mov dword [ebp - 0x1bc], 1
and eax, 3
cmp al, 2
je 0x461dd2
mov al, byte [ecx + 3]
shr al, 1
mov ebx, eax
and ebx, 1
mov dword [ebp - 0x1bc], ebx
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xb8], eax
call fcn.00469c10
mov dword [ebp - 0xb4], eax
test eax, eax
je 0x461d7a
mov esi, dword [ebp - 0x1c0]
test esi, esi
jne 0x462645
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
mov edx, dword [ebp + 8]
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa0], 0
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x64]
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov eax, dword [eax + 0x1b4]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov eax, dword [eax + 0x190]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x18c], eax
test ebx, ebx
je 0x462c32
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x190], 0
mov eax, dword [ebp - 0x18c]
test eax, eax
je 0x462591
mov edi, dword [ebx]
mov dword [ebp - 0x1ec], edi
push eax
push eax
mov eax, dword [ebp - 0x18c]
push eax
push edi
call sub.msvcrt.dll_strcmp
add esp, 0x10
test eax, eax
je 0x461ef3
mov eax, str..gnu.attributes
mov ecx, 0x10
cld
mov esi, dword [ebp - 0x1ec]
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x461f47
mov edx, dword [ebx + 0xa0]
test edx, edx
jne 0x461f06
jmp 0x461f21
mov edx, dword [edx]
test edx, edx
je 0x461f21
cmp dword [edx + 4], 1
jne 0x461f00
mov eax, dword [edx + 0x10]
mov edx, dword [edx]
mov esi, dword [eax + 0x14]
and esi, 0xfffffeff
test edx, edx
mov dword [eax + 0x14], esi
jne 0x461f06
sub esp, 0xc
mov ecx, dword [ebp + 8]
push ecx
call fcn.00489220
add esp, 0x10
mov dword [ebp - 0x190], eax
test eax, eax
jne 0x462562
mov eax, dword [ebx + 0x14]
or ah, 0x80
mov dword [ebx + 0x14], eax
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x461eb0
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x64]
test edi, edi
je 0x46356a
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1a0], 0
mov edx, dword [edi + 0x8c]
mov dword [edi + 0x4c], 0
mov dword [ebp - 0x188], edx
mov ebx, dword [edi + 0xa0]
test ebx, ebx
jne 0x461fca
jmp 0x4623d5
mov ebx, dword [ebx]
test ebx, ebx
je 0x4620e2
mov edx, dword [ebx + 4]
lea eax, [edx - 3]
cmp eax, 1
jbe 0x462200
dec edx
jne 0x461fc0
mov esi, dword [ebx + 0x10]
mov ecx, dword [esi + 0x8c]
mov dword [ebp - 0x17c], ecx
or byte [esi + 0x18], 2
test byte [esi + 0x16], 0x80
je 0x461fff
mov dword [ebp - 0x1a0], 1
mov edx, dword [ebp - 0x188]
mov eax, dword [edx + 4]
cmp eax, 9
je 0x4622b8
cmp eax, 4
je 0x4622b8
mov eax, dword [ebp - 0x1bc]
test eax, eax
je 0x4623a0
mov edx, dword [ebp - 0x1c8]
mov ecx, dword [esi + 0x4c]
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x180], 0
mov eax, dword [edx + 0xf8]
test eax, eax
je 0x462060
sub esp, 0xc
push esi
call eax
add esp, 0x10
mov dword [ebp - 0x180], eax
lea esi, [esi]
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x24]
cmp eax, edx
jae 0x46206c
mov eax, edx
cmp dword [ebp - 0xe0], eax
jae 0x46207a
mov dword [ebp - 0xe0], eax
mov edx, dword [esi + 0x94]
mov eax, dword [edx + 4]
cmp dword [eax + 4], 5
je 0x4622e4
mov esi, dword [ebp - 0x184]
test esi, esi
je 0x461fc0
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x184]
add eax, ecx
mov edx, dword [edi + 0x4c]
add edx, eax
mov dword [edi + 0x4c], edx
cmp dword [ebx + 4], 1
je 0x46222b
nop
lea esi, [esi]
test byte [edi + 0x19], 4
je 0x4622d1
mov ecx, dword [ebp - 0x188]
mov ebx, dword [ebx]
mov esi, dword [ecx + 0x50]
add esi, eax
test ebx, ebx
mov dword [ecx + 0x50], esi
jne 0x461fca
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x4623d5
mov eax, dword [edi + 0x14]
or eax, 4
mov dword [edi + 0x14], eax
test byte [edi + 0x14], 1
jne 0x462109
test byte [edi + 0x18], 1
jne 0x462109
mov dword [edi + 0x1c], 0
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x461f9c
mov eax, dword [ebp - 0x1a0]
test eax, eax
jne 0x4625c0
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov al, byte [ebx + 1]
mov ebx, dword [ebp - 0x1bc]
and eax, 0x18
cmp al, 0x18
setne al
and eax, 0xff
or eax, ebx
test byte [edi + 0x2b], 0x40
mov dword [edi + 0x7c], eax
jne 0x46262c
push edx
push edx
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0044e880
add esp, 0x10
test eax, eax
je 0x46260b
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x64]
test esi, esi
jne 0x462181
jmp 0x462413
mov esi, dword [esi + 0xc]
test esi, esi
je 0x462413
mov ebx, dword [esi + 0x8c]
test byte [esi + 0x14], 4
je 0x4621c1
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x4621a7
lea edx, [ebx + 0x3c]
mov eax, dword [ebp + 8]
call fcn.00457570
test eax, eax
je 0x462705
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x4621c1
lea edx, [ebx + 0x4c]
mov eax, dword [ebp + 8]
call fcn.00457570
test eax, eax
je 0x4626d4
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x10]
xor edx, 0xffffffff
xor eax, 0xffffffff
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x50], 0
or edx, eax
jne 0x462176
test byte [esi + 0x17], 8
jne 0x4623e3
push eax
push str.bfd_elf_final_link
push 0x2c5f
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.00424440
nop
mov edx, dword [edi + 0x4c]
mov eax, 1
add edx, eax
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0
mov dword [edi + 0x4c], edx
cmp dword [ebx + 4], 1
jne 0x4620c0
mov esi, dword [ebp - 0x1bc]
test esi, esi
je 0x4620c0
mov eax, dword [ebp - 0x17c]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x462274
mov edx, dword [ebp - 0x188]
xor eax, eax
mov esi, dword [edx + 0x40]
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x462261
mov eax, dword [ecx + 0x18]
mov ecx, edx
xor edx, edx
div ecx
add eax, esi
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x188]
add eax, ecx
mov dword [edx + 0x40], eax
mov eax, dword [ebp - 0x17c]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x461fc0
mov edx, dword [ebp - 0x188]
xor eax, eax
mov esi, dword [edx + 0x50]
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x4622a0
mov eax, dword [ecx + 0x18]
mov ecx, edx
xor edx, edx
div ecx
mov edx, dword [ebp - 0x180]
add eax, esi
add eax, edx
mov edx, dword [ebp - 0x188]
mov dword [edx + 0x50], eax
jmp 0x461fc0
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x180], 0
jmp 0x462060
mov edx, dword [ebp - 0x188]
mov ecx, dword [edx + 0x40]
add ecx, eax
mov dword [edx + 0x40], ecx
jmp 0x461fc0
test byte [edx + 0x29], 8
jne 0x46208d
mov ecx, dword [edx + 0xa0]
mov eax, dword [ecx + 0x928]
test eax, eax
je 0x46259e
mov edx, dword [ebp - 0x1c8]
mov eax, dword [edx + 0x17c]
xor edx, edx
mov dl, byte [eax + 5]
mov eax, dword [ecx + 0x60]
mov dword [ebp - 0x1f0], edx
xor edx, edx
div dword [ebp - 0x1f0]
cmp dword [ebp - 0x1a8], eax
jae 0x462332
mov dword [ebp - 0x1a8], eax
cmp eax, dword [ebp - 0x1a4]
jbe 0x46234a
mov edx, dword [ecx + 0x208]
test edx, edx
je 0x46234a
mov dword [ebp - 0x1a4], eax
test byte [esi + 0x14], 4
je 0x46208d
mov ecx, dword [ebp - 0x17c]
xor edx, edx
mov eax, dword [ecx + 0x3c]
test eax, eax
je 0x462366
mov edx, dword [eax + 0x18]
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ecx + 0x4c]
test eax, eax
je 0x462378
mov ecx, dword [eax + 0x18]
add edx, ecx
cmp dword [ebp - 0x1b0], edx
jae 0x462386
mov dword [ebp - 0x1b0], edx
mov eax, dword [esi + 0x4c]
cmp eax, dword [ebp - 0x1ac]
jbe 0x46208d
mov dword [ebp - 0x1ac], eax
jmp 0x46208d
mov ecx, dword [ebp - 0x1c8]
mov eax, dword [ecx + 0xf4]
test eax, eax
je 0x4622b8
push ecx
push ecx
push esi
mov edx, dword [ebp + 0xc]
push edx
call eax
add esp, 0x10
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], 0
jmp 0x462060
mov eax, dword [edi + 0x14]
and eax, 0xfffffffb
mov dword [edi + 0x14], eax
jmp 0x4620f6
mov eax, dword [ebx + 0x30]
test eax, eax
jne 0x4621e9
sub esp, 0xc
mov edi, dword [ebx + 0x18]
push edi
call fcn.0042d1f0
add esp, 0x10
test eax, eax
je 0x4626a0
mov esi, dword [esi + 0xc]
mov dword [ebx + 0x30], eax
test esi, esi
jne 0x462181
mov edx, dword [ebp + 8]
mov ebx, dword [ebp - 0x1c8]
xor eax, eax
mov ecx, dword [edx + 0xa0]
mov dword [edx + 0x7c], 0
mov edx, dword [ebx + 0x17c]
mov dword [ebp - 0x1c4], ecx
mov dword [ecx + 0x4c], 2
mov edi, dword [ebp - 0x1c4]
mov al, byte [edx + 5]
mov dword [ecx + 0x70], eax
xor ecx, ecx
mov cl, byte [edx + 0xb]
mov eax, 1
shl eax, cl
mov dword [edi + 0x6c], eax
cmp dword [ebp - 0x1a8], 0x13
ja 0x46267f
mov dword [ebp - 0x1a8], 0x14
mov edx, 0x230
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x1a8]
sub esp, 0xc
mov ebx, dword [eax + 0x1c]
mov dword [ebx + 0x58], ecx
push edx
call fcn.0042d1f0
add esp, 0x10
mov dword [ebx + 0x5c], eax
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x1c]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
je 0x462c21
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0xa0]
cmp dword [esi + 0x214], 0xff01
sbb eax, eax
xor eax, 0xffffffff
mov dword [ebp - 0x88], eax
mov al, byte [ebp - 0x1bc]
mov byte [ebp - 0xc1], al
mov al, byte [ebx + 1]
and eax, 0x18
cmp al, 0x18
je 0x4627b1
push 1
mov eax, dword [esi + 0x934]
lea esi, [ebp - 0x48]
mov edx, dword [eax + 0x24]
push edx
mov eax, dword [eax + 0x20]
push eax
mov eax, dword [ebp - 0x1c4]
add eax, 0x48
push eax
call fcn.00445ce0
lea edx, [ebp - 0xbc]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov byte [ebp - 0x3c], 0
mov byte [ebp - 0x3b], 0
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x3a], 0
mov dword [esp], 0
push 0x4af8e8
push esi
push 0
mov dword [ebp - 0x1d8], edx
push edx
call fcn.00459940
add esp, 0x20
dec eax
je 0x462716
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x1d8]
call fcn.00459820
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
push edx
push eax
push ebx
mov eax, dword [ebp + 8]
push eax
call fcn.0041fd30
mov dword [ebx + 0xa0], 0
mov dword [ebp - 0x194], ebx
mov ebx, dword [ebx + 0xc]
add esp, 0x10
test ebx, ebx
jne 0x461eb0
jmp 0x461f52
mov ecx, dword [ebx]
mov dword [ebp - 0x1ec], ecx
jmp 0x461edc
mov eax, dword [ecx + 0x68]
jmp 0x462324
mov ebx, dword [ebp + 8]
mov edi, dword [ebx + 0x28]
or edi, 0x800
mov dword [ebx + 0x28], edi
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x1c]
jmp 0x461d9a
mov ecx, dword [ebp + 0xc]
mov al, byte [ecx]
and eax, 3
cmp al, 2
je 0x462122
push eax
mov edi, dword [ebp + 8]
push edi
push 0x457bb0
mov esi, dword [ecx + 0x1c]
push esi
call fcn.0042e6f0
add esp, 0x10
jmp 0x462122
sub esp, 0xc
mov edi, dword [ebp - 0xe0]
push edi
call fcn.0042d1f0
add esp, 0x10
mov dword [ebp - 0xa8], eax
test eax, eax
jne 0x4627cc
lea ebx, [ebp - 0xbc]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1d8], ebx
mov edx, dword [ebp - 0x1d8]
call fcn.00459820
xor eax, eax
jmp 0x46255a
push ecx
push ecx
push 0x2c40
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.00423990
add esp, 0x10
jmp 0x46214d
push ebx
push ebx
push str..hash
mov ecx, dword [ebp - 0x1b8]
push ecx
call fcn.00420380
mov dword [ebp - 0xb0], eax
pop eax
pop edx
push str..gnu.version
mov eax, dword [ebp - 0x1b8]
push eax
call fcn.00420380
add esp, 0x10
mov dword [ebp - 0xac], eax
jmp 0x461e15
mov eax, dword [ebp - 0x1a8]
mov edx, dword [ebp - 0x1a8]
shl eax, 2
shl edx, 5
sub edx, eax
jmp 0x462475
test edi, edi
je 0x462fb4
lea edx, [ebp - 0xbc]
mov dword [ebp - 0x1d8], edx
jmp 0x46254a
sub esp, 0xc
mov eax, dword [ebp - 0x1a4]
shl eax, 2
push eax
call fcn.0042d1f0
add esp, 0x10
mov dword [ebp - 0x98], eax
test eax, eax
jne 0x4628c9
lea eax, [ebp - 0xbc]
mov dword [ebp - 0x1d8], eax
jmp 0x46254a
sub esp, 0xc
mov ebx, dword [ebp - 0x1b0]
push ebx
call fcn.0042d1f0
add esp, 0x10
mov dword [ebp - 0xa4], eax
test eax, eax
jne 0x4627da
lea edi, [ebp - 0xbc]
mov dword [ebp - 0x1d8], edi
jmp 0x46254a
mov ecx, dword [ebp + 8]
mov byte [ebp - 0x3c], 3
mov byte [ebp - 0x3b], 0
mov byte [ebp - 0x3a], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov eax, dword [ecx + 0xa0]
cmp dword [eax + 0x214], 1
jbe 0x4627be
mov ebx, 1
jmp 0x46275b
mov edi, dword [ebp + 8]
inc ebx
mov eax, dword [edi + 0xa0]
cmp dword [eax + 0x214], ebx
jbe 0x4627be
push eax
push eax
push ebx
mov eax, dword [ebp + 8]
push eax
call fcn.00445bc0
add esp, 0x10
mov edx, eax
test eax, eax
je 0x462749
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov eax, dword [edi + 0x7c]
mov dword [edx + 0x88], eax
mov dword [ebp - 0x38], ebx
mov al, byte [ecx]
and eax, 3
cmp al, 2
je 0x462791
mov eax, dword [edx + 0x1c]
mov dword [ebp - 0x48], eax
sub esp, 0xc
push 0
push edx
push esi
push 0
mov eax, dword [ebp - 0x1d8]
push eax
call fcn.00459940
add esp, 0x20
dec eax
je 0x462749
jmp 0x46254a
cmp byte [ebp - 0xc1], 0
jne 0x4624dc
mov eax, dword [ebp - 0xe0]
test eax, eax
jne 0x4625eb
mov esi, dword [ebp - 0x1b0]
test esi, esi
jne 0x4626e5
mov ecx, dword [ebp - 0x1ac]
test ecx, ecx
je 0x462821
mov edx, dword [ebp - 0x1c8]
sub esp, 0xc
mov eax, dword [edx + 0x17c]
mov edx, dword [ebp - 0x1ac]
mov al, byte [eax + 9]
and eax, 0xff
lea eax, [eax + eax*2]
shl eax, 2
imul eax, edx
push eax
call fcn.0042d1f0
add esp, 0x10
mov dword [ebp - 0xa0], eax
test eax, eax
je 0x4626d4
mov ecx, dword [ebp - 0x1c8]
mov edi, dword [ebp - 0x1a8]
sub esp, 0xc
mov eax, dword [ecx + 0x17c]
mov al, byte [eax + 5]
and eax, 0xff
imul eax, edi
push eax
call fcn.0042d1f0
add esp, 0x10
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x4626a0
mov ebx, dword [ebp - 0x1a8]
mov edi, dword [ebp - 0x1a8]
shl ebx, 2
sub esp, 0xc
lea eax, [ebx + edi]
shl eax, 2
push eax
call fcn.0042d1f0
add esp, 0x10
mov dword [ebp - 0x94], eax
test eax, eax
je 0x462c21
sub esp, 0xc
push ebx
call fcn.0042d1f0
add esp, 0x10
mov dword [ebp - 0x90], eax
test eax, eax
je 0x46260b
sub esp, 0xc
push ebx
call fcn.0042d1f0
add esp, 0x10
mov dword [ebp - 0x8c], eax
test eax, eax
je 0x462705
mov esi, dword [ebp - 0x1a4]
test esi, esi
jne 0x4626b1
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x1c]
mov esi, dword [edi + 0xc8]
test esi, esi
je 0x46293d
mov edx, esi
xor ebx, ebx
mov eax, dword [edx + 0x14]
test ah, 4
je 0x462911
mov ecx, dword [edx + 0x24]
test ecx, ecx
jne 0x462903
test ah, 1
jne 0x462903
mov eax, dword [edx + 0xa4]
test eax, eax
je 0x462903
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
add ecx, ebx
mov eax, dword [edx + 0x1c]
mov ebx, ecx
mov edx, dword [edx + 0xc]
add ebx, eax
test edx, edx
jne 0x4628dd
mov ecx, dword [ebp - 0x1c8]
mov edx, dword [esi + 0x1c]
cmp dword [ecx + 0x1ac], 1
jne 0x462935
mov ecx, dword [esi + 0x40]
mov eax, 1
shl eax, cl
lea ebx, [ebx + eax - 1]
neg eax
and ebx, eax
sub ebx, edx
mov dword [edi + 0xcc], ebx
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx + 0x64]
mov dword [ebp - 0xd8], ebx
test ebx, ebx
je 0x462a5f
mov edi, dword [ebp + 8]
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x1b4]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0xd8]
mov ebx, dword [eax + 0xa0]
test ebx, ebx
je 0x462a48
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x160], 0
mov dword [ebp - 0xc8], 0
cmp dword [ebx + 4], 1
je 0x462b70
mov eax, dword [ebp - 0x154]
inc eax
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x154]
test eax, eax
je 0x462a30
mov edi, dword [ebp - 0x150]
test edi, edi
je 0x462a30
mov esi, dword [ebp - 0x160]
test esi, esi
je 0x462cf6
mov ebx, dword [ebp - 0xc8]
test ebx, ebx
je 0x462cf6
push ecx
push ecx
mov ebx, dword [ebp - 0x160]
mov edx, dword [ebx + 0x94]
push edx
push ebx
mov edi, dword [ebp - 0xc8]
mov eax, dword [edi + 0x94]
push eax
push edi
mov eax, dword [ebp - 0xd8]
push eax
push str._A_has_both_ordered____A_in__B__and_unordered____A_in__B__sections
call dword [0x4afb04]
add esp, 0x20
sub esp, 0xc
push 0x11
call fcn.00424660
xor eax, eax
add esp, 0x10
jmp 0x461d7c
mov ebx, dword [ebx]
test ebx, ebx
jne 0x46299f
mov eax, dword [ebp - 0x150]
test eax, eax
jne 0x462d12
mov edi, dword [ebp - 0xd8]
mov edi, dword [edi + 0xc]
mov dword [ebp - 0xd8], edi
test edi, edi
jne 0x462951
sub esp, 0xc
mov eax, dword [ebp + 0xc]
push eax
call fcn.0046a0f0
add esp, 0x10
test eax, eax
je 0x461d7a
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx + 0x34]
mov dword [ebp - 0x1b4], ebx
test ebx, ebx
je 0x462aa0
mov edi, dword [ebp - 0x1b4]
mov eax, dword [edi + 0x9c]
and byte [edi + 0x2b], 0xbf
mov dword [ebp - 0x1b4], eax
test eax, eax
jne 0x462a86
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x64]
mov dword [ebp - 0xd4], edx
test edx, edx
je 0x463010
mov ecx, dword [ebp - 0xd4]
mov esi, dword [ecx + 0xa0]
test esi, esi
jne 0x462b06
jmp 0x462ff9
lea eax, [edx - 3]
cmp eax, 1
jbe 0x462e07
push esi
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0042fd70
add esp, 0x10
test eax, eax
je 0x463ad3
mov esi, dword [esi]
test esi, esi
je 0x462ff9
mov edx, dword [esi + 4]
cmp edx, 1
jne 0x462ad0
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x94]
mov dword [ebp - 0x1b4], eax
mov ebx, eax
mov eax, dword [eax + 4]
cmp dword [eax + 4], 5
jne 0x462ad0
mov edi, dword [ebp - 0x1c8]
mov eax, dword [ebx + 0xa0]
mov edx, dword [edi + 0x17c]
mov al, byte [eax + 4]
cmp al, byte [edx + 0xc]
jne 0x462adc
test byte [ebx + 0x2b], 0x40
jne 0x462afc
lea eax, [ebp - 0xbc]
mov edx, ebx
mov dword [ebp - 0x1d8], eax
call fcn.00460420
test eax, eax
je 0x46254a
or byte [ebx + 0x2b], 0x40
jmp 0x462afc
mov edi, dword [ebx + 0x10]
mov esi, dword [edi + 0x94]
mov eax, dword [esi + 4]
cmp dword [eax + 4], 5
je 0x462c7d
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x160], edi
inc eax
mov dword [ebp - 0x154], eax
jmp 0x4629b6
cmp dword [esi + 4], 3
je 0x463b40
mov eax, dword [esi + 0x10]
mov edx, dword [eax + 4]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x18]
push 0
push 0
push 0
mov ebx, dword [ebp - 0x144]
push ebx
mov ebx, dword [ebp - 0x13c]
mov ebx, dword [ebx + 0x20]
push ebx
push edx
push 0
push ecx
call dword [eax + 0x1c]
add esp, 0x20
sub esp, 0xc
mov eax, dword [ebp + 8]
mov ebx, dword [esi + 8]
push eax
call fcn.00424f40
imul eax, ebx
pop edx
xor edx, edx
pop ecx
push edi
push edx
push eax
mov eax, dword [ebp - 0x14c]
push eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0041fec0
add esp, 0x14
mov ebx, eax
mov eax, dword [ebp - 0x14c]
push eax
call fcn.004ae988
add esp, 0x10
test ebx, ebx
jne 0x462ec1
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x1d8], ecx
jmp 0x46254a
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x1ac], 0
jmp 0x462122
mov ecx, dword [ebp - 0x15c]
mov eax, dword [esi + 0xa0]
mov edx, dword [ecx + 0x17c]
mov al, byte [eax + 4]
cmp al, byte [edx + 0xc]
jne 0x462b86
push eax
push eax
push edi
push esi
call fcn.00446b50
add esp, 0x10
mov edx, eax
test eax, eax
je 0x462b86
mov eax, dword [esi + 0xa0]
mov ecx, dword [eax + 0x214]
cmp edx, ecx
jae 0x462b86
mov eax, dword [eax + 0x40]
mov eax, dword [eax + edx*4]
cmp byte [eax + 8], 0
jns 0x462b86
cmp ecx, dword [eax + 0x1c]
jbe 0x462b86
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0xc8], edi
inc eax
mov dword [ebp - 0x150], eax
jmp 0x4629b6
push eax
push eax
mov eax, dword [ebp - 0xd8]
push eax
push str._A_has_both_ordered_and_unordered_sections
call dword [0x4afb04]
add esp, 0x10
jmp 0x462a19
sub esp, 0xc
mov eax, dword [ebp - 0x150]
shl eax, 2
push eax
call fcn.0042d1f0
add esp, 0x10
mov edi, eax
test eax, eax
je 0x461d7a
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + 0xa0]
test eax, eax
je 0x462df3
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0xcc]
mov dword [edi + ecx*4], eax
inc ecx
mov eax, dword [eax]
mov dword [ebp - 0xcc], ecx
test eax, eax
jne 0x462d4f
push 0x455b70
push 4
push ecx
push edi
call sub.msvcrt.dll_qsort
mov dword [ebp - 0x158], 0
xor edx, edx
add esp, 0x10
mov ebx, dword [ebp - 0x158]
sub esp, 0xc
mov eax, dword [edi + ebx*4]
or ebx, 0xffffffff
mov esi, dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov ecx, dword [esi + 0x40]
push eax
shl ebx, cl
and ebx, edx
call fcn.00424f40
mov edx, eax
mov eax, ebx
mov ecx, edx
xor edx, edx
div ecx
mov edx, dword [ebp - 0x158]
mov dword [esi + 0x38], eax
mov ecx, dword [ebp - 0x158]
add esp, 0x10
mov eax, dword [edi + edx*4]
inc ecx
mov edx, ebx
mov dword [ebp - 0x158], ecx
mov dword [eax + 8], ebx
mov ecx, dword [ebp - 0xcc]
mov ebx, dword [eax + 0xc]
add edx, ebx
cmp dword [ebp - 0x158], ecx
jne 0x462d82
sub esp, 0xc
push edi
call fcn.004ae988
add esp, 0x10
jmp 0x462a48
push 0x455b70
push 4
push 0
push edi
call sub.msvcrt.dll_qsort
add esp, 0x10
jmp 0x462de2
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0xd4]
mov eax, dword [edx + 4]
mov ebx, dword [ecx + 0x8c]
mov eax, dword [eax + 0x1b4]
mov dword [ebp - 0x138], eax
push eax
push eax
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
push eax
push edx
call fcn.0042d440
add esp, 0x10
mov dword [ebp - 0x13c], eax
test eax, eax
je 0x46398d
mov edx, dword [esi + 0x10]
mov eax, dword [ebx + 0x3c]
test eax, eax
mov edi, dword [edx + 8]
mov dword [ebp - 0x144], edi
je 0x463978
add ebx, 0x3c
mov dword [ebp - 0x148], ebx
mov ecx, dword [ebp - 0x148]
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 0xc]
lea ebx, [eax*4]
add ebx, edi
cmp dword [esi + 4], 3
jne 0x4639d1
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x88]
mov dword [ebp - 0x140], eax
test eax, eax
jne 0x462eaa
push eax
push eax
push 0x2a06
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.00423990
add esp, 0x10
mov dword [ebx], 0
mov eax, dword [ebp - 0x13c]
mov ecx, dword [eax + 0x24]
test ecx, ecx
jne 0x462f82
mov edx, dword [ebp + 0xc]
mov edi, dword [esi + 8]
mov al, byte [edx]
and eax, 3
cmp al, 2
je 0x462edb
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ecx + 0x1c]
add edi, eax
mov ebx, dword [ebp - 0x138]
lea eax, [ebp - 0x80]
mov dword [ebp - 0x1e0], eax
mov ecx, dword [ebx + 0x17c]
cmp byte [ecx + 9], 0
je 0x462f17
mov edx, eax
xor ebx, ebx
mov dword [edx], edi
mov dword [edx + 4], 0
mov dword [edx + 8], 0
xor eax, eax
inc ebx
mov al, byte [ecx + 9]
add edx, 0xc
cmp eax, ebx
ja 0x462efa
cmp byte [ecx + 0xa], 0x20
je 0x463aab
mov edi, dword [ebp - 0x13c]
mov eax, dword [edi]
mov dword [ebp - 0x7c], eax
mov edx, dword [ebp - 0x148]
mov eax, dword [edx]
mov edx, dword [eax + 0x30]
cmp dword [eax + 4], 9
je 0x463a80
mov edi, dword [ebp - 0x144]
mov dword [ebp - 0x78], edi
push eax
mov ebx, dword [ebp - 0x148]
xor eax, eax
mov al, byte [ecx + 4]
mov edi, dword [ebx + 4]
imul eax, edi
add eax, edx
push eax
mov edx, dword [ebp - 0x1e0]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [ecx + 0x44]
add esp, 0x10
mov edi, dword [ebp - 0x148]
mov eax, dword [edi + 4]
inc eax
mov dword [edi + 4], eax
jmp 0x462afc
mov edx, dword [ebp - 0x144]
test edx, edx
je 0x462ec1
sub esp, 0xc
push eax
call fcn.0042d690
mov dword [esp], eax
mov edi, eax
call fcn.0042d250
add esp, 0x10
mov dword [ebp - 0x14c], eax
test eax, eax
je 0x462698
mov eax, dword [ebp - 0x14c]
push eax
mov eax, dword [ebp - 0x144]
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0x13c]
push eax
call fcn.0042d6f0
add esp, 0x10
test eax, eax
je 0x462bd5
dec eax
je 0x462b9e
push esi
push str.elf_reloc_link_order
push 0x2a47
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.00424440
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xd4], eax
test eax, eax
jne 0x462ab4
mov edx, dword [ebp + 0xc]
test byte [edx + 4], 2
jne 0x463037
mov ebx, dword [edx + 0x34]
test ebx, ebx
je 0x463037
mov eax, dword [ebx + 4]
cmp dword [eax + 4], 5
je 0x4635a1
mov ebx, dword [ebx + 0x9c]
test ebx, ebx
jne 0x463020
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x1d8], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x2c], 0
push ebx
lea ebx, [ebp - 0x34]
push ebx
push 0x45b250
mov edi, dword [ebp + 0xc]
mov ecx, dword [edi + 0x1c]
push ecx
call fcn.0042b400
mov edx, dword [ebp - 0x34]
add esp, 0x10
test edx, edx
jne 0x461d7a
mov eax, dword [ebp - 0x1c8]
mov edx, dword [eax + 0xd0]
test edx, edx
je 0x4630c3
cmp byte [ebp - 0xc1], 0
jne 0x4630a2
mov al, byte [edi + 1]
and eax, 0x18
cmp al, 0x18
je 0x4630c3
push fcn.00459940
mov eax, dword [ebp - 0x1d8]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call edx
add esp, 0x10
test eax, eax
je 0x461d7a
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x1c4]
mov eax, dword [edx + 0x7c]
mov dword [ecx + 0x68], eax
mov eax, dword [ebp - 0x1c0]
test eax, eax
je 0x4632ea
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebx + 0x1c]
mov eax, dword [edx + 0xf8]
test eax, eax
je 0x4632ea
cmp dword [eax + 0x3c], 0x4af990
je 0x4632ea
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x178], eax
mov al, byte [ebx]
and eax, 3
cmp al, 3
je 0x46312c
dec al
je 0x46312c
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x174], 0
test eax, eax
je 0x4631f7
mov eax, dword [ebp + 8]
mov byte [ebp - 0x50], 3
mov byte [ebp - 0x4f], 0
mov byte [ebp - 0x4e], 0
mov edi, dword [eax + 0x64]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x174], 0
test edi, edi
je 0x4631f7
mov eax, dword [edi + 0x8c]
mov ebx, dword [eax + 0x60]
test ebx, ebx
jle 0x4631e6
mov esi, dword [eax + 0x5c]
test esi, esi
jg 0x463186
push eax
push eax
push 0x2db9
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.00423990
add esp, 0x10
lea edx, [ebp - 0x5c]
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x1e4], edx
mov eax, dword [ebp + 8]
call fcn.004576e0
test eax, eax
je 0x461d7a
mov ecx, dword [ebp - 0x1c8]
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x174], ebx
mov edx, dword [ecx + 0x17c]
jge 0x4631c2
mov dword [ebp - 0x174], ebx
push 0
xor eax, eax
mov al, byte [edx + 5]
mov ecx, dword [ebp - 0x178]
imul eax, ebx
add eax, ecx
push eax
mov eax, dword [ebp - 0x1e4]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [edx + 0x24]
add esp, 0x10
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x46315e
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebx + 0x1c]
mov ebx, dword [edx + 0xc0]
test ebx, ebx
je 0x4632d1
lea edi, [ebp - 0x5c]
mov dword [ebp - 0x1e4], edi
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x58], eax
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x54], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x4c], eax
and byte [ebp - 0x4f], 0xfc
push eax
push eax
mov eax, dword [ebx + 0x20]
push eax
mov eax, dword [ebx + 4]
push eax
call fcn.00445bc0
add esp, 0x10
mov esi, eax
test eax, eax
je 0x463280
mov eax, dword [eax + 0x3c]
mov edx, dword [ebp - 0x1e4]
mov eax, dword [eax + 0x8c]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 8]
call fcn.004576e0
test eax, eax
je 0x461d7a
mov eax, dword [esi + 0x3c]
mov edi, dword [esi + 0x38]
mov esi, dword [ebx + 0x10]
mov eax, dword [eax + 0x1c]
add eax, edi
add eax, esi
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebx + 0xc]
cmp dword [ebp - 0x174], ecx
jge 0x463291
mov dword [ebp - 0x174], ecx
mov eax, dword [ebp - 0x1c8]
mov edx, dword [eax + 0x17c]
push 0
xor eax, eax
mov al, byte [edx + 5]
imul eax, ecx
mov ecx, dword [ebp - 0x178]
add eax, ecx
push eax
mov eax, dword [ebp - 0x1e4]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [edx + 0x24]
mov ebx, dword [ebx]
add esp, 0x10
test ebx, ebx
jne 0x46320e
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x1c]
mov eax, dword [edx + 0xf8]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax + 0x8c]
mov eax, dword [ebp - 0x174]
inc eax
mov dword [edx + 0x20], eax
mov ebx, dword [ebp - 0x1d8]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], 0
push edi
lea edi, [ebp - 0x34]
push edi
push 0x45b250
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x1c]
push esi
call fcn.0042b400
mov ebx, dword [ebp - 0x34]
add esp, 0x10
test ebx, ebx
jne 0x461d7a
mov ecx, dword [ebp - 0x1c8]
mov edx, dword [ecx + 0xd4]
test edx, edx
je 0x46336c
cmp byte [ebp - 0xc1], 0
jne 0x46334b
mov ebx, dword [ebp + 0xc]
mov al, byte [ebx + 1]
and eax, 0x18
cmp al, 0x18
je 0x46336c
push fcn.00459940
mov ecx, dword [ebp - 0x1d8]
push ecx
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call edx
add esp, 0x10
test eax, eax
je 0x461d7a
sub esp, 0xc
mov eax, dword [ebp - 0xb4]
push eax
call fcn.00469600
mov eax, dword [ebp - 0xbc]
add esp, 0x10
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x12c], eax
mov eax, dword [eax + 0x54]
test eax, eax
je 0x463607
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0xa0]
mov eax, dword [eax + 0x90c]
test eax, eax
jne 0x4633c8
push eax
push eax
push 0x22f5
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.00423990
mov edx, dword [ebp - 0xb8]
add esp, 0x10
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x12c]
sub esp, 0xc
mov eax, dword [eax + 0x1b4]
mov edi, dword [edx + 0x54]
mov dword [ebp - 0x134], eax
mov eax, dword [eax + 0x17c]
mov al, byte [eax + 5]
and eax, 0xff
imul eax, edi
push eax
call fcn.0042d1f0
add esp, 0x10
mov dword [ebp - 0x128], eax
test eax, eax
je 0x461d7a
mov esi, dword [ebp - 0x88]
test esi, esi
je 0x46343b
mov eax, dword [ebp - 0xb8]
sub esp, 0xc
mov eax, dword [eax + 0x7c]
shl eax, 2
push eax
call fcn.0042d250
add esp, 0x10
mov dword [ebp - 0x88], eax
test eax, eax
je 0x4638d2
mov ecx, dword [ebp - 0x12c]
mov edi, dword [ecx + 0x54]
test edi, edi
je 0x4634d4
mov dword [ebp - 0x130], 0
xor esi, esi
mov edi, dword [ebp - 0x12c]
mov ebx, esi
mov ecx, dword [edi + 0x5c]
add ebx, ecx
mov eax, dword [ebx + 8]
cmp eax, 0xffffffff
jne 0x4638b8
mov dword [ebx + 8], 0
mov edx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x88]
add esi, 0x1c
mov eax, dword [edx + 0x17c]
mov edx, dword [ebx + 0x18]
lea edx, [ecx + edx*4]
push edx
xor edx, edx
mov dl, byte [eax + 5]
mov edi, dword [ebx + 0x14]
imul edx, edi
mov ecx, dword [ebp - 0x128]
add edx, ecx
push edx
push ebx
mov edx, dword [ebp - 0xb8]
push edx
call dword [eax + 0x24]
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x12c]
inc eax
add esp, 0x10
mov dword [ebp - 0x130], eax
mov edi, dword [ecx + 0x54]
cmp edi, dword [ebp - 0x130]
ja 0x463458
mov ebx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0xb8]
xor edx, edx
mov eax, dword [ebx + 0x17c]
mov esi, dword [ecx + 0xa0]
mov bl, byte [eax + 5]
push 0
mov eax, dword [esi + 0x60]
add eax, dword [esi + 0x58]
adc edx, dword [esi + 0x5c]
push edx
push eax
push ecx
call fcn.00423710
add esp, 0x10
test eax, eax
jne 0x463534
and ebx, 0xff
push eax
imul ebx, edi
mov edi, dword [ebp - 0xb8]
push edi
push ebx
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.00423500
add esp, 0x10
cmp eax, ebx
je 0x4635d6
sub esp, 0xc
mov esi, dword [ebp - 0x128]
push esi
call fcn.004ae988
mov eax, dword [ebp - 0x12c]
pop ebx
mov ecx, dword [eax + 0x5c]
push ecx
call fcn.004ae988
mov edx, dword [ebp - 0x12c]
xor eax, eax
add esp, 0x10
mov dword [edx + 0x5c], 0
jmp 0x461d7c
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1ac], 0
jmp 0x462122
mov eax, dword [ebx + 0xa0]
mov eax, dword [eax + 0x24c]
test eax, eax
je 0x46302d
sub esp, 0xc
push eax
call fcn.004ae988
mov eax, dword [ebx + 0xa0]
add esp, 0x10
mov dword [eax + 0x24c], 0
jmp 0x46302d
mov edx, dword [esi + 0x60]
sub esp, 0xc
add edx, eax
mov eax, dword [ebp - 0x128]
mov dword [esi + 0x60], edx
push eax
call fcn.004ae988
mov edi, dword [ebp - 0x12c]
pop eax
mov eax, dword [edi + 0x5c]
push eax
call fcn.004ae988
mov dword [edi + 0x5c], 0
add esp, 0x10
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x7c]
test eax, eax
je 0x463733
mov ecx, dword [ebp - 0x1c4]
mov edx, dword [ecx + 0x60]
xor ecx, ecx
mov dword [ebp - 0x170], edx
mov edx, dword [ebp - 0x1c4]
mov dword [ebp - 0x16c], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [edx + 0x58]
mov edx, dword [edx + 0x5c]
add dword [ebp - 0x170], eax
adc dword [ebp - 0x16c], edx
mov esi, dword [ecx + 0xa0]
mov ebx, dword [esi + 0x208]
test ebx, ebx
je 0x463661
mov edi, dword [ebx]
test edi, edi
jne 0x4638eb
mov edi, dword [ebp - 0x1c8]
sub esp, 0xc
mov ebx, dword [ebp - 0xb4]
mov dword [esi + 0xbc], 3
mov eax, dword [edi + 0x1b4]
mov dword [esi + 0xc4], 0
mov dword [esi + 0xc0], eax
push ebx
call fcn.004694f0
mov dword [esi + 0xe0], 0
mov dword [esi + 0xd0], eax
mov dword [esi + 0xd4], 0
mov dword [esi + 0xd8], 0
mov dword [esi + 0xdc], 1
push 1
lea eax, [esi + 0xb8]
mov ecx, dword [ebp - 0x16c]
push ecx
mov edx, dword [ebp - 0x170]
push edx
push eax
call fcn.00445ce0
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0xa0]
add esp, 0x20
mov ecx, dword [ecx + 0x934]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
push 0
mov eax, dword [esi + 0xcc]
push eax
mov eax, dword [esi + 0xc8]
push eax
push ebx
call fcn.00423710
add esp, 0x10
test eax, eax
jne 0x461d7a
push eax
push eax
mov eax, dword [ebp - 0xb4]
push eax
push ebx
call fcn.004697a0
add esp, 0x10
test eax, eax
je 0x461d7a
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x64]
test ebx, ebx
je 0x4637b3
mov esi, dword [ebx + 0x8c]
test byte [ebx + 0x14], 4
je 0x4637ac
mov edx, dword [ebp - 0x1c8]
mov eax, dword [edx + 0xfc]
test eax, eax
je 0x463768
sub esp, 0xc
xor edi, edi
push ebx
call eax
add esp, 0x10
test eax, eax
je 0x46376d
mov edi, 1
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x463789
lea edx, [esi + 0x3c]
mov ecx, edi
mov eax, dword [ebp + 8]
call fcn.00459270
test eax, eax
je 0x461d7a
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x4637a5
lea edx, [esi + 0x4c]
mov ecx, edi
mov eax, dword [ebp + 8]
call fcn.00459270
test eax, eax
je 0x461d7a
mov dword [ebx + 0x4c], 0
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x46373d
mov ebx, dword [ebp - 0x1c0]
test ebx, ebx
je 0x4642be
mov ecx, dword [ebp + 0xc]
test byte [ecx + 4], 8
je 0x463c31
mov ecx, dword [ebp - 0x1b8]
test ecx, ecx
je 0x463c31
mov ebx, dword [ebp + 8]
sub esp, 0xc
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x1b4]
mov dword [ebp - 0xfc], eax
mov eax, dword [eax + 0x17c]
mov al, byte [eax + 9]
mov byte [ebp - 0xe5], al
push ebx
call fcn.00424f40
mov dword [ebp - 0x100], eax
pop eax
pop edx
push str..rela.dyn
push ebx
call fcn.004202c0
mov dword [ebp - 0xd0], eax
pop edi
pop eax
push str..rel.dyn
push ebx
call fcn.004202c0
mov esi, dword [ebp - 0xd0]
add esp, 0x10
mov dword [ebp - 0x198], eax
test esi, esi
je 0x463d34
mov edx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x24]
test eax, eax
je 0x463d34
mov ebx, dword [ebp - 0x198]
test ebx, ebx
je 0x463bbd
mov ecx, dword [ebp - 0x198]
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x463bbd
mov edi, dword [edx + 0xa0]
test edi, edi
je 0x464135
mov edx, dword [ebp - 0xfc]
mov esi, edi
mov dword [ebp - 0x114], 1
mov dword [ebp - 0x118], 0
mov ebx, dword [edx + 0x17c]
cmp dword [esi + 4], 1
je 0x4640a0
mov esi, dword [esi]
test esi, esi
jne 0x4638a3
jmp 0x464155
push edx
push edx
push eax
mov edi, dword [ebp - 0xb4]
push edi
call fcn.00469870
add esp, 0x10
mov dword [ebx + 8], eax
jmp 0x463478
sub esp, 0xc
mov ebx, dword [ebp - 0x128]
push ebx
call fcn.004ae988
xor eax, eax
add esp, 0x10
jmp 0x461d7c
mov dword [ebx + 4], 0x12
mov dword [ebx + 0x28], 4
mov eax, dword [ecx + 0x7c]
mov dword [ebx + 0x24], 4
lea esi, [eax*4]
mov dword [ebx + 0x18], esi
push 1
mov edx, dword [ebp - 0x16c]
push edx
mov eax, dword [ebp - 0x170]
push eax
push ebx
call fcn.00445ce0
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], edx
push 0
mov eax, dword [ebx + 0x14]
push eax
mov eax, dword [ebx + 0x10]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00423710
add esp, 0x20
test eax, eax
jne 0x461d7a
push eax
mov eax, dword [ebp + 8]
push eax
push esi
mov edi, dword [ebp - 0x88]
push edi
call fcn.00423500
add esp, 0x10
cmp eax, esi
jne 0x461d7a
mov ebx, dword [ebp + 8]
mov esi, dword [ebx + 0xa0]
jmp 0x463661
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x4639ab
add ebx, 0x4c
mov dword [ebp - 0x148], ebx
jmp 0x462e64
sub esp, 0xc
lea ebx, [ebp - 0xbc]
push 0x11
call fcn.00424660
add esp, 0x10
mov dword [ebp - 0x1d8], ebx
jmp 0x46254a
push eax
push eax
push 0x29fe
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.00423990
mov dword [ebp - 0x148], 0
add esp, 0x10
mov edx, dword [esi + 0x10]
jmp 0x462e64
push eax
push eax
push 1
push 0
push 0
mov eax, dword [edx + 4]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0042f820
add esp, 0x20
mov edx, eax
test eax, eax
je 0x463a54
mov al, byte [eax + 0xc]
sub eax, 3
cmp al, 1
jbe 0x463a15
mov dword [edx + 0x1c], 0xfffffffe
mov dword [ebx], edx
mov dword [ebp - 0x140], 0
jmp 0x462eb0
mov edx, dword [edx + 0x14]
mov dword [ebx], 0
mov eax, dword [edx + 0x3c]
mov ebx, dword [edx + 0x38]
mov edi, dword [eax + 0x88]
mov ecx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x140], edi
add eax, ecx
mov dword [ebp - 0x144], eax
mov edi, dword [ebp - 0x144]
add edi, ebx
mov dword [ebp - 0x144], edi
jmp 0x462eb0
sub esp, 0xc
mov edi, dword [ebp + 0xc]
mov edx, dword [edi + 0x18]
push 0
push 0
push 0
mov eax, dword [esi + 0x10]
mov ebx, dword [eax + 4]
push ebx
push edi
call dword [edx + 0x24]
add esp, 0x20
mov dword [ebp - 0x140], 0
jmp 0x462eb0
push eax
xor eax, eax
mov ebx, dword [ebp - 0x148]
mov al, byte [ecx + 3]
mov edi, dword [ebx + 4]
imul eax, edi
add eax, edx
push eax
mov eax, dword [ebp - 0x1e0]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [ecx + 0x3c]
add esp, 0x10
jmp 0x462f70
mov ebx, dword [ebp - 0x140]
shl ebx, 8
mov dword [ebp - 0x140], ebx
mov ebx, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x140]
movzx eax, byte [ebx]
add eax, edx
mov dword [ebp - 0x7c], eax
jmp 0x462f2c
lea eax, [ebp - 0xbc]
mov dword [ebp - 0x1d8], eax
cmp dword [esi + 4], 1
jne 0x46254a
mov edx, dword [ebp - 0x1b4]
mov eax, dword [edx + 4]
cmp dword [eax + 4], 5
jne 0x46254a
mov eax, dword [edx + 0xa0]
mov ebx, dword [ebp - 0x1c8]
mov dl, byte [eax + 4]
mov eax, dword [ebx + 0x17c]
mov al, byte [eax + 0xc]
cmp dl, al
je 0x46260b
cmp al, 1
je 0x463b78
jb 0x463b4d
mov esi, str.ELFCLASS64
cmp al, 2
je 0x463b52
push eax
push str.bfd_elf_final_link
push 0x2d52
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.00424440
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 4]
mov edx, dword [eax]
jmp 0x462bae
mov esi, str.ELFCLASSNONE
cmp dl, 1
je 0x463bb6
jb 0x463b7f
mov ebx, str.ELFCLASS64
cmp dl, 2
je 0x463b84
push edi
push str.bfd_elf_final_link
push 0x2d5a
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.00424440
mov esi, str.ELFCLASS32
jmp 0x463b52
mov ebx, str.ELFCLASSNONE
sub esp, 0xc
lea edi, [ebp - 0xbc]
push 3
call fcn.00424660
push esi
push ebx
mov esi, dword [ebp - 0x1b4]
push esi
push str._B:_file_class__s_incompatible_with__s
call dword [0x4afb04]
add esp, 0x20
mov dword [ebp - 0x1d8], edi
jmp 0x46254a
mov ebx, str.ELFCLASS32
jmp 0x463b84
test eax, eax
je 0x463d34
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xfc]
mov edi, dword [ecx + 0xa0]
mov ebx, dword [eax + 0x17c]
xor ecx, ecx
mov eax, dword [ebx + 0x40]
mov cl, byte [ebx + 4]
mov edx, dword [ebp - 0xd0]
mov ebx, dword [ebx + 0x44]
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x198], edx
xor edx, edx
test edi, edi
je 0x463c20
cmp dword [edi + 4], 1
jne 0x463c1a
mov eax, dword [edi + 0x10]
mov esi, dword [eax + 0x24]
add edx, esi
mov edi, dword [edi]
test edi, edi
jne 0x463c0c
mov ecx, dword [ebp - 0x198]
mov eax, dword [ecx + 0x24]
cmp eax, edx
je 0x46466b
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0
push eax
push eax
push str..dynamic
mov edi, dword [ebp - 0x1b8]
push edi
call fcn.00420380
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x463c75
push edx
push edx
push 0x2e59
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.00423990
add esp, 0x10
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x168], ecx
add ecx, eax
mov dword [ebp - 0x164], ecx
cmp dword [ebp - 0x168], ecx
jae 0x4642be
mov ebx, dword [ebp - 0x1c8]
mov edx, dword [ebx + 0x17c]
lea edi, [ebp - 0x1c]
push eax
push edi
mov eax, dword [ebp - 0x168]
push eax
mov eax, dword [ebp - 0x1b8]
push eax
call dword [edx + 0x30]
mov edx, dword [ebp - 0x1c]
add esp, 0x10
cmp edx, 0x12
ja 0x463f6b
cmp edx, 0x11
jae 0x463f18
cmp edx, 6
je 0x463f61
ja 0x463f00
cmp edx, 4
je 0x463ec1
ja 0x463e85
test edx, edx
jne 0x463e5a
mov eax, dword [ebp - 0x19c]
test eax, eax
jne 0x463da3
mov edi, dword [ebp - 0x1c8]
xor eax, eax
mov ebx, dword [ebp - 0x168]
mov edx, dword [edi + 0x17c]
mov al, byte [edx + 6]
lea ecx, [eax + ebx]
cmp ecx, dword [ebp - 0x164]
jae 0x4642be
mov dword [ebp - 0x168], ecx
jmp 0x463ca1
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x19c], 0
test eax, eax
je 0x463c45
mov edx, dword [ebp - 0x198]
mov eax, dword [edx + 0x24]
test eax, eax
je 0x463c31
mov ecx, dword [ebp - 0x198]
mov edi, dword [ebp - 0xfc]
mov ecx, dword [ecx + 0xa0]
mov ebx, dword [edi + 0x17c]
mov dword [ebp - 0x10c], ecx
xor eax, eax
mov edx, dword [ebx + 0x38]
mov al, byte [ebx + 3]
mov edi, dword [ebp - 0x10c]
mov ebx, dword [ebx + 0x3c]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0x104], edx
mov dword [ebp - 0x108], ebx
jmp 0x463c06
mov edi, dword [ebp - 0x1c8]
xor eax, eax
mov ebx, dword [ebp - 0x168]
mov edx, dword [edi + 0x17c]
mov al, byte [edx + 6]
lea ecx, [eax + ebx]
cmp dword [ebp - 0x164], ecx
jbe 0x4642be
mov edi, dword [ebp - 0x198]
mov eax, dword [edi + 0x8c]
mov eax, dword [eax + 4]
cmp eax, 4
je 0x463e79
cmp eax, 9
jne 0x463d1d
mov dword [ebp - 0x1c], 0x6ffffffa
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x18], eax
push ebx
lea edi, [ebp - 0x1c]
mov ebx, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x168]
mov eax, dword [ebx + 0x17c]
push ecx
push edi
mov edx, dword [ebp - 0x1b8]
push edx
call dword [eax + 0x34]
mov edx, dword [ebx + 0x17c]
xor eax, eax
mov ecx, dword [ebp - 0x168]
add esp, 0x10
mov al, byte [edx + 6]
add ecx, eax
jmp 0x463d1d
cmp edx, 0x6ffffffc
je 0x464096
mov ebx, str..gnu.version_r
cmp edx, 0x6ffffffe
je 0x463e8a
mov eax, dword [ebp - 0x1c8]
mov ebx, dword [ebp - 0x168]
mov edx, dword [eax + 0x17c]
xor eax, eax
mov al, byte [edx + 6]
lea ecx, [eax + ebx]
jmp 0x463d1d
mov dword [ebp - 0x1c], 0x6ffffff9
jmp 0x463df1
mov ebx, str..dynstr
push eax
push eax
push ebx
mov eax, dword [ebp - 0x1b8]
push eax
call fcn.00420380
add esp, 0x10
mov edx, eax
test edx, edx
je 0x463eea
mov ecx, dword [edx + 0x3c]
mov eax, dword [ecx + 0x8c]
cmp dword [eax + 4], 7
je 0x463ec8
mov eax, dword [ecx + 0x1c]
mov ebx, dword [edx + 0x38]
add eax, ebx
mov dword [ebp - 0x18], eax
jmp 0x463e04
mov ebx, str..hash
jmp 0x463e8a
push esi
push esi
push ebx
push str.warning:_section__s_is_being_made_into_a_note
call dword [0x4afb04]
mov dword [esp], 0xf
call fcn.00424660
add esp, 0x10
jmp 0x46254a
push edi
push edi
push ebx
push str.could_not_find_section__s
call dword [0x4afb04]
add esp, 0x10
jmp 0x46254a
cmp edx, 0xc
je 0x464807
ja 0x46460d
cmp edx, 8
ja 0x463e5a
lea eax, [edx - 0x11]
mov ecx, dword [ebp + 8]
cmp eax, 2
mov dword [ebp - 0x18], 0
sbb ebx, ebx
mov esi, dword [ecx + 0xa0]
and ebx, 5
add ebx, 4
cmp dword [esi + 0x214], 1
jbe 0x463e04
mov edi, 1
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + edi*4]
cmp dword [ecx + 4], ebx
je 0x463fa9
inc edi
cmp dword [esi + 0x214], edi
ja 0x463f48
jmp 0x463e04
mov ebx, str..dynsym
jmp 0x463e8a
cmp edx, 0x20
je 0x464078
ja 0x46404f
cmp edx, 0x1a
je 0x464045
ja 0x463fdd
cmp edx, 0x19
jne 0x463e5a
mov ebx, str..init_array
push eax
push eax
push ebx
mov eax, dword [ebp + 8]
push eax
call fcn.004202c0
add esp, 0x10
mov edx, eax
jmp 0x463e9e
test byte [ecx + 8], 2
je 0x463f53
cmp edx, 0x12
je 0x463fcd
cmp edx, 8
je 0x463fcd
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x463fc5
cmp eax, dword [ecx + 0xc]
jbe 0x463f53
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x18], eax
jmp 0x463f53
mov eax, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x18]
add ecx, eax
mov dword [ebp - 0x18], ecx
jmp 0x463f53
cmp edx, 0x1b
je 0x46403e
cmp edx, 0x1c
jne 0x463e5a
mov esi, str..fini_array
push ebx
push ebx
push esi
mov ecx, dword [ebp + 8]
push ecx
call fcn.004202c0
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x464028
mov eax, dword [eax + 0x24]
test eax, eax
jne 0x46401d
push eax
push eax
push esi
push str.warning:__s_section_has_zero_size
call dword [0x4afb04]
add esp, 0x10
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x18], eax
jmp 0x463e04
push edx
push edx
push esi
push str.could_not_find_section__s
call dword [0x4afb04]
add esp, 0x10
jmp 0x46254a
mov esi, str..init_array
jmp 0x463ff0
mov ebx, str..fini_array
jmp 0x463f93
cmp edx, 0x6ffffff0
je 0x46408c
ja 0x463e41
cmp edx, 0x21
je 0x464082
cmp edx, 0x6ffffef5
jne 0x463e5a
mov ebx, str..gnu.hash
jmp 0x463e8a
mov ebx, str..preinit_array
jmp 0x463f93
mov esi, str..preinit_array
jmp 0x463ff0
mov ebx, str..gnu.version
jmp 0x463e8a
mov ebx, str..gnu.version_d
jmp 0x463e8a
mov eax, dword [esi + 0x10]
xor edx, edx
mov ecx, dword [eax + 0x24]
xor eax, eax
mov al, byte [ebx + 4]
mov dword [ebp - 0x200], eax
mov eax, ecx
div dword [ebp - 0x200]
test edx, edx
jne 0x464275
xor eax, eax
xor edx, edx
mov al, byte [ebx + 3]
mov dword [ebp - 0x200], eax
mov eax, ecx
div dword [ebp - 0x200]
test edx, edx
je 0x4638ad
mov eax, dword [ebp - 0x118]
test eax, eax
je 0x46425c
mov eax, dword [ebp - 0x114]
test eax, eax
jne 0x46425c
push ecx
push ecx
mov edx, dword [ebp + 8]
push edx
push str._B:_Unable_to_sort_relocs___they_are_in_more_than_one_size
call dword [0x4afb04]
mov dword [esp], 5
call fcn.00424660
add esp, 0x10
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0
jmp 0x463c45
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x114], 1
mov dword [ebp - 0x118], 0
mov ebx, dword [eax + 0x17c]
mov ecx, dword [ebp - 0x198]
mov ecx, dword [ecx + 0xa0]
mov dword [ebp - 0x10c], ecx
test ecx, ecx
je 0x464179
mov esi, ecx
cmp dword [esi + 4], 1
je 0x46419a
mov esi, dword [esi]
test esi, esi
jne 0x46416d
mov eax, dword [ebp - 0x118]
test eax, eax
je 0x463bdd
mov eax, dword [ebp - 0x114]
test eax, eax
je 0x463d7b
jmp 0x463bdd
mov eax, dword [esi + 0x10]
xor edx, edx
mov ecx, dword [eax + 0x24]
xor eax, eax
mov al, byte [ebx + 4]
mov dword [ebp - 0x200], eax
mov eax, ecx
div dword [ebp - 0x200]
test edx, edx
jne 0x464203
xor eax, eax
xor edx, edx
mov al, byte [ebx + 3]
mov dword [ebp - 0x200], eax
mov eax, ecx
div dword [ebp - 0x200]
test edx, edx
je 0x464173
mov eax, dword [ebp - 0x118]
test eax, eax
je 0x4641ea
mov eax, dword [ebp - 0x114]
test eax, eax
je 0x4640fc
mov dword [ebp - 0x114], 1
mov dword [ebp - 0x118], 1
jmp 0x464173
xor eax, eax
xor edx, edx
mov al, byte [ebx + 3]
mov dword [ebp - 0x200], eax
mov eax, ecx
div dword [ebp - 0x200]
test edx, edx
jne 0x46424c
mov eax, dword [ebp - 0x118]
test eax, eax
je 0x464233
cmp dword [ebp - 0x114], 1
je 0x4640fc
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x118], 1
jmp 0x464173
push eax
push eax
mov eax, dword [ebp + 8]
push eax
push str._B:_Unable_to_sort_relocs___they_are_of_an_unknown_size
jmp 0x464107
mov dword [ebp - 0x114], 1
mov dword [ebp - 0x118], 1
jmp 0x4638ad
xor eax, eax
xor edx, edx
mov al, byte [ebx + 3]
mov dword [ebp - 0x200], eax
mov eax, ecx
div dword [ebp - 0x200]
test edx, edx
jne 0x46424c
mov eax, dword [ebp - 0x118]
test eax, eax
je 0x4642a5
cmp dword [ebp - 0x114], 1
je 0x4640fc
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x118], 1
jmp 0x4638ad
mov eax, dword [ebp - 0x1b8]
test eax, eax
je 0x464487
push eax
push eax
mov edi, dword [ebp + 0xc]
push edi
mov esi, dword [ebp + 8]
push esi
mov edx, dword [ebp - 0x1c8]
call dword [edx + 0x9c]
add esp, 0x10
test eax, eax
je 0x46254a
mov ecx, dword [ebp + 0xc]
mov dl, byte [ecx + 3]
test dl, 0x20
je 0x464305
mov al, byte [ecx]
and eax, 3
cmp al, 3
je 0x46430a
dec al
je 0x46430a
and edx, 0x40
je 0x464372
push ebx
push ebx
push str..dynamic
mov ecx, dword [ebp - 0x1b8]
push ecx
call fcn.00420380
add esp, 0x10
test eax, eax
je 0x464372
mov ebx, dword [eax + 0x6c]
mov edx, dword [eax + 0x24]
mov esi, ebx
add esi, edx
cmp ebx, esi
jae 0x464372
mov edi, dword [ebp - 0x1c8]
mov edx, dword [edi + 0x17c]
lea edi, [ebp - 0x24]
push eax
push edi
push ebx
mov eax, dword [ebp - 0x1b8]
push eax
call dword [edx + 0x30]
add esp, 0x10
cmp dword [ebp - 0x24], 0x16
je 0x4645ea
mov eax, dword [ebp - 0x1c8]
mov edx, dword [eax + 0x17c]
xor eax, eax
mov al, byte [edx + 6]
add ebx, eax
cmp esi, ebx
ja 0x464341
mov edx, dword [ebp - 0x1b8]
mov edx, dword [edx + 0x64]
mov dword [ebp - 0x1ec], edx
test edx, edx
je 0x464487
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [ecx + 0x14]
test ah, 1
je 0x464470
mov ebx, dword [ecx + 0x24]
mov dword [ebp - 0xdc], ebx
test ebx, ebx
je 0x464470
mov ebx, dword [ecx + 0x3c]
cmp ebx, 0x4af990
je 0x464470
test eax, 0x100000
je 0x464470
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x1c]
cmp dword [eax + 0xa0], ecx
je 0x464470
cmp dword [eax + 0xa4], ecx
je 0x464470
mov eax, str..dynstr
mov esi, dword [ecx]
cld
mov ecx, 8
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x464574
mov eax, dword [ebp - 0x1ec]
sub esp, 0xc
xor esi, esi
mov ebx, dword [eax + 0x38]
mov eax, dword [ebp + 8]
push eax
call fcn.00424f40
mov edx, dword [ebp - 0xdc]
pop ecx
pop edi
push edx
mov dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x200]
mov eax, dword [ebp - 0x200]
imul edx, esi
mov dword [ebp - 0x1f4], edx
mov dword [ebp - 0x1fc], 0
mul ebx
mov edi, dword [ebp - 0x1f4]
mov esi, edx
add esi, edi
push esi
push eax
mov edx, dword [ebp - 0x1ec]
mov esi, dword [edx + 0x6c]
push esi
mov ebx, dword [edx + 0x3c]
push ebx
mov ecx, dword [ebp + 8]
push ecx
call fcn.0041fec0
add esp, 0x20
test eax, eax
je 0x46254a
mov ebx, dword [ebp - 0x1ec]
mov ebx, dword [ebx + 0xc]
mov dword [ebp - 0x1ec], ebx
test ebx, ebx
jne 0x464389
mov edi, dword [ebp + 0xc]
mov al, byte [edi]
and eax, 3
cmp al, 2
je 0x4645bd
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x1c]
mov ecx, dword [eax + 0xa0]
test ecx, ecx
je 0x4644c1
sub eax, 0xffffff80
push edx
push edx
push eax
mov edi, dword [ebp + 8]
push edi
call fcn.0048b230
add esp, 0x10
test eax, eax
je 0x46254a
push esi
push esi
mov ebx, dword [ebp + 0xc]
push ebx
mov ecx, dword [ebp + 8]
push ecx
call fcn.0046a360
add esp, 0x10
test eax, eax
je 0x46254a
mov edx, dword [ebp - 0x1d8]
mov eax, dword [ebp + 8]
call fcn.00459820
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xa0]
mov edx, dword [ebp - 0x194]
test edx, edx
mov eax, dword [eax + 0x934]
mov dword [eax + 0x38], 1
mov eax, 1
je 0x461d7c
sub esp, 0xc
mov eax, dword [ebp - 0x190]
push eax
call fcn.0042d1f0
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x461d7a
push edi
mov esi, dword [ebp - 0x190]
push esi
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00489960
pop eax
mov eax, dword [ebp - 0x190]
pop edx
push eax
push 0
push 0
push ebx
mov eax, dword [ebp - 0x194]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0041fec0
add esp, 0x14
push ebx
call fcn.004ae988
mov eax, 1
add esp, 0x10
jmp 0x461d7c
push 0
mov eax, dword [ebx + 0x8c]
mov edx, dword [eax + 0x14]
push edx
mov eax, dword [eax + 0x10]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00423710
add esp, 0x10
test eax, eax
jne 0x46254a
push eax
push eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0x50]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004697a0
add esp, 0x10
test eax, eax
jne 0x464470
jmp 0x46254a
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push edi
push eax
push 0x44aaf0
mov esi, dword [ebp + 8]
push esi
call fcn.0041ffc0
mov ebx, dword [ebp - 0x14]
add esp, 0x10
test ebx, ebx
jne 0x46254a
jmp 0x464497
mov eax, dword [ebp + 0xc]
test byte [eax + 3], 0x40
je 0x464812
sub esp, 0xc
mov eax, dword [eax + 0x18]
push str._P_X:_read_only_segment_has_dynamic_relocations._n
call dword [eax + 0x2c]
add esp, 0x10
jmp 0x464372
cmp edx, 0xd
jne 0x463e5a
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x4c]
sub esp, 0xc
push 1
push 0
push 0
push eax
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x1c]
push eax
call fcn.0042f220
add esp, 0x20
mov ecx, eax
test eax, eax
je 0x464837
mov al, byte [eax + 0xc]
sub eax, 3
cmp al, 1
jbe 0x4647e5
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x168]
mov edx, dword [eax + 0x17c]
xor eax, eax
mov al, byte [edx + 6]
add ecx, eax
jmp 0x463d1d
xor edx, edx
div dword [ebp - 0xf4]
mov dword [ebp - 0x1cc], eax
test eax, eax
je 0x463c31
xor eax, eax
sub esp, 0xc
mov al, byte [ebp - 0xe5]
lea eax, [eax + eax*2]
lea eax, [eax*4 + 8]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x1cc]
mov ebx, dword [ebp - 0xf0]
imul eax, ebx
push eax
call fcn.0042d250
add esp, 0x10
mov dword [ebp - 0xec], eax
test eax, eax
je 0x464939
mov edi, dword [ebp - 0xfc]
mov eax, dword [edi + 0x17c]
cmp byte [eax + 0xa], 0x20
setne al
and eax, 0xff
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
dec eax
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
mov al, 0
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x198]
mov eax, dword [eax + 0xa0]
mov dword [ebp - 0xe4], eax
test eax, eax
je 0x464733
mov edx, dword [ebp - 0xe4]
cmp dword [edx + 4], 1
je 0x464855
mov edi, dword [ebp - 0xe4]
mov edi, dword [edi]
mov dword [ebp - 0xe4], edi
test edi, edi
jne 0x464711
push 0x454fa0
mov edi, dword [ebp - 0xf0]
push edi
mov esi, dword [ebp - 0x1cc]
push esi
mov ebx, dword [ebp - 0xec]
push ebx
call sub.msvcrt.dll_qsort
mov eax, dword [ebp - 0xec]
add esp, 0x10
cmp dword [eax + 4], 1
jne 0x464a28
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xec]
add eax, ecx
mov dword [ebp - 0x19c], 0
mov edx, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x1cc]
inc edx
mov ebx, eax
mov dword [ebp - 0x19c], edx
cmp dword [ebp - 0x19c], ecx
je 0x4649a6
mov edx, dword [ebp - 0xf0]
cmp dword [ebx + 4], 1
lea eax, [ebx + edx]
je 0x46477d
mov ecx, ebx
mov esi, dword [ebp - 0x19c]
mov edx, ebx
mov eax, dword [edx + 0xc]
mov edi, dword [ecx + 0xc]
xor eax, edi
test dword [ebp - 0x110], eax
je 0x4647c9
mov ecx, edx
mov eax, dword [ecx + 8]
inc esi
mov dword [edx], eax
cmp dword [ebp - 0x1cc], esi
jbe 0x4649a6
mov edi, dword [ebp - 0xf0]
add edx, edi
jmp 0x4647b7
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x18], edx
mov eax, dword [ecx + 0x14]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x46482b
mov edi, dword [ecx + 0x1c]
mov esi, dword [eax + 0x38]
add edx, edi
add edx, esi
mov dword [ebp - 0x18], edx
jmp 0x463e04
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x48]
jmp 0x46461c
mov ecx, dword [ebp + 0xc]
sub esp, 0xc
mov eax, dword [ecx + 0x18]
push str._P:_warning:_creating_a_DT_TEXTREL_in_a_shared_object._n
call dword [eax + 0x2c]
add esp, 0x10
jmp 0x464372
mov dword [ebp - 0x18], 0
jmp 0x463e04
mov edi, dword [ebp - 0x1c8]
xor eax, eax
mov ecx, dword [ebp - 0x168]
mov edx, dword [edi + 0x17c]
mov al, byte [edx + 6]
add ecx, eax
jmp 0x463d1d
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x120], ecx
mov ebx, ecx
mov ecx, dword [ecx + 0x6c]
test ecx, ecx
je 0x464970
mov edi, dword [ebp - 0x120]
mov eax, dword [edi + 0x24]
add eax, ecx
mov dword [ebp - 0x11c], eax
mov eax, dword [edi + 0x38]
cmp ecx, dword [ebp - 0x11c]
jae 0x464721
mov ebx, dword [ebp - 0x100]
xor edx, edx
imul eax, ebx
div dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
mov ebx, dword [ebp - 0xf4]
imul eax, edx
mov edx, dword [ebp - 0xec]
add ebx, ecx
mov dword [ebp - 0x1dc], ebx
mov edi, ebx
lea esi, [eax + edx]
lea ebx, [esi + 8]
push eax
push ebx
push ecx
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 0x104]
add esp, 0xc
push ebx
mov eax, dword [ebp - 0x120]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0xfc]
call dword [ecx + 0x110]
mov ebx, dword [ebp - 0x110]
mov dword [esi], ebx
mov dword [esi + 4], eax
mov ebx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xf0]
add edi, ebx
add esi, eax
mov edx, dword [ebp - 0xf4]
mov eax, edi
sub eax, edx
add esp, 0x10
mov ecx, dword [ebp - 0x1dc]
cmp eax, dword [ebp - 0x11c]
jae 0x464721
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0xf4]
add eax, edx
mov dword [ebp - 0x1dc], eax
jmp 0x4648be
push ecx
push ecx
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x18]
push 0
push 0
mov edx, dword [ebp + 8]
push edx
push 0
push str.Not_enough_memory_to_sort_relocations
push ebx
call dword [eax + 0x14]
add esp, 0x20
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0
jmp 0x463c45
mov edi, dword [ebx + 0x24]
test edi, edi
je 0x464721
sub esp, 0xc
mov esi, dword [ebp - 0xec]
push esi
call fcn.004ae988
add esp, 0x10
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0
jmp 0x463c45
push 0x455000
mov ecx, dword [ebp - 0xf0]
push ecx
mov eax, dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x19c]
sub eax, edx
push eax
push ebx
call sub.msvcrt.dll_qsort
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebx + 0x1c]
add esp, 0x10
mov ebx, dword [edi + 0xe4]
test ebx, ebx
je 0x4649e5
mov esi, dword [ebx + 0x3c]
cmp esi, dword [ebp - 0x198]
je 0x464a43
mov eax, dword [ebp - 0x198]
mov edi, dword [eax + 0xa0]
test edi, edi
je 0x464a11
mov edx, dword [ebp - 0xec]
mov dword [ebp - 0xf8], edx
cmp dword [edi + 4], 1
je 0x464ab4
mov edi, dword [edi]
test edi, edi
jne 0x464a01
sub esp, 0xc
mov ecx, dword [ebp - 0xec]
push ecx
call fcn.004ae988
add esp, 0x10
jmp 0x463c45
mov edx, dword [ebp - 0xec]
xor esi, esi
mov ecx, edx
mov ebx, edx
mov dword [ebp - 0x19c], 0
jmp 0x4647b7
mov edx, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0xec]
lea eax, [edx + edx*4]
shl eax, 2
cmp dword [ecx + eax - 0x10], 4
jne 0x4649e5
add ecx, eax
xor edx, edx
inc edx
cmp edx, dword [ebp - 0x1cc]
je 0x464a7c
mov eax, dword [ecx - 0x24]
sub ecx, 0x14
cmp eax, 4
je 0x464a60
test edx, edx
je 0x4649e5
mov eax, dword [ebp - 0xf4]
imul edx, eax
cmp dword [ebx + 0x24], edx
jne 0x4649e5
lea ecx, [esi + 0xa0]
mov edx, dword [esi + 0xa0]
test edx, edx
je 0x464b5d
cmp dword [edx + 4], 1
je 0x464b76
mov ecx, edx
mov eax, dword [edx]
mov edx, eax
jmp 0x464a9a
mov ebx, dword [edi + 0x10]
mov esi, dword [ebp - 0xec]
xor edx, edx
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x24]
add eax, ecx
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0xf8]
sub eax, esi
div dword [ebp - 0xf0]
mov edx, dword [ebp - 0xf4]
imul eax, edx
xor edx, edx
div dword [ebp - 0x100]
mov dword [ebx + 0x38], eax
cmp ecx, dword [ebp - 0x124]
jae 0x464a0b
mov ebx, dword [ebp - 0xf4]
add ebx, ecx
mov esi, ebx
push eax
push ecx
mov eax, dword [ebp - 0xf8]
add eax, 8
push eax
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 0x108]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xf8]
add eax, edx
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf4]
add esi, eax
add esp, 0x10
mov eax, esi
mov ecx, ebx
sub eax, edx
cmp eax, dword [ebp - 0x124]
jae 0x464a0b
mov eax, dword [ebp - 0xf4]
lea ebx, [eax + ebx]
jmp 0x464b05
mov ebx, dword [ebp - 0xe4]
mov dword [ecx], ebx
mov dword [ebx], 0
mov dword [esi + 0xa4], ebx
jmp 0x4649e5
mov eax, dword [edx + 0x10]
cmp eax, dword [edi + 0xe4]
jne 0x464aac
mov eax, dword [edx]
mov dword [ebp - 0xe4], edx
mov dword [ecx], eax
jmp 0x464ab0