Function at 0x466230
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x32c
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x1b4]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ecx + 0x20]
cmp dword [eax + 0x28], 1
je 0x466264
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 0x466c14
dec dl
je 0x466c14
mov edi, dword [eax + 0x30]
mov edx, dword [ebp + 0xc]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x2c8], edi
mov dword [ebp - 0x2c0], eax
mov al, byte [edx]
mov dword [ebp - 0x2c4], 1
and eax, 3
cmp al, 2
je 0x4662b2
mov al, byte [edx + 3]
shr al, 1
mov ecx, eax
and ecx, 1
mov dword [ebp - 0x2c4], ecx
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc0], esi
call fcn.0046fd10
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x46625a
mov esi, dword [ebp - 0x2c8]
test esi, esi
jne 0x466cef
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0
mov edi, dword [ebp + 8]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa8], 0
mov eax, dword [edi + 4]
mov ebx, dword [edi + 0x64]
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
mov eax, dword [eax + 0x1b4]
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov eax, dword [eax + 0x1a0]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x28c], eax
test ebx, ebx
je 0x4673be
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x294], 0
mov eax, dword [ebp - 0x28c]
test eax, eax
je 0x466bfc
mov edx, dword [ebx]
mov dword [ebp - 0x308], edx
push edi
push edi
mov esi, dword [ebp - 0x28c]
push esi
push edx
call sub.msvcrt.dll_strcmp
add esp, 0x10
test eax, eax
je 0x4663dd
mov eax, str..gnu.attributes
mov ecx, 0x10
cld
mov esi, dword [ebp - 0x308]
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x46643d
mov edx, dword [ebx + 0xc0]
test edx, edx
jne 0x4663f6
jmp 0x46640e
mov edx, dword [edx]
test edx, edx
je 0x46640e
cmp dword [edx + 4], 1
jne 0x4663f0
mov eax, dword [edx + 0x18]
mov edx, dword [edx]
mov ecx, dword [eax + 0x14]
and ch, 0xfe
test edx, edx
mov dword [eax + 0x14], ecx
jne 0x4663f6
sub esp, 0xc
mov eax, dword [ebp + 8]
push eax
call fcn.0049c8e0
add esp, 0x10
mov dword [ebp - 0x294], edx
mov dword [ebp - 0x298], eax
or edx, eax
jne 0x466bc1
mov esi, dword [ebx + 0x14]
or esi, 0x8000
mov dword [ebx + 0x14], esi
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x46639a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x64]
mov dword [ebp - 0x148], eax
test eax, eax
je 0x4676a2
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x2a8], 0
mov edx, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x148]
mov edx, dword [edx + 0xac]
mov dword [ecx + 0x68], 0
mov dword [ebp - 0x288], edx
mov edi, dword [ecx + 0xc0]
test edi, edi
jne 0x466502
jmp 0x4669d0
mov edi, dword [edi]
test edi, edi
je 0x466639
mov edx, dword [edi + 4]
lea eax, [edx - 3]
cmp eax, 1
jbe 0x466780
dec edx
jne 0x4664f8
mov esi, dword [edi + 0x18]
mov ebx, dword [esi + 0xac]
mov dword [ebp - 0x27c], ebx
or byte [esi + 0x18], 2
test byte [esi + 0x16], 0x80
je 0x466537
mov dword [ebp - 0x2a8], 1
mov edx, dword [ebp - 0x288]
mov eax, dword [edx + 4]
cmp eax, 9
je 0x4667a0
cmp eax, 4
je 0x4667a0
mov ebx, dword [ebp - 0x2c4]
test ebx, ebx
je 0x46699b
mov ebx, dword [ebp - 0x2d8]
mov ecx, dword [esi + 0x68]
mov dword [ebp - 0x284], ecx
mov dword [ebp - 0x280], 0
mov eax, dword [ebx + 0x104]
test eax, eax
je 0x466592
sub esp, 0xc
push esi
call eax
add esp, 0x10
mov dword [ebp - 0x280], eax
mov edx, dword [esi + 0x3c]
mov ebx, dword [esi + 0x34]
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x30]
cmp ebx, edx
ja 0x4665ac
jb 0x4665a8
cmp ecx, eax
jae 0x4665ac
mov ecx, eax
mov ebx, edx
cmp dword [ebp - 0x15c], ebx
ja 0x4665ca
jb 0x4665be
cmp dword [ebp - 0x160], ecx
jae 0x4665ca
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x15c], ebx
mov edx, dword [esi + 0xb4]
mov eax, dword [edx + 4]
cmp dword [eax + 4], 5
je 0x46688d
mov ebx, dword [ebp - 0x284]
test ebx, ebx
je 0x4664f8
mov eax, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x284]
add eax, ecx
mov ebx, dword [ebp - 0x148]
mov edx, dword [ebx + 0x68]
add edx, eax
mov dword [ebx + 0x68], edx
cmp dword [edi + 4], 1
je 0x4667b9
mov ebx, dword [ebp - 0x148]
test byte [ebx + 0x19], 4
je 0x46687a
mov esi, dword [ebp - 0x288]
mov edi, dword [edi]
mov ebx, dword [esi + 0x60]
add ebx, eax
test edi, edi
mov dword [esi + 0x60], ebx
jne 0x466502
mov ecx, dword [ebp - 0x148]
mov eax, dword [ecx + 0x68]
test eax, eax
je 0x4669d0
mov eax, dword [ecx + 0x14]
or eax, 4
mov dword [ecx + 0x14], eax
mov esi, dword [ebp - 0x148]
test byte [esi + 0x14], 1
jne 0x466673
test byte [esi + 0x18], 1
jne 0x466673
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov edi, dword [ebp - 0x148]
mov edi, dword [edi + 0xc]
mov dword [ebp - 0x148], edi
test edi, edi
jne 0x4664ca
mov edi, dword [ebp - 0x2a8]
test edi, edi
jne 0x466c2e
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov edx, dword [ebp - 0x2c4]
mov al, byte [ecx + 1]
and eax, 0x18
cmp al, 0x18
setne al
and eax, 0xff
or eax, edx
test byte [ebx + 0x2b], 0x40
mov dword [ebx + 0x84], eax
jne 0x466cd6
push edi
push edi
mov esi, dword [ebp + 0xc]
push esi
mov ebx, dword [ebp + 8]
push ebx
call fcn.0044a6d0
add esp, 0x10
test eax, eax
je 0x466cb5
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0x64]
test esi, esi
jne 0x4666fb
jmp 0x466a17
mov esi, dword [esi + 0xc]
test esi, esi
je 0x466a17
mov ebx, dword [esi + 0xac]
test byte [esi + 0x14], 4
je 0x466740
mov ecx, dword [ebx + 0x4c]
test ecx, ecx
je 0x466721
lea edx, [ebx + 0x4c]
mov eax, dword [ebp + 8]
call fcn.0045a670
test eax, eax
je 0x466e2c
mov edx, dword [ebx + 0x5c]
test edx, edx
je 0x466740
lea edx, [ebx + 0x5c]
mov eax, dword [ebp + 8]
call fcn.0045a670
test eax, eax
je 0x466dfc
nop
lea esi, [esi]
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x18]
xor edx, 0xffffffff
xor eax, 0xffffffff
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x60], 0
or edx, eax
jne 0x4666f0
test byte [esi + 0x17], 8
jne 0x4669e4
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.004081f0
lea esi, [esi]
mov eax, 1
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x27c], 0
jmp 0x4665f9
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0
jmp 0x466592
mov esi, dword [ebp - 0x2c4]
test esi, esi
je 0x466611
mov eax, dword [ebp - 0x27c]
mov esi, dword [eax + 0x4c]
test esi, esi
je 0x46681c
mov edx, dword [ebp - 0x288]
mov ebx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x38]
xor eax, eax
mov edx, dword [edx + 0x50]
mov dword [ebp - 0x2d4], edx
mov edx, ebx
or edx, ecx
je 0x466803
push ebx
push ecx
mov ebx, dword [esi + 0x24]
push ebx
mov ecx, dword [esi + 0x20]
push ecx
call fcn.004bbe10
add esp, 0x10
mov edx, dword [ebp - 0x2d4]
mov esi, dword [ebp - 0x280]
add eax, edx
mov ecx, dword [ebp - 0x288]
add eax, esi
mov dword [ecx + 0x50], eax
mov ebx, dword [ebp - 0x27c]
mov esi, dword [ebx + 0x5c]
test esi, esi
je 0x4664f8
mov eax, dword [ebp - 0x288]
mov ebx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x38]
mov edx, ebx
mov eax, dword [eax + 0x60]
mov dword [ebp - 0x2d0], eax
xor eax, eax
or edx, ecx
je 0x46685c
push ebx
push ecx
mov ebx, dword [esi + 0x24]
push ebx
mov ecx, dword [esi + 0x20]
push ecx
call fcn.004bbe10
add esp, 0x10
mov edx, dword [ebp - 0x2d0]
mov esi, dword [ebp - 0x280]
add eax, edx
mov ecx, dword [ebp - 0x288]
add eax, esi
mov dword [ecx + 0x60], eax
jmp 0x4664f8
mov edx, dword [ebp - 0x288]
mov ecx, dword [edx + 0x50]
add ecx, eax
mov dword [edx + 0x50], ecx
jmp 0x4664f8
test byte [edx + 0x29], 8
jne 0x4665dd
mov ebx, dword [edx + 0xa8]
mov eax, dword [ebx + 0x9c0]
test eax, eax
je 0x466c09
mov ecx, dword [ebp - 0x2d8]
xor edx, edx
mov eax, dword [ecx + 0x188]
xor ecx, ecx
mov dl, byte [eax + 5]
push ecx
push edx
mov eax, dword [ebx + 0x7c]
push eax
mov eax, dword [ebx + 0x78]
push eax
call fcn.004bbe10
add esp, 0x10
xor edx, edx
cmp dword [ebp - 0x2ac], 0
ja 0x4668ef
cmp dword [ebp - 0x2b0], eax
jae 0x4668ef
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2ac], edx
cmp edx, dword [ebp - 0x16c]
jb 0x466901
ja 0x466972
cmp eax, dword [ebp - 0x170]
ja 0x466972
test byte [esi + 0x14], 4
je 0x4665dd
mov ebx, dword [ebp - 0x27c]
xor edx, edx
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x46691d
mov edx, dword [eax + 0x20]
mov ecx, dword [ebp - 0x27c]
mov eax, dword [ecx + 0x5c]
test eax, eax
je 0x46692f
mov ecx, dword [eax + 0x20]
add edx, ecx
mov eax, edx
xor edx, edx
cmp dword [ebp - 0x2b4], 0
ja 0x466944
cmp dword [ebp - 0x2b8], eax
jb 0x46698d
xor edx, edx
mov eax, dword [esi + 0x68]
cmp edx, dword [ebp - 0x164]
jb 0x4665dd
cmp eax, dword [ebp - 0x168]
jbe 0x4665dd
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], edx
jmp 0x4665dd
mov ebx, dword [ebx + 0x298]
test ebx, ebx
je 0x466901
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], edx
jmp 0x466901
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], edx
jmp 0x466944
mov edx, dword [ebp - 0x2d8]
mov eax, dword [edx + 0x100]
test eax, eax
je 0x4667a0
push ecx
push ecx
push esi
mov edx, dword [ebp + 0xc]
push edx
call eax
add esp, 0x10
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], 0
jmp 0x466592
mov ebx, dword [ebp - 0x148]
mov eax, dword [ebx + 0x14]
and eax, 0xfffffffb
mov dword [ebx + 0x14], eax
jmp 0x466653
mov eax, dword [ebx + 0x44]
test eax, eax
jne 0x466768
push eax
push eax
mov eax, dword [ebx + 0x24]
push eax
mov eax, dword [ebx + 0x20]
push eax
call fcn.00410c90
add esp, 0x10
test eax, eax
je 0x466e0d
mov esi, dword [esi + 0xc]
mov dword [ebx + 0x44], eax
test esi, esi
jne 0x4666fb
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2d8]
mov edx, dword [eax + 0xa8]
mov dword [eax + 0x84], 0
mov dword [ebp - 0x2cc], edx
xor eax, eax
mov dword [edx + 0x5c], 2
mov edx, dword [ecx + 0x188]
mov ebx, dword [ebp - 0x2cc]
xor ecx, ecx
mov al, byte [edx + 5]
mov esi, eax
mov dword [ebx + 0x94], 0
mov dword [ebx + 0x90], esi
xor eax, eax
mov cl, byte [edx + 0xb]
xor edx, edx
test cl, 0x20
sete al
setne dl
shl edx, cl
shl eax, cl
mov dword [ebx + 0x88], eax
mov dword [ebx + 0x8c], edx
cmp dword [ebp - 0x2ac], 0
ja 0x466c59
cmp dword [ebp - 0x2b0], 0x13
ja 0x466c59
mov dword [ebp - 0x2b0], 0x14
mov dword [ebp - 0x2ac], 0
mov esi, 0x320
xor edi, edi
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x2ac]
mov edx, dword [ebp - 0x2b0]
mov ebx, dword [eax + 0x20]
mov dword [ebx + 0x7c], ecx
mov dword [ebx + 0x78], edx
push eax
push eax
push edi
push esi
call fcn.00410c90
mov ecx, dword [ebp + 0xc]
mov dword [ebx + 0x80], eax
mov eax, dword [ecx + 0x20]
add esp, 0x10
mov esi, dword [eax + 0x80]
test esi, esi
je 0x467445
mov ebx, dword [ebp + 8]
mov esi, dword [ebx + 0xa8]
cmp dword [esi + 0x2ac], 0xff01
sbb eax, eax
xor eax, 0xffffffff
mov dword [ebp - 0x90], eax
mov al, byte [ebp - 0x2c4]
mov byte [ebp - 0x115], al
mov al, byte [ecx + 1]
and eax, 0x18
cmp al, 0x18
je 0x466ef3
push 1
mov eax, dword [esi + 0x9cc]
lea esi, [ebp - 0x68]
mov ebx, dword [eax + 0x2c]
push ebx
mov ecx, dword [eax + 0x28]
push ecx
mov eax, dword [ebp - 0x2cc]
add eax, 0x58
push eax
call fcn.0043f780
lea edx, [ebp - 0xc4]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov byte [ebp - 0x54], 0
mov byte [ebp - 0x53], 0
mov dword [ebp - 0x50], 0
mov byte [ebp - 0x52], 0
mov dword [esp], 0
push 0x4c21a8
push esi
push 0
mov dword [ebp - 0x2e4], edx
push edx
call fcn.0045d0d0
add esp, 0x20
dec eax
je 0x466e3d
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x2e4]
call fcn.0045cfb0
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x294]
push eax
mov eax, dword [ebp - 0x298]
push eax
push ebx
mov edi, dword [ebp + 8]
push edi
call fcn.00411180
mov dword [ebx + 0xc0], 0
mov dword [ebp - 0x29c], ebx
mov ebx, dword [ebx + 0xc]
add esp, 0x10
test ebx, ebx
jne 0x46639a
jmp 0x466448
mov eax, dword [ebx]
mov dword [ebp - 0x308], eax
jmp 0x4663c6
mov eax, dword [ebx + 0x84]
jmp 0x4668d0
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebx + 0x28]
or edi, 0x800
mov dword [ebx + 0x28], edi
mov eax, dword [esi + 0x20]
jmp 0x46627a
mov edx, dword [ebp + 0xc]
mov al, byte [edx]
and eax, 3
cmp al, 2
je 0x466698
push esi
mov ebx, dword [ebp + 8]
push ebx
push 0x45ad70
mov ecx, dword [edx + 0x20]
push ecx
call fcn.00414940
add esp, 0x10
jmp 0x466698
mov esi, dword [ebp - 0x2b0]
mov eax, dword [ebp - 0x2b0]
mov edi, dword [ebp - 0x2ac]
mov edx, dword [ebp - 0x2ac]
shld edi, esi, 3
shld edx, eax, 5
shl esi, 3
shl eax, 5
add esi, eax
adc edi, edx
jmp 0x466ab7
push eax
push eax
mov ebx, dword [ebp - 0x170]
mov esi, dword [ebp - 0x16c]
shld esi, ebx, 2
shl ebx, 2
push esi
push ebx
call fcn.00410c90
add esp, 0x10
mov dword [ebp - 0xa0], eax
test eax, eax
jne 0x467062
lea ecx, [ebp - 0xc4]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2e4], ecx
mov edx, dword [ebp - 0x2e4]
call fcn.0045cfb0
xor eax, eax
jmp 0x466bb9
push eax
push eax
push 0x2c40
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.004075e0
add esp, 0x10
jmp 0x4666c6
push ebx
push ebx
push str..hash
mov ecx, dword [ebp - 0x2c0]
push ecx
call fcn.00411850
mov dword [ebp - 0xb8], eax
pop eax
pop edx
push str..gnu.version
mov eax, dword [ebp - 0x2c0]
push eax
call fcn.00411850
add esp, 0x10
mov dword [ebp - 0xb4], eax
jmp 0x4662f5
mov ecx, dword [ebp - 0x12c]
cmp dword [ecx + 4], 3
je 0x46999b
mov ebx, dword [ebp - 0x12c]
mov eax, dword [ebx + 0x18]
mov edx, dword [eax + 4]
push ebx
push ebx
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0x1c]
push 0
push 0
push 0
push 0
mov ecx, dword [ebp - 0x21c]
push ecx
mov ebx, dword [ebp - 0x220]
push ebx
mov ecx, dword [ebp - 0x214]
mov ecx, dword [ecx + 0x20]
push ecx
push edx
push 0
push esi
call dword [eax + 0x1c]
add esp, 0x30
mov eax, dword [ebp - 0x12c]
sub esp, 0xc
mov ebx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov eax, dword [ebp + 8]
push eax
call fcn.0040f780
add esp, 0xc
mov ecx, dword [ebp - 0x22c]
push ecx
mov edx, dword [ebp - 0x230]
push edx
mov dword [ebp - 0x310], eax
mov edx, dword [ebp - 0x310]
mov eax, dword [ebp - 0x310]
imul edx, esi
mov dword [ebp - 0x314], edx
mov dword [ebp - 0x30c], 0
mul ebx
mov ebx, eax
mov esi, edx
mov eax, dword [ebp - 0x314]
add esi, eax
push esi
push ebx
push edi
mov esi, dword [ebp - 0x140]
push esi
mov ebx, dword [ebp + 8]
push ebx
call fcn.00411350
add esp, 0x14
mov ebx, eax
push edi
call sub.msvcrt.dll_free
add esp, 0x10
test ebx, ebx
jne 0x4677e5
lea esi, [ebp - 0xc4]
mov dword [ebp - 0x2e4], esi
jmp 0x466ba9
lea edi, [ebp - 0xc4]
mov dword [ebp - 0x2e4], edi
jmp 0x466ba9
mov eax, dword [ebp - 0x230]
test eax, eax
je 0x46795d
lea ebx, [ebp - 0xc4]
mov dword [ebp - 0x2e4], ebx
jmp 0x466ba9
mov ecx, dword [ebp + 8]
mov byte [ebp - 0x54], 3
mov byte [ebp - 0x53], 0
mov byte [ebp - 0x52], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov eax, dword [ecx + 0xa8]
cmp dword [eax + 0x2ac], 1
jbe 0x466f00
mov ebx, 1
jmp 0x466e94
mov ecx, dword [ebp + 8]
inc ebx
mov eax, dword [ecx + 0xa8]
cmp dword [eax + 0x2ac], ebx
jbe 0x466f00
push edx
push edx
push ebx
mov eax, dword [ebp + 8]
push eax
call fcn.0043f660
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x466e82
mov edi, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [edi + 0x84]
mov dword [ecx + 0xa8], eax
mov dword [ebp - 0x50], ebx
mov al, byte [edx]
and eax, 3
cmp al, 2
je 0x466ed3
mov eax, dword [ecx + 0x20]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x68], eax
sub esp, 0xc
push 0
push ecx
push esi
push 0
mov eax, dword [ebp - 0x2e4]
push eax
call fcn.0045d0d0
add esp, 0x20
dec eax
je 0x466e82
jmp 0x466ba9
cmp byte [ebp - 0x115], 0
jne 0x466b2d
mov ebx, dword [ebp - 0x15c]
or ebx, dword [ebp - 0x160]
jne 0x467481
mov esi, dword [ebp - 0x2b4]
or esi, dword [ebp - 0x2b8]
jne 0x467456
mov edi, dword [ebp - 0x164]
or edi, dword [ebp - 0x168]
je 0x466f92
mov eax, dword [ebp - 0x2d8]
xor edx, edx
mov ebx, edx
mov ecx, dword [eax + 0x188]
xor eax, eax
mov al, byte [ecx + 9]
mov ecx, eax
shld ebx, ecx, 3
shld edx, eax, 5
shl ecx, 3
shl eax, 5
sub eax, ecx
sbb edx, ebx
push ebx
push ebx
mov ecx, dword [ebp - 0x168]
mov ebx, dword [ebp - 0x164]
imul ecx, edx
imul ebx, eax
mul dword [ebp - 0x168]
add ecx, ebx
lea edx, [ecx + edx]
push edx
push eax
call fcn.00410c90
add esp, 0x10
mov dword [ebp - 0xa8], eax
test eax, eax
je 0x466e2c
push ecx
push ecx
mov edx, dword [ebp - 0x2d8]
xor eax, eax
mov ebx, dword [ebp - 0x2b0]
mov ecx, dword [edx + 0x188]
xor edx, edx
imul ebx, edx
mov al, byte [ecx + 5]
mov ecx, dword [ebp - 0x2ac]
imul ecx, eax
mul dword [ebp - 0x2b0]
add ecx, ebx
lea edx, [ecx + edx]
push edx
push eax
call fcn.00410c90
add esp, 0x10
mov dword [ebp - 0xa4], eax
test eax, eax
je 0x466dfc
push edx
push edx
mov eax, dword [ebp - 0x2b0]
mov edx, dword [ebp - 0x2ac]
shld edx, eax, 5
shl eax, 5
push edx
push eax
call fcn.00410c90
add esp, 0x10
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x466e0d
mov ebx, dword [ebp - 0x2b0]
mov esi, dword [ebp - 0x2ac]
shld esi, ebx, 2
shl ebx, 2
push eax
push eax
push esi
push ebx
call fcn.00410c90
add esp, 0x10
mov dword [ebp - 0x98], eax
test eax, eax
je 0x467445
push eax
push eax
push esi
push ebx
call fcn.00410c90
add esp, 0x10
mov dword [ebp - 0x94], eax
test eax, eax
je 0x4674a7
mov ecx, dword [ebp - 0x16c]
or ecx, dword [ebp - 0x170]
jne 0x466c88
mov esi, dword [ebp + 0xc]
mov esi, dword [esi + 0x20]
mov dword [ebp - 0x154], esi
mov edi, dword [esi + 0xf4]
mov dword [ebp - 0x26c], edi
test edi, edi
je 0x467144
mov ebx, edi
xor esi, esi
xor edi, edi
mov ecx, dword [ebx + 0x14]
test ch, 4
je 0x4670c8
mov edx, dword [ebx + 0x34]
mov eax, dword [ebx + 0x30]
mov esi, edx
or esi, eax
jne 0x4670b7
and ch, 1
jne 0x4670b7
mov ecx, dword [ebx + 0xc4]
test ecx, ecx
je 0x4670b7
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
add eax, dword [ecx + 0x10]
adc edx, dword [ecx + 0x14]
mov esi, eax
mov edi, edx
add esi, dword [ebx + 0x20]
adc edi, dword [ebx + 0x24]
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x467088
mov edx, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x2d8]
mov eax, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], edx
cmp dword [ecx + 0x1bc], 1
jne 0x467126
mov ebx, dword [ebp - 0x26c]
xor eax, eax
xor edx, edx
mov ecx, dword [ebx + 0x5c]
test cl, 0x20
sete al
setne dl
shl eax, cl
shl edx, cl
mov ecx, eax
mov ebx, edx
add ecx, 0xffffffff
adc ebx, 0xffffffff
add ecx, esi
adc ebx, edi
mov esi, ecx
neg eax
adc edx, 0
mov edi, ebx
neg edx
and esi, eax
and edi, edx
sub esi, dword [ebp - 0x278]
mov eax, dword [ebp - 0x154]
sbb edi, dword [ebp - 0x274]
mov dword [eax + 0xf8], esi
mov dword [eax + 0xfc], edi
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x64]
mov dword [ebp - 0x144], edx
test edx, edx
je 0x467263
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x144]
mov eax, dword [ecx + 4]
mov eax, dword [eax + 0x1b4]
mov dword [ebp - 0x244], eax
mov ebx, dword [esi + 0xc0]
test ebx, ebx
je 0x46724c
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x11c], 0
cmp dword [ebx + 4], 1
je 0x467390
mov esi, dword [ebp - 0x23c]
inc esi
mov dword [ebp - 0x23c], esi
mov ecx, dword [ebp - 0x23c]
test ecx, ecx
je 0x467234
mov edx, dword [ebp - 0x238]
test edx, edx
je 0x467234
mov eax, dword [ebp - 0x248]
test eax, eax
je 0x467531
mov eax, dword [ebp - 0x11c]
test eax, eax
je 0x467531
push eax
push eax
mov ebx, dword [ebp - 0x248]
mov eax, dword [ebx + 0xb4]
push eax
push ebx
mov esi, dword [ebp - 0x11c]
mov eax, dword [esi + 0xb4]
push eax
push esi
mov eax, dword [ebp - 0x144]
push eax
push str._A_has_both_ordered____A_in__B__and_unordered____A_in__B__sections
call dword [0x4c20bc]
add esp, 0x20
sub esp, 0xc
push 0x11
call fcn.00408440
xor eax, eax
add esp, 0x10
jmp 0x46625c
mov ebx, dword [ebx]
test ebx, ebx
jne 0x4671a6
mov ebx, dword [ebp - 0x238]
test ebx, ebx
jne 0x46754d
mov eax, dword [ebp - 0x144]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x144], eax
test eax, eax
jne 0x467158
sub esp, 0xc
mov eax, dword [ebp + 0xc]
push eax
call fcn.00470320
add esp, 0x10
test eax, eax
je 0x46625a
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx + 0x38]
mov dword [ebp - 0x2bc], ebx
test ebx, ebx
je 0x4672a4
mov esi, dword [ebp - 0x2bc]
mov edi, dword [esi + 0xa4]
and byte [esi + 0x2b], 0xbf
mov dword [ebp - 0x2bc], edi
test edi, edi
jne 0x46728a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x64]
mov dword [ebp - 0x140], eax
test eax, eax
je 0x467ab4
mov edx, dword [ebp - 0x140]
mov edx, dword [edx + 0xc0]
mov dword [ebp - 0x12c], edx
test edx, edx
jne 0x46731b
jmp 0x467a9d
lea eax, [edx - 3]
cmp eax, 1
jbe 0x467710
mov eax, dword [ebp - 0x12c]
push eax
mov eax, dword [ebp - 0x140]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00416150
add esp, 0x10
test eax, eax
je 0x467a1e
mov edx, dword [ebp - 0x12c]
mov edx, dword [edx]
mov dword [ebp - 0x12c], edx
test edx, edx
je 0x467a9d
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ecx + 4]
cmp edx, 1
jne 0x4672d3
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + 0xb4]
mov dword [ebp - 0x2bc], eax
mov ebx, eax
mov eax, dword [eax + 4]
cmp dword [eax + 4], 5
jne 0x4672d3
mov esi, dword [ebp - 0x2d8]
mov eax, dword [ebx + 0xa8]
mov edx, dword [esi + 0x188]
mov al, byte [eax + 4]
cmp al, byte [edx + 0xc]
jne 0x4672df
test byte [ebx + 0x2b], 0x40
jne 0x467305
lea edi, [ebp - 0xc4]
mov edx, ebx
mov dword [ebp - 0x2e4], edi
mov eax, edi
call fcn.004646a0
test eax, eax
je 0x466ba9
or byte [ebx + 0x2b], 0x40
jmp 0x467305
mov edi, dword [ebx + 0x18]
mov esi, dword [edi + 0xb4]
mov eax, dword [esi + 4]
cmp dword [eax + 4], 5
je 0x4674b8
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x248], edi
inc eax
mov dword [ebp - 0x23c], eax
jmp 0x4671bd
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], 0
jmp 0x466698
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x2e4], eax
jmp 0x466ba9
push eax
push eax
mov edi, dword [ebp - 0x2b4]
push edi
mov esi, dword [ebp - 0x2b8]
push esi
call fcn.00410c90
add esp, 0x10
mov dword [ebp - 0xac], eax
test eax, eax
jne 0x466f24
jmp 0x466cb5
push eax
push eax
mov eax, dword [ebp - 0x15c]
push eax
mov eax, dword [ebp - 0x160]
push eax
call fcn.00410c90
add esp, 0x10
mov dword [ebp - 0xb0], eax
test eax, eax
jne 0x466f12
lea edx, [ebp - 0xc4]
mov dword [ebp - 0x2e4], edx
jmp 0x466ba9
mov ecx, dword [ebp - 0x244]
mov eax, dword [esi + 0xa8]
mov edx, dword [ecx + 0x188]
mov al, byte [eax + 4]
cmp al, byte [edx + 0xc]
jne 0x4673a6
push eax
push eax
push edi
push esi
call fcn.00440890
add esp, 0x10
mov edx, eax
test eax, eax
je 0x4673a6
mov eax, dword [esi + 0xa8]
mov ecx, dword [eax + 0x2ac]
cmp edx, ecx
jae 0x4673a6
mov eax, dword [eax + 0x50]
mov eax, dword [eax + edx*4]
cmp byte [eax + 8], 0
jns 0x4673a6
cmp ecx, dword [eax + 0x28]
jbe 0x4673a6
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x11c], edi
inc eax
mov dword [ebp - 0x238], eax
jmp 0x4671bd
push edi
push edi
mov esi, dword [ebp - 0x144]
push esi
push str._A_has_both_ordered_and_unordered_sections
call dword [0x4c20bc]
add esp, 0x10
jmp 0x467220
push ecx
push ecx
mov eax, dword [ebp - 0x238]
xor edx, edx
shl eax, 2
push edx
push eax
call fcn.00410c90
add esp, 0x10
mov dword [ebp - 0x234], eax
test eax, eax
je 0x46625a
mov edi, dword [ebp - 0x144]
mov eax, dword [edi + 0xc0]
test eax, eax
je 0x467688
mov dword [ebp - 0x120], 0
mov edx, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x234]
mov dword [ecx + edx*4], eax
inc edx
mov eax, dword [eax]
mov dword [ebp - 0x120], edx
test eax, eax
jne 0x467590
push 0x458a40
push 4
push edx
push ecx
call sub.msvcrt.dll_qsort
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0
add esp, 0x10
mov ebx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x234]
mov edx, 0xffffffff
mov eax, dword [esi + ebx*4]
mov edi, dword [eax + 0x18]
mov eax, 0xffffffff
mov ecx, dword [edi + 0x5c]
shl eax, cl
test cl, 0x20
je 0x467605
mov edx, eax
xor eax, eax
sub esp, 0xc
mov esi, dword [ebp - 0x124]
and esi, edx
mov ebx, dword [ebp - 0x128]
mov edx, dword [ebp + 8]
and ebx, eax
push edx
call fcn.0040f780
xor edx, edx
push edx
push eax
push esi
push ebx
call fcn.004bbe10
mov ecx, dword [ebp - 0x120]
mov dword [edi + 0x50], eax
mov dword [edi + 0x54], edx
mov edi, dword [ebp - 0x240]
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + edi*4]
mov dword [eax + 8], ebx
add ebx, dword [eax + 0x10]
mov dword [eax + 0xc], esi
mov dword [ebp - 0x128], ebx
adc esi, dword [eax + 0x14]
inc edi
add esp, 0x20
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x240], edi
cmp edi, ecx
jne 0x4675db
sub esp, 0xc
mov eax, dword [ebp - 0x234]
push eax
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x46724c
push 0x458a40
push 4
push 0
mov edi, dword [ebp - 0x234]
push edi
call sub.msvcrt.dll_qsort
add esp, 0x10
jmp 0x467671
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x2b4], 0
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], 0
jmp 0x466698
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x140]
mov eax, dword [edx + 4]
mov ebx, dword [ecx + 0xac]
mov eax, dword [eax + 0x1b4]
mov dword [ebp - 0x210], eax
push eax
push eax
mov esi, dword [ebp - 0x12c]
mov eax, dword [esi + 0x18]
mov eax, dword [eax]
push eax
push edx
call fcn.00413030
add esp, 0x10
mov dword [ebp - 0x214], eax
test eax, eax
je 0x467a00
mov eax, dword [ebp - 0x12c]
mov edx, dword [eax + 0x18]
mov eax, dword [ebx + 0x4c]
test eax, eax
mov esi, dword [edx + 8]
mov edi, dword [edx + 0xc]
mov dword [ebp - 0x220], esi
mov dword [ebp - 0x21c], edi
je 0x4681ad
add ebx, 0x4c
mov dword [ebp - 0x224], ebx
mov ecx, dword [ebp - 0x224]
mov eax, dword [ecx + 4]
mov esi, dword [ecx + 0xc]
lea ebx, [eax*4]
add ebx, esi
mov esi, dword [ebp - 0x12c]
cmp dword [esi + 4], 3
jne 0x468165
mov eax, dword [edx + 4]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x218], eax
test eax, eax
jne 0x4677ce
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.004075e0
add esp, 0x10
mov dword [ebx], 0
mov eax, dword [ebp - 0x214]
mov ebx, dword [eax + 0x24]
test ebx, ebx
jne 0x467910
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x12c]
mov al, byte [esi]
mov edx, dword [ebx + 8]
and eax, 3
mov ecx, dword [ebx + 0xc]
cmp al, 2
je 0x467809
mov edi, dword [ebp - 0x140]
add edx, dword [edi + 0x20]
adc ecx, dword [edi + 0x24]
mov eax, dword [ebp - 0x210]
mov esi, dword [eax + 0x188]
cmp byte [esi + 9], 0
je 0x467851
lea ebx, [ebp - 0x100]
xor edi, edi
mov dword [ebx - 0x10], edx
mov dword [ebx - 0xc], ecx
mov dword [ebx - 8], 0
mov dword [ebx - 4], 0
mov dword [ebx], 0
mov dword [ebx + 4], 0
xor eax, eax
inc edi
mov al, byte [esi + 9]
add ebx, 0x18
cmp eax, edi
ja 0x467823
cmp byte [esi + 0xa], 0x20
je 0x4679cb
mov eax, dword [ebp - 0x218]
xor ebx, ebx
mov edx, eax
sar edx, 0x1f
mov edx, eax
mov dword [ebp - 0x31c], edx
mov edx, dword [ebp - 0x214]
mov eax, 0
mov dword [ebp - 0x320], eax
mov ecx, dword [edx]
add dword [ebp - 0x320], ecx
adc dword [ebp - 0x31c], ebx
mov ecx, dword [ebp - 0x320]
mov ebx, dword [ebp - 0x31c]
mov dword [ebp - 0x108], ecx
mov dword [ebp - 0x104], ebx
mov ebx, dword [ebp - 0x224]
mov eax, dword [ebx]
mov edx, dword [eax + 0x44]
cmp dword [eax + 4], 9
je 0x4679a6
mov ecx, dword [ebp - 0x220]
mov ebx, dword [ebp - 0x21c]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xfc], ebx
push eax
xor eax, eax
mov ebx, dword [ebp - 0x224]
mov al, byte [esi + 4]
mov edi, dword [ebx + 4]
imul eax, edi
lea edi, [ebp - 0x110]
add eax, edx
push eax
push edi
mov ecx, dword [ebp + 8]
push ecx
call dword [esi + 0x44]
add esp, 0x10
mov eax, dword [ebp - 0x224]
mov edx, dword [eax + 4]
inc edx
mov dword [eax + 4], edx
jmp 0x467305
mov edx, dword [ebp - 0x21c]
or edx, dword [ebp - 0x220]
je 0x4677e5
sub esp, 0xc
push eax
call fcn.00413340
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x230], eax
pop edx
mov eax, dword [ebp - 0x22c]
pop ecx
push eax
mov eax, dword [ebp - 0x230]
push eax
call fcn.00410cf0
add esp, 0x10
mov edi, eax
test eax, eax
je 0x466e1e
sub esp, 0xc
push edi
mov eax, dword [ebp - 0x21c]
push eax
mov eax, dword [ebp - 0x220]
push eax
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0x214]
push eax
call fcn.004133a0
add esp, 0x20
test eax, eax
je 0x466d77
dec eax
je 0x466d29
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.004081f0
xor eax, eax
push edi
mov al, byte [esi + 3]
mov ecx, dword [ebx + 4]
imul eax, ecx
lea edi, [ebp - 0x110]
add eax, edx
push eax
push edi
mov eax, dword [ebp + 8]
push eax
call dword [esi + 0x3c]
add esp, 0x10
jmp 0x4678fa
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x214]
shl ecx, 8
mov dword [ebp - 0x104], 0
movzx eax, byte [edx]
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0x218]
add eax, edx
mov dword [ebp - 0x108], eax
jmp 0x4678a7
sub esp, 0xc
lea edi, [ebp - 0xc4]
push 0x11
call fcn.00408440
add esp, 0x10
mov dword [ebp - 0x2e4], edi
jmp 0x466ba9
mov ecx, dword [ebp - 0x12c]
lea edx, [ebp - 0xc4]
mov dword [ebp - 0x2e4], edx
cmp dword [ecx + 4], 1
jne 0x466ba9
mov ebx, dword [ebp - 0x2bc]
mov eax, dword [ebx + 4]
cmp dword [eax + 4], 5
jne 0x466ba9
mov eax, dword [ebx + 0xa8]
mov edi, dword [ebp - 0x2d8]
mov dl, byte [eax + 4]
mov eax, dword [edi + 0x188]
mov al, byte [eax + 0xc]
cmp dl, al
je 0x466e0d
cmp al, 1
je 0x46815e
jb 0x4680f2
mov esi, str.ELFCLASS64
cmp al, 2
je 0x4680f7
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.004081f0
mov ecx, dword [ebp - 0x140]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x140], ecx
test ecx, ecx
jne 0x4672b8
mov ebx, dword [ebp + 0xc]
test byte [ebx + 4], 2
jne 0x467adb
mov ebx, dword [ebx + 0x38]
test ebx, ebx
je 0x467adb
mov eax, dword [ebx + 4]
cmp dword [eax + 4], 5
je 0x468129
mov ebx, dword [ebx + 0xa4]
test ebx, ebx
jne 0x467ac4
lea edi, [ebp - 0xc4]
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x2e4], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], 0
push ebx
push eax
push 0x45eb30
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x20]
push ecx
call fcn.00418240
mov edx, dword [ebp - 0x24]
add esp, 0x10
test edx, edx
jne 0x46625a
mov ecx, dword [ebp - 0x2d8]
mov edx, dword [ecx + 0xdc]
test edx, edx
je 0x467b6a
cmp byte [ebp - 0x115], 0
jne 0x467b49
mov ebx, dword [ebp + 0xc]
mov al, byte [ebx + 1]
and eax, 0x18
cmp al, 0x18
je 0x467b6a
push fcn.0045d0d0
mov eax, dword [ebp - 0x2e4]
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 0x46625a
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x2cc]
mov eax, dword [esi + 0x84]
mov dword [edi + 0x84], eax
mov eax, dword [ebp - 0x2c8]
test eax, eax
je 0x467dbd
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x20]
mov eax, dword [edx + 0x128]
test eax, eax
je 0x467dbd
cmp dword [eax + 0x58], 0x4c2270
je 0x467dbd
mov eax, dword [eax + 0x8c]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x268], eax
mov al, byte [ecx]
and eax, 3
cmp al, 3
je 0x467bdf
dec al
je 0x467bdf
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x264], 0
test eax, eax
je 0x467cc6
mov ebx, dword [ebp + 8]
mov byte [ebp - 0x74], 3
mov byte [ebp - 0x73], 0
mov byte [ebp - 0x72], 0
mov edi, dword [ebx + 0x64]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x264], 0
test edi, edi
je 0x467cc6
mov eax, dword [edi + 0xac]
mov ebx, dword [eax + 0x70]
test ebx, ebx
jle 0x467cb5
mov esi, dword [eax + 0x6c]
test esi, esi
jg 0x467c44
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.004075e0
add esp, 0x10
mov dword [ebp - 0x70], esi
lea esi, [ebp - 0x88]
mov dword [ebp - 0x2e8], esi
mov edx, esi
mov eax, dword [ebp + 8]
call fcn.0045a820
test eax, eax
je 0x46625a
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x24]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x84], edx
cmp dword [ebp - 0x264], ebx
mov edx, dword [eax + 0x188]
jge 0x467c91
mov dword [ebp - 0x264], ebx
push 0
xor eax, eax
mov al, byte [edx + 5]
mov ecx, dword [ebp - 0x268]
imul eax, ebx
add eax, ecx
push eax
mov eax, dword [ebp - 0x2e8]
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 0x467c18
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x20]
mov ebx, dword [edx + 0xec]
test ebx, ebx
je 0x467da4
lea esi, [ebp - 0x88]
mov dword [ebp - 0x2e8], esi
cld
mov edi, dword [ebp - 0x2e8]
lea esi, [ebx + 0x10]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
and byte [ebp - 0x73], 0xfc
push eax
push eax
mov eax, dword [ebx + 0x28]
push eax
mov eax, dword [ebx + 4]
push eax
call fcn.0043f660
add esp, 0x10
mov esi, eax
test eax, eax
je 0x467d53
mov eax, dword [eax + 0x58]
mov edx, dword [ebp - 0x2e8]
mov eax, dword [eax + 0xac]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 8]
call fcn.0045a820
test eax, eax
je 0x46625a
mov eax, dword [esi + 0x58]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
add eax, dword [esi + 0x50]
adc edx, dword [esi + 0x54]
add eax, dword [ebx + 0x10]
adc edx, dword [ebx + 0x14]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
mov ecx, dword [ebx + 0xc]
cmp dword [ebp - 0x264], ecx
jge 0x467d64
mov dword [ebp - 0x264], ecx
mov edi, dword [ebp - 0x2d8]
xor eax, eax
mov edx, dword [edi + 0x188]
push 0
mov edi, dword [ebp - 0x268]
mov al, byte [edx + 5]
imul eax, ecx
add eax, edi
push eax
mov esi, dword [ebp - 0x2e8]
push esi
mov ecx, dword [ebp + 8]
push ecx
call dword [edx + 0x24]
mov ebx, dword [ebx]
add esp, 0x10
test ebx, ebx
jne 0x467ce0
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x20]
mov eax, dword [edx + 0x128]
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0xac]
mov eax, dword [ebp - 0x264]
inc eax
mov dword [edx + 0x2c], eax
mov edx, dword [ebp - 0x2e4]
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x18], edx
push eax
push ecx
push 0x45eb30
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x20]
push eax
call fcn.00418240
mov eax, dword [ebp - 0x24]
add esp, 0x10
test eax, eax
jne 0x46625a
mov esi, dword [ebp - 0x2d8]
mov edx, dword [esi + 0xe0]
test edx, edx
je 0x467e3c
cmp byte [ebp - 0x115], 0
jne 0x467e1b
mov al, byte [ebx + 1]
and eax, 0x18
cmp al, 0x18
je 0x467e3c
push fcn.0045d0d0
mov eax, dword [ebp - 0x2e4]
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 0x46625a
sub esp, 0xc
mov edi, dword [ebp - 0xbc]
push edi
call fcn.0046f690
mov eax, dword [ebp - 0xc4]
add esp, 0x10
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x204], eax
mov ebx, dword [eax + 0x70]
mov edi, dword [eax + 0x74]
or edi, ebx
je 0x46824e
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0xa8]
mov esi, dword [eax + 0x9a4]
test esi, esi
jne 0x467ea4
push ecx
push ecx
push 0x22f5
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.004075e0
mov eax, dword [ebp - 0x204]
mov edx, dword [ebp - 0xc0]
add esp, 0x10
mov ebx, dword [eax + 0x70]
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x1b4]
mov dword [ebp - 0x20c], eax
push edx
push edx
xor edx, edx
mov ecx, dword [eax + 0x188]
mov esi, dword [ebp - 0x204]
xor eax, eax
mov al, byte [ecx + 5]
mov ecx, ebx
mov ebx, dword [esi + 0x74]
imul ecx, edx
imul ebx, eax
mul dword [esi + 0x70]
add ecx, ebx
lea edx, [ecx + edx]
push edx
push eax
call fcn.00410c90
add esp, 0x10
mov dword [ebp - 0x1f4], eax
test eax, eax
je 0x46625a
mov eax, dword [ebp - 0x90]
test eax, eax
je 0x467f2c
push eax
push eax
mov eax, dword [ebp - 0xc0]
xor edx, edx
mov eax, dword [eax + 0x84]
shld edx, eax, 2
shl eax, 2
push edx
push eax
call fcn.00410cf0
add esp, 0x10
mov dword [ebp - 0x90], eax
test eax, eax
je 0x46862c
mov eax, dword [ebp - 0x204]
mov edi, dword [eax + 0x74]
mov esi, dword [eax + 0x70]
mov edx, edi
or edx, esi
je 0x467ff8
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x188], 0
mov ecx, dword [ebp - 0x204]
mov ebx, dword [ebp - 0x188]
mov esi, dword [ecx + 0x80]
add ebx, esi
mov eax, dword [ebx + 0x10]
cmp eax, 0xffffffff
jne 0x4686ea
mov dword [ebx + 0x10], 0
mov esi, dword [ebp - 0x20c]
mov edi, dword [ebp - 0x90]
mov edx, dword [ebx + 0x24]
mov eax, dword [esi + 0x188]
lea edx, [edi + edx*4]
push edx
xor edx, edx
mov dl, byte [eax + 5]
mov esi, dword [ebx + 0x20]
imul edx, esi
mov ecx, dword [ebp - 0x1f4]
add edx, ecx
push edx
push ebx
mov edx, dword [ebp - 0xc0]
push edx
call dword [eax + 0x24]
mov eax, dword [ebp - 0x208]
xor edx, edx
inc eax
add esp, 0x10
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x204]
mov edi, dword [eax + 0x74]
mov esi, dword [eax + 0x70]
mov eax, dword [ebp - 0x188]
add eax, 0x28
cmp edx, edi
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x208]
jb 0x467f56
cmp eax, esi
jb 0x467f56
mov ebx, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebx + 0x188]
mov edx, dword [ecx + 0xa8]
mov dword [ebp - 0x134], edx
mov ebx, edx
mov al, byte [eax + 5]
mov byte [ebp - 0x301], al
push 0
mov eax, dword [edx + 0x78]
mov edx, dword [edx + 0x7c]
add eax, dword [ebx + 0x70]
adc edx, dword [ebx + 0x74]
push edx
push eax
push ecx
call fcn.0040ef00
add esp, 0x10
test eax, eax
jne 0x4680b6
mov al, byte [ebp - 0x301]
mov dword [ebp - 0x324], 0
and eax, 0xff
mov ebx, dword [ebp - 0x324]
mov dword [ebp - 0x328], eax
mov ecx, dword [ebp - 0x328]
mov eax, dword [ebp - 0x328]
imul ebx, esi
imul ecx, edi
mul esi
add ecx, ebx
mov ebx, eax
mov eax, dword [ebp - 0xc0]
lea esi, [ecx + edx]
push eax
push esi
push ebx
mov eax, dword [ebp - 0x1f4]
push eax
call fcn.0040ec80
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], edx
mov edx, dword [ebp - 0x1fc]
mov eax, dword [ebp - 0x200]
xor edx, esi
xor eax, ebx
add esp, 0x10
or edx, eax
je 0x468207
sub esp, 0xc
mov eax, dword [ebp - 0x1f4]
push eax
call sub.msvcrt.dll_free
mov edx, dword [ebp - 0x204]
pop eax
mov eax, dword [edx + 0x80]
push eax
call sub.msvcrt.dll_free
mov ecx, dword [ebp - 0x204]
xor eax, eax
add esp, 0x10
mov dword [ecx + 0x80], 0
jmp 0x46625c
mov esi, str.ELFCLASSNONE
cmp dl, 1
je 0x469935
jb 0x4698fe
mov ebx, str.ELFCLASS64
cmp dl, 2
je 0x469903
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.004081f0
mov eax, dword [ebx + 0xa8]
mov eax, dword [eax + 0x2e4]
test eax, eax
je 0x467ad1
sub esp, 0xc
push eax
call sub.msvcrt.dll_free
mov eax, dword [ebx + 0xa8]
add esp, 0x10
mov dword [eax + 0x2e4], 0
jmp 0x467ad1
mov esi, str.ELFCLASS32
jmp 0x4680f7
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.00415b80
add esp, 0x20
mov edx, eax
test eax, eax
je 0x46993c
mov al, byte [eax + 0xc]
sub eax, 3
cmp al, 1
jbe 0x4681c6
mov dword [edx + 0x20], 0xfffffffe
mov dword [ebx], edx
mov dword [ebp - 0x218], 0
jmp 0x4677d4
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x46996f
add ebx, 0x5c
mov dword [ebp - 0x224], ebx
jmp 0x467782
mov edx, dword [edx + 0x14]
mov dword [ebx], 0
mov eax, dword [edx + 0x58]
mov esi, dword [edx + 0x54]
mov ecx, dword [eax + 0x20]
mov ebx, dword [eax + 0x24]
add dword [ebp - 0x220], ecx
mov edi, dword [eax + 0xa8]
adc dword [ebp - 0x21c], ebx
mov ebx, dword [edx + 0x50]
add dword [ebp - 0x220], ebx
mov dword [ebp - 0x218], edi
adc dword [ebp - 0x21c], esi
jmp 0x4677d4
mov ebx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1fc]
mov edi, dword [ebp - 0x1f4]
add dword [ebx + 0x78], edx
adc dword [ebx + 0x7c], ecx
sub esp, 0xc
push edi
call sub.msvcrt.dll_free
pop esi
mov esi, dword [ebp - 0x204]
mov ebx, dword [esi + 0x80]
push ebx
call sub.msvcrt.dll_free
mov dword [esi + 0x80], 0
add esp, 0x10
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x84]
test ecx, ecx
je 0x4683a9
mov edx, dword [ebp - 0x2cc]
mov ebx, dword [ebp - 0x2cc]
mov eax, dword [edx + 0x78]
mov ecx, dword [ebx + 0x70]
mov dword [ebp - 0x260], eax
mov edx, dword [edx + 0x7c]
add dword [ebp - 0x260], ecx
mov dword [ebp - 0x25c], edx
mov ebx, dword [ebx + 0x74]
adc dword [ebp - 0x25c], ebx
mov esi, dword [edi + 0xa8]
mov ebx, dword [esi + 0x298]
test ebx, ebx
je 0x4682a9
mov edx, dword [ebx]
test edx, edx
jne 0x468645
mov eax, dword [ebp - 0x2d8]
sub esp, 0xc
mov ebx, dword [ebp - 0xbc]
mov dword [esi + 0xec], 3
mov eax, dword [eax + 0x1c4]
mov dword [esi + 0xf4], 0
mov dword [esi + 0xf0], eax
mov dword [esi + 0xf8], 0
mov dword [esi + 0xfc], 0
push ebx
call fcn.0046f570
mov dword [esi + 0x120], 0
mov dword [esi + 0x108], eax
mov dword [esi + 0x10c], edx
mov dword [esi + 0x124], 0
mov dword [esi + 0x110], 0
mov dword [esi + 0x114], 0
mov dword [esi + 0x118], 1
mov dword [esi + 0x11c], 0
push 1
mov ecx, dword [ebp - 0x25c]
lea eax, [esi + 0xe8]
push ecx
mov edx, dword [ebp - 0x260]
push edx
push eax
call fcn.0043f780
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0xa8]
add esp, 0x20
mov ecx, dword [ecx + 0x9cc]
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], edx
push 0
mov eax, dword [esi + 0x104]
push eax
mov eax, dword [esi + 0x100]
push eax
push ebx
call fcn.0040ef00
add esp, 0x10
test eax, eax
jne 0x46625a
push eax
push eax
mov eax, dword [ebp - 0xbc]
push eax
push ebx
call fcn.0046f850
add esp, 0x10
test eax, eax
je 0x46625a
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 0x64]
test ebx, ebx
je 0x468429
mov esi, dword [ebx + 0xac]
test byte [ebx + 0x14], 4
je 0x468422
mov edi, dword [ebp - 0x2d8]
mov eax, dword [edi + 0x108]
test eax, eax
je 0x4683de
sub esp, 0xc
xor edi, edi
push ebx
call eax
add esp, 0x10
test eax, eax
je 0x4683e3
mov edi, 1
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x4683ff
lea edx, [esi + 0x4c]
mov ecx, edi
mov eax, dword [ebp + 8]
call fcn.0045c820
test eax, eax
je 0x46625a
mov eax, dword [esi + 0x5c]
test eax, eax
je 0x46841b
lea edx, [esi + 0x5c]
mov ecx, edi
mov eax, dword [ebp + 8]
call fcn.0045c820
test eax, eax
je 0x46625a
mov dword [ebx + 0x68], 0
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x4683b3
mov ebx, dword [ebp - 0x2c8]
test ebx, ebx
je 0x46957c
mov eax, dword [ebp + 0xc]
test byte [eax + 4], 8
je 0x468613
mov ecx, dword [ebp - 0x2c0]
test ecx, ecx
je 0x468613
mov edx, dword [ebp + 8]
sub esp, 0xc
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x1b4]
mov dword [ebp - 0x1c0], eax
mov eax, dword [eax + 0x188]
mov al, byte [eax + 9]
mov byte [ebp - 0x18d], al
push edx
call fcn.0040f780
mov dword [ebp - 0x1c4], eax
pop eax
pop edx
push str..rela.dyn
mov edi, dword [ebp + 8]
push edi
call fcn.00411790
mov dword [ebp - 0x114], eax
pop ebx
pop esi
push str..rel.dyn
mov ecx, dword [ebp + 8]
push ecx
call fcn.00411790
mov edx, dword [ebp - 0x114]
add esp, 0x10
mov dword [ebp - 0x2a0], eax
test edx, edx
je 0x4694d9
mov esi, dword [ebp - 0x114]
mov ebx, dword [esi + 0x30]
mov esi, dword [esi + 0x34]
mov dword [ebp - 0x2ec], esi
mov dword [ebp - 0x2f0], ebx
or esi, ebx
je 0x4694a8
test eax, eax
je 0x4694a8
mov edi, eax
mov eax, dword [eax + 0x30]
or eax, dword [edi + 0x34]
je 0x4694a8
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 0xc0]
mov dword [ebp - 0x17c], eax
test eax, eax
je 0x468dd2
mov ebx, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x1dc], 1
mov dword [ebp - 0x1e4], 0
mov edi, dword [ebx + 0x188]
mov esi, dword [ebp - 0x174]
cmp dword [esi + 4], 1
je 0x468704
mov eax, dword [ebp - 0x174]
mov eax, dword [eax]
mov dword [ebp - 0x174], eax
test eax, eax
jne 0x46853b
mov edx, dword [ebp - 0x2a0]
mov edx, dword [edx + 0xc0]
mov dword [ebp - 0x184], edx
test edx, edx
je 0x46859b
mov dword [ebp - 0x178], edx
mov ecx, dword [ebp - 0x178]
cmp dword [ecx + 4], 1
je 0x468df7
mov eax, dword [ebp - 0x178]
mov eax, dword [eax]
mov dword [ebp - 0x178], eax
test eax, eax
jne 0x468579
mov eax, dword [ebp - 0x1e4]
test eax, eax
jne 0x46956d
xor eax, eax
mov edx, dword [edi + 0x40]
mov al, byte [edi + 4]
mov edi, dword [edi + 0x44]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1c8], edx
mov dword [ebp - 0x1cc], edi
mov esi, dword [ebp - 0x17c]
xor ecx, ecx
xor ebx, ebx
test esi, esi
je 0x4685fb
mov eax, dword [ebp - 0x17c]
cmp dword [eax + 4], 1
jne 0x4685e9
mov eax, dword [eax + 0x18]
add ecx, dword [eax + 0x30]
adc ebx, dword [eax + 0x34]
mov esi, dword [ebp - 0x17c]
mov esi, dword [esi]
mov dword [ebp - 0x17c], esi
test esi, esi
jne 0x4685d4
mov edx, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x2f0]
xor edx, ebx
xor eax, ecx
or edx, eax
je 0x468eb4
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x2a0], 0
jmp 0x468797
sub esp, 0xc
mov edi, dword [ebp - 0x1f4]
push edi
call sub.msvcrt.dll_free
xor eax, eax
add esp, 0x10
jmp 0x46625c
mov dword [ebx + 4], 0x12
mov dword [ebx + 0x38], 4
mov eax, dword [edi + 0x84]
xor edi, edi
shl eax, 2
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x30], 4
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x24], edi
push 1
mov esi, eax
mov eax, dword [ebp - 0x25c]
push eax
mov eax, dword [ebp - 0x260]
push eax
push ebx
call fcn.0043f780
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], edx
push 0
mov eax, dword [ebx + 0x1c]
push eax
mov eax, dword [ebx + 0x18]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040ef00
add esp, 0x20
test eax, eax
jne 0x46625a
mov eax, dword [ebp + 8]
push eax
push edi
push esi
mov edi, dword [ebp - 0x90]
push edi
call fcn.0040ec80
mov ecx, eax
add esp, 0x10
xor ecx, esi
or ecx, edx
jne 0x46625a
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0xa8]
jmp 0x4682a9
push edx
push edx
push eax
mov eax, dword [ebp - 0xbc]
push eax
call fcn.0046f950
add esp, 0x10
mov dword [ebx + 0x10], eax
jmp 0x467f7d
mov eax, dword [esi + 0x18]
xor edx, edx
mov ebx, dword [eax + 0x30]
mov esi, dword [eax + 0x34]
xor eax, eax
mov al, byte [edi + 4]
push edx
push eax
push esi
push ebx
call fcn.004bbf80
mov ecx, edx
add esp, 0x10
or ecx, eax
jne 0x468d79
xor eax, eax
xor edx, edx
mov al, byte [edi + 3]
push edx
push eax
push esi
push ebx
call fcn.004bbf80
mov ebx, edx
add esp, 0x10
or ebx, eax
je 0x46854b
mov eax, dword [ebp - 0x1e4]
test eax, eax
je 0x4688f3
mov eax, dword [ebp - 0x1dc]
test eax, eax
jne 0x4688f3
push edx
push edx
mov eax, dword [ebp + 8]
push eax
push str._B:_Unable_to_sort_relocs___they_are_in_more_than_one_size
call dword [0x4c20bc]
mov dword [esp], 5
call fcn.00408440
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x2a0], 0
add esp, 0x10
push eax
push eax
push str..dynamic
mov eax, dword [ebp - 0x2c0]
push eax
call fcn.00411850
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x4687c7
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.004075e0
add esp, 0x10
mov esi, dword [ebx + 0x8c]
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x254], esi
add esi, eax
mov dword [ebp - 0x250], esi
cmp dword [ebp - 0x254], esi
jae 0x46957c
mov edi, dword [ebp - 0x2d8]
mov edx, dword [edi + 0x188]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x254]
push eax
mov eax, dword [ebp - 0x2c0]
push eax
call dword [edx + 0x30]
mov ebx, dword [ebp - 0x34]
add esp, 0x10
mov ecx, dword [ebp - 0x38]
cmp ebx, 0
ja 0x468b2a
cmp ecx, 0x12
ja 0x468b2a
cmp ebx, 0
ja 0x468a86
cmp ecx, 0x11
jae 0x468a86
mov eax, ecx
mov esi, str..dynsym
xor eax, 6
or eax, ebx
je 0x468a0f
cmp ebx, 0
ja 0x468a55
cmp ecx, 6
ja 0x468a55
mov eax, ecx
mov esi, str..hash
xor eax, 4
or eax, ebx
je 0x468a0f
cmp ebx, 0
ja 0x468a0a
cmp ecx, 4
ja 0x468a0a
mov edx, ebx
or edx, ecx
jne 0x4689ec
mov eax, dword [ebp - 0x130]
test eax, eax
je 0x468987
mov esi, dword [ebp - 0x2d8]
xor eax, eax
mov edi, dword [ebp - 0x254]
mov edx, dword [esi + 0x188]
mov al, byte [edx + 6]
lea ecx, [eax + edi]
cmp dword [ebp - 0x250], ecx
jbe 0x46957c
mov ebx, dword [ebp - 0x2a0]
mov eax, dword [ebx + 0xac]
mov eax, dword [eax + 4]
cmp eax, 4
je 0x468977
cmp eax, 9
je 0x46890c
cmp dword [ebp - 0x250], ecx
jbe 0x46957c
mov dword [ebp - 0x254], ecx
jmp 0x4687f6
mov dword [ebp - 0x1dc], 1
mov dword [ebp - 0x1e4], 1
jmp 0x46854b
mov dword [ebp - 0x38], 0x6ffffffa
mov dword [ebp - 0x34], 0
mov esi, dword [ebp - 0x130]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x130], 0
push ebx
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x254]
mov eax, dword [edx + 0x188]
push ecx
lea ecx, [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0x2c0]
push edx
call dword [eax + 0x34]
mov ebx, dword [ebp - 0x2d8]
xor eax, eax
mov ecx, dword [ebp - 0x254]
add esp, 0x10
mov edx, dword [ebx + 0x188]
mov al, byte [edx + 6]
add ecx, eax
jmp 0x4688dc
mov dword [ebp - 0x38], 0x6ffffff9
mov dword [ebp - 0x34], 0
jmp 0x46891a
mov ebx, dword [ebp - 0x2d8]
xor eax, eax
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebx + 0x188]
mov al, byte [edx + 6]
add ecx, eax
jmp 0x4688dc
mov eax, ecx
mov esi, str..gnu.version
xor eax, 0x6ffffff0
or eax, ebx
je 0x468a0f
cmp ebx, 0
ja 0x468d39
cmp ecx, 0x6ffffff0
ja 0x468d39
mov eax, ecx
mov esi, str..preinit_array
xor eax, 0x21
or eax, ebx
je 0x468c2b
mov eax, ecx
mov esi, str..gnu.hash
xor eax, 0x6ffffef5
or eax, ebx
je 0x468a0f
mov ecx, dword [ebp - 0x2d8]
xor eax, eax
mov edx, dword [ecx + 0x188]
mov ecx, dword [ebp - 0x254]
mov al, byte [edx + 6]
add ecx, eax
jmp 0x4688dc
mov esi, str..dynstr
push eax
push eax
push esi
mov eax, dword [ebp - 0x2c0]
push eax
call fcn.00411850
add esp, 0x10
mov ecx, eax
test ecx, ecx
je 0x468d23
mov edx, dword [ecx + 0x58]
mov eax, dword [edx + 0xac]
cmp dword [eax + 4], 7
je 0x468c6e
mov eax, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
add eax, dword [ecx + 0x50]
adc edx, dword [ecx + 0x54]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
jmp 0x468934
mov eax, ecx
xor eax, 0xc
or eax, ebx
je 0x468cee
cmp ebx, 0
ja 0x468c90
cmp ecx, 0xc
ja 0x468c90
cmp ebx, 0
ja 0x4689ec
cmp ecx, 8
ja 0x4689ec
mov eax, ecx
mov edx, ebx
add eax, 0xffffffef
adc edx, 0xffffffff
cmp edx, 0
ja 0x468aa4
mov dword [ebp - 0x24c], 9
cmp eax, 1
jbe 0x468aae
mov dword [ebp - 0x24c], 4
mov edi, dword [ebp + 8]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov esi, dword [edi + 0xa8]
cmp dword [esi + 0x2ac], 1
jbe 0x468934
mov eax, ecx
mov dword [ebp - 0x13c], 1
xor eax, 0x12
or eax, ebx
mov dword [ebp - 0x2f8], eax
mov eax, dword [esi + 0x50]
mov edx, dword [ebp - 0x13c]
mov edi, dword [ebp - 0x24c]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x308], eax
cmp dword [eax + 4], edi
je 0x468b92
mov edi, dword [ebp - 0x13c]
inc edi
mov dword [ebp - 0x13c], edi
mov eax, dword [ebp - 0x13c]
cmp dword [esi + 0x2ac], eax
ja 0x468ae9
jmp 0x468934
mov eax, ecx
mov esi, str..preinit_array
xor eax, 0x20
or eax, ebx
je 0x468b7c
cmp ebx, 0
ja 0x4689a5
cmp ecx, 0x20
ja 0x4689a5
mov eax, ecx
mov esi, str..fini_array
xor eax, 0x1a
or eax, ebx
je 0x468b7c
cmp ebx, 0
ja 0x468c0b
cmp ecx, 0x1a
ja 0x468c0b
mov eax, ecx
mov esi, str..init_array
xor eax, 0x19
or eax, ebx
jne 0x4689ec
push edx
push edx
push esi
mov eax, dword [ebp + 8]
push eax
call fcn.00411790
add esp, 0x10
mov ecx, eax
jmp 0x468a23
xor edx, edx
mov eax, dword [eax + 8]
and eax, 2
mov edi, edx
or edi, eax
je 0x468b0a
mov eax, dword [ebp - 0x2f8]
test eax, eax
je 0x468bb7
mov eax, ecx
xor eax, 8
or eax, ebx
jne 0x468bce
mov edi, dword [ebp - 0x308]
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x24]
add dword [ebp - 0x30], eax
adc dword [ebp - 0x2c], edx
jmp 0x468b0a
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov edi, edx
or edi, eax
je 0x468bf4
mov edi, dword [ebp - 0x308]
cmp edx, dword [edi + 0x14]
jb 0x468b0a
ja 0x468bf4
cmp eax, dword [edi + 0x10]
jbe 0x468b0a
mov edi, dword [ebp - 0x308]
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], eax
jmp 0x468b0a
mov eax, ecx
mov esi, str..init_array
xor eax, 0x1b
or eax, ebx
je 0x468c2b
mov eax, ecx
mov esi, str..fini_array
xor eax, 0x1c
or eax, ebx
jne 0x4689ec
push edi
push edi
push esi
mov ebx, dword [ebp + 8]
push ebx
call fcn.00411790
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x468d23
mov eax, dword [eax + 0x30]
or eax, dword [ebx + 0x34]
jne 0x468c5d
push ecx
push ecx
push esi
push str.warning:__s_section_has_zero_size
call dword [0x4c20bc]
add esp, 0x10
mov eax, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x30], eax
jmp 0x468934
push eax
push eax
push esi
push str.warning:_section__s_is_being_made_into_a_note
call dword [0x4c20bc]
mov dword [esp], 0xf
call fcn.00408440
add esp, 0x10
jmp 0x466ba9
mov eax, ecx
xor eax, 0xd
or eax, ebx
jne 0x4689ec
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x50]
sub esp, 0xc
push 1
push 0
push 0
push eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x20]
push eax
call fcn.00415540
add esp, 0x20
mov ebx, eax
test eax, eax
je 0x468987
mov al, byte [eax + 0xc]
sub eax, 3
cmp al, 1
jbe 0x468cf6
mov esi, dword [ebp - 0x2d8]
xor eax, eax
mov ecx, dword [ebp - 0x254]
mov edx, dword [esi + 0x188]
mov al, byte [edx + 6]
add ecx, eax
jmp 0x4688dc
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x4c]
jmp 0x468ca3
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebx + 0x14]
mov ebx, dword [eax + 0x58]
test ebx, ebx
je 0x468d66
add edx, dword [ebx + 0x20]
adc ecx, dword [ebx + 0x24]
add edx, dword [eax + 0x50]
adc ecx, dword [eax + 0x54]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
jmp 0x468934
push eax
push eax
push esi
push str.could_not_find_section__s
call dword [0x4c20bc]
add esp, 0x10
jmp 0x466ba9
mov eax, ecx
mov esi, str..gnu.version_d
xor eax, 0x6ffffffc
or eax, ebx
je 0x468a0f
mov eax, ecx
mov esi, str..gnu.version_r
xor eax, 0x6ffffffe
or eax, ebx
je 0x468a0f
jmp 0x4689ec
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
jmp 0x468934
xor eax, eax
xor edx, edx
mov al, byte [edi + 3]
push edx
push eax
push esi
push ebx
call fcn.004bbf80
mov esi, edx
add esp, 0x10
or esi, eax
jne 0x468dc2
mov eax, dword [ebp - 0x1e4]
test eax, eax
je 0x468da9
cmp dword [ebp - 0x1dc], 1
je 0x468763
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1e4], 1
jmp 0x46854b
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 0x46876e
mov edx, dword [ebp - 0x1c0]
mov dword [ebp - 0x1dc], 1
mov dword [ebp - 0x1e4], 0
mov edi, dword [edx + 0x188]
jmp 0x46855d
mov eax, dword [ecx + 0x18]
xor edx, edx
mov ebx, dword [eax + 0x30]
mov esi, dword [eax + 0x34]
xor eax, eax
mov al, byte [edi + 4]
push edx
push eax
push esi
push ebx
call fcn.004bbf80
mov ecx, edx
add esp, 0x10
or ecx, eax
jne 0x468e67
xor eax, eax
xor edx, edx
mov al, byte [edi + 3]
push edx
push eax
push esi
push ebx
call fcn.004bbf80
mov ebx, edx
add esp, 0x10
or ebx, eax
je 0x468589
mov esi, dword [ebp - 0x1e4]
test esi, esi
je 0x468e4e
mov ebx, dword [ebp - 0x1dc]
test ebx, ebx
je 0x468763
mov dword [ebp - 0x1dc], 1
mov dword [ebp - 0x1e4], 1
jmp 0x468589
xor eax, eax
xor edx, edx
mov al, byte [edi + 3]
push edx
push eax
push esi
push ebx
call fcn.004bbf80
mov esi, edx
add esp, 0x10
or esi, eax
jne 0x468dc2
mov ecx, dword [ebp - 0x1e4]
test ecx, ecx
je 0x468e9b
cmp dword [ebp - 0x1dc], 1
je 0x468763
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1e4], 1
jmp 0x468589
mov dword [ebp - 0x194], 0
mov edi, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x194]
mov dword [ebp - 0x198], edi
push edx
mov eax, dword [ebp - 0x198]
push eax
mov eax, dword [ebp - 0x2ec]
push eax
mov eax, dword [ebp - 0x2f0]
push eax
call fcn.004bbe10
add esp, 0x10
mov dword [ebp - 0x1ac], edx
mov dword [ebp - 0x1b0], eax
or edx, eax
je 0x468613
xor eax, eax
mov dword [ebp - 0x19c], 0
mov al, byte [ebp - 0x18d]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x10]
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x1b4], eax
push eax
push eax
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x1ac]
imul ecx, eax
mov eax, dword [ebp - 0x1b0]
mul dword [ebp - 0x1a0]
lea esi, [ecx + edx]
push esi
push eax
call fcn.00410cf0
add esp, 0x10
mov dword [ebp - 0x1a4], eax
test eax, eax
je 0x46908b
mov ecx, dword [ebp - 0x1c0]
mov dword [ebp - 0x1d8], 0xffffff00
mov dword [ebp - 0x1d4], 0xffffffff
mov eax, dword [ecx + 0x188]
cmp byte [eax + 0xa], 0x20
je 0x468f9c
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0xffffffff
mov ebx, dword [ebp - 0x114]
mov ebx, dword [ebx + 0xc0]
mov dword [ebp - 0x180], ebx
test ebx, ebx
je 0x468fea
mov esi, dword [ebp - 0x1c4]
mov dword [ebp - 0x2fc], 0
mov dword [ebp - 0x300], esi
mov edi, dword [ebp - 0x180]
cmp dword [edi + 4], 1
je 0x4690c3
mov ecx, dword [ebp - 0x180]
mov ecx, dword [ecx]
mov dword [ebp - 0x180], ecx
test ecx, ecx
jne 0x468fc8
mov ebx, dword [ebp - 0x1b0]
mov dword [ebp - 0x1a8], ebx
push 0x457d40
mov edi, dword [ebp - 0x1b4]
push edi
push ebx
mov esi, dword [ebp - 0x1a4]
push esi
call sub.msvcrt.dll_qsort
mov esi, dword [ebp - 0x1a4]
add esp, 0x10
cmp dword [esi + 8], 1
jne 0x4691d6
mov ecx, esi
mov ebx, dword [ebp - 0x1b4]
add ecx, ebx
mov dword [ebp - 0x130], 0
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x138], ecx
inc eax
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x130]
cmp dword [ebp - 0x1ac], 0
ja 0x469064
cmp dword [ebp - 0x1b0], eax
jbe 0x469292
mov eax, dword [ecx + 8]
mov edx, dword [ebp - 0x1b4]
add ecx, edx
dec eax
je 0x469036
mov edi, dword [ebp - 0x138]
mov ebx, dword [ebp - 0x130]
mov esi, edi
mov dword [ebp - 0x2a4], ebx
jmp 0x4691f8
push eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x1c]
push 0
push 0
push 0
mov edi, dword [ebp + 8]
push edi
push 0
push str.Not_enough_memory_to_sort_relocations
push edx
call dword [eax + 0x14]
add esp, 0x20
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x2a0], 0
jmp 0x468797
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x1ec], eax
mov esi, dword [eax + 0x8c]
test esi, esi
je 0x469259
mov ecx, dword [ebp - 0x1ec]
mov ebx, dword [ecx + 0x30]
mov eax, dword [ecx + 0x50]
add ebx, esi
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0x1e8], ebx
cmp esi, ebx
jae 0x468fd8
mov ecx, dword [ebp - 0x300]
mov ebx, dword [ebp - 0x194]
imul ecx, edx
mul dword [ebp - 0x300]
push ebx
lea edx, [ecx + edx]
mov ecx, dword [ebp - 0x198]
push ecx
push edx
push eax
call fcn.004bbe10
mul dword [ebp - 0x1a0]
mov edi, dword [ebp - 0x1a4]
add esp, 0x10
add edi, eax
mov eax, dword [ebp - 0x1b8]
add eax, esi
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 0x18c], eax
lea ebx, [edi + 0x10]
push eax
push ebx
push esi
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 0x1c8]
add esp, 0xc
push ebx
mov eax, dword [ebp - 0x1ec]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov ebx, dword [ebp - 0x1c0]
call dword [ebx + 0x11c]
mov edx, dword [ebp - 0x1d4]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x1d8]
mov dword [edi], eax
mov dword [edi + 4], edx
mov eax, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x1b8]
add edi, eax
mov eax, dword [ebp - 0x18c]
add eax, edx
add esp, 0x10
mov dword [ebp - 0x18c], eax
mov esi, dword [ebp - 0x2f4]
mov eax, dword [ebp - 0x18c]
sub eax, edx
cmp eax, dword [ebp - 0x1e8]
jae 0x468fd8
mov ecx, dword [ebp - 0x2f4]
mov edx, dword [ebp - 0x1b8]
add edx, ecx
mov dword [ebp - 0x2f4], edx
jmp 0x469145
mov esi, dword [ebp - 0x1a4]
mov dword [ebp - 0x2a4], 0
mov edi, esi
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x130], 0
mov eax, dword [esi + 0x18]
mov edx, dword [edi + 0x18]
xor edx, eax
mov ebx, dword [esi + 0x1c]
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [edi + 0x1c]
xor ecx, ebx
and edx, eax
mov eax, dword [ebp - 0x1d4]
and ecx, eax
mov eax, ecx
or eax, edx
je 0x469220
mov edi, esi
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
mov dword [esi + 4], edx
mov dword [esi], eax
mov eax, dword [ebp - 0x2a4]
inc eax
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x2a4]
cmp dword [ebp - 0x1ac], 0
ja 0x46924f
cmp dword [ebp - 0x1b0], eax
jbe 0x469292
mov ebx, dword [ebp - 0x1b4]
add esi, ebx
jmp 0x4691f8
mov edx, eax
mov eax, dword [eax + 0x30]
or eax, dword [edx + 0x34]
je 0x468fd8
sub esp, 0xc
mov esi, dword [ebp - 0x1a4]
push esi
call sub.msvcrt.dll_free
add esp, 0x10
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x2a0], 0
jmp 0x468797
push 0x457df0
mov ecx, dword [ebp - 0x1b4]
push ecx
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x1a8]
sub eax, edx
push eax
mov eax, dword [ebp - 0x138]
push eax
call sub.msvcrt.dll_qsort
mov edx, dword [ebp + 0xc]
add esp, 0x10
mov edx, dword [edx + 0x20]
mov dword [ebp - 0x1e0], edx
mov esi, dword [edx + 0x114]
test esi, esi
je 0x4692dd
mov edi, dword [esi + 0x58]
cmp edi, dword [ebp - 0x114]
je 0x46932c
mov edx, dword [ebp - 0x114]
mov edi, dword [edx + 0xc0]
test edi, edi
je 0x469309
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1bc], ecx
cmp dword [edi + 4], 1
je 0x4693a8
mov edi, dword [edi]
test edi, edi
jne 0x4692f9
sub esp, 0xc
mov ecx, dword [ebp - 0x1a4]
push ecx
call sub.msvcrt.dll_free
mov ecx, dword [ebp - 0x114]
add esp, 0x10
mov dword [ebp - 0x2a0], ecx
jmp 0x468797
mov ecx, dword [ebp - 0x1a8]
mov ebx, dword [ebp - 0x1a4]
lea eax, [ecx + ecx*4]
shl eax, 3
cmp dword [ebx + eax - 0x20], 4
jne 0x4692dd
add ebx, eax
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x1ac], 0
ja 0x469494
cmp dword [ebp - 0x1b0], ecx
ja 0x469494
test ecx, ecx
je 0x4692dd
mov eax, dword [ebp - 0x1b8]
mov ebx, dword [esi + 0x30]
imul ecx, eax
xor ecx, ebx
or ecx, dword [esi + 0x34]
jne 0x4692dd
lea ecx, [edi + 0xc0]
mov edx, dword [edi + 0xc0]
test edx, edx
je 0x46947b
cmp dword [edx + 4], 1
je 0x469457
mov ecx, edx
mov eax, dword [edx]
mov edx, eax
jmp 0x46938e
mov edx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1bc]
sub eax, edx
xor edx, edx
div dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x1b8]
mov ebx, dword [edi + 0x18]
imul eax, edx
mov ecx, dword [ebx + 0x8c]
xor edx, edx
mov esi, dword [ebx + 0x30]
mov dword [ebx + 0x54], 0
add esi, ecx
div dword [ebp - 0x1c4]
mov dword [ebp - 0x1f0], esi
mov dword [ebx + 0x50], eax
cmp ecx, esi
jae 0x469303
mov ebx, dword [ebp - 0x1b8]
add ebx, ecx
mov esi, ebx
push eax
push ecx
mov eax, dword [ebp - 0x1bc]
add eax, 0x10
push eax
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 0x1cc]
mov edx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1bc]
add eax, edx
mov edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1b8]
add esi, eax
add esp, 0x10
mov eax, esi
mov ecx, ebx
sub eax, edx
cmp eax, dword [ebp - 0x1f0]
jae 0x469303
mov eax, dword [ebp - 0x1b8]
lea ebx, [eax + ebx]
jmp 0x4693ff
mov esi, dword [ebp - 0x1e0]
mov eax, dword [edx + 0x18]
cmp eax, dword [esi + 0x114]
jne 0x4693a0
mov eax, dword [edx]
mov dword [ebp - 0x180], edx
mov dword [ecx], eax
jmp 0x4693a4
mov eax, dword [ebp - 0x180]
mov dword [ecx], eax
mov dword [eax], 0
mov dword [edi + 0xc4], eax
jmp 0x4692dd
mov eax, dword [ebx - 0x48]
sub ebx, 0x28
cmp eax, 4
je 0x469349
jmp 0x469363
mov edx, dword [ebp - 0x2ec]
or edx, dword [ebp - 0x2f0]
je 0x4694d9
mov ecx, dword [ebp - 0x114]
mov ebx, dword [ebp - 0x1c0]
mov ecx, dword [ecx + 0xc0]
mov edi, dword [ebx + 0x188]
mov dword [ebp - 0x17c], ecx
jmp 0x4685a9
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x130], 0
test eax, eax
je 0x468797
mov esi, dword [ebp - 0x2a0]
mov eax, dword [esi + 0x30]
or eax, dword [esi + 0x34]
je 0x468613
mov ecx, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x1c0]
mov ecx, dword [ecx + 0xc0]
mov edi, dword [ebx + 0x188]
mov dword [ebp - 0x184], ecx
mov ecx, dword [ebp - 0x2a0]
xor eax, eax
mov al, byte [edi + 3]
mov edx, dword [edi + 0x38]
mov edi, dword [edi + 0x3c]
mov ebx, dword [ebp - 0x184]
mov dword [ebp - 0x1cc], edi
mov esi, dword [ecx + 0x30]
mov edi, dword [ecx + 0x34]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1c8], edx
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x17c], ebx
mov dword [ebp - 0x2f0], esi
mov dword [ebp - 0x2ec], edi
jmp 0x4685c6
mov eax, dword [ebp - 0x1dc]
test eax, eax
je 0x469521
jmp 0x4685a9
mov eax, dword [ebp - 0x2c0]
test eax, eax
je 0x469762
push eax
push eax
mov edi, dword [ebp + 0xc]
push edi
mov esi, dword [ebp + 8]
push esi
mov esi, dword [ebp - 0x2d8]
call dword [esi + 0xa8]
add esp, 0x10
test eax, eax
je 0x466ba9
mov edi, dword [ebp + 0xc]
mov dl, byte [edi + 3]
test dl, 0x20
je 0x4695c3
mov al, byte [edi]
and eax, 3
cmp al, 3
je 0x4695c8
dec al
je 0x4695c8
and edx, 0x40
je 0x469638
push ebx
push ebx
push str..dynamic
mov ecx, dword [ebp - 0x2c0]
push ecx
call fcn.00411850
add esp, 0x10
test eax, eax
je 0x469638
mov ebx, dword [eax + 0x8c]
mov edx, dword [eax + 0x30]
mov esi, ebx
add esi, edx
cmp ebx, esi
jae 0x469638
mov eax, dword [ebp - 0x2d8]
lea edi, [ebp - 0x48]
mov edx, dword [eax + 0x188]
push eax
push edi
push ebx
mov eax, dword [ebp - 0x2c0]
push eax
call dword [edx + 0x30]
mov eax, dword [ebp - 0x48]
add esp, 0x10
xor eax, 0x16
or eax, dword [ebp - 0x44]
je 0x4698db
mov eax, dword [ebp - 0x2d8]
mov edx, dword [eax + 0x188]
xor eax, eax
mov al, byte [edx + 6]
add ebx, eax
cmp esi, ebx
ja 0x469602
mov edx, dword [ebp - 0x2c0]
mov edx, dword [edx + 0x64]
mov dword [ebp - 0x308], edx
test edx, edx
je 0x469762
mov ecx, dword [ebp - 0x308]
mov eax, dword [ecx + 0x14]
test ah, 1
je 0x46974b
mov ebx, dword [ecx + 0x30]
mov esi, dword [ecx + 0x34]
mov dword [ebp - 0x14c], esi
mov dword [ebp - 0x150], ebx
or esi, ebx
je 0x46974b
mov ebx, dword [ecx + 0x58]
cmp ebx, 0x4c2270
je 0x46974b
test eax, 0x100000
je 0x46974b
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x20]
cmp dword [eax + 0xcc], ecx
je 0x46974b
cmp dword [eax + 0xd0], ecx
je 0x46974b
mov eax, str..dynstr
mov esi, dword [ecx]
cld
mov ecx, 8
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x469865
mov eax, dword [ebp - 0x308]
sub esp, 0xc
mov edi, dword [ebp + 8]
mov ebx, dword [eax + 0x50]
mov esi, dword [eax + 0x54]
push edi
call fcn.0040f780
add esp, 0xc
mov ecx, dword [ebp - 0x14c]
push ecx
mov edx, dword [ebp - 0x150]
push edx
mov dword [ebp - 0x330], eax
mov edx, dword [ebp - 0x330]
mov eax, dword [ebp - 0x330]
imul edx, esi
mov dword [ebp - 0x328], edx
mov dword [ebp - 0x32c], 0
mul ebx
mov edi, dword [ebp - 0x328]
mov esi, edx
add esi, edi
push esi
push eax
mov edx, dword [ebp - 0x308]
mov esi, dword [edx + 0x8c]
push esi
mov ebx, dword [edx + 0x58]
push ebx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00411350
add esp, 0x20
test eax, eax
je 0x466ba9
mov ebx, dword [ebp - 0x308]
mov ebx, dword [ebx + 0xc]
mov dword [ebp - 0x308], ebx
test ebx, ebx
jne 0x46964f
mov esi, dword [ebp + 0xc]
mov al, byte [esi]
and eax, 3
cmp al, 2
je 0x4698ae
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x20]
mov ecx, dword [eax + 0xcc]
test ecx, ecx
je 0x46979e
add eax, 0xac
push edx
push edx
push eax
mov edi, dword [ebp + 8]
push edi
call fcn.0049d9e0
add esp, 0x10
test eax, eax
je 0x466ba9
push esi
push esi
mov ebx, dword [ebp + 0xc]
push ebx
mov ecx, dword [ebp + 8]
push ecx
call fcn.004705a0
add esp, 0x10
test eax, eax
je 0x466ba9
mov edx, dword [ebp - 0x2e4]
mov eax, dword [ebp + 8]
call fcn.0045cfb0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa8]
mov edx, dword [ebp - 0x29c]
test edx, edx
mov eax, dword [eax + 0x9cc]
mov dword [eax + 0x40], 1
mov eax, 1
je 0x46625c
push eax
push eax
mov eax, dword [ebp - 0x294]
push eax
mov eax, dword [ebp - 0x298]
push eax
call fcn.00410c90
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x46625a
mov eax, dword [ebp - 0x294]
push eax
mov eax, dword [ebp - 0x298]
push eax
push ebx
mov edi, dword [ebp + 8]
push edi
call fcn.0049d0d0
add esp, 0xc
mov esi, dword [ebp - 0x294]
push esi
mov ecx, dword [ebp - 0x298]
push ecx
push 0
push 0
push ebx
mov edx, dword [ebp - 0x29c]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00411350
add esp, 0x14
push ebx
call sub.msvcrt.dll_free
mov eax, 1
add esp, 0x10
jmp 0x46625c
push 0
mov eax, dword [ebx + 0xac]
mov edx, dword [eax + 0x1c]
push edx
mov eax, dword [eax + 0x18]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040ef00
add esp, 0x10
test eax, eax
jne 0x466ba9
push eax
push eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x20]
mov eax, dword [eax + 0x68]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0046f850
add esp, 0x10
test eax, eax
jne 0x46974b
jmp 0x466ba9
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push edi
push eax
push 0x445b30
mov esi, dword [ebp + 8]
push esi
call fcn.00411490
mov ebx, dword [ebp - 0x14]
add esp, 0x10
test ebx, ebx
jne 0x466ba9
jmp 0x469772
mov edx, dword [ebp + 0xc]
test byte [edx + 3], 0x40
je 0x4699a8
sub esp, 0xc
mov eax, dword [edx + 0x1c]
push str._P_X:_read_only_segment_has_dynamic_relocations._n
call dword [eax + 0x2c]
add esp, 0x10
jmp 0x469638
mov ebx, str.ELFCLASSNONE
sub esp, 0xc
push 3
call fcn.00408440
push esi
push ebx
mov esi, dword [ebp - 0x2bc]
push esi
push str._B:_file_class__s_incompatible_with__s
call dword [0x4c20bc]
lea eax, [ebp - 0xc4]
add esp, 0x20
mov dword [ebp - 0x2e4], eax
jmp 0x466ba9
mov ebx, str.ELFCLASS32
jmp 0x469903
push eax
push eax
mov esi, dword [ebp + 0xc]
mov edx, dword [esi + 0x1c]
push 0
push 0
push 0
push 0
mov edi, dword [ebp - 0x12c]
mov eax, dword [edi + 0x18]
mov edi, dword [eax + 4]
push edi
push esi
call dword [edx + 0x24]
add esp, 0x20
mov dword [ebp - 0x218], 0
jmp 0x4677d4
push edi
push edi
push 0x29fe
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.004075e0
mov edi, dword [ebp - 0x12c]
mov dword [ebp - 0x224], 0
add esp, 0x10
mov edx, dword [edi + 0x18]
jmp 0x467782
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + 4]
mov edx, dword [eax]
jmp 0x466d45
mov ecx, dword [ebp + 0xc]
sub esp, 0xc
mov eax, dword [ecx + 0x1c]
push str._P:_warning:_creating_a_DT_TEXTREL_in_a_shared_object._n
call dword [eax + 0x2c]
add esp, 0x10
jmp 0x469638