Function at 0x46db80
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, 0x2fc
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x1ac]
mov dword [ebp - 0x2cc], eax
mov eax, dword [ecx + 0x20]
cmp dword [eax + 0x28], 1
je 0x46dbb4
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
test byte [ecx], 1
je 0x46dbc5
mov eax, dword [edx + 0x28]
or ah, 8
mov dword [edx + 0x28], eax
mov eax, dword [ecx + 0x20]
mov ebx, dword [eax + 0x30]
mov esi, dword [ebp + 0xc]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x2b8], ebx
mov dword [ebp - 0x2b4], eax
mov edi, dword [ebp + 0xc]
mov esi, dword [esi]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2c8], esi
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x124], eax
call fcn.00455890
mov dword [ebp - 0x120], eax
test eax, eax
je 0x46dbaa
test ebx, ebx
jne 0x46e541
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
mov edx, dword [ebp + 8]
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x108], 0
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0x5c]
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0
mov eax, dword [eax + 0x1ac]
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
mov eax, dword [eax + 0x190]
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0x280], eax
test ebx, ebx
je 0x46eb6d
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x284], 0
mov eax, dword [ebp - 0x280]
test eax, eax
je 0x46e499
mov esi, dword [ebx]
mov dword [ebp - 0x2f4], esi
push eax
push eax
mov edi, dword [ebp - 0x280]
push edi
push esi
call sub.msvcrt.dll_strcmp
add esp, 0x10
test eax, eax
je 0x46dd2f
mov eax, str..gnu.attributes
mov ecx, 0x10
cld
mov esi, dword [ebp - 0x2f4]
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x46dd8d
mov edx, dword [ebx + 0xc0]
test edx, edx
jne 0x46dd46
jmp 0x46dd5e
mov edx, dword [edx]
test edx, edx
je 0x46dd5e
cmp dword [edx + 4], 1
jne 0x46dd40
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 0x46dd46
sub esp, 0xc
mov eax, dword [ebp + 8]
push eax
call fcn.004858b0
add esp, 0x10
mov dword [ebp - 0x284], edx
mov dword [ebp - 0x288], eax
or edx, eax
jne 0x46e45e
mov esi, dword [ebx + 0x14]
or esi, 0x8000
mov dword [ebx + 0x14], esi
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x46dcec
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x194], eax
test eax, eax
je 0x46f61d
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x298], 0
mov edx, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x194]
mov edx, dword [edx + 0xac]
mov dword [ecx + 0x68], 0
mov dword [ebp - 0x27c], edx
mov esi, dword [ecx + 0xc0]
test esi, esi
jne 0x46de52
jmp 0x46e44a
mov esi, dword [esi]
test esi, esi
je 0x46df65
mov edx, dword [esi + 4]
lea eax, [edx - 3]
cmp eax, 1
jbe 0x46e210
dec edx
jne 0x46de48
mov edi, dword [esi + 0x18]
mov ebx, dword [edi + 0xac]
mov dword [ebp - 0x274], ebx
or byte [edi + 0x18], 2
test byte [edi + 0x16], 0x80
je 0x46de87
mov dword [ebp - 0x298], 1
mov edx, dword [ebp - 0x27c]
mov eax, dword [edx + 4]
cmp eax, 9
je 0x46e250
cmp eax, 4
je 0x46e250
mov ecx, dword [ebp + 0xc]
test dword [ecx], 0x4000008
je 0x46e41f
mov ebx, dword [edi + 0x68]
mov dword [ebp - 0x278], ebx
lea esi, [esi]
mov edx, dword [edi + 0x3c]
mov ebx, dword [edi + 0x34]
mov eax, dword [edi + 0x38]
mov ecx, dword [edi + 0x30]
cmp ebx, edx
ja 0x46deda
jb 0x46ded6
cmp ecx, eax
jae 0x46deda
mov ecx, eax
mov ebx, edx
cmp dword [ebp - 0x19c], ebx
ja 0x46def8
jb 0x46deec
cmp dword [ebp - 0x1a0], ecx
jae 0x46def8
mov dword [ebp - 0x1a0], ecx
mov dword [ebp - 0x19c], ebx
mov edx, dword [edi + 0xb4]
mov eax, dword [edx + 4]
cmp dword [eax + 4], 5
je 0x46e311
mov eax, dword [ebp - 0x278]
test eax, eax
je 0x46de48
mov ebx, dword [ebp - 0x194]
mov edi, dword [ebp - 0x278]
mov eax, dword [ebx + 0x68]
add eax, edi
mov dword [ebx + 0x68], eax
cmp dword [esi + 4], 1
je 0x46e25f
mov ebx, dword [ebp - 0x194]
test byte [ebx + 0x19], 4
je 0x46e230
mov edi, dword [ebp - 0x27c]
mov eax, dword [ebp - 0x278]
mov esi, dword [esi]
mov edx, dword [edi + 0x60]
add edx, eax
test esi, esi
mov dword [edi + 0x60], edx
jne 0x46de52
mov ebx, dword [ebp - 0x194]
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x46e44a
mov eax, dword [ebx + 0x14]
or eax, 4
mov dword [ebx + 0x14], eax
mov edi, dword [ebp - 0x194]
test byte [edi + 0x14], 1
jne 0x46df9f
test byte [edi + 0x18], 1
jne 0x46df9f
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov eax, dword [ebp - 0x194]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x194], eax
test eax, eax
jne 0x46de1a
mov edx, dword [ebp + 0xc]
test byte [edx], 8
je 0x46e4b1
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov al, byte [ecx + 1]
and eax, 0xffffffc0
cmp al, 0xc0
setne al
and eax, 0xff
test byte [ebx + 0x2b], 8
mov dword [ebx + 0x7c], eax
jne 0x46e528
push eax
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00455910
add esp, 0x10
test eax, eax
je 0x46e507
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0x5c]
test esi, esi
je 0x46e065
lea esi, [esi]
mov ebx, dword [esi + 0xac]
test byte [esi + 0x14], 4
je 0x46e050
mov edi, dword [ebx + 0x4c]
test edi, edi
je 0x46e036
lea edx, [ebx + 0x4c]
mov eax, dword [ebp + 8]
call fcn.00462b90
test eax, eax
je 0x46e621
mov ecx, dword [ebx + 0x5c]
test ecx, ecx
je 0x46e050
lea edx, [ebx + 0x5c]
mov eax, dword [ebp + 8]
call fcn.00462b90
test eax, eax
je 0x46e5b0
mov esi, dword [esi + 0xc]
mov dword [ebx + 0x50], 0
mov dword [ebx + 0x60], 0
test esi, esi
jne 0x46e010
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2cc]
mov edi, dword [ebp + 8]
mov edx, dword [eax + 0xa0]
mov dword [eax + 0x7c], 0
mov dword [ebp - 0x2bc], edx
xor eax, eax
mov dword [edx + 0x5c], 2
mov edx, dword [ecx + 0x178]
mov ebx, dword [ebp - 0x2bc]
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
mov eax, dword [edi + 0xa0]
mov eax, dword [eax + 0xa14]
push 1
mov edx, dword [eax + 0x2c]
push edx
mov edi, dword [eax + 0x28]
mov eax, ebx
add eax, 0x58
push edi
push eax
call fcn.0044a580
mov dword [ebp - 0x188], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x184], edx
add esp, 0x10
test byte [eax + 3], 2
je 0x46e5a1
cmp dword [ebp - 0x2a4], 0
jbe 0x46e594
mov edx, dword [ebp - 0x2a8]
mov dword [ebp - 0xe4], edx
mov ebx, dword [ebp - 0xe4]
push esi
push esi
xor edx, edx
mov edi, dword [ebp - 0x2cc]
xor eax, eax
mov ecx, dword [edi + 0x178]
mov al, byte [ecx + 5]
mov ecx, edx
imul ecx, ebx
mul ebx
lea edx, [ecx + edx]
push edx
push eax
call fcn.0040c040
add esp, 0x10
mov dword [ebp - 0xf0], eax
test eax, eax
je 0x46eb5c
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa0]
mov eax, dword [eax + 0x2ec]
cmp eax, 0xff00
ja 0x46eac0
mov ecx, dword [ebp + 0xc]
test dword [ebp - 0x2c8], 0x4000008
mov al, byte [ecx + 1]
setne bl
and eax, 0xffffffc0
cmp al, 0xc0
je 0x46e6f2
sub esp, 0xc
lea edi, [ebp - 0x128]
lea esi, [ebp - 0x70]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov byte [ebp - 0x5c], 0
mov byte [ebp - 0x5b], 0
mov dword [ebp - 0x58], 0
mov byte [ebp - 0x5a], 0
push 0
push 0x4a4188
push esi
push 0
mov dword [ebp - 0x2d0], edi
push edi
call fcn.00464fc0
add esp, 0x20
dec eax
je 0x46e632
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x2d0]
call fcn.00464e90
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0x278], 1
mov dword [ebp - 0x274], 0
jmp 0x46df19
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x278]
mov eax, dword [edx + 0x50]
add eax, ecx
mov dword [edx + 0x50], eax
jmp 0x46de48
mov dword [ebp - 0x278], 0
jmp 0x46dec0
mov eax, dword [ebp + 0xc]
test dword [eax], 0x4000008
je 0x46df37
mov edx, dword [ebp - 0x274]
mov edi, dword [edx + 0x4c]
test edi, edi
je 0x46e2bb
mov ecx, dword [ebp - 0x27c]
mov ebx, dword [edi + 0x3c]
mov edx, ebx
xor eax, eax
mov ecx, dword [ecx + 0x50]
mov dword [ebp - 0x2c4], ecx
mov ecx, dword [edi + 0x38]
or edx, ecx
je 0x46e2aa
push ebx
push ecx
mov ebx, dword [edi + 0x24]
push ebx
mov ecx, dword [edi + 0x20]
push ecx
call fcn.0049b400
add esp, 0x10
mov edx, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x27c]
add eax, edx
mov dword [ecx + 0x50], eax
mov ebx, dword [ebp - 0x274]
mov edi, dword [ebx + 0x5c]
test edi, edi
je 0x46de48
mov eax, dword [ebp - 0x27c]
mov ebx, dword [edi + 0x3c]
mov ecx, dword [edi + 0x38]
mov edx, ebx
mov eax, dword [eax + 0x60]
mov dword [ebp - 0x2c0], eax
xor eax, eax
or edx, ecx
je 0x46e2fb
push ebx
push ecx
mov eax, dword [edi + 0x24]
push eax
mov ebx, dword [edi + 0x20]
push ebx
call fcn.0049b400
add esp, 0x10
mov ecx, dword [ebp - 0x2c0]
add eax, ecx
mov ecx, dword [ebp - 0x27c]
mov dword [ecx + 0x60], eax
jmp 0x46de48
test byte [edx + 0x29], 8
jne 0x46df0b
mov ebx, dword [edx + 0xa0]
mov eax, dword [ebx + 0xa08]
test eax, eax
je 0x46e4a6
mov ecx, dword [ebp - 0x2cc]
xor edx, edx
mov eax, dword [ecx + 0x178]
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.0049b400
add esp, 0x10
xor edx, edx
cmp dword [ebp - 0x2a4], 0
ja 0x46e373
cmp dword [ebp - 0x2a8], eax
jae 0x46e373
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2a4], edx
cmp edx, dword [ebp - 0x1ac]
jb 0x46e385
ja 0x46e3f6
cmp eax, dword [ebp - 0x1b0]
ja 0x46e3f6
test byte [edi + 0x14], 4
je 0x46df0b
mov ebx, dword [ebp - 0x274]
xor edx, edx
mov eax, dword [ebx + 0x4c]
test eax, eax
je 0x46e3a1
mov edx, dword [eax + 0x20]
mov ecx, dword [ebp - 0x274]
mov eax, dword [ecx + 0x5c]
test eax, eax
je 0x46e3b3
mov ecx, dword [eax + 0x20]
add edx, ecx
mov eax, edx
xor edx, edx
cmp dword [ebp - 0x2ac], 0
ja 0x46e3c8
cmp dword [ebp - 0x2b0], eax
jb 0x46e411
xor edx, edx
mov eax, dword [edi + 0x68]
cmp edx, dword [ebp - 0x1a4]
jb 0x46df0b
cmp eax, dword [ebp - 0x1a8]
jbe 0x46df0b
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], edx
jmp 0x46df0b
mov ebx, dword [ebx + 0x9ec]
test ebx, ebx
je 0x46e385
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], edx
jmp 0x46e385
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2ac], edx
jmp 0x46e3c8
mov edx, dword [ebp - 0x2cc]
mov eax, dword [edx + 0x100]
test eax, eax
je 0x46e250
push ecx
push ecx
push edi
mov edx, dword [ebp + 0xc]
push edx
call eax
add esp, 0x10
mov dword [ebp - 0x278], eax
jmp 0x46dec0
mov esi, dword [ebp - 0x194]
mov edi, dword [esi + 0x14]
and edi, 0xfffffffb
mov dword [esi + 0x14], edi
jmp 0x46df7f
mov eax, dword [ebp - 0x284]
push eax
mov eax, dword [ebp - 0x288]
push eax
push ebx
mov edi, dword [ebp + 8]
push edi
call fcn.004032d0
mov dword [ebx + 0xc0], 0
mov dword [ebp - 0x28c], ebx
mov ebx, dword [ebx + 0xc]
add esp, 0x10
test ebx, ebx
jne 0x46dcec
jmp 0x46dd98
mov ecx, dword [ebx]
mov dword [ebp - 0x2f4], ecx
jmp 0x46dd18
mov eax, dword [ebx + 0x84]
jmp 0x46e354
mov ebx, dword [ebp - 0x298]
test ebx, ebx
je 0x46dfc2
push ecx
mov eax, dword [ebp + 8]
push eax
push 0x463160
mov eax, dword [edx + 0x20]
push eax
call fcn.00424ae0
add esp, 0x10
jmp 0x46dfc2
push edx
push edx
mov ebx, dword [ebp - 0x1b0]
mov esi, dword [ebp - 0x1ac]
shld esi, ebx, 2
shl ebx, 2
push esi
push ebx
call fcn.0040c040
add esp, 0x10
mov dword [ebp - 0x100], eax
test eax, eax
jne 0x46e754
lea ecx, [ebp - 0x128]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2d0], ecx
mov edx, dword [ebp - 0x2d0]
call fcn.00464e90
xor eax, eax
jmp 0x46e206
push eax
push eax
push 0x29ad
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.25_bfd_elflink.c
call fcn.00404610
add esp, 0x10
jmp 0x46dfe5
push eax
push eax
push 0x4ce1cd
mov edi, dword [ebp - 0x2b4]
push edi
call fcn.00403970
mov dword [ebp - 0x11c], eax
pop ebx
pop esi
push 0x4ce1d5
mov ecx, dword [ebp - 0x2b4]
push ecx
call fcn.00403970
mov dword [ebp - 0x118], eax
pop eax
pop edx
push str..gnu.version
mov eax, dword [ebp - 0x2b4]
push eax
call fcn.00403970
add esp, 0x10
mov dword [ebp - 0x114], eax
jmp 0x46dc29
cmp dword [ebp - 0x2a8], 0x13
ja 0x46e11a
mov dword [ebp - 0xe4], 0x14
jmp 0x46e126
lea esi, [ebp - 0x128]
mov dword [ebp - 0x2d0], esi
jmp 0x46e1f6
mov edi, dword [ebp - 0x2cc]
xor eax, eax
xor edx, edx
mov ecx, dword [edi + 0x178]
mov ebx, edx
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
push ecx
sbb edx, ebx
push ecx
mov ecx, dword [ebp - 0x1a8]
mov ebx, dword [ebp - 0x1a4]
imul ecx, edx
imul ebx, eax
mul dword [ebp - 0x1a8]
add ecx, ebx
lea edx, [ecx + edx]
push edx
push eax
call fcn.0040c040
add esp, 0x10
mov dword [ebp - 0x108], eax
test eax, eax
jne 0x46e730
lea ebx, [ebp - 0x128]
mov dword [ebp - 0x2d0], ebx
jmp 0x46e1f6
test bl, bl
jne 0x46e647
mov edx, dword [ebp + 0xc]
mov al, byte [edx + 1]
and eax, 0xffffffc0
cmp al, 0xc0
je 0x46e6fa
mov ecx, dword [ebp + 8]
mov byte [ebp - 0x5c], 3
mov byte [ebp - 0x5b], 0
mov byte [ebp - 0x5a], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov eax, dword [ecx + 0xa0]
cmp dword [eax + 0x2ec], 1
jbe 0x46e6fa
mov ebx, 1
jmp 0x46e69a
mov edx, dword [ebp + 8]
inc ebx
mov eax, dword [edx + 0xa0]
cmp dword [eax + 0x2ec], ebx
jbe 0x46e6fa
push eax
push eax
push ebx
mov eax, dword [ebp + 8]
push eax
call fcn.0044a460
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x46e688
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x7c]
mov dword [ecx + 0xa8], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], ebx
test byte [eax], 8
jne 0x46e6d2
mov eax, dword [ecx + 0x20]
mov edx, dword [ecx + 0x24]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x70], eax
sub esp, 0xc
push 0
push ecx
push esi
push 0
mov eax, dword [ebp - 0x2d0]
push eax
call fcn.00464fc0
add esp, 0x20
dec eax
je 0x46e688
jmp 0x46e1f6
test bl, bl
jne 0x46e19b
mov ecx, dword [ebp - 0x19c]
or ecx, dword [ebp - 0x1a0]
jne 0x46ebf4
mov ebx, dword [ebp - 0x2ac]
or ebx, dword [ebp - 0x2b0]
jne 0x46ec2b
mov esi, dword [ebp - 0x1a4]
or esi, dword [ebp - 0x1a8]
jne 0x46e5c1
mov eax, dword [ebp - 0x2a4]
or eax, dword [ebp - 0x2a8]
jne 0x46ec72
mov ecx, dword [ebp - 0x1ac]
or ecx, dword [ebp - 0x1b0]
jne 0x46e4da
mov esi, dword [ebp + 0xc]
mov esi, dword [esi + 0x20]
mov dword [ebp - 0x198], esi
mov edi, dword [esi + 0xd8]
mov dword [ebp - 0x268], edi
test edi, edi
je 0x46e803
mov ecx, edi
xor esi, esi
xor edi, edi
mov ebx, dword [ecx + 0x14]
test bh, 4
je 0x46e7ba
mov edx, dword [ecx + 0x34]
mov eax, dword [ecx + 0x30]
mov esi, edx
or esi, eax
jne 0x46e7a9
and bh, 1
jne 0x46e7a9
mov ebx, dword [ecx + 0xc4]
test ebx, ebx
je 0x46e7a9
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
add eax, dword [ebx + 0x10]
adc edx, dword [ebx + 0x14]
mov esi, eax
mov edi, edx
add esi, dword [ecx + 0x20]
adc edi, dword [ecx + 0x24]
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x46e77a
mov edx, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x2cc]
mov eax, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
mov dword [ebp - 0x270], eax
mov dword [ebp - 0x26c], edx
cmp dword [ecx + 0x1a4], 1
je 0x46ee51
sub esi, dword [ebp - 0x270]
mov eax, dword [ebp - 0x198]
sbb edi, dword [ebp - 0x26c]
mov dword [eax + 0xe0], esi
mov dword [eax + 0xe4], edi
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x5c]
mov dword [ebp - 0x190], edx
test edx, edx
je 0x46e90f
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0x190]
mov eax, dword [ecx + 4]
mov eax, dword [eax + 0x1ac]
mov dword [ebp - 0x250], eax
mov ebx, dword [esi + 0xc0]
test ebx, ebx
je 0x46e8f8
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x248], 0
xor edi, edi
cmp dword [ebx + 4], 1
je 0x46ea20
inc edi
test edi, edi
je 0x46e8e0
mov eax, dword [ebp - 0x248]
test eax, eax
je 0x46e8e0
mov eax, dword [ebp - 0x254]
test eax, eax
je 0x46ec56
mov eax, dword [ebp - 0x13c]
test eax, eax
je 0x46ec56
push edi
push edi
mov edx, dword [ebp - 0x254]
mov esi, dword [edx + 0xb4]
push esi
push edx
mov ecx, dword [ebp - 0x13c]
mov ebx, dword [ecx + 0xb4]
push ebx
push ecx
mov ecx, dword [ebp - 0x190]
push ecx
push str._A_has_both_ordered____A_in__B__and_unordered____A_in__B__sections
call dword [0x4a4400]
add esp, 0x20
sub esp, 0xc
push 0x11
call fcn.00404f10
xor eax, eax
add esp, 0x10
jmp 0x46dbac
mov ebx, dword [ebx]
test ebx, ebx
jne 0x46e85d
mov eax, dword [ebp - 0x248]
test eax, eax
jne 0x46ed35
mov eax, dword [ebp - 0x190]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x190], eax
test eax, eax
jne 0x46e817
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0x38]
mov dword [ebp - 0x174], ecx
test ecx, ecx
je 0x46e939
mov ebx, dword [ebp - 0x174]
mov esi, dword [ebx + 0x9c]
and byte [ebx + 0x2b], 0xf7
mov dword [ebp - 0x174], esi
test esi, esi
jne 0x46e91f
mov edi, dword [ebp + 8]
mov edi, dword [edi + 0x5c]
mov dword [ebp - 0x18c], edi
test edi, edi
je 0x46f2a4
mov eax, dword [ebp - 0x18c]
mov eax, dword [eax + 0xc0]
mov dword [ebp - 0x164], eax
test eax, eax
jne 0x46e9b0
jmp 0x46f28d
lea eax, [ecx - 3]
cmp eax, 1
jbe 0x46ee9b
mov eax, dword [ebp - 0x164]
push eax
mov edi, dword [ebp - 0x18c]
push edi
mov esi, dword [ebp + 0xc]
push esi
mov ebx, dword [ebp + 8]
push ebx
call fcn.00426270
add esp, 0x10
test eax, eax
je 0x46f1d8
mov edx, dword [ebp - 0x164]
mov edx, dword [edx]
mov dword [ebp - 0x164], edx
test edx, edx
je 0x46f28d
mov edx, dword [ebp - 0x164]
mov ecx, dword [edx + 4]
cmp ecx, 1
jne 0x46e968
mov eax, dword [edx + 0x18]
mov eax, dword [eax + 0xb4]
mov dword [ebp - 0x174], eax
mov ebx, eax
mov eax, dword [eax + 4]
cmp dword [eax + 4], 5
jne 0x46e968
mov esi, dword [ebp - 0x2cc]
mov eax, dword [ebx + 0xa0]
mov edx, dword [esi + 0x178]
mov al, byte [eax + 4]
cmp al, byte [edx + 0xc]
jne 0x46e974
test byte [ebx + 0x2b], 8
jne 0x46e99a
lea edi, [ebp - 0x128]
mov edx, ebx
mov dword [ebp - 0x2d0], edi
mov eax, edi
call fcn.0046c110
test eax, eax
je 0x46e1f6
or byte [ebx + 0x2b], 8
jmp 0x46e99a
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x138], eax
mov esi, dword [eax + 0xb4]
mov eax, dword [esi + 4]
cmp dword [eax + 4], 5
je 0x46ea4a
mov eax, dword [ebp - 0x138]
inc edi
mov dword [ebp - 0x254], eax
jmp 0x46e868
mov ecx, dword [ebp - 0x250]
mov eax, dword [esi + 0xa0]
mov edx, dword [ecx + 0x178]
mov al, byte [eax + 4]
cmp al, byte [edx + 0xc]
jne 0x46ea38
push eax
push eax
mov eax, dword [ebp - 0x138]
push eax
push esi
call fcn.0044b5c0
add esp, 0x10
mov edx, eax
test eax, eax
je 0x46ea38
mov eax, dword [esi + 0xa0]
mov ecx, dword [eax + 0x2ec]
cmp edx, ecx
jae 0x46ea38
mov eax, dword [eax + 0x50]
mov eax, dword [eax + edx*4]
cmp byte [eax + 8], 0
jns 0x46ea38
cmp ecx, dword [eax + 0x28]
jbe 0x46ea38
mov eax, dword [ebp - 0x248]
mov esi, dword [ebp - 0x138]
inc eax
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x248], eax
jmp 0x46e868
mov ecx, dword [ebp - 0x2a8]
mov ebx, dword [ebp - 0x2a4]
xor edx, edx
add eax, 0x3e8
adc edx, 0
shld ebx, ecx, 1
add ecx, ecx
add eax, ecx
adc edx, ebx
mov dword [ebp - 0xe0], eax
shld edx, eax, 2
shl eax, 2
push ecx
push ecx
push edx
push eax
call fcn.0040c170
add esp, 0x10
mov dword [ebp - 0xec], eax
test eax, eax
jne 0x46e17d
lea eax, [ebp - 0x128]
mov dword [ebp - 0x2d0], eax
jmp 0x46e1f6
push eax
mov eax, dword [ebp - 0x23c]
push eax
mov eax, dword [ebp - 0x240]
push eax
mov edi, dword [ebp - 0x164]
mov eax, dword [edi + 0xc]
push eax
mov eax, dword [edi + 8]
push eax
push esi
mov edi, dword [ebp - 0x18c]
push edi
mov ebx, dword [ebp + 8]
push ebx
call fcn.004034a0
add esp, 0x14
mov ebx, eax
push esi
call fcn.004a3a08
add esp, 0x10
test ebx, ebx
jne 0x46eff6
lea edi, [ebp - 0x128]
mov dword [ebp - 0x2d0], edi
jmp 0x46e1f6
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
jmp 0x46dfc2
push eax
push eax
mov eax, dword [ebp - 0x19c]
push eax
mov eax, dword [ebp - 0x1a0]
push eax
call fcn.0040c040
add esp, 0x10
mov dword [ebp - 0x110], eax
test eax, eax
jne 0x46e70c
lea edx, [ebp - 0x128]
mov dword [ebp - 0x2d0], edx
jmp 0x46e1f6
push edi
push edi
mov esi, dword [ebp - 0x2ac]
push esi
mov ebx, dword [ebp - 0x2b0]
push ebx
call fcn.0040c040
add esp, 0x10
mov dword [ebp - 0x10c], eax
test eax, eax
jne 0x46e71e
jmp 0x46e507
push edx
push edx
mov eax, dword [ebp - 0x190]
push eax
push str._A_has_both_ordered_and_unordered_sections
call dword [0x4a4400]
add esp, 0x10
jmp 0x46e8c5
push eax
push eax
mov edx, dword [ebp - 0x2cc]
xor eax, eax
mov ebx, dword [ebp - 0x2a8]
mov ecx, dword [edx + 0x178]
xor edx, edx
imul ebx, edx
mov al, byte [ecx + 5]
mov ecx, dword [ebp - 0x2a4]
imul ecx, eax
mul dword [ebp - 0x2a8]
add ecx, ebx
lea edx, [ecx + edx]
push edx
push eax
call fcn.0040c040
add esp, 0x10
mov dword [ebp - 0x104], eax
test eax, eax
je 0x46e5b0
push eax
push eax
mov eax, dword [ebp - 0x2a8]
mov edx, dword [ebp - 0x2a4]
shld edx, eax, 5
shl eax, 5
push edx
push eax
call fcn.0040c040
add esp, 0x10
mov dword [ebp - 0xfc], eax
test eax, eax
je 0x46eb5c
mov ebx, dword [ebp - 0x2a8]
mov esi, dword [ebp - 0x2a4]
shld esi, ebx, 2
shl ebx, 2
push edi
push edi
push esi
push ebx
call fcn.0040c040
add esp, 0x10
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x46eb07
push ecx
push ecx
push esi
push ebx
call fcn.0040c040
add esp, 0x10
mov dword [ebp - 0xf4], eax
test eax, eax
jne 0x46e742
jmp 0x46ec1a
push eax
push eax
mov eax, dword [ebp - 0x248]
xor edx, edx
shl eax, 2
push edx
push eax
call fcn.0040c040
add esp, 0x10
mov dword [ebp - 0x244], eax
test eax, eax
je 0x46dbaa
mov ebx, dword [ebp - 0x190]
mov eax, dword [ebx + 0xc0]
test eax, eax
je 0x46f270
mov dword [ebp - 0x140], 0
mov esi, dword [ebp - 0x140]
mov edi, dword [ebp - 0x244]
mov dword [edi + esi*4], eax
inc esi
mov eax, dword [eax]
mov dword [ebp - 0x140], esi
test eax, eax
jne 0x46ed78
push 0x460eb0
push 4
push esi
push edi
call sub.msvcrt.dll_qsort
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x24c], 0
add esp, 0x10
mov eax, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x244]
mov esi, dword [edx + eax*4]
mov eax, 0xffffffff
mov edx, 0xffffffff
mov edi, dword [esi + 0x18]
mov ecx, dword [edi + 0x5c]
shl eax, cl
test cl, 0x20
je 0x46eded
mov edx, eax
xor eax, eax
mov ecx, eax
mov ebx, edx
mov eax, dword [ebp - 0x148]
mov edx, dword [ebp - 0x144]
and edx, ebx
and eax, ecx
mov dword [edi + 0x50], eax
mov dword [edi + 0x54], edx
mov dword [esi + 8], eax
add eax, dword [esi + 0x10]
mov dword [esi + 0xc], edx
mov dword [ebp - 0x148], eax
adc edx, dword [esi + 0x14]
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x24c], eax
mov edx, dword [ebp - 0x140]
cmp dword [ebp - 0x24c], edx
jne 0x46edc3
sub esp, 0xc
mov eax, dword [ebp - 0x244]
push eax
call fcn.004a3a08
add esp, 0x10
jmp 0x46e8f8
mov ebx, dword [ebp - 0x268]
xor eax, eax
xor edx, edx
mov ecx, dword [ebx + 0x5c]
test cl, 0x20
sete al
setne dl
shl eax, cl
shl edx, cl
add eax, 0xffffffff
adc edx, 0xffffffff
add eax, esi
adc edx, edi
mov esi, 0xffffffff
shl esi, cl
mov edi, 0xffffffff
test cl, 0x20
je 0x46ee8a
mov edi, esi
xor esi, esi
mov ecx, esi
mov ebx, edi
mov esi, eax
mov edi, edx
and esi, ecx
and edi, ebx
jmp 0x46e7e5
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x18c]
mov eax, dword [edx + 4]
mov ebx, dword [ecx + 0xac]
mov eax, dword [eax + 0x1ac]
mov dword [ebp - 0x2f4], eax
push eax
push eax
mov esi, dword [ebp - 0x164]
mov eax, dword [esi + 0x18]
mov edi, dword [eax]
push edi
push edx
call fcn.004232a0
add esp, 0x10
mov dword [ebp - 0x220], eax
test eax, eax
je 0x46f5ff
mov eax, dword [ebp - 0x164]
mov edx, dword [eax + 0x18]
mov esi, dword [edx + 8]
mov edi, dword [edx + 0xc]
mov dword [ebp - 0x230], esi
mov esi, dword [ebx + 0x4c]
mov dword [ebp - 0x22c], edi
test esi, esi
je 0x46f165
add ebx, 0x4c
mov dword [ebp - 0x234], ebx
mov ecx, dword [ebp - 0x234]
mov esi, dword [ebp - 0x164]
mov eax, dword [ecx + 4]
lea ebx, [eax*4]
mov eax, dword [ecx + 0xc]
add ebx, eax
cmp dword [esi + 4], 3
jne 0x46f119
mov eax, dword [edx + 4]
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0x224], eax
test eax, eax
je 0x46f53e
mov dword [ebx], 0
mov eax, dword [ebp - 0x220]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x46eff6
mov edx, dword [ebp - 0x22c]
or edx, dword [ebp - 0x230]
je 0x46eff6
sub esp, 0xc
push eax
call fcn.004234f0
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x240], eax
pop eax
mov eax, dword [ebp - 0x23c]
pop edx
push eax
mov eax, dword [ebp - 0x240]
push eax
call fcn.0040c170
add esp, 0x10
mov esi, eax
test eax, eax
je 0x46e5b0
sub esp, 0xc
push eax
mov eax, dword [ebp - 0x22c]
push eax
mov eax, dword [ebp - 0x230]
push eax
mov eax, dword [ebp + 8]
push eax
mov edi, dword [ebp - 0x220]
push edi
call fcn.004235f0
add esp, 0x20
test eax, eax
je 0x46eb18
dec eax
je 0x46f4b6
push esi
push str.elf_reloc_link_order
push 0x27b8
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.25_bfd_elflink.c
call fcn.00404e20
mov eax, dword [ebp - 0x164]
mov ebx, dword [ebp + 0xc]
mov edx, dword [eax + 8]
mov ecx, dword [eax + 0xc]
test byte [ebx], 8
jne 0x46f016
mov esi, dword [ebp - 0x18c]
add edx, dword [esi + 0x20]
adc ecx, dword [esi + 0x24]
mov eax, dword [ebp - 0x2f4]
mov edi, dword [eax + 0x178]
cmp byte [edi + 9], 0
je 0x46f05e
lea ebx, [ebp - 0xc8]
xor esi, esi
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 esi
mov al, byte [edi + 9]
add ebx, 0x18
cmp eax, esi
ja 0x46f030
cmp byte [edi + 0xa], 0x20
je 0x46f1a3
mov eax, dword [ebp - 0x224]
xor ebx, ebx
mov edx, eax
sar edx, 0x1f
mov edx, eax
mov dword [ebp - 0x2fc], edx
mov edx, dword [ebp - 0x220]
mov eax, 0
mov dword [ebp - 0x300], eax
mov ecx, dword [edx]
add dword [ebp - 0x300], ecx
adc dword [ebp - 0x2fc], ebx
mov ecx, dword [ebp - 0x300]
mov ebx, dword [ebp - 0x2fc]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], ebx
mov ebx, dword [ebp - 0x234]
mov eax, dword [ebx]
mov edx, dword [eax + 0x44]
cmp dword [eax + 4], 9
je 0x46f17e
mov ebx, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x230]
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc8], ecx
push ebx
xor eax, eax
mov ebx, dword [ebp - 0x234]
mov al, byte [edi + 4]
lea esi, [ebp - 0xd8]
mov ecx, dword [ebx + 4]
imul eax, ecx
add eax, edx
push eax
push esi
mov eax, dword [ebp + 8]
push eax
call dword [edi + 0x44]
add esp, 0x10
mov edi, dword [ebp - 0x234]
mov eax, dword [edi + 4]
inc eax
mov dword [edi + 4], eax
jmp 0x46e99a
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 edi, dword [ebp + 8]
push edi
call fcn.00425cd0
add esp, 0x20
mov edx, eax
test eax, eax
je 0x46f5c4
mov al, byte [eax + 0xc]
sub eax, 3
cmp al, 1
jbe 0x46f583
mov dword [edx + 0x20], 0xfffffffe
mov dword [ebx], edx
mov dword [ebp - 0x224], 0
jmp 0x46ef4f
mov ecx, dword [ebx + 0x5c]
test ecx, ecx
je 0x46f557
add ebx, 0x5c
mov dword [ebp - 0x234], ebx
jmp 0x46ef0d
xor eax, eax
push esi
mov al, byte [edi + 3]
mov ecx, dword [ebx + 4]
imul eax, ecx
lea esi, [ebp - 0xd8]
add eax, edx
push eax
push esi
mov esi, dword [ebp + 8]
push esi
call dword [edi + 0x3c]
add esp, 0x10
jmp 0x46f107
mov ecx, dword [ebp - 0x224]
mov edx, dword [ebp - 0x220]
shl ecx, 8
mov dword [ebp - 0xcc], 0
movzx eax, byte [edx]
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x224]
add eax, edx
mov dword [ebp - 0xd0], eax
jmp 0x46f0b4
mov edx, dword [ebp - 0x164]
lea eax, [ebp - 0x128]
mov dword [ebp - 0x2d0], eax
cmp dword [edx + 4], 1
jne 0x46e1f6
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + 4]
cmp dword [eax + 4], 5
jne 0x46e1f6
mov esi, dword [ebp - 0x2cc]
mov eax, dword [esi + 0x178]
mov dl, byte [eax + 0xc]
mov eax, dword [ecx + 0xa0]
cmp byte [eax + 4], dl
je 0x46e1f6
cmp dl, 2
je 0x46f525
mov esi, str.ELFCLASS64
mov ebx, str.ELFCLASS32
sub esp, 0xc
push 3
call fcn.00404f10
push ebx
push esi
mov ecx, dword [ebp - 0x174]
push ecx
push str._B:_file_class__s_incompatible_with__s
call dword [0x4a4400]
lea eax, [ebp - 0x128]
add esp, 0x20
mov dword [ebp - 0x2d0], eax
jmp 0x46e1f6
push 0x460eb0
push 4
push 0
mov edi, dword [ebp - 0x244]
push edi
call sub.msvcrt.dll_qsort
add esp, 0x10
jmp 0x46ee3a
mov ecx, dword [ebp - 0x18c]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x18c], ecx
test ecx, ecx
jne 0x46e94d
mov ebx, dword [ebp + 0xc]
test byte [ebx + 4], 2
jne 0x46f2cb
mov ebx, dword [ebx + 0x38]
test ebx, ebx
je 0x46f2cb
mov eax, dword [ebx + 4]
cmp dword [eax + 4], 5
je 0x46f686
mov ebx, dword [ebx + 0x9c]
test ebx, ebx
jne 0x46f2b4
lea edi, [ebp - 0x128]
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x2d0], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x4c], 1
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
push edx
push eax
push 0x4656c0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x20]
push eax
call fcn.0040c3d0
mov eax, dword [ebp - 0x50]
add esp, 0x10
test eax, eax
jne 0x46dbaa
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x4707a1
mov esi, dword [ebp - 0x2cc]
mov eax, dword [esi + 0xdc]
test eax, eax
je 0x46f35d
push fcn.00464fc0
mov edi, dword [ebp - 0x2d0]
push edi
mov esi, dword [ebp + 0xc]
push esi
mov ebx, dword [ebp + 8]
push ebx
call eax
add esp, 0x10
test eax, eax
je 0x46dbaa
mov edi, dword [ebp + 8]
mov edx, dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x2b8]
mov eax, dword [edi + 0x7c]
test ecx, ecx
mov dword [edx + 0x84], eax
je 0x46f7bc
mov eax, dword [ebp - 0x11c]
test eax, eax
je 0x46f7bc
cmp dword [eax + 0x58], 0x4a4250
je 0x46f7bc
mov eax, dword [eax + 0x8c]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x264], eax
test byte [ecx], 1
jne 0x46f3c4
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x260], 0
mov edx, dword [eax + 0x34]
test edx, edx
je 0x46f6cb
mov ebx, dword [ebp + 8]
mov byte [ebp - 0x7c], 3
mov byte [ebp - 0x7b], 0
mov byte [ebp - 0x7a], 0
mov edi, dword [ebx + 0x5c]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
test edi, edi
je 0x46f6bb
mov dword [ebp - 0x260], 0
mov eax, dword [edi + 0xac]
mov ebx, dword [eax + 0x70]
test ebx, ebx
jle 0x46f4a0
mov esi, dword [eax + 0x6c]
test esi, esi
jg 0x46f42f
push eax
push eax
push 0x2b20
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.25_bfd_elflink.c
call fcn.00404610
add esp, 0x10
lea eax, [ebp - 0x90]
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x2d4], eax
mov edx, eax
mov eax, dword [ebp + 8]
call fcn.00462d50
test eax, eax
je 0x46dbaa
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x20]
cmp dword [ebp - 0x260], ebx
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x90], eax
mov edx, dword [ecx + 0x178]
jge 0x46f47c
mov dword [ebp - 0x260], ebx
push 0
xor eax, eax
mov al, byte [edx + 5]
mov ecx, dword [ebp - 0x264]
imul eax, ebx
add eax, ecx
push eax
mov eax, dword [ebp - 0x2d4]
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 0x46f403
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x20]
jmp 0x46f6cb
mov ecx, dword [ebp - 0x164]
cmp dword [ecx + 4], 3
je 0x46f534
mov ebx, dword [ebp - 0x164]
mov eax, dword [ebx + 0x18]
mov edx, dword [eax + 4]
push ebx
push ebx
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x1c]
push 0
push 0
push 0
push 0
mov ecx, dword [ebp - 0x22c]
push ecx
mov ebx, dword [ebp - 0x230]
push ebx
mov ecx, dword [ebp - 0x220]
mov ecx, dword [ecx + 0x20]
push ecx
push edx
push 0
push edi
call dword [eax + 0x1c]
add esp, 0x30
test eax, eax
jne 0x46eb18
sub esp, 0xc
lea ebx, [ebp - 0x128]
push esi
call fcn.004a3a08
add esp, 0x10
mov dword [ebp - 0x2d0], ebx
jmp 0x46e1f6
mov esi, str.ELFCLASS32
mov ebx, str.ELFCLASS64
jmp 0x46f238
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + 4]
mov edx, dword [eax]
jmp 0x46f4ce
push eax
push eax
push 0x2776
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.25_bfd_elflink.c
call fcn.00404610
add esp, 0x10
jmp 0x46ef49
push eax
push eax
push 0x276e
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.25_bfd_elflink.c
call fcn.00404610
mov edi, dword [ebp - 0x164]
mov dword [ebp - 0x234], 0
add esp, 0x10
mov edx, dword [edi + 0x18]
jmp 0x46ef0d
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 - 0x230], ecx
mov edi, dword [eax + 0xa8]
adc dword [ebp - 0x22c], ebx
mov ebx, dword [edx + 0x50]
add dword [ebp - 0x230], ebx
mov dword [ebp - 0x224], edi
adc dword [ebp - 0x22c], esi
jmp 0x46ef4f
push esi
push esi
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0x1c]
push 0
push 0
push 0
push 0
mov edi, dword [ebp - 0x164]
mov edx, dword [edi + 0x18]
mov ebx, dword [edx + 4]
push ebx
push esi
call dword [eax + 0x24]
add esp, 0x20
test eax, eax
je 0x46e621
mov dword [ebp - 0x224], 0
jmp 0x46ef4f
sub esp, 0xc
lea edi, [ebp - 0x128]
push 0x11
call fcn.00404f10
add esp, 0x10
mov dword [ebp - 0x2d0], edi
jmp 0x46e1f6
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x2a8], 0
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0
jmp 0x46dfc2
mov eax, dword [ebx + 0xa0]
mov eax, dword [eax + 0x324]
test eax, eax
je 0x46f2c1
sub esp, 0xc
push eax
call fcn.004a3a08
mov eax, dword [ebx + 0xa0]
add esp, 0x10
mov dword [eax + 0x324], 0
jmp 0x46f2c1
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x260], 0
mov eax, dword [esi + 0x20]
mov ebx, dword [eax + 0xd0]
test ebx, ebx
je 0x46f7a3
lea esi, [ebp - 0x90]
mov dword [ebp - 0x2d4], esi
cld
mov edi, dword [ebp - 0x2d4]
lea esi, [ebx + 0x10]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
and byte [ebp - 0x7b], 0xfc
push eax
push eax
mov edi, dword [ebx + 0x28]
push edi
mov esi, dword [ebx + 4]
push esi
call fcn.0044a460
add esp, 0x10
mov esi, eax
test eax, eax
je 0x46f758
mov eax, dword [eax + 0x58]
mov edx, dword [ebp - 0x2d4]
mov eax, dword [eax + 0xac]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 8]
call fcn.00462d50
test eax, eax
je 0x46dbaa
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 - 0x90], eax
mov dword [ebp - 0x8c], edx
mov ecx, dword [ebx + 0xc]
cmp dword [ebp - 0x260], ecx
jge 0x46f769
mov dword [ebp - 0x260], ecx
mov edi, dword [ebp - 0x2cc]
xor eax, eax
mov edx, dword [edi + 0x178]
push 0
mov al, byte [edx + 5]
imul eax, ecx
mov ecx, dword [ebp - 0x264]
add eax, ecx
push eax
mov eax, dword [ebp - 0x2d4]
push eax
mov eax, dword [ebp + 8]
push eax
call dword [edx + 0x24]
mov ebx, dword [ebx]
add esp, 0x10
test ebx, ebx
jne 0x46f6e5
mov eax, dword [ebp - 0x11c]
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0xac]
mov eax, dword [ebp - 0x260]
inc eax
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 0x2d0]
lea edx, [ebp - 0x50]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
push eax
push edx
push 0x4656c0
mov ecx, dword [ebp + 0xc]
mov edi, dword [ecx + 0x20]
push edi
call fcn.0040c3d0
mov esi, dword [ebp - 0x50]
add esp, 0x10
test esi, esi
jne 0x46dbaa
mov ebx, dword [ebp - 0x2cc]
mov eax, dword [ebx + 0xe0]
test eax, eax
je 0x46f828
push fcn.00464fc0
mov ebx, dword [ebp - 0x2d0]
push ebx
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call eax
add esp, 0x10
test eax, eax
je 0x46dbaa
mov edx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x2d0]
call fcn.004630a0
test eax, eax
je 0x46dbaa
mov eax, dword [ebp - 0x2bc]
mov esi, dword [ebp - 0x188]
mov edi, dword [ebp - 0x184]
mov edx, dword [ebp + 8]
add esi, dword [eax + 0x78]
adc edi, dword [eax + 0x7c]
mov dword [ebp - 0x2a0], esi
mov dword [ebp - 0x29c], edi
mov esi, dword [edx + 0xa0]
mov eax, dword [esi + 0x298]
test eax, eax
je 0x46f962
mov dword [esi + 0x29c], 0x12
mov dword [ebp - 0x16c], 0
mov eax, dword [edx + 0x7c]
mov ebx, dword [ebp - 0x16c]
shl eax, 2
mov dword [esi + 0x2bc], ebx
mov dword [ebp - 0x170], eax
mov dword [esi + 0x2d0], 4
mov ecx, dword [ebp - 0x170]
mov dword [esi + 0x2d4], 0
mov dword [esi + 0x2b8], ecx
mov dword [esi + 0x2c8], 4
mov dword [esi + 0x2cc], 0
push 1
mov eax, dword [ebp - 0x29c]
push eax
mov eax, dword [ebp - 0x2a0]
push eax
lea eax, [esi + 0x298]
push eax
call fcn.0044a580
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], edx
push 0
mov edi, dword [esi + 0x2b4]
push edi
mov esi, dword [esi + 0x2b0]
push esi
mov ebx, dword [ebp + 8]
push ebx
call fcn.0040dba0
add esp, 0x20
test eax, eax
jne 0x46dbaa
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x16c]
push edx
mov eax, dword [ebp - 0x170]
push eax
mov eax, dword [ebp - 0xec]
push eax
call fcn.0040d920
mov ecx, dword [ebp - 0x170]
add esp, 0x10
xor ecx, eax
or ecx, edx
jne 0x46dbaa
mov ebx, dword [ebp + 8]
mov esi, dword [ebx + 0xa0]
sub esp, 0xc
mov dword [esi + 0xec], 3
mov dword [esi + 0xf0], 0
mov dword [esi + 0xf4], 0
mov dword [esi + 0xf8], 0
mov dword [esi + 0xfc], 0
mov eax, dword [ebp - 0x120]
push eax
call fcn.0040c470
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 eax, dword [ebp - 0x29c]
push eax
mov eax, dword [ebp - 0x2a0]
push eax
lea eax, [esi + 0xe8]
push eax
call fcn.0044a580
mov edi, dword [ebp + 8]
add esp, 0x20
mov ecx, dword [edi + 0xa0]
mov ecx, dword [ecx + 0xa14]
mov dword [ecx + 0x28], eax
mov eax, dword [edi + 0x7c]
mov dword [ecx + 0x2c], edx
test eax, eax
jne 0x46fc30
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x5c]
test ebx, ebx
je 0x46fa72
mov esi, dword [ebx + 0xac]
test byte [ebx + 0x14], 4
je 0x46fa6b
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x46fa52
lea edx, [esi + 0x4c]
mov eax, dword [ebp + 8]
call fcn.004631d0
mov eax, dword [esi + 0x5c]
test eax, eax
je 0x46fa64
lea edx, [esi + 0x5c]
mov eax, dword [ebp + 8]
call fcn.004631d0
mov dword [ebx + 0x68], 0
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x46fa34
mov eax, dword [ebp - 0x2b8]
test eax, eax
je 0x470908
mov edx, dword [ebp + 0xc]
test byte [edx + 4], 8
je 0x470097
mov eax, dword [ebp - 0x2b4]
test eax, eax
je 0x470097
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 4]
mov eax, dword [eax + 0x1ac]
mov dword [ebp - 0x1f0], eax
mov ebx, eax
mov eax, dword [eax + 0x178]
mov al, byte [eax + 9]
mov byte [ebp - 0x1b9], al
push eax
push eax
push str..rela.dyn
push ecx
call fcn.00403940
mov dword [ebp - 0x134], eax
pop esi
pop edi
push 0x4ce6d5
mov ecx, dword [ebp + 8]
push ecx
call fcn.00403940
mov edx, dword [ebp - 0x134]
add esp, 0x10
mov dword [ebp - 0x290], eax
test edx, edx
je 0x47088e
mov edi, dword [ebp - 0x134]
mov esi, dword [edi + 0x30]
mov edi, dword [edi + 0x34]
mov dword [ebp - 0x2dc], edi
mov dword [ebp - 0x2e0], esi
or edi, esi
je 0x4702b9
test eax, eax
je 0x4702b9
mov edx, eax
mov eax, dword [eax + 0x30]
or eax, dword [edx + 0x34]
je 0x4702b9
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ecx + 0xc0]
mov dword [ebp - 0x1fc], ecx
test ecx, ecx
je 0x470109
mov esi, dword [ebp - 0x1f0]
mov ebx, dword [ebp - 0x1fc]
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x20c], 1
mov dword [ebp - 0x210], 0
mov edi, dword [esi + 0x178]
mov eax, dword [ebp - 0x150]
cmp dword [eax + 4], 1
je 0x46fc70
mov eax, dword [ebp - 0x150]
mov eax, dword [eax]
mov dword [ebp - 0x150], eax
test eax, eax
jne 0x46fb74
mov edx, dword [ebp - 0x290]
mov edx, dword [edx + 0xc0]
mov dword [ebp - 0x158], edx
test edx, edx
je 0x46fbd4
mov dword [ebp - 0x154], edx
mov ecx, dword [ebp - 0x154]
cmp dword [ecx + 4], 1
je 0x4707d1
mov eax, dword [ebp - 0x154]
mov eax, dword [eax]
mov dword [ebp - 0x154], eax
test eax, eax
jne 0x46fbb2
mov eax, dword [ebp - 0x210]
test eax, eax
je 0x4702e9
mov eax, dword [ebp - 0x20c]
test eax, eax
jne 0x4702e9
mov ecx, dword [ebp - 0x290]
xor eax, eax
mov al, byte [edi + 3]
mov edx, dword [edi + 0x38]
mov ebx, dword [ecx + 0x30]
mov edi, dword [edi + 0x3c]
mov esi, dword [ecx + 0x34]
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1f4], edx
mov dword [ebp - 0x1f8], edi
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x2e0], ebx
mov dword [ebp - 0x2dc], esi
jmp 0x470312
push 0
mov ebx, dword [esi + 0x104]
push ebx
mov ecx, dword [esi + 0x100]
push ecx
push edi
call fcn.0040dba0
add esp, 0x10
test eax, eax
jne 0x46dbaa
push edx
push edx
mov eax, dword [ebp - 0x120]
push eax
push edi
call fcn.0040c480
add esp, 0x10
test eax, eax
jne 0x46fa2a
jmp 0x46dbaa
mov eax, dword [eax + 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.0049b6c0
mov ecx, edx
add esp, 0x10
or ecx, eax
jne 0x4700b0
xor eax, eax
xor edx, edx
mov al, byte [edi + 3]
push edx
push eax
push esi
push ebx
call fcn.0049b6c0
mov ebx, edx
add esp, 0x10
or ebx, eax
je 0x46fb84
mov eax, dword [ebp - 0x210]
test eax, eax
je 0x46fe5f
mov eax, dword [ebp - 0x20c]
test eax, eax
jne 0x46fe5f
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 [0x4a4400]
mov dword [esp], 5
call fcn.00404f10
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x290], 0
add esp, 0x10
push eax
push eax
push 0x4cde58
mov eax, dword [ebp - 0x2b4]
push eax
call fcn.00403970
add esp, 0x10
mov ebx, eax
test eax, eax
jne 0x46fd33
push eax
push eax
push 0x2bb6
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.25_bfd_elflink.c
call fcn.00404610
add esp, 0x10
mov esi, dword [ebx + 0x8c]
mov eax, dword [ebx + 0x30]
mov dword [ebp - 0x178], esi
add esi, eax
mov dword [ebp - 0x25c], esi
cmp dword [ebp - 0x178], esi
jae 0x470908
mov edi, dword [ebp - 0x2cc]
mov edx, dword [edi + 0x178]
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x178]
push eax
mov eax, dword [ebp - 0x2b4]
push eax
call dword [edx + 0x30]
mov ebx, dword [ebp - 0x24]
add esp, 0x10
mov ecx, dword [ebp - 0x28]
cmp ebx, 0
ja 0x46ff13
cmp ecx, 0x12
ja 0x46ff13
cmp ebx, 0
ja 0x46fff3
cmp ecx, 0x11
jae 0x46fff3
mov eax, ecx
mov esi, 0x4ce1cd
xor eax, 6
or eax, ebx
je 0x46ff85
cmp ebx, 0
ja 0x46ffc2
cmp ecx, 6
ja 0x46ffc2
mov eax, ecx
mov esi, 0x4ce1d5
xor eax, 4
or eax, ebx
je 0x46ff85
cmp ebx, 0
ja 0x46ff80
cmp ecx, 4
ja 0x46ff80
mov edx, ebx
or edx, ecx
jne 0x46ff61
mov edi, dword [ebp - 0x14c]
test edi, edi
je 0x46fef4
mov eax, dword [ebp - 0x2cc]
mov ebx, dword [ebp - 0x178]
mov edx, dword [eax + 0x178]
xor eax, eax
mov al, byte [edx + 6]
lea ecx, [eax + ebx]
cmp dword [ebp - 0x25c], ecx
jbe 0x470908
mov esi, dword [ebp - 0x290]
mov eax, dword [esi + 0xac]
mov eax, dword [eax + 4]
cmp eax, 4
je 0x46fee4
cmp eax, 9
je 0x46fe78
cmp ecx, dword [ebp - 0x25c]
jae 0x470908
mov dword [ebp - 0x178], ecx
jmp 0x46fd62
mov dword [ebp - 0x20c], 1
mov dword [ebp - 0x210], 1
jmp 0x46fb84
mov dword [ebp - 0x28], 0x6ffffffa
mov dword [ebp - 0x24], 0
mov edi, dword [ebp - 0x14c]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x14c], 0
push ebx
mov edx, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x178]
mov eax, dword [edx + 0x178]
push ecx
lea ecx, [ebp - 0x28]
push ecx
mov edx, dword [ebp - 0x2b4]
push edx
call dword [eax + 0x34]
mov ebx, dword [ebp - 0x2cc]
xor eax, eax
mov esi, dword [ebp - 0x178]
add esp, 0x10
mov edx, dword [ebx + 0x178]
mov al, byte [edx + 6]
lea ecx, [eax + esi]
jmp 0x46fe48
mov dword [ebp - 0x28], 0x6ffffff9
mov dword [ebp - 0x24], 0
jmp 0x46fe86
mov esi, dword [ebp - 0x2cc]
xor eax, eax
mov edi, dword [ebp - 0x178]
mov edx, dword [esi + 0x178]
mov al, byte [edx + 6]
lea ecx, [eax + edi]
jmp 0x46fe48
mov eax, ecx
mov esi, str..preinit_array
xor eax, 0x20
or eax, ebx
je 0x46ff85
cmp ebx, 0
ja 0x470269
cmp ecx, 0x20
ja 0x470269
mov eax, ecx
mov esi, str..fini_array
xor eax, 0x1a
or eax, ebx
je 0x46ff85
cmp ebx, 0
ja 0x47020a
cmp ecx, 0x1a
ja 0x47020a
mov eax, ecx
mov esi, str..init_array
xor eax, 0x19
or eax, ebx
je 0x46ff85
mov ecx, dword [ebp - 0x2cc]
xor eax, eax
mov ebx, dword [ebp - 0x178]
mov edx, dword [ecx + 0x178]
mov al, byte [edx + 6]
lea ecx, [eax + ebx]
jmp 0x46fe48
mov esi, 0x4ce1e5
push eax
push eax
push esi
mov eax, dword [ebp + 8]
push eax
call fcn.00403940
add esp, 0x10
mov edx, eax
test eax, eax
je 0x4701de
mov eax, dword [eax + 0x58]
mov eax, dword [eax + 0xac]
cmp dword [eax + 4], 7
je 0x4701bc
mov eax, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], eax
jmp 0x46fea0
mov eax, ecx
xor eax, 0xc
or eax, ebx
je 0x470187
cmp ebx, 0
ja 0x470128
cmp ecx, 0xc
ja 0x470128
cmp ebx, 0
ja 0x46ff61
cmp ecx, 8
ja 0x46ff61
mov eax, ecx
mov edx, ebx
add eax, 0xffffffef
adc edx, 0xffffffff
cmp edx, 0
ja 0x470011
mov dword [ebp - 0x258], 9
cmp eax, 1
jbe 0x47001b
mov dword [ebp - 0x258], 4
mov edi, dword [ebp + 8]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov esi, dword [edi + 0xa0]
cmp dword [esi + 0x2ec], 1
jbe 0x46fea0
mov eax, ecx
mov dword [ebp - 0x17c], 1
xor eax, 0x12
or eax, ebx
mov dword [ebp - 0x2e4], eax
mov eax, dword [esi + 0x50]
mov edx, dword [ebp - 0x17c]
mov edi, dword [ebp - 0x258]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x2f4], eax
cmp dword [eax + 4], edi
je 0x470cf8
mov edi, dword [ebp - 0x17c]
inc edi
mov dword [ebp - 0x17c], edi
mov eax, dword [ebp - 0x17c]
cmp dword [esi + 0x2ec], eax
ja 0x470056
jmp 0x46fea0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x290], 0
jmp 0x46fd03
xor eax, eax
xor edx, edx
mov al, byte [edi + 3]
push edx
push eax
push esi
push ebx
call fcn.0049b6c0
mov esi, edx
add esp, 0x10
or esi, eax
jne 0x4700f9
mov eax, dword [ebp - 0x210]
test eax, eax
je 0x4700e0
cmp dword [ebp - 0x20c], 1
je 0x46fccf
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x210], 1
jmp 0x46fb84
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 0x46fcda
mov edi, dword [ebx + 0x178]
mov dword [ebp - 0x20c], 1
mov dword [ebp - 0x210], 0
jmp 0x46fb96
mov eax, ecx
xor eax, 0xd
or eax, ebx
jne 0x46ff61
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x50]
sub esp, 0xc
push 1
push 0
push 0
push eax
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebx + 0x20]
push esi
call fcn.004256b0
add esp, 0x20
mov ebx, eax
test eax, eax
je 0x46fef4
mov al, byte [eax + 0xc]
sub eax, 3
cmp al, 1
jbe 0x47018f
mov eax, dword [ebp - 0x2cc]
mov ebx, dword [ebp - 0x178]
mov edx, dword [eax + 0x178]
xor eax, eax
mov al, byte [edx + 6]
lea ecx, [eax + ebx]
jmp 0x46fe48
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x4c]
jmp 0x47013b
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x1c]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x20], edx
mov eax, dword [ebx + 0x14]
mov ebx, dword [eax + 0x58]
test ebx, ebx
je 0x4701f7
add edx, dword [ebx + 0x20]
adc ecx, dword [ebx + 0x24]
add edx, dword [eax + 0x50]
adc ecx, dword [eax + 0x54]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
jmp 0x46fea0
push eax
push eax
push esi
push str.warning:_section__s_is_being_made_into_a_note
call dword [0x4a4400]
mov dword [esp], 0xf
call fcn.00404f10
add esp, 0x10
jmp 0x46e1f6
push eax
push esi
mov eax, dword [ebp + 8]
push eax
push str._B:_could_not_find_output_section__s
call dword [0x4a4400]
add esp, 0x10
jmp 0x46e1f6
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
jmp 0x46fea0
mov eax, ecx
mov esi, str..init_array
xor eax, 0x1b
or eax, ebx
je 0x47022a
mov eax, ecx
mov esi, str..fini_array
xor eax, 0x1c
or eax, ebx
jne 0x46ff61
push ebx
push ebx
push esi
mov ecx, dword [ebp + 8]
push ecx
call fcn.00403940
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x4701de
mov eax, dword [eax + 0x30]
or eax, dword [ebx + 0x34]
jne 0x470258
push edx
push edx
push esi
push str.warning:__s_section_has_zero_size
call dword [0x4a4400]
add esp, 0x10
mov eax, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], eax
jmp 0x46fea0
mov eax, ecx
mov esi, str..gnu.version
xor eax, 0x6ffffff0
or eax, ebx
je 0x46ff85
cmp ebx, 0
ja 0x4708db
cmp ecx, 0x6ffffff0
ja 0x4708db
mov eax, ecx
mov esi, str..preinit_array
xor eax, 0x21
or eax, ebx
je 0x47022a
mov eax, ecx
mov esi, str..gnu.hash
xor eax, 0x6ffffef5
or eax, ebx
je 0x46ff85
jmp 0x46ff61
mov edx, dword [ebp - 0x2dc]
or edx, dword [ebp - 0x2e0]
je 0x47088e
mov ecx, dword [ebp - 0x134]
mov ebx, dword [ebp - 0x1f0]
mov ecx, dword [ecx + 0xc0]
mov edi, dword [ebx + 0x178]
mov dword [ebp - 0x1fc], ecx
xor eax, eax
mov edx, dword [edi + 0x40]
mov al, byte [edi + 4]
mov ecx, dword [ebp - 0x1fc]
mov edi, dword [edi + 0x44]
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1f4], edx
mov dword [ebp - 0x1f8], edi
mov dword [ebp - 0x158], ecx
mov esi, dword [ebp - 0x158]
xor ecx, ecx
xor ebx, ebx
test esi, esi
je 0x470347
mov edi, dword [ebp - 0x158]
cmp dword [edi + 4], 1
jne 0x470335
mov eax, dword [edi + 0x18]
add ecx, dword [eax + 0x30]
adc ebx, dword [eax + 0x34]
mov eax, dword [ebp - 0x158]
mov eax, dword [eax]
mov dword [ebp - 0x158], eax
test eax, eax
jne 0x470320
mov edx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x2e0]
xor edx, ebx
xor eax, ecx
or edx, eax
jne 0x470097
mov edx, dword [ebp - 0x1e8]
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c8], edx
mov edx, dword [ebp - 0x1c4]
push edx
mov eax, dword [ebp - 0x1c8]
push eax
mov eax, dword [ebp - 0x2dc]
push eax
mov eax, dword [ebp - 0x2e0]
push eax
call fcn.0049b400
add esp, 0x10
mov dword [ebp - 0x1dc], edx
mov dword [ebp - 0x1e0], eax
or edx, eax
je 0x470097
xor eax, eax
mov dword [ebp - 0x1cc], 0
mov al, byte [ebp - 0x1b9]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x10]
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1e4], eax
push eax
push eax
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x1dc]
imul ecx, eax
mov eax, dword [ebp - 0x1e0]
mul dword [ebp - 0x1d0]
lea esi, [ecx + edx]
push esi
push eax
call fcn.0040c170
add esp, 0x10
mov dword [ebp - 0x1d4], eax
test eax, eax
je 0x47051f
mov ecx, dword [ebp - 0x1f0]
mov dword [ebp - 0x208], 0xffffff00
mov dword [ebp - 0x204], 0xffffffff
mov eax, dword [ecx + 0x178]
cmp byte [eax + 0xa], 0x20
je 0x470447
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x204], 0xffffffff
mov ebx, dword [ebp - 0x134]
mov ebx, dword [ebx + 0xc0]
mov dword [ebp - 0x15c], ebx
test ebx, ebx
je 0x47047f
mov esi, dword [ebp - 0x15c]
cmp dword [esi + 4], 1
je 0x470557
mov ecx, dword [ebp - 0x15c]
mov ecx, dword [ecx]
mov dword [ebp - 0x15c], ecx
test ecx, ecx
jne 0x47045d
mov ebx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1d8], ebx
push 0x460120
mov edi, dword [ebp - 0x1e4]
push edi
push ebx
mov esi, dword [ebp - 0x1d4]
push esi
call sub.msvcrt.dll_qsort
mov edi, dword [ebp - 0x1d4]
add esp, 0x10
cmp dword [edi + 8], 1
jne 0x47065a
mov esi, dword [ebp - 0x1e4]
mov dword [ebp - 0x14c], 0
lea ecx, [edi + esi]
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x1ec], ecx
inc edx
mov dword [ebp - 0x14c], edx
mov eax, dword [ebp - 0x14c]
cmp dword [ebp - 0x1dc], 0
ja 0x4704f8
cmp dword [ebp - 0x1e0], eax
jbe 0x470710
mov eax, dword [ecx + 8]
mov ebx, dword [ebp - 0x1e4]
add ecx, ebx
dec eax
je 0x4704ca
mov edi, dword [ebp - 0x1ec]
mov edx, dword [ebp - 0x14c]
mov esi, edi
mov dword [ebp - 0x294], edx
jmp 0x470676
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 - 0x14c], 0
mov dword [ebp - 0x290], 0
jmp 0x46fd03
mov edi, dword [esi + 0x18]
mov dword [ebp - 0x218], edi
mov eax, edi
mov edi, dword [edi + 0x8c]
test edi, edi
je 0x4706d7
mov ecx, dword [ebp - 0x218]
mov ebx, dword [ecx + 0x30]
mov eax, dword [ecx + 0x50]
add ebx, edi
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0x214], ebx
cmp edi, ebx
jae 0x47046d
mov ebx, dword [ebp - 0x1c4]
push ebx
mov ecx, dword [ebp - 0x1c8]
push ecx
push edx
push eax
call fcn.0049b400
mul dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1d4]
add esp, 0x10
add esi, eax
mov eax, dword [ebp - 0x1e8]
add eax, edi
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x1b4], eax
lea ebx, [esi + 0x10]
push eax
push ebx
push edi
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 0x1f4]
add esp, 0xc
push ebx
mov eax, dword [ebp - 0x218]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov ebx, dword [ebp - 0x1f0]
call dword [ebx + 0x114]
mov edx, dword [ebp - 0x204]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x208]
mov dword [esi], eax
mov dword [esi + 4], edx
mov eax, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1e8]
add esi, eax
mov eax, dword [ebp - 0x1b4]
add eax, edx
add esp, 0x10
mov dword [ebp - 0x1b4], eax
mov edi, dword [ebp - 0x2d8]
mov eax, dword [ebp - 0x1b4]
sub eax, edx
cmp dword [ebp - 0x214], eax
jbe 0x47046d
mov ecx, dword [ebp - 0x2d8]
mov edx, dword [ebp - 0x1e8]
add edx, ecx
mov dword [ebp - 0x2d8], edx
jmp 0x4705c9
mov esi, edi
mov dword [ebp - 0x1ec], edi
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x14c], 0
mov eax, dword [esi + 0x18]
mov edx, dword [edi + 0x18]
xor edx, eax
mov ebx, dword [esi + 0x1c]
mov eax, dword [ebp - 0x208]
mov ecx, dword [edi + 0x1c]
xor ecx, ebx
and edx, eax
mov eax, dword [ebp - 0x204]
and ecx, eax
mov eax, ecx
or eax, edx
je 0x47069e
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 - 0x294]
inc eax
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x294]
cmp dword [ebp - 0x1dc], 0
ja 0x4706cd
cmp dword [ebp - 0x1e0], eax
jbe 0x470710
mov eax, dword [ebp - 0x1e4]
add esi, eax
jmp 0x470676
mov edx, eax
mov eax, dword [eax + 0x30]
or eax, dword [edx + 0x34]
je 0x47046d
sub esp, 0xc
mov esi, dword [ebp - 0x1d4]
push esi
call fcn.004a3a08
add esp, 0x10
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x290], 0
jmp 0x46fd03
push 0x4601d0
mov eax, dword [ebp - 0x1e4]
push eax
mov eax, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x14c]
sub eax, edx
mov dword [ebp - 0x1d8], eax
mov edi, dword [ebp - 0x1d8]
push edi
mov esi, dword [ebp - 0x1ec]
push esi
call sub.msvcrt.dll_qsort
mov ecx, dword [ebp - 0x134]
add esp, 0x10
mov ecx, dword [ecx + 0xc0]
mov dword [ebp - 0x160], ecx
test ecx, ecx
je 0x47077e
mov ebx, dword [ebp - 0x160]
cmp dword [ebx + 4], 1
je 0x470c52
mov ecx, dword [ebp - 0x160]
mov ecx, dword [ecx]
mov dword [ebp - 0x160], ecx
test ecx, ecx
jne 0x47075c
sub esp, 0xc
mov eax, dword [ebp - 0x1d4]
push eax
call fcn.004a3a08
mov ebx, dword [ebp - 0x134]
add esp, 0x10
mov dword [ebp - 0x290], ebx
jmp 0x46fd03
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x44], 1
push eax
push ecx
push 0x4656c0
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x20]
push eax
call fcn.0040c3d0
mov eax, dword [ebp - 0x50]
add esp, 0x10
test eax, eax
je 0x46f32c
jmp 0x46dbaa
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.0049b6c0
mov ecx, edx
add esp, 0x10
or ecx, eax
jne 0x470841
xor eax, eax
xor edx, edx
mov al, byte [edi + 3]
push edx
push eax
push esi
push ebx
call fcn.0049b6c0
mov ebx, edx
add esp, 0x10
or ebx, eax
je 0x46fbc2
mov esi, dword [ebp - 0x210]
test esi, esi
je 0x470828
mov ebx, dword [ebp - 0x20c]
test ebx, ebx
je 0x46fccf
mov dword [ebp - 0x20c], 1
mov dword [ebp - 0x210], 1
jmp 0x46fbc2
xor eax, eax
xor edx, edx
mov al, byte [edi + 3]
push edx
push eax
push esi
push ebx
call fcn.0049b6c0
mov esi, edx
add esp, 0x10
or esi, eax
jne 0x4700f9
mov ecx, dword [ebp - 0x210]
test ecx, ecx
je 0x470875
cmp dword [ebp - 0x20c], 1
je 0x46fccf
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x210], 1
jmp 0x46fbc2
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x14c], 0
test eax, eax
je 0x46fd03
mov esi, dword [ebp - 0x290]
mov eax, dword [esi + 0x30]
or eax, dword [esi + 0x34]
je 0x470097
mov ebx, dword [ebp - 0x290]
mov esi, dword [ebp - 0x1f0]
mov ebx, dword [ebx + 0xc0]
mov edi, dword [esi + 0x178]
mov dword [ebp - 0x158], ebx
jmp 0x46fbf0
mov eax, ecx
mov esi, str..gnu.version_d
xor eax, 0x6ffffffc
or eax, ebx
je 0x46ff85
mov eax, ecx
mov esi, str..gnu.version_r
xor eax, 0x6ffffffe
or eax, ebx
je 0x46ff85
jmp 0x46ff61
mov eax, dword [ebp - 0x2b4]
test eax, eax
je 0x470abe
push eax
push eax
mov edi, dword [ebp + 0xc]
push edi
mov esi, dword [ebp + 8]
push esi
mov edi, dword [ebp - 0x2cc]
call dword [edi + 0xa8]
add esp, 0x10
test eax, eax
je 0x46e1f6
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
and eax, 0x20000001
cmp eax, 0x20000001
je 0x470952
test byte [edx + 3], 0x40
je 0x4709de
push ebx
push ebx
push 0x4cde58
mov ecx, dword [ebp - 0x2b4]
push ecx
call fcn.00403970
add esp, 0x10
test eax, eax
je 0x4709de
mov ebx, dword [eax + 0x8c]
mov edx, dword [eax + 0x30]
mov esi, ebx
add esi, edx
cmp ebx, esi
jae 0x4709de
mov ecx, dword [ebp - 0x2cc]
lea edi, [ebp - 0x38]
mov edx, dword [ecx + 0x178]
push eax
push edi
push ebx
mov eax, dword [ebp - 0x2b4]
push eax
call dword [edx + 0x30]
mov eax, dword [ebp - 0x38]
add esp, 0x10
xor eax, 0x16
or eax, dword [ebp - 0x34]
je 0x4709c0
mov eax, dword [ebp - 0x2cc]
mov edx, dword [eax + 0x178]
xor eax, eax
mov al, byte [edx + 6]
add ebx, eax
cmp esi, ebx
ja 0x47098c
jmp 0x4709de
mov ebx, dword [ebp + 0xc]
test byte [ebx + 3], 0x40
je 0x470bea
sub esp, 0xc
mov eax, dword [ebx + 0x1c]
push str._P_X:_read_only_segment_has_dynamic_relocations._n
call dword [eax + 0x2c]
add esp, 0x10
mov edx, dword [ebp - 0x2b4]
mov edx, dword [edx + 0x5c]
mov dword [ebp - 0x2f4], edx
test edx, edx
je 0x470abe
mov ecx, dword [ebp - 0x2f4]
mov eax, dword [ecx + 0x14]
test ah, 1
je 0x470aa7
mov ebx, dword [ecx + 0x30]
mov esi, dword [ecx + 0x34]
mov dword [ebp - 0x2ec], esi
mov dword [ebp - 0x2f0], ebx
or esi, ebx
je 0x470aa7
mov edi, dword [ecx + 0x58]
mov dword [ebp - 0x180], edi
cmp edi, 0x4a4250
je 0x470aa7
test eax, 0x100000
je 0x470aa7
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x20]
cmp dword [eax + 0xb4], ecx
je 0x470aa7
cmp dword [eax + 0xbc], ecx
je 0x470aa7
mov eax, 0x4ce1e5
mov edx, 8
cld
mov esi, dword [ecx]
mov edi, eax
mov ecx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x470c03
push esi
mov ebx, dword [ebp - 0x2ec]
push ebx
mov ecx, dword [ebp - 0x2f0]
push ecx
mov eax, dword [ebp - 0x2f4]
mov edx, dword [eax + 0x54]
push edx
mov edi, dword [eax + 0x50]
push edi
mov esi, dword [eax + 0x8c]
push esi
mov ebx, dword [ebp - 0x180]
push ebx
mov ecx, dword [ebp + 8]
push ecx
call fcn.004034a0
add esp, 0x20
test eax, eax
je 0x46e1f6
mov ebx, dword [ebp - 0x2f4]
mov ebx, dword [ebx + 0xc]
mov dword [ebp - 0x2f4], ebx
test ebx, ebx
jne 0x4709f5
mov esi, dword [ebp + 0xc]
test byte [esi], 8
jne 0x470bbd
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x20]
mov ecx, dword [eax + 0xb4]
test ecx, ecx
je 0x470af6
add eax, 0x94
push edx
push edx
push eax
mov edi, dword [ebp + 8]
push edi
call fcn.004862a0
add esp, 0x10
test eax, eax
je 0x46e1f6
push esi
push esi
mov ebx, dword [ebp + 0xc]
push ebx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00475320
add esp, 0x10
test eax, eax
je 0x46e1f6
mov edx, dword [ebp - 0x2d0]
mov eax, dword [ebp + 8]
call fcn.00464e90
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa0]
mov edx, dword [ebp - 0x28c]
test edx, edx
mov eax, dword [eax + 0xa14]
mov dword [eax + 0x40], 1
mov eax, 1
je 0x46dbac
push eax
push eax
mov eax, dword [ebp - 0x284]
push eax
mov edi, dword [ebp - 0x288]
push edi
call fcn.0040c040
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x46dbaa
mov esi, dword [ebp - 0x284]
push esi
mov ecx, dword [ebp - 0x288]
push ecx
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00486040
add esp, 0xc
mov eax, dword [ebp - 0x284]
push eax
mov eax, dword [ebp - 0x288]
push eax
push 0
push 0
push ebx
mov eax, dword [ebp - 0x28c]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004034a0
add esp, 0x14
push ebx
call fcn.004a3a08
mov eax, 1
add esp, 0x10
jmp 0x46dbac
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push edi
push eax
push 0x4503c0
mov esi, dword [ebp + 8]
push esi
call fcn.004035e0
mov ebx, dword [ebp - 0x14]
add esp, 0x10
test ebx, ebx
jne 0x46e1f6
jmp 0x470aca
mov esi, dword [ebp + 0xc]
sub esp, 0xc
mov eax, dword [esi + 0x1c]
push str._P:_warning:_creating_a_DT_TEXTREL_in_a_shared_object._n
call dword [eax + 0x2c]
add esp, 0x10
jmp 0x4709de
push 0
mov edx, dword [ebp - 0x180]
mov eax, dword [edx + 0xac]
mov edx, dword [eax + 0x1c]
push edx
mov eax, dword [eax + 0x18]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0040dba0
add esp, 0x10
test eax, eax
jne 0x46e1f6
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.004845f0
add esp, 0x10
test eax, eax
jne 0x470aa7
jmp 0x46e1f6
mov eax, dword [ebx + 0x18]
mov esi, dword [eax + 0x8c]
mov edi, dword [eax + 0x30]
add edi, esi
mov edx, dword [eax + 0x54]
mov dword [ebp - 0x21c], edi
mov eax, dword [eax + 0x50]
cmp esi, edi
jae 0x47076c
mov ebx, dword [ebp - 0x1c4]
push ebx
mov ecx, dword [ebp - 0x1c8]
push ecx
push edx
push eax
call fcn.0049b400
mul dword [ebp - 0x1d0]
mov ebx, dword [ebp - 0x1e8]
mov edi, dword [ebp - 0x1d4]
add ebx, esi
add esp, 0x10
add edi, eax
mov dword [ebp - 0x1b8], ebx
push eax
lea eax, [edi + 0x10]
push esi
push eax
mov eax, dword [ebp + 8]
push eax
call dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x1b8]
add ecx, edx
mov esi, dword [ebp - 0x1e4]
mov dword [ebp - 0x1b8], ecx
add edi, esi
mov eax, dword [ebp - 0x1b8]
add esp, 0x10
sub eax, edx
mov esi, ebx
cmp eax, dword [ebp - 0x21c]
jae 0x47076c
mov eax, dword [ebp - 0x1e8]
lea ebx, [eax + ebx]
jmp 0x470ca8
xor edx, edx
mov eax, dword [eax + 8]
and eax, 2
mov edi, edx
or edi, eax
je 0x470077
mov eax, dword [ebp - 0x2e4]
test eax, eax
je 0x470d1d
mov eax, ecx
xor eax, 8
or eax, ebx
jne 0x470d34
mov edi, dword [ebp - 0x2f4]
mov eax, dword [edi + 0x20]
mov edx, dword [edi + 0x24]
add dword [ebp - 0x20], eax
adc dword [ebp - 0x1c], edx
jmp 0x470077
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
mov edi, edx
or edi, eax
je 0x470d5a
mov edi, dword [ebp - 0x2f4]
cmp edx, dword [edi + 0x14]
jb 0x470077
ja 0x470d5a
cmp eax, dword [edi + 0x10]
jbe 0x470077
mov edi, dword [ebp - 0x2f4]
mov eax, dword [edi + 0x10]
mov edx, dword [edi + 0x14]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], eax
jmp 0x470077