Function at 0x47aca0
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, 0x17c
mov edx, dword [ebp + 0xc]
mov al, byte [edx]
and eax, 3
cmp al, 3
je 0x47aece
dec al
je 0x47aece
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
lea edi, [ebp - 0x54]
push 0xfb
mov dword [ebp - 0x78], ebx
push 0x10
mov dword [ebp - 0x74], esi
push 0x477fc0
mov dword [ebp - 0x38], 0
push edi
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
call fcn.004187c0
add esp, 0x10
test eax, eax
je 0x47af07
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x14c], eax
test eax, eax
je 0x47af9f
mov ecx, dword [ebp + 0xc]
mov dl, byte [ecx]
mov dword [ebp - 0x140], 0
and edx, 3
mov dword [ebp - 0x13c], 0
mov byte [ebp - 0x151], dl
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
jmp 0x47adc1
mov ebx, dword [ebp - 0x14c]
mov eax, dword [ebx + 4]
cmp dword [eax + 4], 1
je 0x47af74
mov esi, dword [ebp - 0x14c]
mov esi, dword [esi + 0xa4]
mov dword [ebp - 0x14c], esi
test esi, esi
je 0x47b003
cmp byte [ebp - 0x151], 2
jne 0x47ad94
mov ebx, dword [ebp - 0x14c]
mov edx, dword [ebx + 4]
cmp dword [edx + 4], 1
jne 0x47b2d8
mov esi, dword [ebx + 0xa8]
mov dword [ebp - 0xac], esi
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
mov ecx, dword [eax + 0x34]
add dword [ebp - 0x148], edx
mov esi, dword [eax + 0x38]
adc dword [ebp - 0x144], ecx
mov edi, dword [eax + 0x3c]
add dword [ebp - 0x140], esi
mov dword [ebp - 0xa8], edx
adc dword [ebp - 0x13c], edi
mov dword [ebp - 0xa4], ecx
mov ecx, dword [ebp - 0xac]
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
mov ebx, dword [eax + 0x34]
mov ecx, dword [eax + 0x30]
mov eax, dword [edx + 0x30]
mov edx, dword [edx + 0x34]
cmp edx, ebx
ja 0x47ae41
jb 0x47ae3d
cmp eax, ecx
jae 0x47ae41
mov eax, ecx
mov edx, ebx
cmp dword [ebp - 0x134], edx
ja 0x47ae5f
jb 0x47ae53
cmp dword [ebp - 0x138], eax
jae 0x47ae5f
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x134], edx
mov edx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xa8]
cmp edx, edi
ja 0x47ae79
jb 0x47ae75
cmp eax, esi
jae 0x47ae79
mov eax, esi
mov edx, edi
cmp dword [ebp - 0x12c], edx
ja 0x47ae97
jb 0x47ae8b
cmp dword [ebp - 0x130], eax
jae 0x47ae97
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], edx
mov ebx, dword [ebp - 0xac]
mov edx, dword [ebx + 0x5c]
mov eax, dword [ebx + 0x58]
cmp dword [ebp - 0x124], edx
ja 0x47ada7
jb 0x47aebd
cmp dword [ebp - 0x128], eax
jae 0x47ada7
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
jmp 0x47ada7
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x28]
or ah, 8
mov dword [ecx + 0x28], eax
jmp 0x47acc4
lea eax, [ebp - 0x14]
mov edx, dword [ebp + 8]
push edx
mov dword [ebp - 0x14], 0
push 0
push 4
push eax
call fcn.0040ec80
mov ecx, eax
add esp, 0x10
xor ecx, 4
or ecx, edx
je 0x47c380
mov edx, dword [ebp - 0x38]
xor ebx, ebx
test edx, edx
je 0x47af1c
sub esp, 0xc
push edx
call sub.msvcrt.dll_free
add esp, 0x10
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x47af2f
sub esp, 0xc
push eax
call sub.msvcrt.dll_free
add esp, 0x10
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x47af42
sub esp, 0xc
push eax
call sub.msvcrt.dll_free
add esp, 0x10
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x47af55
sub esp, 0xc
push eax
call sub.msvcrt.dll_free
add esp, 0x10
xor eax, eax
test ebx, ebx
je 0x47af6c
sub esp, 0xc
lea eax, [ebp - 0x54]
push eax
call fcn.00418770
xor eax, eax
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [ebx + 0xa8]
mov dword [ebp - 0xac], esi
mov eax, dword [esi]
mov edx, dword [eax + 0x30]
mov ecx, dword [eax + 0x34]
mov esi, dword [eax + 0x38]
mov edi, dword [eax + 0x3c]
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], ecx
jmp 0x47ae1b
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0
mov edi, dword [ebp + 0xc]
mov al, byte [edi]
and eax, 3
cmp al, 2
je 0x47b25a
mov esi, dword [ebp + 8]
mov edx, dword [esi + 0xa8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp - 0x148]
mov esi, dword [ebp - 0x13c]
mov dword [eax + 0x34], ecx
mov ecx, dword [ebp + 8]
mov dword [eax + 0x30], edx
mov ebx, dword [ebp - 0x140]
mov eax, dword [ecx + 0xa8]
sub esp, 0xc
mov eax, dword [eax]
mov dword [eax + 0x3c], esi
mov dword [eax + 0x38], ebx
mov eax, dword [ecx + 0xa8]
mov esi, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [esi + 0x7c]
mov eax, dword [esi + 0x78]
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], edx
push esi
call fcn.004795b0
add esp, 0x10
test eax, eax
jne 0x47b081
mov edx, dword [ebp - 0x38]
mov ebx, 1
jmp 0x47af0c
lea eax, [ebp - 0x60]
lea edi, [ebp - 0x68]
push eax
lea eax, [ebp - 0x70]
push edi
mov dword [ebp - 0x16c], eax
push eax
mov eax, dword [ebp + 8]
push eax
call dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x6c]
mov ebx, dword [ebp + 8]
mov eax, dword [ecx + 0xa8]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x70]
mov dword [ecx + 0x78], eax
mov dword [ecx + 0x7c], edx
mov eax, dword [ebx + 0xa8]
mov edx, dword [ebp - 0x64]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x68]
mov dword [ecx + 0x78], eax
mov dword [ecx + 0x7c], edx
mov ecx, dword [ebx + 0xa8]
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ecx + 0x1c], edx
mov dword [ecx + 0x18], eax
mov eax, dword [ebx + 0xa8]
mov dword [eax + 0x58], 0
mov dword [eax + 0x5c], 0
call fcn.004188c0
add esp, 0x10
mov dword [ebp - 0x58], eax
test eax, eax
je 0x47b074
push eax
push eax
mov eax, dword [ebp - 0x134]
push eax
mov eax, dword [ebp - 0x138]
push eax
call fcn.00410c90
mov ecx, dword [ebp - 0x130]
pop esi
mov ebx, dword [ebp - 0x12c]
pop edi
push ebx
mov dword [ebp - 0x38], eax
push ecx
call fcn.00410c90
mov dword [ebp - 0x34], eax
pop eax
mov eax, dword [ebp - 0x128]
pop edx
mov edx, dword [ebp - 0x124]
shld edx, eax, 2
shl eax, 2
push edx
push eax
call fcn.00410c90
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x128]
add eax, 1
mov edx, dword [ebp - 0x124]
adc edx, 0
mov ecx, eax
mov ebx, edx
pop esi
shld ebx, ecx, 2
shld edx, eax, 4
shl ecx, 2
pop edi
shl eax, 4
sub eax, ecx
sbb edx, ebx
push edx
push eax
call fcn.00410c90
mov edx, dword [ebp - 0x38]
add esp, 0x10
mov dword [ebp - 0x2c], eax
test edx, edx
jne 0x47b1a2
mov esi, dword [ebp - 0x134]
or esi, dword [ebp - 0x138]
jne 0x47b30e
mov ebx, dword [ebp - 0x34]
test ebx, ebx
jne 0x47b1bb
mov edi, dword [ebp - 0x12c]
or edi, dword [ebp - 0x130]
jne 0x47b30e
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jne 0x47b1d4
mov ecx, dword [ebp - 0x124]
or ecx, dword [ebp - 0x128]
jne 0x47b30e
test eax, eax
je 0x47b30e
sub esp, 0xc
mov ebx, dword [ebp + 0xc]
push 0
push 0
push 0
push str.__DYNAMIC
mov edi, dword [ebx + 0x20]
push edi
call fcn.00415540
add esp, 0x20
test eax, eax
je 0x47b20c
push esi
push esi
lea esi, [ebp - 0x78]
push esi
push eax
call fcn.00476210
add esp, 0x10
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 0x38]
test eax, eax
je 0x47b224
and byte [eax + 0x2b], 0xbf
mov eax, dword [eax + 0xa4]
test eax, eax
jne 0x47b216
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x64]
test ecx, ecx
je 0x47c1fd
mov edx, dword [ecx + 0xc0]
test edx, edx
jne 0x47b24b
jmp 0x47b318
mov edx, dword [edx]
test edx, edx
je 0x47b318
cmp dword [edx + 4], 1
jne 0x47b241
mov eax, dword [edx + 0x18]
or byte [eax + 0x18], 2
jmp 0x47b241
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xa8]
mov eax, dword [edx + 8]
test eax, eax
je 0x47b299
sub esp, 0xc
mov edi, dword [eax + 0xc0]
xor ebx, ebx
push edi
call fcn.00414a70
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xa8]
mov esi, dword [edx + 0x28]
imul eax, esi
add dword [ebp - 0x148], eax
adc dword [ebp - 0x144], ebx
add esp, 0x10
mov eax, dword [edx + 0xc]
test eax, eax
je 0x47b01c
sub esp, 0xc
mov ebx, dword [eax + 0xc0]
push ebx
call fcn.00414a70
mov ebx, dword [ebp + 8]
mov edx, dword [ebx + 0xa8]
xor ebx, ebx
mov ecx, dword [edx + 0x28]
imul eax, ecx
add dword [ebp - 0x140], eax
adc dword [ebp - 0x13c], ebx
add esp, 0x10
jmp 0x47b01c
mov ecx, dword [ebp + 8]
mov ebx, 1
mov eax, dword [ecx + 4]
mov eax, dword [eax]
push eax
mov eax, dword [edx]
push eax
mov eax, dword [ecx]
push eax
push str._s:_relocatable_link_from__s_to__s_not_supported
call dword [0x4c20bc]
mov dword [esp], 5
call fcn.00408440
mov edx, dword [ebp - 0x38]
add esp, 0x10
jmp 0x47af0c
mov ebx, 1
jmp 0x47af0c
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x47b232
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x64]
mov dword [ebp - 0x94], edx
test edx, edx
je 0x47c9c0
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp - 0x94]
mov ecx, dword [ecx + 0xc0]
mov dword [ebp - 0x8c], ecx
test ecx, ecx
jne 0x47b39c
jmp 0x47bb25
mov eax, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x94]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
push eax
push edi
push esi
push ebx
call fcn.00416150
add esp, 0x10
test eax, eax
je 0x47b074
mov ecx, dword [ebp - 0x8c]
mov ecx, dword [ecx]
mov dword [ebp - 0x8c], ecx
test ecx, ecx
je 0x47bb25
mov ebx, dword [ebp - 0x8c]
mov ecx, dword [ebx + 4]
cmp ecx, 1
je 0x47b3be
lea eax, [ecx - 3]
cmp eax, 1
ja 0x47b360
mov dword [ebp - 0x11c], 1
jmp 0x47b386
mov eax, dword [ebx + 0x18]
mov eax, dword [eax + 0xb4]
mov dword [ebp - 0x150], eax
mov esi, eax
mov eax, dword [eax + 4]
cmp dword [eax + 4], 1
jne 0x47b3aa
test byte [esi + 0x2b], 0x40
jne 0x47b386
mov al, byte [esi + 0x28]
and eax, 7
dec al
je 0x47b3fc
push ebx
push ebx
push 0x148e
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_aoutx.h
call fcn.004075e0
add esp, 0x10
mov edi, dword [ebp - 0x150]
test byte [edi + 0x29], 8
je 0x47b43b
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x1b4]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x47b43b
mov edx, dword [ebp - 0x78]
push ecx
push ecx
push edi
push edx
call eax
add esp, 0x10
test eax, eax
je 0x47b074
mov edx, dword [ebp - 0x150]
or byte [edx + 0x2b], 0x40
jmp 0x47b386
mov eax, dword [ebp - 0x150]
call fcn.00476040
test eax, eax
je 0x47b074
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x150]
mov dword [ebp - 0xdc], eax
mov edx, dword [ecx + 0xa8]
mov ecx, dword [ebp - 0x78]
mov ebx, dword [edx + 0x78]
mov esi, dword [edx + 0x58]
mov dword [ebp - 0xf4], ebx
mov al, byte [ecx + 1]
mov bl, al
shr al, 5
shr bl, 3
and eax, 3
and ebx, 3
mov byte [ebp - 0xe2], al
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 0xe1], bl
mov dword [ebp - 0xf8], eax
cmp bl, 3
je 0x47b4bf
cmp bl, 2
je 0x47c390
cmp byte [ebp - 0xe2], 3
jne 0x47bf35
mov eax, dword [ebp - 0x150]
mov edx, dword [eax + 0xa8]
mov ebx, dword [edx + 0x50]
lea eax, [esi + esi*2]
mov edx, dword [edx + 0xa0]
mov ecx, esi
lea eax, [ebx + eax*4]
mov dword [ebp - 0x100], edx
shl ecx, 2
mov edx, dword [ebp - 0x30]
cld
mov dword [ebp - 0xfc], eax
mov edi, edx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
cmp ebx, dword [ebp - 0xfc]
jae 0x47bdc1
add ebx, 0xc
add edx, 4
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x108], 0
jmp 0x47b563
mov dword [ebp - 0x108], 0
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xa0]
add ecx, 4
cmp dword [ebp - 0xfc], eax
mov dword [ebp - 0x9c], ecx
jbe 0x47bdc1
mov edx, dword [ebp - 0x100]
add eax, 0xc
add edx, 4
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x100], edx
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
sub edx, 0xc
mov dword [ebp - 0x98], edx
cmp dword [ecx - 4], 0xffffffff
je 0x47b52a
mov ebx, dword [ebp - 0xa0]
mov dword [ecx - 4], 0xffffffff
mov edx, dword [ebp - 0x150]
sub esp, 0xc
movzx esi, byte [ebx - 8]
mov eax, esi
and eax, 0xff
mov dword [ebp - 0x10c], eax
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x98]
push edx
call dword [eax + 0x4c]
mov ecx, dword [ebp - 0xf4]
add esp, 0x10
add ecx, eax
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xe0], ecx
test eax, eax
jne 0x47b664
mov eax, dword [ebp - 0x108]
test eax, eax
jne 0x47b520
mov edi, dword [ebp - 0x100]
mov edi, dword [edi]
mov dword [ebp - 0x110], edi
test edi, edi
je 0x47b7b6
mov al, byte [edi + 0xc]
cmp al, 7
je 0x47bad1
mov edx, dword [edi + 4]
sub eax, 6
mov dword [ebp - 0xe0], edx
mov ebx, edi
cmp al, 1
jbe 0x47bad1
mov ecx, dword [ebp - 0x110]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x47b7b8
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x9c]
and eax, 0x1e
cmp eax, 0xa
sete al
cmp dword [ebp - 0x10c], 0x1e
sete dl
or eax, edx
mov edx, dword [ebp - 0x110]
and eax, 0xff
mov dword [ebp - 0x108], eax
mov eax, dword [edx + 0x24]
mov dword [ecx - 4], eax
jmp 0x47b52a
mov ebx, dword [ebp - 0x150]
sub esp, 0xc
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebx + 4]
sub eax, 4
push eax
call dword [edx + 0x4c]
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], edx
mov al, byte [ebp - 0x10c]
mov dword [ebp - 0x110], 0
add esp, 0x10
mov edx, dword [ebp - 0xf8]
sub esp, 0xc
mov byte [edx + 4], al
mov ecx, dword [ebp - 0xa0]
mov al, byte [ecx - 7]
mov byte [edx + 5], al
mov ebx, dword [ebp - 0xdc]
mov esi, dword [ebp - 0x150]
mov eax, dword [ebx + 4]
mov edx, dword [esi + 4]
mov ebx, dword [eax + 0x60]
mov eax, dword [ebp - 0x98]
add eax, 6
push eax
call dword [edx + 0x58]
add esp, 0xc
mov ecx, dword [ebp - 0xf8]
add ecx, 6
push ecx
push edx
push eax
call ebx
mov eax, dword [ebp - 0x78]
add esp, 0x10
xor edx, edx
test byte [eax + 3], 1
jne 0x47b71c
mov eax, dword [ebp - 0x110]
mov dl, 1
test eax, eax
je 0x47b71c
mov edi, dword [ebp - 0x110]
xor dl, dl
mov edi, dword [edi + 4]
mov dword [ebp - 0xe0], edi
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x58]
test eax, eax
je 0x47b738
mov eax, dword [ebp - 0xe0]
cmp byte [eax], 0
jne 0x47b961
xor edx, edx
xor ecx, ecx
mov ebx, dword [ebp - 0xdc]
push edi
mov esi, dword [ebp - 0xf8]
mov eax, dword [ebx + 4]
push esi
push ecx
push edx
call dword [eax + 0x54]
add esp, 0xc
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0xf8]
add eax, 8
mov edi, dword [ebp - 0x114]
mov esi, dword [ebp - 0x118]
push eax
push edi
push esi
call dword [edx + 0x54]
mov eax, dword [ebx + 0xa8]
mov esi, dword [ebp - 0x9c]
mov eax, dword [eax + 0x58]
mov edi, dword [ebp - 0x104]
mov dword [esi - 4], eax
mov eax, dword [ebx + 0xa8]
mov ebx, dword [ebp - 0xf8]
mov dword [ebp - 0x84], edi
add dword [eax + 0x58], 1
adc dword [eax + 0x5c], 0
add ebx, 0xc
add esp, 0x10
mov dword [ebp - 0xf8], ebx
jmp 0x47b52a
xor ebx, ebx
cmp byte [ebp - 0xe1], 2
je 0x47bafe
ja 0x47b9b8
cmp byte [ebp - 0xe1], 1
je 0x47b9ab
mov edx, dword [ebp - 0x10c]
and edx, 0x1e
cmp edx, 4
je 0x47ba4a
cmp dword [ebp - 0x10c], 0xf
je 0x47ba4a
cmp edx, 6
je 0x47bed5
cmp dword [ebp - 0x10c], 0x10
je 0x47bed5
cmp edx, 8
je 0x47c03a
cmp dword [ebp - 0x10c], 0x11
je 0x47c03a
cmp edx, 2
je 0x47c19d
cmp dword [ebp - 0x10c], 0xe
je 0x47c19d
cmp edx, 0xa
je 0x47c1b4
mov ecx, esi
cmp cl, 0x1e
je 0x47c1c6
test byte [ebp - 0x10c], 0xe0
jne 0x47c8a7
cmp edx, 0xa
sete al
and eax, 0xff
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x110]
test eax, eax
je 0x47c185
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x178], al
sub eax, 3
cmp al, 1
jbe 0x47c7a7
cmp byte [ebp - 0x178], 5
je 0x47c786
cmp byte [ebp - 0x178], 2
je 0x47c47b
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
mov esi, dword [ebp - 0x110]
test esi, esi
je 0x47bee9
mov esi, dword [ebp - 0x110]
mov edi, dword [ebp - 0xdc]
mov dword [esi + 0x20], 1
mov eax, dword [edi + 0xa8]
mov eax, dword [eax + 0x58]
mov dword [esi + 0x24], eax
mov al, byte [ebp - 0x10c]
cmp dword [ebp - 0x10c], 0x82
jne 0x47b6a6
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
cmp dword [ebp - 0xfc], ecx
jbe 0x47be20
mov esi, ecx
xor edi, edi
jmp 0x47b94f
cmp al, 0x82
je 0x47b9a8
test edi, edi
je 0x47b9d8
add esi, 0xc
cmp dword [ebp - 0xfc], esi
jbe 0x47be20
mov al, byte [esi + 4]
cmp al, 0xa2
jne 0x47b934
test edi, edi
je 0x47be20
dec edi
jmp 0x47b940
push edx
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0x28]
shr eax, 0xf
xor eax, 0xffffffff
and eax, 1
push eax
mov eax, dword [ebp - 0xe0]
push eax
push ecx
call fcn.00418a90
add esp, 0x10
mov ecx, edx
mov edx, eax
and eax, ecx
inc eax
je 0x47b074
add edx, 4
adc ecx, 0
mov eax, edx
and eax, ecx
inc eax
jne 0x47b73c
jmp 0x47b074
inc edi
jmp 0x47b940
test byte [ebp - 0x10c], 0xe0
je 0x47b7d8
mov eax, dword [ebp - 0x110]
test eax, eax
je 0x47b52a
mov ebx, dword [ebp - 0x110]
mov dword [ebx + 0x20], 1
jmp 0x47b52a
mov ebx, dword [ebp - 0x150]
sub esp, 0xc
mov eax, dword [ebx + 4]
push esi
call dword [eax + 0x4c]
mov ebx, dword [ebp - 0xf4]
add ebx, eax
add esp, 0x10
mov cl, byte [ebx]
test cl, cl
jne 0x47ba0b
jmp 0x47b940
inc ebx
mov cl, byte [ebx]
test cl, cl
je 0x47b940
movsx eax, cl
mov edx, eax
sar edx, 0x1f
add dword [ebp - 0x118], eax
adc dword [ebp - 0x114], edx
cmp cl, 0x28
jne 0x47ba00
xor eax, eax
lea edx, [ebx + 1]
mov al, byte [ebx + 1]
test byte [eax + eax + 0x4f3a40], 4
je 0x47ba45
inc edx
xor eax, eax
mov al, byte [edx]
test byte [eax + eax + 0x4f3a40], 4
jne 0x47ba36
lea ebx, [edx - 1]
jmp 0x47ba00
mov esi, dword [ebp - 0x150]
mov eax, dword [esi + 0xa8]
mov edi, dword [eax + 8]
test edi, edi
je 0x47b8a7
mov eax, dword [edi + 0x58]
mov ecx, dword [ebp - 0x150]
mov edx, dword [edi + 0x54]
sub esp, 0xc
mov ebx, dword [eax + 0x20]
mov esi, dword [eax + 0x24]
mov eax, dword [edi + 0x50]
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x118], eax
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x98]
add eax, 8
push eax
call dword [edx + 0x4c]
add dword [ebp - 0x118], ebx
mov ebx, dword [edi + 0x20]
adc dword [ebp - 0x114], esi
mov esi, dword [edi + 0x24]
sub dword [ebp - 0x118], ebx
mov dword [ebp - 0x104], 0
sbb dword [ebp - 0x114], esi
add dword [ebp - 0x118], eax
adc dword [ebp - 0x114], edx
add esp, 0x10
jmp 0x47b8c5
mov ecx, dword [ebp - 0x110]
mov ebx, dword [ecx + 0x14]
mov al, byte [ebx + 0xc]
sub eax, 6
cmp al, 1
ja 0x47baf1
mov ebx, dword [ebx + 0x14]
mov al, byte [ebx + 0xc]
sub eax, 6
cmp al, 1
jbe 0x47bae4
mov edi, dword [ebp - 0x100]
mov dword [edi], ebx
jmp 0x47b616
mov eax, dword [ebp - 0xe0]
push 0
push 0
push eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 0x24]
push eax
call fcn.00418950
add esp, 0x10
test eax, eax
jne 0x47b7d8
jmp 0x47b9b8
mov ebx, dword [ebp - 0x94]
mov ebx, dword [ebx + 0xc]
mov dword [ebp - 0x94], ebx
test ebx, ebx
jne 0x47b341
mov edi, dword [ebp + 0xc]
lea esi, [ebp - 0x78]
push ecx
push esi
push fcn.00476210
mov edx, dword [edi + 0x20]
push edx
call fcn.00418240
mov eax, dword [ebp - 0x11c]
add esp, 0x10
test eax, eax
je 0x47c216
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x64]
mov dword [ebp - 0x90], eax
test eax, eax
je 0x47c216
mov edx, dword [ebp - 0x90]
mov edx, dword [edx + 0xc0]
mov dword [ebp - 0x88], edx
test edx, edx
jne 0x47bba8
jmp 0x47c9de
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
test eax, eax
je 0x47c9de
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx + 4]
lea eax, [edx - 3]
cmp eax, 1
ja 0x47bb92
mov ebx, dword [ecx + 0x18]
cmp edx, 3
mov dword [ebp - 0xb8], ebx
je 0x47c3ec
cmp edx, 4
je 0x47bbe4
push eax
push eax
push 0xe8e
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_aoutx.h
call fcn.004075e0
add esp, 0x10
mov edi, dword [ebp - 0xb8]
push eax
push eax
push 1
push 0
push 0
mov eax, dword [edi + 4]
mov edi, dword [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x78]
push eax
push edi
call fcn.00415b80
add esp, 0x20
mov ebx, eax
test eax, eax
je 0x47ca7d
mov esi, dword [eax + 0x24]
test esi, esi
js 0x47ca50
mov edx, dword [ebp - 0x74]
mov ebx, 1
mov edi, dword [ebp - 0xb8]
push eax
push eax
mov eax, dword [edi]
push eax
push edx
call fcn.00413030
add esp, 0x10
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x47ca3e
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x90]
mov eax, dword [edx + 0xa8]
cmp ecx, dword [eax + 8]
je 0x47ca30
cmp ecx, dword [eax + 0xc]
jne 0x47c61a
lea edi, [ebp - 0x68]
mov dword [ebp - 0xc0], edi
cmp dword [eax + 0x28], 8
je 0x47c4a8
push edi
lea edi, [ebp - 0x28]
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x88]
push edi
mov ecx, dword [edx + 0xc]
push ecx
mov edx, dword [edx + 8]
push edx
call dword [eax + 0x54]
mov ecx, dword [ebp - 0x74]
add esp, 0x10
mov dword [ebp - 0x164], ecx
mov eax, dword [ecx + 4]
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x47c3c2
mov eax, esi
mov edx, dword [ebp - 0xbc]
sar eax, 0x10
mov byte [ebp - 0x24], al
mov eax, esi
sar eax, 8
mov byte [ebp - 0x23], al
mov eax, esi
mov byte [ebp - 0x22], al
mov al, bl
neg eax
mov edi, dword [edx]
and eax, 0xffffff80
or eax, edi
mov byte [ebp - 0x21], al
mov edi, dword [ebp - 0x164]
mov ecx, dword [ebp - 0xb8]
lea edx, [ebp - 0x20]
push esi
mov eax, dword [edi + 4]
push edx
mov ebx, dword [ecx + 0xc]
lea edi, [ebp - 0x28]
push ebx
mov ecx, dword [ecx + 8]
push ecx
call dword [eax + 0x54]
mov ebx, dword [ebp - 0x74]
add esp, 0x10
mov dword [ebp - 0x164], ebx
mov esi, dword [ebp - 0x164]
mov eax, dword [esi + 0xa8]
mov ebx, dword [eax + 0x28]
mov eax, dword [ebp - 0xc0]
push 0
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
push esi
call fcn.0040ef00
add esp, 0x10
test eax, eax
jne 0x47b074
xor esi, esi
mov eax, dword [ebp - 0x74]
push eax
push esi
push ebx
push edi
call fcn.0040ec80
add esp, 0x10
mov ecx, eax
xor ecx, ebx
or ecx, edx
jne 0x47b074
mov edx, dword [ebp - 0x74]
mov esi, dword [ebp - 0xc0]
xor ebx, ebx
mov eax, dword [edx + 0xa8]
mov ecx, dword [eax + 0x28]
add ecx, dword [esi]
adc ebx, dword [esi + 4]
mov dword [esi], ecx
mov dword [esi + 4], ebx
mov eax, dword [edx + 0xa8]
cmp ebx, dword [eax + 0x1c]
jg 0x47bda8
jl 0x47bd7f
cmp ecx, dword [eax + 0x18]
ja 0x47bda8
mov edi, dword [ebp - 0xc0]
cmp dword [ebp - 0x16c], edi
jne 0x47bb92
mov eax, dword [eax + 0xc]
cmp ebx, dword [eax + 0x7c]
jl 0x47bb92
jg 0x47bda8
cmp ecx, dword [eax + 0x78]
jbe 0x47bb92
push ebx
push ebx
push 0xf41
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_aoutx.h
call fcn.004075e0
add esp, 0x10
jmp 0x47bb92
mov edx, dword [ebp - 0xf8]
cmp edx, dword [ebp - 0x2c]
ja 0x47c0bb
mov edx, dword [ebp - 0x150]
mov eax, dword [edx + 0xa8]
mov ecx, dword [eax + 8]
test byte [ecx + 0x18], 2
jne 0x47c082
mov ecx, dword [eax + 0xc]
test byte [ecx + 0x18], 2
jne 0x47c055
mov eax, dword [ebp - 0x78]
test byte [eax + 3], 1
jne 0x47b42c
mov eax, dword [ebp - 0x150]
call fcn.00475e60
test eax, eax
jne 0x47b42c
jmp 0x47b074
mov eax, dword [ebp - 0x78]
lea esi, [ebp - 0x54]
mov al, byte [eax + 3]
xor eax, 1
and eax, 1
push eax
mov eax, dword [ebp - 0xe0]
push 1
push eax
push esi
call fcn.00418950
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x47b074
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x47be62
jmp 0x47bfff
mov ecx, dword [ecx]
test ecx, ecx
je 0x47bfff
mov edx, dword [ebp - 0x114]
mov edi, dword [ecx + 0xc]
mov eax, dword [ebp - 0x118]
mov esi, dword [ecx + 8]
xor edx, edi
xor eax, esi
or edx, eax
jne 0x47be58
mov edi, dword [ebp - 0xa0]
cmp dword [ebp - 0xfc], edi
jbe 0x47c04e
mov edx, edi
mov ecx, dword [ebp - 0x9c]
add edx, 0xc
xor ebx, ebx
jmp 0x47bec0
cmp al, 0x82
je 0x47bed2
test ebx, ebx
jne 0x47beae
mov dword [ecx], 0xffffffff
cmp dword [ebp - 0xfc], edx
jbe 0x47c04e
add ecx, 4
add edx, 0xc
mov al, byte [edx - 8]
cmp al, 0xa2
jne 0x47bea0
test ebx, ebx
je 0x47c1a7
dec ebx
jmp 0x47beae
inc ebx
jmp 0x47beae
mov edi, dword [ebp - 0x150]
mov eax, dword [edi + 0xa8]
mov edi, dword [eax + 0xc]
jmp 0x47ba59
mov eax, dword [ebp - 0x10c]
and eax, 0x1e
cmp eax, 0x16
je 0x47b8f2
cmp eax, 0x18
je 0x47b8f2
cmp eax, 0x1a
je 0x47b8f2
cmp eax, 0x14
je 0x47b8f2
cmp byte [ebp - 0xe2], 2
je 0x47c9fa
cmp byte [ebp - 0xe2], 3
jne 0x47b8f2
jmp 0x47b52a
mov ecx, dword [ebp - 0xf8]
mov byte [ecx + 4], 4
mov byte [ecx + 5], 0
mov ebx, dword [ebp - 0xdc]
push eax
mov eax, ecx
mov edx, dword [ebx + 4]
add eax, 6
push eax
push 0
push 0
call dword [edx + 0x60]
mov eax, dword [ebp - 0x150]
add esp, 0x10
mov ecx, dword [ebp - 0x58]
mov edx, dword [eax]
test edx, edx
je 0x47bf75
cmp byte [edx], 0
jne 0x47c430
xor edx, edx
xor ecx, ecx
mov ebx, dword [ebp - 0xdc]
push edi
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0xf8]
push ebx
push ecx
push edx
call dword [eax + 0x54]
mov edx, dword [ebp - 0x150]
add esp, 0xc
mov eax, dword [edx + 0xa8]
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0xdc]
mov ebx, dword [eax + 4]
mov eax, dword [ebp - 0xf8]
add eax, 8
push eax
mov eax, dword [ecx + 0x58]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
add eax, dword [ecx + 0x50]
adc edx, dword [ecx + 0x54]
push edx
push eax
call dword [ebx + 0x54]
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + 0xa8]
mov ecx, dword [ebp - 0xf8]
add dword [eax + 0x58], 1
adc dword [eax + 0x5c], 0
add ecx, 0xc
mov dword [ebp - 0xf8], ecx
mov ecx, dword [ebp - 0x150]
add esp, 0x10
mov edx, dword [ecx + 0xa8]
jmp 0x47b4bf
lea edi, [ebp - 0x54]
push eax
push eax
push 0x10
push edi
call fcn.004183a0
add esp, 0x10
mov edx, eax
test eax, eax
je 0x47b074
mov esi, dword [ebp - 0x118]
mov edi, dword [ebp - 0x114]
mov dword [eax + 8], esi
mov dword [eax + 0xc], edi
mov eax, dword [ebx + 0xc]
mov dword [edx], eax
mov al, 0x82
mov dword [ebx + 0xc], edx
jmp 0x47b6a6
mov edx, dword [ebp - 0x150]
mov eax, dword [edx + 0xa8]
mov edi, dword [eax + 0x10]
jmp 0x47ba59
mov al, 0xc2
jmp 0x47b6a6
push ebx
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
push edx
mov edx, dword [ebp - 0x150]
mov eax, dword [eax + 0x38]
push eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x78]
call fcn.00476530
add esp, 0x10
test eax, eax
jne 0x47bdf6
jmp 0x47b074
push edx
mov edx, dword [ebp - 0x150]
mov eax, dword [eax]
mov edi, dword [eax + 0x34]
push edi
mov esi, dword [eax + 0x30]
lea eax, [ebp - 0x78]
push esi
lea esi, [ebp - 0x70]
push esi
call fcn.00476530
add esp, 0x10
test eax, eax
je 0x47b074
mov edi, dword [ebp - 0x150]
mov eax, dword [edi + 0xa8]
jmp 0x47bde9
mov edi, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x60]
mov ebx, dword [ebp - 0xdc]
push 0
push edi
push esi
push ebx
call fcn.0040ef00
add esp, 0x10
test eax, eax
jne 0x47b074
mov edi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0xf8]
sub ebx, edi
sar ebx, 2
lea eax, [ebx + ebx*4]
mov ecx, eax
shl ecx, 4
add eax, ecx
mov ecx, eax
shl ecx, 8
add eax, ecx
mov ecx, eax
shl ecx, 0x10
add eax, ecx
lea eax, [ebx + eax*2]
mov edx, eax
mov ecx, eax
sar edx, 0x1f
mov ebx, edx
mov esi, edx
shld ebx, ecx, 2
shl ecx, 2
mov dword [ebp - 0x15c], ebx
mov ebx, eax
mov dword [ebp - 0x160], ecx
shld esi, ebx, 4
shl ebx, 4
mov ecx, dword [ebp - 0xdc]
sub ebx, dword [ebp - 0x160]
push ecx
sbb esi, dword [ebp - 0x15c]
push esi
push ebx
push edi
call fcn.0040ec80
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], edx
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xf0]
xor edx, esi
xor eax, ebx
add esp, 0x10
or edx, eax
jne 0x47b074
mov ebx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xec]
add dword [ebp - 0x60], ebx
adc dword [ebp - 0x5c], esi
jmp 0x47bdd0
cmp edx, 0x16
je 0x47c900
jg 0x47c8de
cmp edx, 0x14
jne 0x47b8a7
mov edi, 0x4c2270
jmp 0x47ba61
mov al, 0xc2
mov dword [ecx], 0xffffffff
jmp 0x47b6a6
test ebx, ebx
je 0x47c1c6
mov al, byte [ebx + 0xc]
sub eax, 3
cmp al, 2
jbe 0x47b842
mov ebx, dword [ebp - 0x150]
sub esp, 0xc
mov eax, dword [ebp - 0x98]
mov edx, dword [ebx + 4]
add eax, 8
push eax
call dword [edx + 0x4c]
add esp, 0x10
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x104], 1
jmp 0x47b8c5
mov eax, dword [ebp + 0xc]
lea edi, [ebp - 0x78]
push ebx
push edi
push fcn.00476210
mov ecx, dword [eax + 0x20]
push ecx
call fcn.00418240
add esp, 0x10
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x47c230
sub esp, 0xc
push eax
call sub.msvcrt.dll_free
mov dword [ebp - 0x38], 0
add esp, 0x10
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x47c24a
sub esp, 0xc
push eax
call sub.msvcrt.dll_free
mov dword [ebp - 0x34], 0
add esp, 0x10
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x47c264
sub esp, 0xc
push eax
call sub.msvcrt.dll_free
mov dword [ebp - 0x30], 0
add esp, 0x10
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x47c27e
sub esp, 0xc
push eax
call sub.msvcrt.dll_free
mov dword [ebp - 0x2c], 0
add esp, 0x10
sub esp, 0xc
lea ecx, [ebp - 0x54]
push ecx
call fcn.00418770
mov ebx, dword [ebp + 8]
add esp, 0x10
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x1b4]
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x47c2b4
mov edx, dword [ebp + 0xc]
push ecx
push ecx
push edx
push ebx
call eax
add esp, 0x10
test eax, eax
je 0x47af07
mov esi, dword [ebp + 8]
mov edx, dword [esi + 0xa8]
mov eax, dword [edx + 0x58]
mov edx, dword [edx]
mov dword [esi + 0x84], eax
lea eax, [eax + eax*2]
mov dword [edx + 0x24], 0
shl eax, 2
mov dword [edx + 0x20], eax
mov ecx, dword [esi + 0xa8]
mov eax, dword [ecx]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
add eax, dword [ecx + 0x18]
adc edx, dword [ecx + 0x1c]
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], edx
xor edx, edx
mov eax, dword [esi + 0xa8]
mov ecx, dword [eax]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0x28]
push edx
push eax
mov eax, dword [ecx + 0x34]
push eax
mov eax, dword [ecx + 0x30]
push eax
call fcn.004bbe10
mov dword [ebx + 0x68], eax
add esp, 0x10
mov eax, dword [esi + 0xa8]
xor edx, edx
mov ecx, dword [eax]
mov ebx, dword [eax + 0xc]
mov eax, dword [eax + 0x28]
push edx
push eax
mov eax, dword [ecx + 0x3c]
push eax
mov eax, dword [ecx + 0x38]
push eax
call fcn.004bbe10
add esp, 0x10
mov dword [ebx + 0x68], eax
push 0
mov eax, dword [esi + 0xa8]
mov edi, dword [eax + 0x24]
push edi
mov ebx, dword [eax + 0x20]
push ebx
push esi
call fcn.0040ef00
add esp, 0x10
test eax, eax
jne 0x47af07
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x84]
test ecx, ecx
je 0x47aedf
mov edx, dword [ebp - 0x58]
mov eax, edi
call fcn.00477f50
test eax, eax
je 0x47af07
mov eax, 1
jmp 0x47af6c
mov edx, dword [ebp - 0x150]
push 0
push 0
mov eax, dword [edx]
push eax
mov eax, dword [ecx + 0x24]
push eax
call fcn.00418950
add esp, 0x10
test eax, eax
jne 0x47b4a6
mov ebx, dword [ebp - 0x150]
mov edx, dword [ebx + 0xa8]
jmp 0x47b4bf
mov eax, esi
mov ecx, esi
sar eax, 0x10
mov byte [ebp - 0x24], cl
mov byte [ebp - 0x22], al
mov eax, esi
sar eax, 8
mov esi, dword [ebp - 0xbc]
mov byte [ebp - 0x23], al
mov eax, dword [esi]
shl eax, 3
or eax, ebx
mov byte [ebp - 0x21], al
jmp 0x47bcd5
mov eax, dword [ebx + 4]
cmp eax, 0x4c2270
je 0x47c46c
mov edx, dword [eax + 0xb4]
cmp edx, dword [ebp - 0x74]
je 0x47c421
push eax
push eax
push 0xe86
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_aoutx.h
call fcn.004075e0
mov esi, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x74]
mov eax, dword [esi + 4]
add esp, 0x10
mov esi, dword [eax + 0xa8]
xor ebx, ebx
jmp 0x47bc23
push 0
mov eax, dword [ebx + 0x28]
shr eax, 0xf
xor eax, 0xffffffff
and eax, 1
push eax
push edx
push ecx
call fcn.00418a90
mov ecx, edx
mov edx, eax
and eax, ecx
add esp, 0x10
inc eax
je 0x47b074
add edx, 4
adc ecx, 0
mov eax, edx
and eax, ecx
inc eax
jne 0x47bf79
jmp 0x47b074
mov edx, dword [ebp - 0x74]
mov esi, 3
xor ebx, ebx
jmp 0x47bc23
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x10c], 0xd
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
jmp 0x47b8c5
mov ecx, dword [ebp - 0xbc]
mov edi, dword [ebp - 0xbc]
mov eax, dword [ecx]
mov edi, dword [edi + 0x10]
shr eax, 3
mov dword [ebp - 0xc4], edi
mov edi, eax
shr eax, 1
and edi, 1
mov dword [ebp - 0xc8], edi
mov ecx, eax
mov edi, dword [ebp - 0xbc]
and ecx, 1
shr eax, 1
mov dword [ebp - 0xcc], ecx
and eax, 1
mov edi, dword [edi + 8]
mov dword [ebp - 0xd0], eax
push eax
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x88]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0xd4], edi
push edx
mov edi, dword [ecx + 0xc]
push edi
mov edx, dword [ecx + 8]
push edx
call dword [eax + 0x54]
mov edi, dword [ebp - 0x74]
add esp, 0x10
mov dword [ebp - 0x164], edi
mov eax, dword [edi + 4]
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x47c722
mov eax, esi
mov dl, byte [ebp - 0xc8]
sar eax, 0x10
mov byte [ebp - 0x18], al
mov eax, esi
sar eax, 8
mov byte [ebp - 0x17], al
mov eax, esi
mov byte [ebp - 0x16], al
mov al, bl
neg eax
and eax, 0x10
mov bl, byte [ebp - 0xcc]
cmp dword [ebp - 0xc4], 1
sbb ecx, ecx
neg edx
mov edi, edx
mov dl, byte [ebp - 0xd0]
neg edx
mov esi, edx
mov dl, byte [ebp - 0xd4]
xor ecx, 0xffffffff
and edi, 8
shl edx, 5
and ecx, 0xffffff80
or eax, edx
and esi, 2
neg ebx
or eax, ecx
and ebx, 4
or eax, edi
or eax, ebx
or eax, esi
mov byte [ebp - 0x15], al
mov esi, dword [ebp - 0xb8]
lea edi, [ebp - 0x1c]
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
je 0x47bd03
sub esp, 0xc
mov ecx, dword [ebp - 0xbc]
xor esi, esi
push ecx
call fcn.00413340
mov ebx, eax
pop eax
pop edx
push esi
push ebx
call fcn.00410cf0
add esp, 0x10
mov dword [ebp - 0xd8], eax
test eax, eax
je 0x47c715
sub esp, 0xc
mov edi, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xd8]
push eax
mov eax, dword [edi + 0xc]
push eax
mov eax, dword [edi + 8]
mov edi, dword [ebp - 0xbc]
push eax
mov eax, dword [ebp - 0x74]
push eax
push edi
call fcn.004133a0
add esp, 0x20
test eax, eax
je 0x47c6aa
dec eax
je 0x47c62f
push ecx
push str.aout_link_reloc_link_order
push 0xf02
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_aoutx.h
call fcn.004081f0
push eax
push str.aout_link_reloc_link_order
push 0xeb6
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_aoutx.h
call fcn.004081f0
mov edi, dword [ebp - 0x78]
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [edi + 0x1c]
mov ecx, dword [ecx + 0x20]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xb0], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x88]
mov edx, dword [edx + 0xc]
mov dword [ebp - 0x174], edx
cmp dword [eax + 4], 3
je 0x47c6ff
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x174]
push edx
push edx
mov edx, dword [ebp - 0x178]
push 0
push 0
push 0
push 0
push ecx
mov ecx, dword [ebp - 0xb4]
push edx
push ecx
push eax
push 0
push edi
call dword [ebp - 0xb0]
add esp, 0x30
push edx
push esi
push ebx
mov ebx, dword [ebp - 0x88]
mov eax, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 8]
push eax
mov eax, dword [ebp - 0xd8]
push eax
mov eax, dword [ebp - 0x90]
push eax
mov eax, dword [ebp - 0x74]
push eax
call fcn.00411350
add esp, 0x14
mov ebx, eax
mov eax, dword [ebp - 0xd8]
push eax
call sub.msvcrt.dll_free
add esp, 0x10
test ebx, ebx
je 0x47b074
mov esi, dword [ebp - 0x74]
lea edi, [ebp - 0x1c]
mov dword [ebp - 0x164], esi
jmp 0x47bd03
mov edx, dword [ebp - 0xb8]
mov edx, dword [edx + 4]
mov dword [ebp - 0x17c], edx
mov eax, dword [edx]
jmp 0x47c67e
test ebx, ebx
jne 0x47b074
jmp 0x47c5cf
mov eax, esi
mov ecx, esi
sar eax, 0x10
mov byte [ebp - 0x18], cl
neg ebx
mov byte [ebp - 0x16], al
mov eax, esi
mov esi, ebx
mov bl, byte [ebp - 0xc8]
neg ebx
sar eax, 8
mov edi, ebx
mov cl, byte [ebp - 0xcc]
mov bl, byte [ebp - 0xd0]
neg ecx
neg ebx
mov byte [ebp - 0x17], al
mov dl, byte [ebp - 0xd4]
mov eax, dword [ebp - 0xc4]
and esi, 8
and edi, 0x10
and ecx, 0x20
and ebx, 0x40
test eax, eax
setne al
add edx, edx
or eax, edx
or eax, esi
or eax, edi
or eax, ecx
or eax, ebx
mov byte [ebp - 0x15], al
jmp 0x47c58d
mov esi, dword [ebx + 0x18]
mov edi, dword [ebx + 0x1c]
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x104], 0
jmp 0x47b8c5
mov edi, dword [ebx + 0x14]
mov esi, dword [edi + 0x58]
cmp esi, 0x4c2270
je 0x47c7e0
mov edx, dword [ebp - 0xdc]
cmp dword [esi + 0xb4], edx
je 0x47c7e0
push eax
push eax
push 0x139f
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.27_bfd_aoutx.h
call fcn.004075e0
mov cl, byte [ebx + 0xc]
mov byte [ebp - 0x178], cl
add esp, 0x10
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], edx
mov edx, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
add dword [ebp - 0x118], edx
mov ebx, dword [edi + 0x54]
adc dword [ebp - 0x114], ecx
mov ecx, dword [edi + 0x50]
add dword [ebp - 0x118], ecx
adc dword [ebp - 0x114], ebx
cmp dword [ebp - 0x10c], 0x16
je 0x47c9ac
cmp dword [ebp - 0x10c], 0x18
je 0x47c9ac
cmp dword [ebp - 0x10c], 0x1a
je 0x47c9ac
cmp dword [ebp - 0x10c], 0x14
je 0x47c9ac
mov ebx, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x10c]
and ecx, 0xffffffe1
mov eax, dword [ebx + 0xa8]
cmp dword [eax + 8], esi
je 0x47c97f
cmp dword [eax + 0xc], esi
je 0x47c952
cmp dword [eax + 0x10], esi
je 0x47c928
cmp byte [ebp - 0x178], 3
setne al
and eax, 0xff
mov dword [ebp - 0x104], 0
dec eax
and eax, 0xfffffff4
add eax, 0xe
or eax, ecx
mov dword [ebp - 0x10c], eax
jmp 0x47b8c5
mov esi, dword [ebp - 0x150]
sub esp, 0xc
mov eax, dword [ebp - 0x98]
mov edx, dword [esi + 4]
add eax, 8
push eax
call dword [edx + 0x4c]
add esp, 0x10
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x104], 0
jmp 0x47b8c5
cmp edx, 0x18
je 0x47c914
cmp edx, 0x1a
jne 0x47b8a7
mov ecx, dword [ebp - 0x150]
mov eax, dword [ecx + 0xa8]
mov edi, dword [eax + 0x10]
jmp 0x47ba59
mov edi, dword [ebp - 0x150]
mov eax, dword [edi + 0xa8]
mov edi, dword [eax + 8]
jmp 0x47ba59
mov edx, dword [ebp - 0x150]
mov eax, dword [edx + 0xa8]
mov edi, dword [eax + 0xc]
jmp 0x47ba59
cmp byte [ebp - 0x178], 3
setne al
and eax, 0xff
mov dword [ebp - 0x104], 0
lea eax, [eax + eax*8 + 8]
or eax, ecx
mov dword [ebp - 0x10c], eax
jmp 0x47b8c5
cmp byte [ebp - 0x178], 3
setne al
and eax, 0xff
mov dword [ebp - 0x104], 0
dec eax
and eax, 0xfffffff6
add eax, 0x10
or eax, ecx
mov dword [ebp - 0x10c], eax
jmp 0x47b8c5
cmp byte [ebp - 0x178], 3
setne al
and eax, 0xff
mov dword [ebp - 0x104], 0
dec eax
and eax, 0xfffffff5
add eax, 0xf
or eax, ecx
mov dword [ebp - 0x10c], eax
jmp 0x47b8c5
mov edi, dword [ebp - 0x10c]
or edi, 1
mov dword [ebp - 0x10c], edi
jmp 0x47c84a
mov esi, dword [ebp + 0xc]
lea ebx, [ebp - 0x78]
push edi
push ebx
push fcn.00476210
mov esi, dword [esi + 0x20]
push esi
call fcn.00418240
add esp, 0x10
jmp 0x47c216
mov edx, dword [ebp - 0x90]
mov edx, dword [edx + 0xc]
mov dword [ebp - 0x90], edx
test edx, edx
jne 0x47bb77
jmp 0x47c216
test byte [ebp - 0x10c], 0xe0
jne 0x47b8f2
mov edx, dword [ebp - 0x150]
push ebx
push ebx
mov ecx, dword [ebp - 0xe0]
mov eax, dword [edx + 4]
push ecx
push edx
call dword [eax + 0x11c]
add esp, 0x10
test eax, eax
jne 0x47b52a
jmp 0x47b8f2
lea ecx, [ebp - 0x70]
mov dword [ebp - 0xc0], ecx
jmp 0x47bc6f
sub esp, 0xc
push 0x11
call fcn.00408440
add esp, 0x10
jmp 0x47b074
mov dword [eax + 0x24], 0xfffffffe
mov dword [eax + 0x20], 0
lea eax, [ebp - 0x78]
push esi
push esi
push eax
push ebx
call fcn.00476210
add esp, 0x10
test eax, eax
je 0x47b074
mov esi, dword [ebx + 0x24]
jmp 0x47bc1b
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0xb8]
push ebx
push ebx
mov edx, dword [eax + 0x1c]
push 0
push 0
push 0
push 0
xor esi, esi
mov ecx, dword [ecx + 4]
mov ebx, 1
push ecx
push eax
call dword [edx + 0x24]
mov edx, dword [ebp - 0x74]
add esp, 0x20
jmp 0x47bc23