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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x130
mov edi, ecx
mov eax, dword [0x808040]
xor eax, ebp
mov dword [esp + 0x128], eax
call fcn.006fa1a0
cmp eax, 2
jne 0x6c7492
xor eax, eax
dec eax
lea esi, [esp + 0x120]
mov dword [esi + 4], eax
mov dword [esi], eax
push esi
call fcn.00551cb0
add esp, 4
mov edx, dword [esi]
mov eax, dword [esi + 4]
sub edx, dword [edi + 0x50]
sbb eax, dword [edi + 0x54]
seto bl
setl bh
mov ecx, eax
sar ecx, 0x1f
test bl, bl
lea esi, [ecx - 0x80000000]
cmove esi, eax
test bl, bl
cmove ecx, edx
test bh, bh
mov eax, 0
cmovne ecx, eax
mov dword [esp + 4], ecx
test bh, bh
cmovne esi, eax
mov dword [esp + 0x18], esi
mov dword [esp], edi
mov esi, dword [edi + 0x4c]
xor eax, eax
dec eax
mov edx, eax
mov edi, eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
test esi, esi
je 0x6c71e8
pxor xmm0, xmm0
lea edi, [esp + 0x90]
movq qword [edi + 0x10], xmm0
pxor xmm0, xmm0
movdqa xmmword [edi], xmm0
mov eax, dword [esi]
mov ecx, dword [eax + 0x30]
call dword [0x8010bc]
push edi
push esi
call ecx
xor ecx, ecx
dec ecx
mov edx, ecx
mov edi, ecx
mov esi, ecx
test eax, eax
js 0x6c71e0
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
xor edx, edx
dec edx
mov esi, edx
mov edi, edx
test ecx, ecx
js 0x6c71d1
mov edi, dword [esp + 0x98]
mov esi, ecx
mov ecx, edx
test eax, eax
js 0x6c71e0
mov ecx, dword [esp + 0x90]
mov edx, eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
mov eax, dword [esp]
lea esi, [eax + 0x4c]
cmp dword [ebp + 8], 0
jns 0x6c7203
mov ecx, esi
call fcn.006c7850
mov edi, dword [esi]
test edi, edi
je 0x6c721d
mov dword [esi], 0
mov eax, dword [edi]
mov ecx, dword [eax + 8]
call dword [0x8010bc]
push edi
call ecx
mov eax, dword [esp]
mov esi, dword [eax + 0x48]
test esi, esi
je 0x6c723f
mov eax, dword [esp]
mov dword [eax + 0x48], 0
mov eax, dword [esi]
mov ecx, dword [eax + 8]
call dword [0x8010bc]
push esi
call ecx
mov al, 1
xor ebx, ebx
mov esi, 0
mov edi, dword [ebp + 8]
test edi, edi
jns 0x6c7282
mov eax, edi
and eax, 0xffff0000
mov ecx, edi
and ecx, 0xfffe
add ecx, 0xffffff9c
xor edx, edx
cmp ecx, 0x196
movzx ecx, di
cmovae ecx, edx
cmp eax, 0x80190000
cmovne ecx, edx
push ecx
call fcn.006600c0
add esp, 4
mov esi, edi
mov byte [esp + 0x11f], al
pcmpeqd xmm0, xmm0
lea edi, [esp + 0x90]
movdqa xmmword [edi + 0x70], xmm0
movdqa xmmword [edi + 0x60], xmm0
movdqa xmmword [edi + 0x50], xmm0
movdqa xmmword [edi + 0x40], xmm0
movdqa xmmword [edi + 0x30], xmm0
movdqa xmmword [edi + 0x20], xmm0
movdqa xmmword [edi + 0x10], xmm0
movdqa xmmword [edi], xmm0
mov ecx, edi
call fcn.0056bb20
mov dword [edi + 0x5c], ebx
mov dword [edi + 0x60], ebx
mov dword [edi + 0x64], ebx
pcmpeqd xmm0, xmm0
movdqu xmmword [edi + 0x68], xmm0
mov dword [edi + 0x7c], ebx
mov dword [edi + 0x78], ebx
lea ebx, [esp + 0x34]
mov ecx, dword [esp]
push ebx
call fcn.006f8e60
mov ecx, edi
push ebx
call fcn.0056c080
mov ecx, ebx
call fcn.0056bf60
mov eax, dword [esp + 4]
add eax, 0xffffffff
mov edx, dword [esp + 0x18]
mov ecx, edx
adc ecx, 0x7fffffff
add eax, 2
mov ebx, 0
adc ecx, ebx
cmp eax, 2
sbb ecx, ebx
mov dword [edi + 0x5c], 2
mov dword [edi + 0x60], esi
mov eax, dword [esp + 8]
mov dword [edi + 0x6c], eax
mov eax, dword [esp + 0x10]
mov dword [edi + 0x68], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x74], eax
mov eax, dword [esp + 0xc]
mov dword [edi + 0x70], eax
jb 0x6c7353
push 0
push 0x3e8
push edx
push dword [esp + 0x10]
call fcn.005f2060
jmp 0x6c7376
mov ebx, esi
xor esi, esi
dec esi
mov eax, esi
add eax, 1
mov ecx, edx
mov edx, SysReAllocString
adc edx, 0
test ecx, ecx
cmovns eax, esi
mov esi, ebx
mov ecx, SysReAllocString
cmovns edx, ecx
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], edx
lea ebx, [esp + 0x3c]
mov dword [ebx + 8], 0xffffffff
movaps xmm0, xmmword [0x76ef10]
movups xmmword [ebx - 8], xmm0
mov ecx, ebx
call fcn.0055fdd0
mov dword [ebx - 8], esi
test esi, esi
jne 0x6c73b6
mov eax, dword [esp]
add eax, 0x60
mov ecx, ebx
push eax
call fcn.0055ff60
mov eax, dword [esp]
mov esi, dword [eax + 8]
test esi, esi
je 0x6c73d3
xor eax, eax
inc eax
lock xadd dword [esi + 4], eax
cmp eax, 0x7fffffff
je 0x6c7495
lea ecx, [esp + 0x2c]
mov eax, dword [esp]
mov dword [ecx], eax
push 0xb8
call fcn.005c5789
add esp, 4
mov ebx, eax
mov ecx, eax
push 0x6c67a0
push 0x6c6760
call fcn.0055fb80
mov dword [ebx + 0x10], 0x6f9100
mov dword [ebx + 0x14], 0
lea ecx, [ebx + 0x18]
lea eax, [esp + 0x11f]
push edi
lea edx, [esp + 0x38]
push edx
push eax
lea eax, [esp + 0x38]
push eax
call fcn.006c67c0
mov dword [esp + 0x30], ebx
lea edi, [esp + 0x1c]
push 0x25d
push str.....componentsupdate_client_background_downloader_win.cc
push str.EndDownload
push edi
call fcn.0055fb40
add esp, 0x10
mov eax, dword [esp + 0x30]
mov ecx, esi
push eax
push edi
call fcn.00552ed0
test esi, esi
je 0x6c7465
lock dec dword [esi + 4]
jne 0x6c7465
push esi
call fcn.00553100
add esp, 4
lea ecx, [esp + 0x3c]
call fcn.0055ff40
lea ecx, [esp + 0x90]
call fcn.0056bf60
mov ecx, dword [esp + 0x128]
xor ecx, ebp
call fcn.005c6b46
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
int3
int3