Function at 0x45e0a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xac
mov eax, dword [ebp + 0x24]
mov edi, dword [ebp + 0x28]
mov ecx, dword [eax + 0x20]
mov dword [edi], 0
cmp dword [ecx + 0x28], 1
je 0x45e0d0
mov eax, 1
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
mov edx, dword [ecx + 0x54]
mov dword [ecx + 0x44], edx
mov edx, dword [ecx + 0x5c]
mov eax, dword [eax + 0x1b4]
mov dword [ecx + 0x4c], edx
mov dword [ebp - 0xa8], eax
mov eax, dword [ecx + 0x50]
mov dword [ecx + 0x40], eax
mov eax, dword [ecx + 0x58]
mov dword [ecx + 0x48], eax
mov ecx, dword [ebp + 0x24]
mov al, byte [ecx]
and eax, 3
cmp al, 2
je 0x45ea10
mov ebx, dword [ebp - 0xa8]
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x45e131
push ebx
push ebx
mov ecx, dword [ebp + 0x24]
push ecx
mov edx, dword [ebp + 8]
push edx
call eax
add esp, 0x10
test eax, eax
je 0x45e7a1
mov esi, dword [ebp + 0x24]
mov al, byte [esi + 5]
test al, 8
jne 0x45e7ab
test al, 0x10
je 0x45e954
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xa8]
mov eax, dword [eax + 0x9cc]
mov dword [eax + 0x3c], 6
lea esi, [esi]
mov esi, dword [ebp + 0x24]
mov eax, dword [esi + 0x20]
mov edx, dword [eax + 0x38]
mov dword [ebp - 0x9c], edx
test edx, edx
je 0x45e17e
mov ecx, dword [eax + 0x30]
test ecx, ecx
jne 0x45e7c6
mov dword [ebp - 0xa0], 0xffffffff
sub esp, 0xc
mov esi, dword [ebp + 0x24]
push esi
call fcn.0049aff0
add esp, 0x10
test eax, eax
je 0x45e7a1
mov ebx, dword [ebp - 0x9c]
test ebx, ebx
je 0x45e0c1
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ecx + 0x98]
test eax, eax
je 0x45e1d4
push ecx
push ecx
mov edx, dword [ebp + 0x24]
push edx
mov edi, dword [ebp + 8]
push edi
call eax
add esp, 0x10
test eax, eax
je 0x45e7a1
mov ecx, dword [ebp + 0x24]
mov eax, dword [ecx + 0x20]
mov ecx, dword [eax + 0x30]
test ecx, ecx
je 0x45e0c1
push esi
push esi
push str..gnu.version_d
mov ebx, dword [ebp - 0x9c]
push ebx
call fcn.00431ce0
add esp, 0x10
mov esi, eax
test eax, eax
je 0x45ecd4
mov ebx, dword [ebp + 0x24]
mov edi, dword [ebx + 0x94]
test edi, edi
je 0x45ea5e
mov edx, dword [edi + 8]
test edx, edx
jne 0x45e227
mov edi, dword [edi]
test edi, edi
je 0x45ea5e
mov edx, dword [ebp + 0x24]
test byte [edx], 0x20
jne 0x45edb5
mov dword [ebp - 0x84], 1
mov edx, 0x1c
xor ecx, ecx
test edi, edi
je 0x45e283
mov ebx, edi
lea esi, [esi]
mov eax, dword [ebx + 8]
test eax, eax
je 0x45e27d
add edx, 0x1c
mov eax, dword [ebp - 0x84]
adc ecx, 0
inc eax
mov dword [ebp - 0x84], eax
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x45e27d
add edx, 8
mov eax, dword [eax]
adc ecx, 0
test eax, eax
jne 0x45e271
mov ebx, dword [ebx]
test ebx, ebx
jne 0x45e250
mov dword [esi + 0x30], edx
mov dword [esi + 0x34], ecx
push eax
push ecx
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004343d0
add esp, 0x10
mov ebx, eax
mov dword [esi + 0x8c], eax
test eax, eax
je 0x45f16b
mov ecx, dword [ebp + 0x24]
mov word [ebp - 0x68], 1
mov word [ebp - 0x66], 1
mov word [ebp - 0x64], 1
mov word [ebp - 0x62], 1
test byte [ecx], 0x20
je 0x45edcb
mov dword [ebp - 0x5c], 0x28
mov dword [ebp - 0x58], 0x14
cmp dword [ebp - 0xa0], 0xffffffff
je 0x45ee49
push eax
push eax
mov esi, dword [ebp - 0xa0]
push esi
mov esi, dword [ebp + 0x24]
mov eax, dword [esi + 0x20]
mov ecx, dword [eax + 0x68]
push ecx
call fcn.004972d0
pop edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.004415a0
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x40], eax
mov esi, dword [ebp + 0xc]
add esp, 0x10
mov dword [ebp - 0x3c], 0
push eax
lea eax, [ebp - 0x68]
push ebx
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.004411f0
lea edx, [ebx + 0x14]
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x80], edx
add esp, 0x10
test byte [ecx], 0x20
je 0x45e3fb
mov dword [ebp - 0x14], 0
push eax
lea eax, [ebp - 0x14]
push eax
mov edx, dword [ebp - 0x9c]
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x1b4]
mov al, byte [eax + 0x1c8]
and eax, 1
and eax, 0xff
push eax
push 0
push 0
push 0
push 0
push 0x4eeb50
push 2
push esi
push edx
push ecx
call fcn.0043b140
add esp, 0x30
test eax, eax
je 0x45e7a1
mov eax, dword [ebp - 0x14]
and byte [eax + 0x44], 0xfe
or byte [eax + 0x43], 2
mov byte [eax + 0x40], 1
mov dword [eax + 0x50], 0
push edx
push edx
push eax
mov eax, dword [ebp + 0x24]
push eax
call fcn.00459270
add esp, 0x10
test eax, eax
je 0x45e7a1
cmp edi, 1
mov word [ebp - 0x66], 0
sbb eax, eax
mov word [ebp - 0x64], 2
xor eax, 0xffffffff
mov dword [ebp - 0x5c], 0x14
and eax, 0x1c
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x58], eax
push eax
mov eax, dword [ebp - 0x80]
add ebx, 0x28
push eax
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.004411f0
mov dword [ebp - 0x80], ebx
add esp, 0x10
push eax
lea ebx, [ebp - 0x40]
mov eax, dword [ebp - 0x80]
push eax
push ebx
mov esi, dword [ebp + 8]
push esi
call fcn.00441300
add esp, 0x10
test edi, edi
je 0x45ecfa
mov esi, dword [ebp - 0x80]
add esi, 8
nop
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x45ecf0
mov eax, dword [edi + 0x2c]
mov dword [ebp - 0x7c], 0
test eax, eax
je 0x45e44d
lea esi, [esi]
mov ecx, dword [ebp - 0x7c]
mov eax, dword [eax]
inc ecx
test eax, eax
mov dword [ebp - 0x7c], ecx
jne 0x45e440
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push edx
push eax
mov edx, dword [ebp - 0x9c]
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x1b4]
mov al, byte [eax + 0x1c8]
and eax, 1
and eax, 0xff
push eax
push 0
push 0
push 0
push 0
push 0x4eeb50
push 2
mov eax, dword [edi + 4]
push eax
push edx
mov eax, dword [ebp + 0x24]
push eax
call fcn.0043b140
add esp, 0x30
test eax, eax
je 0x45e7a1
mov ebx, dword [ebp - 0x14]
and byte [ebx + 0x44], 0xfe
or byte [ebx + 0x43], 2
mov byte [ebx + 0x40], 1
mov dword [ebx + 0x50], edi
push eax
push eax
push ebx
mov eax, dword [ebp + 0x24]
push eax
call fcn.00459270
add esp, 0x10
test eax, eax
je 0x45e7a1
mov eax, dword [edi + 0xc]
mov word [ebp - 0x68], 1
mov word [ebp - 0x66], 0
test eax, eax
je 0x45ed94
mov ecx, dword [ebp + 0x24]
mov eax, 2
test byte [ecx], 0x20
mov ecx, dword [edi + 4]
sete dl
and edx, 0xff
sub esp, 0xc
sub ax, dx
mov edx, dword [edi + 8]
add eax, edx
mov word [ebp - 0x64], ax
mov eax, dword [ebp - 0x7c]
inc eax
mov word [ebp - 0x62], ax
push ecx
call fcn.004415a0
add esp, 0x10
mov dword [ebp - 0x60], eax
mov eax, dword [edi]
mov dword [ebp - 0x5c], 0x14
mov dword [ebp - 0x58], 0
test eax, eax
je 0x45e563
mov edx, dword [eax + 8]
test edx, edx
jne 0x45ed60
mov eax, dword [eax]
test eax, eax
je 0x45e563
push eax
push eax
push 0x18f0
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.0042fa10
mov eax, dword [edi]
add esp, 0x10
test eax, eax
je 0x45e563
mov eax, dword [eax + 8]
test eax, eax
jne 0x45ed60
lea ecx, [ebp - 0x68]
push eax
push esi
push ecx
mov ecx, dword [ebp + 8]
push ecx
call fcn.004411f0
lea eax, [esi + 0x14]
mov dword [ebp - 0x74], eax
mov eax, dword [ebx + 0x48]
mov dword [ebp - 0x40], eax
pop eax
mov eax, dword [ebx + 0x48]
pop edx
push eax
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x20]
mov eax, dword [eax + 0x68]
push eax
call fcn.004972d0
mov eax, dword [edi + 0x2c]
add esp, 0x10
mov dword [ebp - 0x3c], 0
test eax, eax
je 0x45e5ab
mov dword [ebp - 0x3c], 8
mov eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x40]
mov dword [edi + 0x30], eax
push eax
mov ebx, dword [ebp - 0x74]
add esi, 0x1c
push ebx
push ecx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00441300
mov ebx, dword [edi + 0x2c]
add esp, 0x10
test ebx, ebx
jne 0x45e61d
jmp 0x45ecf0
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x40], eax
push edx
push edx
push eax
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x20]
mov eax, dword [eax + 0x68]
push eax
call fcn.004972d0
add esp, 0x10
cmp dword [ebx], 1
lea ecx, [ebp - 0x40]
sbb eax, eax
xor eax, 0xffffffff
and eax, 8
mov dword [ebp - 0x3c], eax
push eax
push esi
push ecx
mov eax, dword [ebp + 8]
add esi, 8
push eax
call fcn.00441300
mov ebx, dword [ebx]
add esp, 0x10
test ebx, ebx
je 0x45ecf0
mov eax, dword [ebx + 4]
test eax, eax
jne 0x45e5d5
mov dword [ebp - 0x40], 0
jmp 0x45e5f0
sub esp, 0xc
push 0
push 0
push 0
push 0x20
mov eax, dword [ebp + 0x24]
push eax
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
sub esp, 0xc
push 0
push 0
push 0
push 0x21
mov eax, dword [ebp + 0x24]
push eax
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
push eax
push eax
push str..init_array
mov eax, dword [ebp + 8]
push eax
call fcn.00431c20
add esp, 0x10
test eax, eax
je 0x45e68c
test byte [eax + 0x18], 4
jne 0x45f512
push esi
push esi
push str..fini_array
mov ebx, dword [ebp + 8]
push ebx
call fcn.00431c20
add esp, 0x10
test eax, eax
je 0x45e6ad
test byte [eax + 0x18], 4
jne 0x45f484
push eax
push eax
push str..dynstr
mov eax, dword [ebp - 0x9c]
push eax
call fcn.00431ce0
add esp, 0x10
test eax, eax
je 0x45e188
cmp dword [eax + 0x58], 0x4eeb50
je 0x45e188
mov edx, dword [ebp + 0x24]
sub esp, 0xc
mov eax, dword [edx + 0x20]
mov eax, dword [eax + 0x68]
push eax
call fcn.00496cc0
mov ecx, dword [ebp + 0x24]
add esp, 0x10
mov ebx, eax
mov esi, edx
cmp byte [ecx + 3], 0
js 0x45f461
mov eax, dword [ebp + 0x24]
test byte [eax + 4], 1
je 0x45e722
sub esp, 0xc
push 0
push 0
push 0
push 0x6ffffef5
push eax
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
sub esp, 0xc
push 0
push 0
push 0
push 5
mov eax, dword [ebp + 0x24]
push eax
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
sub esp, 0xc
push 0
push 0
push 0
push 6
mov eax, dword [ebp + 0x24]
push eax
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
sub esp, 0xc
push esi
push ebx
push 0
push 0xa
mov eax, dword [ebp + 0x24]
push eax
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
mov edx, dword [ebp - 0xa8]
sub esp, 0xc
xor ecx, ecx
mov eax, dword [edx + 0x188]
xor edx, edx
mov dl, byte [eax + 5]
push ecx
push edx
push 0
push 0xb
mov edi, dword [ebp + 0x24]
push edi
call fcn.00456100
add esp, 0x20
test eax, eax
jne 0x45e188
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa8]
mov eax, dword [eax + 0x9cc]
mov dword [eax + 0x3c], 7
jmp 0x45e160
push eax
push eax
push 0x5b8c78
push edx
call fcn.00431ce0
add esp, 0x10
mov dword [edi], eax
test eax, eax
je 0x45edde
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xa0], 0xffffffff
test eax, eax
je 0x45e838
push eax
push 1
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 0x24]
mov eax, dword [ecx + 0x20]
mov eax, dword [eax + 0x68]
push eax
call fcn.00497340
add esp, 0x10
mov dword [ebp - 0xa0], eax
inc eax
je 0x45e7a1
sub esp, 0xc
mov eax, dword [ebp - 0xa0]
xor edx, edx
push edx
push eax
push 0
push 0xe
mov edi, dword [ebp + 0x24]
push edi
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
mov ebx, dword [ebp + 0x24]
test byte [ebx], 4
jne 0x45ea2b
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x45e89e
push eax
push 1
mov eax, dword [ebp + 0x10]
push eax
mov esi, dword [ebp + 0x24]
mov eax, dword [esi + 0x20]
mov eax, dword [eax + 0x68]
push eax
call fcn.00497340
add esp, 0x10
cmp eax, 0xffffffff
je 0x45e7a1
xor ebx, ebx
mov ecx, 0x1d
test byte [esi + 4], 0x20
jne 0x45e881
mov ecx, 0xf
xor ebx, ebx
sub esp, 0xc
xor edx, edx
push edx
push eax
push ebx
push ecx
mov eax, dword [ebp + 0x24]
push eax
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x45e8e9
push eax
push 1
mov edi, dword [ebp + 0x14]
push edi
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x20]
mov esi, dword [eax + 0x68]
push esi
call fcn.00497340
add esp, 0x10
cmp eax, 0xffffffff
je 0x45e7a1
sub esp, 0xc
xor edx, edx
push edx
push eax
push 0
push 0x7fffffff
mov ebx, dword [ebp + 0x24]
push ebx
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
mov ecx, dword [ebp + 0x20]
test ecx, ecx
je 0x45ee8d
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx]
test eax, eax
je 0x45ee8d
mov ebx, ecx
jmp 0x45e932
sub esp, 0xc
xor edx, edx
push edx
push eax
push 0
push 0x7ffffffd
push esi
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
mov eax, dword [ebx + 4]
add ebx, 4
test eax, eax
je 0x45ee8d
push edx
push 1
push eax
mov esi, dword [ebp + 0x24]
mov eax, dword [esi + 0x20]
mov eax, dword [eax + 0x68]
push eax
call fcn.00497340
add esp, 0x10
cmp eax, 0xffffffff
jne 0x45e905
xor eax, eax
jmp 0x45e7a3
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x98], 0
mov ebx, dword [esi + 0x38]
test ebx, ebx
je 0x45ee10
xor esi, esi
jmp 0x45e97a
mov ebx, dword [ebx + 0xa4]
test ebx, ebx
je 0x45e9b3
mov eax, dword [ebx + 0x28]
shr eax, 5
test eax, 0x11042
jne 0x45e970
push eax
push eax
push str..note.GNU_stack
push ebx
call fcn.00431c20
add esp, 0x10
test eax, eax
je 0x45ed72
test byte [eax + 0x14], 0x10
je 0x45e9af
mov dword [ebp - 0x98], 1
mov esi, eax
jmp 0x45e970
test esi, esi
je 0x45ee10
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xa8]
mov edx, dword [eax + 0x9cc]
mov eax, dword [ebp - 0x98]
or eax, 6
mov dword [edx + 0x3c], eax
mov eax, dword [ebp - 0x98]
test eax, eax
je 0x45e160
mov ebx, dword [ebp + 0x24]
mov al, byte [ebx]
and eax, 3
cmp al, 2
jne 0x45e160
mov eax, dword [esi + 0x58]
cmp eax, 0x4eeb50
je 0x45e160
mov ebx, dword [eax + 0x14]
or ebx, 0x10
mov dword [eax + 0x14], ebx
jmp 0x45e160
sub esp, 0xc
push ecx
call fcn.0045e050
add esp, 0x10
test eax, eax
jne 0x45e10a
xor eax, eax
jmp 0x45e7a3
sub esp, 0xc
push 0
push 0
push 0
push 0x10
push ebx
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
mov esi, dword [ebx + 0x70]
mov ecx, dword [ebx + 0x74]
or esi, 2
or ch, 0
mov dword [ebx + 0x70], esi
mov dword [ebx + 0x74], ecx
jmp 0x45e844
mov eax, dword [ebp + 0x24]
test byte [eax], 0x20
jne 0x45edb5
mov eax, dword [esi + 0x14]
or ah, 0x80
mov dword [esi + 0x14], eax
mov eax, dword [ebp + 0x24]
test byte [eax + 4], 0x20
je 0x45f17e
mov ebx, dword [eax + 0x74]
mov ecx, dword [eax + 0x70]
mov esi, ebx
or esi, ecx
je 0x45eaa9
sub esp, 0xc
push ebx
push ecx
push 0
push 0x1e
mov ebx, dword [ebp + 0x24]
push ebx
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
mov ebx, dword [ebp + 0x24]
mov ecx, dword [ebx + 0x7c]
mov edx, dword [ebx + 0x78]
mov esi, ecx
or esi, edx
je 0x45eaeb
mov al, byte [ebx]
and eax, 3
cmp al, 1
jbe 0x45f3e0
mov eax, dword [ebp + 0x24]
sub esp, 0xc
mov ecx, dword [eax + 0x7c]
push ecx
mov edx, dword [eax + 0x78]
push edx
push 0
push 0x6ffffffb
push eax
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
push eax
push eax
push str..gnu.version_r
mov eax, dword [ebp - 0x9c]
push eax
call fcn.00431ce0
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x45f40d
mov edx, dword [ebp + 0x24]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x30], edx
mov eax, dword [ecx + 0xa8]
mov eax, dword [eax + 0x2d0]
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x45eb2e
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x28], 0
push eax
lea eax, [ebp - 0x30]
push eax
push 0x455fa0
mov esi, dword [ebp + 0x24]
mov eax, dword [esi + 0x20]
push eax
call fcn.00438cf0
mov edi, dword [ebp - 0x28]
add esp, 0x10
test edi, edi
jne 0x45e7a1
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa8]
mov edx, dword [eax + 0x2dc]
test edx, edx
je 0x45f3fc
xor eax, eax
mov dword [ebp - 0x78], 0
mov ecx, dword [ebp - 0x78]
add eax, 0x10
inc ecx
mov dword [ebp - 0x78], ecx
mov ecx, dword [edx + 0x18]
test ecx, ecx
je 0x45eb9a
lea esi, [esi]
mov ecx, dword [ecx + 0x14]
add eax, 0x10
test ecx, ecx
jne 0x45eb90
mov edx, dword [edx + 0x1c]
test edx, edx
jne 0x45eb79
xor edx, edx
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], edx
push edi
push edx
push eax
mov esi, dword [ebp + 8]
push esi
call fcn.004343d0
add esp, 0x10
mov esi, eax
mov dword [ebx + 0x8c], eax
test eax, eax
je 0x45e7a1
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xa8]
mov edi, dword [eax + 0x2dc]
test edi, edi
je 0x45f2f6
mov eax, dword [edi + 0x18]
xor ebx, ebx
test eax, eax
je 0x45ebf2
mov eax, dword [eax + 0x14]
inc ebx
test eax, eax
jne 0x45ebe8
mov eax, ebx
mov edx, dword [edi + 0x10]
mov word [edi], 1
mov word [edi + 2], ax
mov eax, dword [edx + 0xa8]
mov eax, dword [eax + 0x2b8]
test eax, eax
je 0x45f426
push edx
push 0
push eax
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x20]
mov eax, dword [eax + 0x68]
push eax
call fcn.00497340
add esp, 0x10
cmp eax, 0xffffffff
je 0x45e7a1
mov ecx, dword [edi + 0x1c]
mov dword [edi + 4], eax
mov dword [edi + 8], 0x10
test ecx, ecx
je 0x45f3f0
lea eax, [ebx + 1]
shl eax, 4
mov dword [edi + 0xc], eax
push edx
push esi
push edi
add esi, 0x10
mov eax, dword [ebp + 8]
push eax
call fcn.004413c0
mov ebx, dword [edi + 0x18]
add esp, 0x10
test ebx, ebx
jne 0x45ec9f
jmp 0x45f2eb
cmp dword [ebx + 0x14], 1
mov dword [ebx + 8], eax
sbb eax, eax
xor eax, 0xffffffff
and eax, 0x10
mov dword [ebx + 0xc], eax
push eax
push esi
push ebx
mov eax, dword [ebp + 8]
add esi, 0x10
push eax
call fcn.004414c0
mov ebx, dword [ebx + 0x14]
add esp, 0x10
test ebx, ebx
je 0x45f2eb
sub esp, 0xc
mov eax, dword [ebx + 0x10]
push eax
call fcn.004415a0
add esp, 0xc
mov dword [ebx], eax
push 0
mov eax, dword [ebx + 0x10]
push eax
mov ecx, dword [ebp + 0x24]
mov eax, dword [ecx + 0x20]
mov eax, dword [eax + 0x68]
push eax
call fcn.00497340
add esp, 0x10
cmp eax, 0xffffffff
jne 0x45ec70
xor eax, eax
jmp 0x45e7a3
push ecx
push ecx
push 0x1837
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.0042fa10
add esp, 0x10
jmp 0x45e205
mov edi, dword [edi]
test edi, edi
jne 0x45e420
sub esp, 0xc
push 0
push 0
push 0
push 0x6ffffffc
mov edi, dword [ebp + 0x24]
push edi
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
sub esp, 0xc
mov eax, dword [ebp - 0x84]
xor edx, edx
push edx
push eax
push 0
push 0x6ffffffd
mov esi, dword [ebp + 0x24]
push esi
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x84]
mov eax, dword [ebx + 0xa8]
mov dword [eax + 0x2d0], esi
jmp 0x45ea73
mov edx, dword [ebp - 0x7c]
lea eax, [edx*8 + 0x1c]
mov dword [ebp - 0x58], eax
jmp 0x45e563
mov eax, dword [ebp - 0xa8]
test byte [eax + 0x1ca], 0x20
je 0x45e970
mov dword [ebp - 0x98], 1
jmp 0x45e970
mov eax, dword [edi + 0x1c]
test eax, eax
jne 0x45e4df
mov ecx, dword [edi + 0x34]
test ecx, ecx
jne 0x45e4df
mov word [ebp - 0x66], 2
jmp 0x45e4df
mov edx, 0x30
xor ecx, ecx
mov dword [ebp - 0x84], 2
jmp 0x45e244
mov dword [ebp - 0x5c], 0x14
mov dword [ebp - 0x58], 0x1c
jmp 0x45e2da
mov al, byte [esi]
and eax, 3
cmp al, 1
ja 0x45e7e0
test byte [esi + 6], 8
jne 0x45e7e0
push eax
push eax
push 0x1706
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.0042fa10
add esp, 0x10
jmp 0x45e7e0
mov edx, dword [ebp + 0x24]
cmp dword [edx + 0x14], 0
jle 0x45f2d6
mov ebx, dword [ebp + 8]
mov edx, dword [ebp - 0x98]
or edx, 6
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0x98], edx
mov esi, dword [ebp - 0x98]
mov eax, dword [eax + 0x9cc]
mov dword [eax + 0x3c], esi
jmp 0x45e160
mov edx, dword [ebp + 8]
sub esp, 0xc
mov eax, dword [edx]
push eax
call fcn.004d7820
mov dword [esp], eax
mov esi, eax
call fcn.004415a0
add esp, 0xc
mov dword [ebp - 0x60], eax
push 0
push esi
mov ecx, dword [ebp + 0x24]
mov eax, dword [ecx + 0x20]
mov eax, dword [eax + 0x68]
push eax
call fcn.00497340
add esp, 0x10
cmp eax, 0xffffffff
je 0x45e7a1
mov dword [ebp - 0x40], eax
jmp 0x45e31b
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x45eed8
push eax
push 1
mov edi, dword [ebp + 0x18]
push edi
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x20]
mov esi, dword [eax + 0x68]
push esi
call fcn.00497340
add esp, 0x10
cmp eax, 0xffffffff
je 0x45e7a1
sub esp, 0xc
xor edx, edx
push edx
push eax
push 0
push 0x6ffffefc
mov ebx, dword [ebp + 0x24]
push ebx
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x45ef23
push edx
push 1
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x24]
mov eax, dword [ecx + 0x20]
mov eax, dword [eax + 0x68]
push eax
call fcn.00497340
add esp, 0x10
cmp eax, 0xffffffff
je 0x45e7a1
sub esp, 0xc
xor edx, edx
push edx
push eax
push 0
push 0x6ffffefb
mov eax, dword [ebp + 0x24]
push eax
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
mov ebx, dword [ebp + 0x24]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], ebx
mov al, byte [ebx]
test al, 0x10
jne 0x45f3b5
and eax, 3
cmp al, 1
jbe 0x45f3ab
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x94]
mov dword [ebp - 0x70], eax
test eax, eax
je 0x45f0e9
mov edx, dword [ebp - 0x70]
mov ebx, dword [edx + 0xc]
test ebx, ebx
jne 0x45ef72
jmp 0x45f0d9
mov ebx, dword [ebx]
test ebx, ebx
je 0x45f0d9
mov al, byte [ebx + 8]
and eax, 3
dec al
jne 0x45ef68
mov ecx, dword [ebp + 8]
mov esi, dword [ebx + 4]
mov eax, dword [ecx + 4]
mov al, byte [eax + 0x18]
mov dword [ebp - 0x90], esi
test al, al
mov byte [ebp - 0x85], al
setne al
and eax, 0xff
sub esp, 0xc
mov dword [ebp - 0xac], eax
push esi
call sub.msvcrt.dll_strlen
mov esi, dword [ebp - 0xac]
add esi, eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax + 4]
mov dword [ebp - 0x94], eax
mov dword [esp], eax
call sub.msvcrt.dll_strlen
pop ecx
xor edx, edx
pop edi
mov dword [ebp - 0xb0], eax
lea eax, [esi + eax + 3]
push edx
push eax
call fcn.0043f220
add esp, 0x10
mov edi, eax
test eax, eax
je 0x45e7a1
mov dl, byte [ebp - 0x85]
mov byte [eax], dl
mov ecx, dword [ebp - 0xac]
push edx
push esi
lea esi, [edi + esi]
lea eax, [eax + ecx]
mov ecx, dword [ebp - 0x90]
push ecx
push eax
call sub.msvcrt.dll_memcpy
mov dword [ebp - 0x8c], esi
mov byte [esi], 0x40
add esp, 0xc
mov eax, esi
mov esi, dword [ebp - 0xb0]
inc esi
inc eax
mov dword [ebp - 0xa4], esi
push esi
mov edx, dword [ebp - 0x94]
push edx
push eax
call sub.msvcrt.dll_memcpy
mov dword [esp], 0
push 0
push 0
push edi
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x20]
push eax
call fcn.004398f0
add esp, 0x20
test eax, eax
je 0x45f063
mov esi, eax
mov al, byte [eax + 0xc]
sub eax, 3
cmp al, 1
jbe 0x45f0a4
mov edx, dword [ebp - 0x8c]
mov eax, edx
mov byte [edx + 1], 0x40
push esi
mov ecx, dword [ebp - 0xa4]
add eax, 2
push ecx
mov edx, dword [ebp - 0x94]
push edx
push eax
call sub.msvcrt.dll_memcpy
mov dword [esp], 0
push 0
push 0
push edi
mov ecx, dword [ebp + 0x24]
mov eax, dword [ecx + 0x20]
push eax
call fcn.004398f0
add esp, 0x20
mov esi, eax
sub esp, 0xc
push edi
call sub.msvcrt.dll_free
add esp, 0x10
test esi, esi
je 0x45ef68
test byte [esi + 0x43], 8
jne 0x45ef68
mov al, byte [esi + 0xc]
sub eax, 3
cmp al, 1
ja 0x45ef68
or byte [ebx + 8], 2
jmp 0x45ef68
mov ebx, dword [ebp - 0x70]
mov ebx, dword [ebx]
mov dword [ebp - 0x70], ebx
test ebx, ebx
jne 0x45ef59
mov esi, dword [ebp + 0x24]
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], 0
push edi
push eax
push 0x45dd40
mov ebx, dword [esi + 0x20]
push ebx
call fcn.00438cf0
mov ecx, dword [ebp - 0x18]
add esp, 0x10
test ecx, ecx
jne 0x45e7a1
test byte [esi + 5], 2
jne 0x45f1cb
mov eax, dword [ebp + 0x24]
mov esi, dword [eax + 0x94]
test esi, esi
je 0x45f1cb
mov edx, 1
mov ebx, dword [esi + 0xc]
test ebx, ebx
jne 0x45f146
jmp 0x45f1b9
mov ebx, dword [ebx]
test ebx, ebx
je 0x45f1b9
mov al, byte [ebx + 8]
and eax, 7
dec al
jne 0x45f140
push edx
mov eax, dword [esi + 4]
push eax
mov eax, dword [ebx + 4]
push eax
push str._s:_undefined_version:__s
call dword [0x4ee9a0]
xor edx, edx
add esp, 0x10
jmp 0x45f140
mov eax, dword [esi + 0x30]
or eax, dword [esi + 0x34]
je 0x45e2a8
xor eax, eax
jmp 0x45e7a3
mov eax, dword [ebp + 0x24]
xor edx, edx
mov esi, edx
mov ecx, dword [eax + 0x70]
mov ebx, dword [eax + 0x74]
mov eax, ecx
and eax, 0x10
or esi, eax
jne 0x45ea8c
mov eax, ecx
xor edx, edx
and eax, 8
mov ecx, edx
or ecx, eax
je 0x45eaa9
sub esp, 0xc
push 0
push 0
push 0
push 0x18
jmp 0x45ea95
mov esi, dword [esi]
test esi, esi
jne 0x45f137
test edx, edx
je 0x45f439
push eax
lea eax, [ebp - 0x24]
push eax
push fcn.00459620
mov edx, dword [ebp + 0x24]
mov eax, dword [edx + 0x20]
push eax
call fcn.00438cf0
mov eax, dword [ebp - 0x20]
add esp, 0x10
test eax, eax
jne 0x45e7a1
mov ecx, dword [ebp + 0x24]
mov eax, dword [ecx + 0x4c]
test eax, eax
je 0x45f21d
sub esp, 0xc
push 0
push 0
push 0
push eax
mov eax, dword [ecx + 0x20]
push eax
call fcn.004398f0
add esp, 0x20
test eax, eax
je 0x45f21d
test byte [eax + 0x43], 3
jne 0x45f4c9
mov ebx, dword [ebp + 0x24]
mov eax, dword [ebx + 0x50]
test eax, eax
je 0x45f24b
sub esp, 0xc
push 0
push 0
push 0
push eax
mov esi, dword [ebx + 0x20]
push esi
call fcn.004398f0
add esp, 0x20
test eax, eax
je 0x45f24b
test byte [eax + 0x43], 3
jne 0x45f4ef
push ecx
push ecx
push str..preinit_array
mov edx, dword [ebp + 8]
push edx
call fcn.00431c20
add esp, 0x10
test eax, eax
je 0x45e66b
test byte [eax + 0x18], 4
je 0x45e66b
mov esi, dword [ebp + 0x24]
mov al, byte [esi]
and eax, 3
cmp al, 1
jbe 0x45e62d
mov ebx, dword [esi + 0x38]
test ebx, ebx
jne 0x45f29e
jmp 0x45f44d
mov ebx, dword [ebx + 0xa4]
test ebx, ebx
je 0x45f44d
mov eax, dword [ebx + 4]
cmp dword [eax + 4], 5
jne 0x45f290
mov edx, dword [ebx + 0x64]
test edx, edx
jne 0x45f2b7
jmp 0x45f290
mov edx, dword [edx + 0xc]
test edx, edx
je 0x45f290
mov eax, dword [edx + 0xac]
cmp dword [eax + 4], 0x10
jne 0x45f2b0
push eax
push eax
push ebx
push str._B:_.preinit_array_section_is_not_allowed_in_DSO
call dword [0x4ee9a0]
add esp, 0x10
jmp 0x45f290
jl 0x45e160
cmp dword [edx + 0x10], 0
ja 0x45ee1d
jmp 0x45e160
mov edi, dword [edi + 0x1c]
test edi, edi
jne 0x45ebdf
sub esp, 0xc
push 0
push 0
push 0
push 0x6ffffffe
mov ebx, dword [ebp + 0x24]
push ebx
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
sub esp, 0xc
mov eax, dword [ebp - 0x78]
xor edx, edx
push edx
push eax
push 0
push 0x6fffffff
mov ecx, dword [ebp + 0x24]
push ecx
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x78]
mov eax, dword [ebx + 0xa8]
mov dword [eax + 0x2d4], esi
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa8]
mov edx, dword [eax + 0x2d4]
test edx, edx
jne 0x45f36c
mov eax, dword [eax + 0x2d0]
test eax, eax
je 0x45f382
lea ecx, [ebp - 0x10]
mov edx, dword [ebp + 0x24]
mov eax, dword [ebp + 8]
call fcn.00455ea0
test eax, eax
jne 0x45e0c1
push edi
push edi
push str..gnu.version
mov esi, dword [ebp - 0x9c]
push esi
call fcn.00431ce0
add esp, 0x10
mov ebx, dword [eax + 0x14]
or bh, 0x80
mov dword [eax + 0x14], ebx
mov eax, 1
jmp 0x45e0c6
test byte [ebx + 5], 4
je 0x45ef45
push eax
lea eax, [ebp - 0x24]
push eax
push 0x459770
mov esi, dword [ebp + 0x24]
mov eax, dword [esi + 0x20]
push eax
call fcn.00438cf0
mov eax, dword [ebp - 0x20]
add esp, 0x10
test eax, eax
je 0x45ef45
xor eax, eax
jmp 0x45e7a3
mov eax, edx
mov dword [ebx + 0x7c], ecx
and eax, 0xffffff97
mov dword [ebx + 0x78], eax
jmp 0x45eac5
mov dword [edi + 0xc], 0
jmp 0x45ec4f
mov esi, dword [ebx + 0x14]
or esi, 0x8000
mov dword [ebx + 0x14], esi
jmp 0x45f34f
push eax
push eax
push 0x193e
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_elflink.c
call fcn.0042fa10
add esp, 0x10
jmp 0x45eb0b
sub esp, 0xc
mov ecx, dword [edx]
push ecx
call fcn.004d7820
add esp, 0x10
jmp 0x45ec12
sub esp, 0xc
push 0x11
call fcn.00430870
xor eax, eax
add esp, 0x10
jmp 0x45e0c6
sub esp, 0xc
push 0xf
call fcn.00430870
xor eax, eax
add esp, 0x10
jmp 0x45e0c6
sub esp, 0xc
push 0
push 0
push 0
push 4
push ecx
call fcn.00456100
add esp, 0x20
test eax, eax
jne 0x45e6fe
xor eax, eax
jmp 0x45e7a3
sub esp, 0xc
push 0
push 0
push 0
push 0x1a
mov ecx, dword [ebp + 0x24]
push ecx
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
sub esp, 0xc
push 0
push 0
push 0
push 0x1c
mov edx, dword [ebp + 0x24]
push edx
call fcn.00456100
add esp, 0x20
test eax, eax
jne 0x45e6ad
xor eax, eax
jmp 0x45e7a3
sub esp, 0xc
push 0
push 0
push 0
push 0xc
mov edi, dword [ebp + 0x24]
push edi
call fcn.00456100
add esp, 0x20
test eax, eax
jne 0x45f21d
xor eax, eax
jmp 0x45e7a3
sub esp, 0xc
push 0
push 0
push 0
push 0xd
push ebx
call fcn.00456100
add esp, 0x20
test eax, eax
jne 0x45f24b
xor eax, eax
jmp 0x45e7a3
sub esp, 0xc
push 0
push 0
push 0
push 0x19
mov eax, dword [ebp + 0x24]
push eax
call fcn.00456100
add esp, 0x20
test eax, eax
je 0x45e7a1
sub esp, 0xc
push 0
push 0
push 0
push 0x1b
mov edi, dword [ebp + 0x24]
push edi
call fcn.00456100
add esp, 0x20
test eax, eax
jne 0x45e68c
xor eax, eax
jmp 0x45e7a3