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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x320
mov edx, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x14]
mov edx, dword [edx + 0x68]
mov ebx, dword [ebx + 0x8c]
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x2c8], edx
mov dword [ebp - 0x2c0], ebx
mov edx, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x14]
mov eax, dword [eax + 0x5c]
mov ecx, dword [ecx + 0x84]
mov esi, dword [esi + 0x90]
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x2c4], ecx
mov eax, dword [edx + 0x20]
mov ecx, dword [ebx + 0x28]
mov edx, dword [edx + 0x24]
mov ebx, dword [ebx + 0x2c]
mov dword [ebp - 0x2bc], esi
mov esi, dword [edi + 0x30]
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2b4], edx
mov dword [ebp - 0x2b0], ecx
mov dword [ebp - 0x2ac], ebx
mov edi, dword [edi + 0x34]
mov dword [ebp - 0x2a8], esi
mov edx, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x2a4], edi
mov eax, dword [edx + 0x38]
mov edx, dword [edx + 0x3c]
mov ecx, dword [ebx + 0x40]
mov ebx, dword [ebx + 0x44]
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0x298], ecx
mov dword [ebp - 0x294], ebx
lea eax, [ebp - 0x1d8]
push 0x100
push 0
push eax
call sub.msvcrt.dll_memset
pop edx
pop ecx
push 0x4cdbf1
mov eax, dword [ebp + 0x18]
push eax
call fcn.00403940
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x45e427
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
add eax, dword [ecx + 0x50]
adc edx, dword [ecx + 0x54]
sub eax, dword [ecx + 0x20]
sbb edx, dword [ecx + 0x24]
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], edx
push eax
push eax
push 0x4cdbf7
mov eax, dword [ebp + 0x18]
push eax
call fcn.00403940
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x45e461
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
add eax, dword [ecx + 0x50]
adc edx, dword [ecx + 0x54]
sub eax, dword [ecx + 0x20]
sbb edx, dword [ecx + 0x24]
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x1c4], edx
push eax
push eax
push 0x4cdbfd
mov eax, dword [ebp + 0x18]
push eax
call fcn.00403940
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x45e49b
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
add eax, dword [ecx + 0x50]
adc edx, dword [ecx + 0x54]
sub eax, dword [ecx + 0x20]
sbb edx, dword [ecx + 0x24]
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], edx
push eax
push eax
push 0x4cdc02
mov edi, dword [ebp + 0x18]
push edi
call fcn.00403940
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x45e4d5
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
add eax, dword [ecx + 0x50]
adc edx, dword [ecx + 0x54]
sub eax, dword [ecx + 0x20]
sbb edx, dword [ecx + 0x24]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], edx
push esi
push esi
push 0x4cdc09
mov ebx, dword [ebp + 0x18]
push ebx
call fcn.00403940
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x45e50f
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
add eax, dword [ecx + 0x50]
adc edx, dword [ecx + 0x54]
sub eax, dword [ecx + 0x20]
sbb edx, dword [ecx + 0x24]
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], edx
push ecx
push ecx
push 0x4cdc0f
mov edx, dword [ebp + 0x18]
push edx
call fcn.00403940
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x45e549
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
add eax, dword [ecx + 0x50]
adc edx, dword [ecx + 0x54]
sub eax, dword [ecx + 0x20]
sbb edx, dword [ecx + 0x24]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], edx
push eax
push eax
push str..rodata
mov eax, dword [ebp + 0x18]
push eax
call fcn.00403940
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x45e583
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
add eax, dword [ecx + 0x50]
adc edx, dword [ecx + 0x54]
sub eax, dword [ecx + 0x20]
sbb edx, dword [ecx + 0x24]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], edx
push eax
push eax
push 0x4cdc1e
mov eax, dword [ebp + 0x18]
push eax
call fcn.00403940
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x45e5bd
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
add eax, dword [ecx + 0x50]
adc edx, dword [ecx + 0x54]
sub eax, dword [ecx + 0x20]
sbb edx, dword [ecx + 0x24]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
push eax
push eax
push 0x4cdc24
mov eax, dword [ebp + 0x18]
push eax
call fcn.00403940
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x45e5f7
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
add eax, dword [ecx + 0x50]
adc edx, dword [ecx + 0x54]
sub eax, dword [ecx + 0x20]
sbb edx, dword [ecx + 0x24]
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], edx
push edi
push edi
push 0x4cdc2a
mov esi, dword [ebp + 0x18]
push esi
call fcn.00403940
add esp, 0x10
mov ecx, eax
test eax, eax
je 0x45e631
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
add eax, dword [ecx + 0x50]
adc edx, dword [ecx + 0x54]
sub eax, dword [ecx + 0x20]
sbb edx, dword [ecx + 0x24]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], edx
mov esi, dword [ebp + 0x1c]
mov eax, dword [esi + 0xf0]
test eax, eax
je 0x45f5f7
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x280], 0x58
mov dword [ebp - 0x27c], 0
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x88]
mov ebx, eax
mov dword [ebp - 0x2d8], eax
sar ebx, 0x1f
mov dword [ebp - 0x2d4], ebx
push ebx
mov eax, dword [ebp - 0x2d8]
mov edx, dword [ebp - 0x2d4]
shld edx, eax, 2
shl eax, 2
push edx
push eax
mov ecx, dword [ebp + 0x18]
push ecx
call fcn.00409bc0
mov esi, dword [ebp + 0x1c]
mov edi, dword [ebp + 8]
add esp, 0x10
mov ecx, 8
mov edx, dword [esi + 0x88]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0x98]
add eax, edx
mul dword [ebp - 0x298]
mov ebx, eax
mov edx, dword [edi + 0x84]
test ebx, ebx
je 0x45e979
lea eax, [ebx + 7]
mov ecx, eax
and ecx, 0xfffffff8
jne 0x45e979
push eax
push eax
push ecx
push edx
call fcn.0048f420
add esp, 0x10
mov edi, eax
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0xec]
test eax, eax
je 0x45e9a7
test edi, edi
je 0x45e9a7
push eax
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
push ebx
push edi
add ecx, 0x7c
add edx, 0x78
mov eax, dword [ebp + 8]
call fcn.0045dce0
add esp, 0x10
test eax, eax
je 0x45eb40
mov eax, dword [ebp - 0x2d8]
mov ebx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x2d4]
mov esi, dword [ebp - 0x280]
imul ebx, eax
imul edx, esi
mov eax, dword [ebp - 0x280]
add ebx, edx
mul dword [ebp - 0x2d8]
add edx, ebx
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x2f4], edx
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ebp - 0x28c]
mov dword [ebp - 0x278], 0
add edx, ecx
mov dword [ebp - 0x284], edx
cmp dword [ebp - 0x28c], edx
jae 0x45eb84
mov ecx, dword [ebp - 0x280]
mov eax, dword [ebp - 0x28c]
mov ebx, ecx
mov esi, dword [ebp - 0x28c]
add ebx, eax
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x288], esi
mov dword [ebp - 0x21c], 0
jmp 0x45e866
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x1c]
mov ebx, dword [ecx + 0x88]
mov eax, dword [edx + 0xec]
mov edx, dword [ebp - 0x278]
add edx, ebx
mov ebx, dword [ebp - 0x21c]
mov dword [eax + ebx], edx
push ecx
push edi
mov eax, ebx
mov esi, dword [ebp + 0x1c]
mov edx, dword [esi + 0xec]
add eax, edx
push eax
mov ebx, dword [ebp + 0xc]
push ebx
call dword [ebp - 0x2bc]
mov ecx, dword [ebp - 0x278]
add esp, 0x10
inc ecx
mov dword [ebp - 0x278], ecx
mov eax, dword [ebp - 0x224]
mov ebx, dword [ebp - 0x210]
add ebx, eax
mov edx, dword [ebp - 0x288]
add edx, eax
mov dword [ebp - 0x210], ebx
mov ecx, dword [ebp - 0x21c]
mov dword [ebp - 0x288], edx
mov eax, dword [ebp - 0x210]
mov edx, dword [ebp - 0x220]
add ecx, 4
mov esi, dword [ebp - 0x298]
sub eax, edx
add edi, esi
mov dword [ebp - 0x21c], ecx
cmp dword [ebp - 0x284], eax
jbe 0x45eb84
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0xf0]
test eax, eax
je 0x45eb4a
push eax
push 0x58
mov eax, dword [ebp - 0x288]
lea edx, [ebp - 0xd8]
push eax
push edx
call sub.msvcrt.dll_memcpy
add esp, 0x10
mov eax, dword [ebp - 0x88]
or eax, dword [ebp - 0x84]
jne 0x45e7c6
mov edx, dword [ebp - 0xd0]
cmp edx, 0xffffffff
je 0x45e7c6
test byte [ebp - 0x94], 0x20
je 0x45e7c6
mov esi, dword [ebp + 0x1c]
mov eax, dword [ebp - 0xcc]
sub esp, 0xc
mov ebx, dword [esi + 0xd0]
add eax, ebx
lea ebx, [eax + edx]
push ebx
call sub.msvcrt.dll_strlen
pop edx
xor edx, edx
add eax, 0x14
pop ecx
adc edx, 0
push edx
push eax
call fcn.0040c040
add esp, 0x10
mov esi, eax
test eax, eax
je 0x45eb40
sub esp, 0xc
mov eax, dword [ebp - 0xa0]
push eax
mov eax, dword [ebp - 0xbc]
push eax
push ebx
push str._s__lx__lx
push esi
call fcn.0045b420
add esp, 0x20
push 1
push 1
push esi
mov eax, dword [ebp + 8]
push eax
call fcn.0040cae0
mov dword [esp], esi
mov ebx, eax
call fcn.004a3a08
add esp, 0x10
test ebx, ebx
je 0x45eb40
mov edx, dword [ebx + 0xc]
cmp edx, 0xffffffff
je 0x45eb6b
mov ecx, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x21c]
mov eax, dword [ecx + 0xec]
mov dword [eax + ebx], edx
push esi
push edi
mov eax, ebx
mov ebx, dword [ecx + 0xec]
add eax, ebx
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call dword [ebp - 0x2bc]
add esp, 0x10
jmp 0x45e813
cmp ecx, dword [edx + 4]
ja 0x45e6db
mov eax, dword [edx]
add eax, ecx
mov dword [edx], eax
mov eax, dword [edx + 4]
sub eax, ecx
mov dword [edx + 4], eax
mov eax, dword [edx]
sub eax, ecx
mov edi, eax
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax + 0xec]
test eax, eax
jne 0x45e6fa
sub esp, 0xc
push 6
call fcn.00404f10
xor eax, eax
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [ebp + 0x20]
mov edx, dword [ebp - 0x2b4]
mov eax, dword [ebp - 0x2b8]
mov ebx, dword [esi + 0x24]
mov ecx, dword [esi + 0x20]
xor edx, ebx
xor eax, ecx
or edx, eax
je 0x45e9ef
push eax
push eax
push 0x39c
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.25_bfd_ecofflink.c
call fcn.00404610
add esp, 0x10
mov ax, word [ebp - 0xa6]
test ax, ax
jle 0x45ea83
movsx ebx, ax
mov eax, dword [ebp - 0x2b8]
mov edi, dword [ebp + 8]
mul ebx
add edi, 0x40
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x2f8], edi
push eax
mov eax, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x2b8]
mov ebx, eax
mov edi, dword [ebp - 0x2b4]
and ebx, 0xffff
xor esi, esi
imul edi, ebx
imul edx, esi
mov eax, dword [ebp - 0x2b8]
add edx, edi
mov dword [ebp - 0x308], edx
add ecx, 0x44
mul ebx
mov esi, edx
mov edx, dword [ebp + 0x1c]
mov ebx, eax
mov eax, dword [ebp - 0x308]
add esi, eax
add ebx, dword [edx + 0x30]
adc esi, dword [edx + 0x34]
push esi
push ebx
mov edi, dword [ebp + 0x18]
push edi
mov edx, dword [ebp - 0x2f8]
mov eax, dword [ebp + 8]
call fcn.0045dd70
add esp, 0x10
test eax, eax
je 0x45eb40
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x2a8]
mov esi, dword [ecx + 0x34]
mov ebx, dword [ecx + 0x30]
xor edx, esi
xor eax, ebx
or edx, eax
je 0x45eab4
push eax
push eax
push 0x3a6
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.25_bfd_ecofflink.c
call fcn.00404610
add esp, 0x10
mov ebx, dword [ebp - 0xac]
test ebx, ebx
jle 0x45f48c
mov eax, dword [ebp - 0x2a8]
mov esi, dword [ebp + 8]
mul ebx
add esi, 0x50
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x2f8], esi
push eax
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x2a8]
mov edi, eax
mov ebx, dword [ebp - 0x2a4]
sar edi, 0x1f
mov esi, eax
imul ebx, eax
imul edx, edi
mov eax, dword [ebp - 0x2a8]
add edx, ebx
mov dword [ebp - 0x308], edx
add ecx, 0x54
mul esi
mov esi, edx
mov edx, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x308]
mov ebx, eax
add esi, edi
add ebx, dword [edx + 0x50]
adc esi, dword [edx + 0x54]
push esi
push ebx
mov ebx, dword [ebp + 0x18]
push ebx
mov edx, dword [ebp - 0x2f8]
mov eax, dword [ebp + 8]
call fcn.0045dd70
add esp, 0x10
test eax, eax
jne 0x45f486
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
lea ecx, [ebp - 0xd8]
push eax
push ecx
mov eax, dword [ebp - 0x288]
push eax
mov esi, dword [ebp + 0x18]
push esi
mov ebx, dword [ebp + 0x20]
call dword [ebx + 0x64]
add esp, 0x10
jmp 0x45e890
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 0x278]
mov edx, dword [esi + 0x88]
add eax, edx
mov dword [ebx + 0xc], eax
jmp 0x45e7c6
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x10]
mov edx, dword [edx + 0x98]
mov eax, dword [ecx + 0x88]
mov dword [ebp - 0x274], edx
add edx, eax
mov dword [ebx + 0x98], edx
mov dword [ebp - 0x2dc], edx
mov eax, dword [ecx + 0x98]
mov ebx, dword [ebp + 0x20]
mov edx, eax
mov esi, dword [ecx + 0xdc]
sar edx, 0x1f
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x31c], edx
mov eax, dword [ebx + 0x40]
mov ecx, dword [ebp - 0x31c]
mov edx, dword [ebx + 0x44]
imul ecx, eax
mov eax, dword [ebp - 0x320]
imul eax, edx
add ecx, eax
mov eax, dword [ebp - 0x320]
mul dword [ebx + 0x40]
add edx, ecx
mov dword [ebp - 0x328], eax
mov dword [ebp - 0x324], edx
mov edx, dword [ebp - 0x328]
lea ebx, [esi + edx]
cmp esi, ebx
jae 0x45eca1
mov ecx, dword [ebp - 0x298]
mov dword [ebp - 0x244], ecx
jmp 0x45ec28
mov ecx, dword [ebp - 0x244]
add edi, ecx
push eax
lea eax, [ebp - 0x14]
push eax
push esi
mov eax, dword [ebp + 0x18]
push eax
call dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x14]
add esp, 0x10
test edx, edx
js 0x45ec4d
mov ecx, dword [ebp + 0x1c]
cmp edx, dword [ecx + 0x88]
jl 0x45ec64
push eax
push eax
push 0x2d6
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.25_bfd_ecofflink.c
call fcn.00404610
add esp, 0x10
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ecx + 0xec]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0x14]
push edi
push eax
mov eax, dword [ebp + 0xc]
push eax
call dword [ebp - 0x2bc]
mov edx, dword [ebp + 0x20]
add esp, 0x10
mov eax, dword [edx + 0x40]
add esi, eax
cmp ebx, esi
ja 0x45ec20
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0x98]
mov dword [ebp - 0x2dc], ecx
mov esi, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0x2dc]
mov eax, ebx
mov edi, dword [ebp + 0x10]
mov edx, dword [esi + 0x98]
mov dword [ebp - 0x270], ebx
add eax, edx
mov ecx, 8
mov dword [edi + 0x98], eax
mov eax, dword [ebp - 0x278]
mul dword [ebp - 0x2a0]
mov ebx, eax
mov eax, dword [ebp + 8]
test ebx, ebx
mov edx, dword [eax + 0x84]
jne 0x45f000
cmp ecx, dword [edx + 4]
ja 0x45f00e
mov eax, dword [edx]
add eax, ecx
mov dword [edx], eax
mov eax, dword [edx + 4]
sub eax, ecx
mov dword [edx + 4], eax
mov eax, dword [edx]
sub eax, ecx
test eax, eax
je 0x45e9a7
mov dword [ebp - 0x26c], eax
push esi
push esi
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
push ebx
push eax
add ecx, 0x74
add edx, 0x70
mov eax, dword [ebp + 8]
call fcn.0045dce0
add esp, 0x10
test eax, eax
je 0x45eb40
mov edx, dword [ebp - 0x284]
cmp dword [ebp - 0x28c], edx
jae 0x45f566
mov ecx, dword [ebp - 0x280]
mov edi, dword [ebp + 8]
mov ebx, ecx
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x22c], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x28c]
mov esi, dword [ebp - 0x28c]
add ebx, ecx
add edi, 0x4c
add eax, 0x48
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], esi
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x2e8], edi
mov dword [ebp - 0x2ec], eax
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x228]
mov ebx, dword [ebp + 0x10]
mov eax, dword [edx + 0xec]
mov eax, dword [eax + ecx]
cmp eax, dword [ebx + 0x88]
jl 0x45f51b
mov edx, dword [edx + 0xf0]
test edx, edx
je 0x45f74f
push eax
push 0x58
mov eax, dword [ebp - 0x214]
lea esi, [ebp - 0xd8]
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0x10
mov eax, dword [ebp - 0x1d0]
mov edx, dword [ebp - 0x1cc]
add dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xbc]
adc dword [ebp - 0xd4], edx
mov ecx, dword [ebp + 8]
mul dword [ebp - 0x2b0]
mov ebx, eax
mov edx, dword [ecx + 0x84]
test ebx, ebx
mov ecx, 8
je 0x45f570
lea eax, [ebx + 7]
mov ecx, eax
and ecx, 0xfffffff8
jne 0x45f570
push esi
push esi
push ecx
push edx
call fcn.0048f420
add esp, 0x10
test eax, eax
je 0x45e9a7
mov dword [ebp - 0x268], eax
push edx
push edx
push ebx
push eax
mov ecx, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x2ec]
mov eax, dword [ebp + 8]
call fcn.0045dce0
add esp, 0x10
test eax, eax
je 0x45eb40
mov esi, dword [ebp + 0x20]
mov eax, dword [ebp - 0xc0]
mov edi, dword [ebp + 0x1c]
mov ecx, dword [esi + 0x28]
mul ecx
mov esi, dword [edi + 0xc4]
mov edi, dword [ebp - 0xbc]
mov edx, edi
add esi, eax
sar edx, 0x1f
mov eax, edi
mov dword [ebp - 0x304], edx
mov dword [ebp - 0x264], esi
mul ecx
mov edx, dword [ebp - 0x264]
mov ecx, eax
add edx, ecx
mov dword [ebp - 0x2e0], edi
mov dword [ebp - 0x308], edi
mov dword [ebp - 0x260], edx
cmp dword [ebp - 0x264], edx
jae 0x45f090
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x25c], 0
add ecx, 0x1c
mov dword [ebp - 0x2e4], ecx
lea ebx, [ebp - 0x38]
push eax
push ebx
mov eax, dword [ebp - 0x264]
push eax
mov eax, dword [ebp + 0x18]
push eax
call dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x28]
add esp, 0x10
and eax, 0x7c0
cmp ax, 0x440
je 0x45f038
cmp ax, 0x480
je 0x45f038
mov al, byte [ebp - 0x28]
and eax, 0x3f
and eax, 0xff
cmp eax, 0xe
ja case.0x45ef1b.3
jmp dword [eax*4 + 0x4cdc40]
mov eax, dword [ebp - 0x28]
shr eax, 0xc
and eax, 0xfff00
cmp eax, 0x8f300
je case.0x45ef1b.3
mov eax, dword [ebp - 0x28]
shr ax, 6
and eax, 0x1f
mov edx, dword [ebp + eax*8 - 0x1d4]
mov eax, dword [ebp + eax*8 - 0x1d8]
add dword [ebp - 0x30], eax
adc dword [ebp - 0x2c], edx
mov esi, dword [ebp + 0x24]
test byte [esi], 8
jne 0x45efa8
mov esi, dword [ebp - 0x25c]
test esi, esi
je 0x45f020
mov edx, dword [ebp - 0x38]
xor edi, edi
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp - 0xcc]
mov ebx, dword [ecx + 0xd0]
add eax, ebx
lea ebx, [eax + edx]
cmp byte [ebx], 0
jne 0x45f051
mov dword [ebp - 0x38], 0
test edi, edi
je 0x45efa8
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x25c], 1
mov dword [ebp - 0xd0], eax
push edi
lea ebx, [ebp - 0x38]
mov esi, dword [ebp - 0x268]
push esi
push ebx
mov ebx, dword [ebp + 0xc]
push ebx
call dword [ebp - 0x2c4]
mov esi, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x264]
add esp, 0x10
mov esi, dword [esi + 0x28]
add ecx, esi
mov dword [ebp - 0x264], ecx
mov edi, dword [ebp - 0x264]
cmp dword [ebp - 0x260], edi
jbe 0x45f084
mov edx, dword [ebp - 0x268]
mov eax, dword [ebp - 0x2b0]
add edx, eax
mov dword [ebp - 0x268], edx
jmp 0x45eed6
lea eax, [ebx + 7]
mov ecx, eax
and ecx, 0xfffffff8
jne 0x45ece7
push edi
push edi
push ecx
push edx
call fcn.0048f420
add esp, 0x10
jmp 0x45ed02
mov edx, dword [ebp - 0x38]
cmp edx, dword [ebp - 0xd0]
sete al
and eax, 0xff
mov edi, eax
jmp 0x45ef6d
push edi
push edi
push 0x31b
push str._usr_local_google_buildbot_src_android_gcc_toolchain_build_.._binutils_binutils_2.25_bfd_ecofflink.c
call fcn.00404610
add esp, 0x10
jmp 0x45ef0b
push 1
push 1
push ebx
mov ecx, dword [ebp - 0x2e4]
push ecx
call fcn.0040cae0
add esp, 0x10
mov esi, eax
test eax, eax
je 0x45eb40
cmp dword [eax + 0xc], 0xffffffff
je 0x45f590
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x38], eax
jmp 0x45ef91
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x2e0], edx
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x2e0]
mov esi, dword [ebp - 0x84]
mov eax, dword [ecx + 0x38]
mov edi, esi
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0x38]
add eax, ebx
mov ebx, dword [ebp - 0x88]
mov dword [ecx + 0x38], eax
or edi, ebx
jne 0x45f6af
mov eax, dword [ebp - 0xa0]
test eax, eax
jle 0x45f121
shl eax, 2
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
push eax
mov edi, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0xa4]
shl ebx, 2
add ecx, 0x5c
add edx, 0x58
xor esi, esi
add ebx, dword [edi + 0x60]
adc esi, dword [edi + 0x64]
push esi
push ebx
mov ebx, dword [ebp + 0x18]
push ebx
mov eax, dword [ebp + 8]
call fcn.0045dd70
add esp, 0x10
test eax, eax
je 0x45eb40
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x58]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [edx + 0x58]
add ecx, eax
mov dword [edx + 0x58], ecx
mov ecx, dword [ebp + 0x24]
test byte [ecx], 8
jne 0x45f640
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0xcc], 0
mov eax, dword [ebx + 0x68]
mov esi, eax
mov dword [ebp - 0xc8], eax
sar esi, 0x1f
mov dword [ebp - 0xc4], esi
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x18]
mov eax, dword [ecx + 4]
mov edx, dword [ebx + 4]
mov eax, dword [eax + 0xc]
cmp eax, dword [edx + 0xc]
je 0x45e9be
movsx eax, word [ebp - 0xa6]
mov ebx, dword [ebp + 0x20]
mov edx, eax
sar edx, 0x1f
mov dword [ebp - 0x1f0], eax
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x1ec], edx
mov ebx, dword [ebx + 0x24]
mov edx, dword [ebp - 0x2b8]
mov dword [ebp - 0x254], ebx
mov ebx, dword [ebp - 0x1ec]
imul ebx, edx
mov edx, dword [ebp - 0x2b4]
mov esi, dword [ebp + 0x1c]
imul edx, eax
mov eax, dword [ebp - 0x1f0]
add ebx, edx
mul dword [ebp - 0x2b8]
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x310], eax
mov ecx, dword [ebp + 8]
add edx, ebx
mov ebx, dword [ebp - 0x310]
mov edi, dword [esi + 0xc0]
mov dword [ebp - 0x30c], edx
mov esi, dword [ebp - 0xa8]
mov edx, dword [ecx + 0x84]
test ebx, ebx
mov ecx, 8
je 0x45f5d7
lea eax, [ebx + 7]
mov ecx, eax
and ecx, 0xfffffff8
jne 0x45f5d7
push eax
push eax
push ecx
push edx
call fcn.0048f420
add esp, 0x10
test eax, eax
je 0x45e9a7
mov dword [ebp - 0x248], eax
push edx
push edx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
push ebx
push eax
add ecx, 0x44
add edx, 0x40
mov eax, dword [ebp + 8]
call fcn.0045dce0
add esp, 0x10
test eax, eax
je 0x45eb40
mov eax, esi
and eax, 0xffff
mul dword [ebp - 0x258]
add edi, eax
mov eax, dword [ebp - 0x1f0]
mul dword [ebp - 0x258]
lea ebx, [edi + eax]
mov dword [ebp - 0x24c], ebx
cmp edi, ebx
jae 0x45f2f6
mov edx, dword [ebp - 0x258]
mov ecx, dword [ebp - 0x2b8]
mov dword [ebp - 0x240], edx
mov dword [ebp - 0x23c], ecx
lea esi, [edi + edx]
mov dword [ebp - 0x20c], edx
mov ebx, esi
jmp 0x45f298
mov eax, dword [ebp - 0x240]
add esi, eax
lea edx, [ebp - 0x80]
push eax
push edx
push edi
mov eax, dword [ebp + 0x18]
lea edi, [ebp - 0x80]
push eax
mov ecx, dword [ebp + 0x20]
call dword [ecx + 0x58]
add esp, 0xc
mov eax, dword [ebp - 0x248]
push eax
push edi
mov eax, dword [ebp + 0xc]
mov edi, esi
push eax
mov eax, dword [ebp + 0x14]
call dword [eax + pe_nt_image_headers32]
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x248]
mov ecx, dword [ebp - 0x20c]
add eax, edx
add ebx, ecx
mov dword [ebp - 0x248], eax
mov edx, dword [ebp - 0x240]
mov eax, ebx
add esp, 0x10
sub eax, edx
cmp dword [ebp - 0x24c], eax
ja 0x45f290
mov eax, dword [ebp - 0xac]
mov ebx, dword [ebp + 0x20]
mov edx, eax
mov dword [ebp - 0x200], eax
sar edx, 0x1f
mov ecx, dword [ebx + 0x30]
mov dword [ebp - 0x1fc], edx
mov ebx, dword [ebx + 0x34]
mov edx, dword [ebp - 0x200]
mov dword [ebp - 0x1f8], ecx
mov dword [ebp - 0x1f4], ebx
mov ecx, dword [ebp - 0x1fc]
mov ebx, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x2a4]
imul eax, edx
imul ecx, ebx
add ecx, eax
mov eax, dword [ebp - 0x200]
mul dword [ebp - 0x2a8]
mov esi, dword [ebp + 0x1c]
add edx, ecx
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x318]
mov edi, dword [esi + 0xc8]
mov dword [ebp - 0x314], edx
mov esi, dword [ebp - 0xb0]
mov edx, dword [ecx + 0x84]
test ebx, ebx
mov ecx, 8
je 0x45f620
lea eax, [ebx + 7]
mov ecx, eax
and ecx, 0xfffffff8
jne 0x45f620
push eax
push eax
push ecx
push edx
call fcn.0048f420
add esp, 0x10
test eax, eax
je 0x45e9a7
mov dword [ebp - 0x208], eax
push edx
push edx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
push ebx
push eax
add ecx, 0x54
add edx, 0x50
mov eax, dword [ebp + 8]
call fcn.0045dce0
add esp, 0x10
test eax, eax
je 0x45eb40
mov eax, esi
mul dword [ebp - 0x1f8]
add edi, eax
mov eax, dword [ebp - 0x200]
mul dword [ebp - 0x1f8]
lea ebx, [edi + eax]
mov dword [ebp - 0x204], ebx
cmp edi, ebx
jae 0x45f486
mov edx, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x2a8]
mov dword [ebp - 0x238], edx
mov dword [ebp - 0x234], ecx
lea esi, [edi + edx]
mov dword [ebp - 0x1e4], edx
mov ebx, esi
jmp 0x45f428
mov eax, dword [ebp - 0x238]
add esi, eax
lea edx, [ebp - 0x20]
push eax
push edx
push edi
mov eax, dword [ebp + 0x18]
lea edi, [ebp - 0x20]
push eax
mov ecx, dword [ebp + 0x20]
call dword [ecx + 0x60]
add esp, 0xc
mov eax, dword [ebp - 0x208]
push eax
push edi
mov eax, dword [ebp + 0xc]
mov edi, esi
push eax
mov eax, dword [ebp + 0x14]
call dword [eax + 0x88]
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x1e4]
add eax, edx
add ebx, ecx
mov dword [ebp - 0x208], eax
mov edx, dword [ebp - 0x238]
mov eax, ebx
add esp, 0x10
sub eax, edx
cmp dword [ebp - 0x204], eax
ja 0x45f420
mov ebx, dword [ebp - 0xac]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x28]
mov edi, dword [ecx + 0x28]
mov word [ebp - 0xa8], ax
movsx eax, word [ebp - 0xa6]
add edi, eax
mov eax, dword [ecx + 0x48]
mov dword [ecx + 0x28], edi
mov dword [ebp - 0xb0], eax
mov esi, dword [ecx + 0x48]
add esi, ebx
mov dword [ecx + 0x48], esi
mov edx, dword [ebp - 0x98]
test edx, edx
jle 0x45f72f
mov eax, dword [ebp - 0x9c]
mov edi, dword [ebp - 0x270]
add eax, edi
mov dword [ebp - 0x9c], eax
push eax
mov eax, dword [ebp - 0x26c]
push eax
lea eax, [ebp - 0xd8]
push eax
mov eax, dword [ebp + 0xc]
push eax
call dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x2a0]
add esp, 0x10
add eax, edx
mov dword [ebp - 0x26c], eax
mov eax, dword [ecx + 0x88]
inc eax
mov dword [ecx + 0x88], eax
mov ebx, dword [ebp - 0x230]
mov esi, dword [ebp - 0x218]
add esi, ebx
mov edi, dword [ebp - 0x214]
mov dword [ebp - 0x218], esi
add edi, ebx
mov eax, dword [ebp - 0x218]
mov ebx, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x22c]
add ebx, 4
sub eax, ecx
mov dword [ebp - 0x214], edi
mov dword [ebp - 0x228], ebx
cmp dword [ebp - 0x284], eax
ja 0x45ed95
mov eax, 1
jmp 0x45e9b6
cmp ecx, dword [edx + 4]
ja 0x45ee27
mov eax, dword [edx]
mov edi, dword [edx + 4]
add eax, ecx
sub edi, ecx
mov dword [edx], eax
mov dword [edx + 4], edi
mov eax, dword [edx]
sub eax, ecx
jmp 0x45ee33
mov edx, dword [ebp + 0x10]
sub esp, 0xc
mov eax, dword [edx + 0x68]
mov dword [esi + 0xc], eax
push ebx
call sub.msvcrt.dll_strlen
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
inc eax
mov edx, dword [ecx + 0x68]
add esp, 0x10
add edx, eax
mov eax, dword [ebx + 0x68]
mov dword [ecx + 0x68], edx
test eax, eax
je 0x45f770
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x6c]
test eax, eax
je 0x45f5cc
mov dword [eax + 0x10], esi
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x6c], esi
jmp 0x45f079
cmp ecx, dword [edx + 4]
ja 0x45f200
mov eax, dword [edx]
add eax, ecx
mov dword [edx], eax
mov eax, dword [edx + 4]
sub eax, ecx
mov dword [edx + 4], eax
mov eax, dword [edx]
sub eax, ecx
jmp 0x45f20c
mov edx, dword [ebp + 0x20]
mov edi, dword [ebp + 0x1c]
mov eax, dword [edx + 0x38]
mov edi, dword [edi + 0xd8]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x28c], edi
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], edx
jmp 0x45e65c
cmp ecx, dword [edx + 4]
ja 0x45f395
mov eax, dword [edx]
add eax, ecx
mov dword [edx], eax
mov eax, dword [edx + 4]
sub eax, ecx
mov dword [edx + 4], eax
mov eax, dword [edx]
sub eax, ecx
jmp 0x45f3a1
mov esi, dword [ebp - 0xc4]
mov ebx, dword [ebp - 0xc8]
mov edi, esi
or edi, ebx
je 0x45f14e
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
push ebx
add ecx, 0x64
mov eax, dword [ebp + 0x1c]
mov ebx, dword [ebp - 0xcc]
mov esi, ebx
add edx, 0x60
sar esi, 0x1f
add ebx, dword [eax + 0x70]
adc esi, dword [eax + 0x74]
push esi
push ebx
mov edi, dword [ebp + 0x18]
push edi
mov eax, dword [ebp + 8]
call fcn.0045dd70
add esp, 0x10
test eax, eax
je 0x45eb40
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x68]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
mov esi, dword [edx + 0x68]
add esi, eax
mov dword [edx + 0x68], esi
jmp 0x45f14e
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
push ebx
add ecx, 0x3c
mov eax, dword [ebp + 0x1c]
add edx, 0x38
mov ebx, dword [eax + 0x10]
mov esi, dword [eax + 0x14]
add ebx, dword [ebp - 0x90]
adc esi, dword [ebp - 0x8c]
push esi
push ebx
mov edi, dword [ebp + 0x18]
push edi
mov eax, dword [ebp + 8]
call fcn.0045dd70
add esp, 0x10
test eax, eax
je 0x45eb40
mov edx, dword [ebp + 0x10]
mov ecx, edx
mov eax, dword [edx + 4]
mov dword [ebp - 0xb8], eax
mov eax, dword [edx + 8]
mov esi, dword [ecx + 4]
mov edx, dword [edx + 0xc]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x8c], edx
add esi, eax
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
add dword [ecx + 8], eax
mov dword [ecx + 4], esi
adc dword [ecx + 0xc], edx
jmp 0x45f0c0
mov ebx, dword [ebp - 0x274]
mov esi, dword [ebp + 0x1c]
mov dword [ebp - 0x9c], ebx
mov eax, dword [esi + 0x88]
mov dword [ebp - 0x98], eax
jmp 0x45f4db
lea edi, [ebp - 0xd8]
push eax
push edi
mov eax, dword [ebp - 0x214]
push eax
mov eax, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x20]
call dword [eax + 0x64]
add esp, 0x10
jmp 0x45eddd
mov dword [ebx + 0x68], esi
jmp 0x45f5bf