Function at 0x50dfe0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5569fe
mov eax, dword fs:[0]
push eax
sub esp, 0x124
mov eax, dword [0x5c2b80]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xe0], esi
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xdc], eax
xor al, al
mov byte [ebp - 0xc1], al
mov byte [ebp - 0xcd], al
mov dword [ebp - 0x1c], 0
mov ecx, 0x5a5fc0
call fcn.004f06e0
push eax
lea ecx, [ebp - 0x18]
call fcn.00457210
mov dword [ebp - 4], 0
lea edx, [esi + 0x28]
push eax
lea ecx, [ebp - 0xc8]
call fcn.0045bbe0
add esp, 4
mov byte [ebp - 4], 1
mov edx, eax
lea ecx, [ebp - 0x1c]
call fcn.0045f880
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0xc8]
add edx, 0xfffffff0
lea ecx, [edx + 0xc]
or edi, 0xffffffff
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x50e0a3
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x50e0c3
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
lea ecx, [ebp - 0xc8]
call fcn.004f9760
mov edx, eax
mov byte [ebp - 4], 7
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
test eax, eax
setne cl
test ecx, ecx
jne 0x50e0ec
push 0x80004005
call fcn.00456ea0
mov ecx, dword [edx]
mov edi, edi
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x50e116
test dx, dx
je 0x50e112
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x50e116
add ecx, 4
add eax, 4
test dx, dx
jne 0x50e0f0
xor eax, eax
jmp 0x50e11b
sbb eax, eax
or eax, 1
test eax, eax
sete byte [ebp - 0xc2]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0xc8]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x50e147
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
cmp byte [ebp - 0xc2], 0
je 0x50e2d2
mov ecx, 0x5a5fe0
call fcn.004f06e0
push eax
lea ecx, [ebp - 0xdc]
call fcn.00457210
mov byte [ebp - 4], 9
push eax
push 0x17c
mov ecx, esi
call fcn.00513840
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0xdc]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x50e19e
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
lea ecx, [ebp - 0x18]
call fcn.004571a0
mov esi, eax
mov byte [ebp - 4], 0xb
mov ecx, 0x5a6040
call fcn.004f06e0
push eax
lea ecx, [ebp - 0xc8]
call fcn.00457210
mov byte [ebp - 4], 0xc
push esi
mov edx, eax
lea ecx, [ebp - 0xe0]
call fcn.0045bbe0
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0xd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov edx, esi
lea ecx, [ebp - 0xdc]
call fcn.004f9600
add esp, 4
mov byte [ebp - 4], 0xe
push eax
mov ecx, dword [ebp - 0xe4]
call fcn.0045be70
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0xdc]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x50e227
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0xe0]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x50e24a
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0xc8]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x50e26d
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x50e28d
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x50e2ae
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov al, byte [ebp - 0xc1]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0052ab62
mov esp, ebp
pop ebp
ret 8
mov byte [ebp - 4], 0x14
push 0x70
push 0
lea eax, [ebp - 0xc0]
push eax
call fcn.0052ebd0
add esp, 0xc
lea ecx, [ebp - 0xc0]
call fcn.00465250
mov byte [ebp - 4], 0x15
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x30], xmm0
push 0
lea ecx, [ebp - 0x30]
call fcn.00468bc0
mov byte [ebp - 4], 0x16
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x100]
call fcn.00457010
mov byte [ebp - 4], 0x17
push ecx
lea ecx, [ebp - 0x30]
push ecx
push eax
lea ecx, [ebp - 0xc0]
call fcn.00465360
test al, al
sete byte [ebp - 0xc2]
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x100]
call fcn.00455f00
cmp byte [ebp - 0xc2], 0
je 0x50e3f7
mov ecx, 0x5a60a0
call fcn.004f06e0
push eax
lea ecx, [ebp - 0xc8]
call fcn.00457210
mov byte [ebp - 4], 0x18
push eax
push 0x17c
mov ecx, esi
call fcn.00513840
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xc8]
call fcn.00456040
mov ecx, 0x5a60f0
call fcn.004f06e0
push eax
lea ecx, [ebp - 0xc8]
call fcn.00457210
mov byte [ebp - 4], 0x19
push eax
mov ecx, dword [ebp - 0xe4]
call fcn.0045be70
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xc8]
call fcn.00456040
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x30]
call fcn.00468f90
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0xc0]
call fcn.00467350
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.00456040
mov dword [ebp - 4], 0xffffffff
jmp 0x50e2ae
mov eax, dword [ebp - 0x110]
and eax, 0xffffff05
or eax, 5
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], 0
cmp byte [ebp + 8], 0
sete byte [ebp - 0x118]
mov byte [ebp - 4], 0x1a
push ecx
push str.distribution
lea ecx, [ebp - 0x30]
call fcn.004698b0
lea ecx, [ebp - 0x118]
push ecx
push ecx
push str.do_not_create_any_shortcuts
mov ecx, eax
call fcn.004698b0
mov ecx, eax
call fcn.00469060
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x118]
call fcn.00468f90
mov dword [ebp - 0x18], 0
mov ecx, 0x5a3b50
call fcn.004f06e0
push eax
lea ecx, [ebp - 0xc8]
call fcn.00457210
mov byte [ebp - 4], 0x1b
push eax
lea edx, [esi + 0x60]
lea ecx, [ebp - 0x18]
call fcn.00457990
add esp, 4
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xc8]
call fcn.00456040
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], 0
jne 0x50e542
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0xcc], esp
push 0x5a3b78
call fcn.00457210
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0xd8]
push eax
mov byte [ebp - 4], 0x1d
mov ecx, esi
call fcn.004fc4b0
mov byte [ebp - 4], 0x1f
mov edx, dword [eax]
lea ecx, [edx - 0x10]
mov esi, dword [ebp - 0x18]
add esi, 0xfffffff0
cmp ecx, esi
je 0x50e52d
cmp dword [esi + 0xc], 0
jl 0x50e521
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x50e521
call fcn.00456280
mov dword [ebp - 0xc8], eax
mov eax, edi
lea ecx, [esi + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x50e513
mov ecx, dword [esi]
mov eax, dword [ecx]
push esi
call dword [eax + 4]
mov eax, dword [ebp - 0xc8]
add eax, 0x10
mov dword [ebp - 0x18], eax
jmp 0x50e52d
push dword [edx - 0xc]
push edx
lea ecx, [ebp - 0x18]
call fcn.004573c0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xd8]
call fcn.00456040
mov esi, dword [ebp - 0xd4]
push 0
lea ecx, [ebp - 0x18]
call fcn.0045b5f0
cmp ax, 0x5f
je 0x50e5c4
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], 0
je 0x50e5c4
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x130]
call fcn.00457010
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0xf8]
call fcn.00468d50
mov byte [ebp - 4], 0x21
push ecx
push str.distribution
lea ecx, [ebp - 0x30]
call fcn.004698b0
lea ecx, [ebp - 0xf8]
push ecx
push ecx
push str.uninstaller_url
mov ecx, eax
call fcn.004698b0
mov ecx, eax
call fcn.00469060
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xf8]
call fcn.00468f90
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x130]
call fcn.00455f00
cmp byte [esi + 0xce], 0
je 0x50e693
mov eax, dword [ebp - 0x120]
and eax, 0xffffff05
or eax, 5
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], 0
mov byte [ebp - 0x128], 0
mov byte [ebp - 4], 0x22
push ecx
push str.distribution
lea ecx, [ebp - 0x30]
call fcn.004698b0
lea ecx, [ebp - 0x128]
push ecx
push ecx
push str.make_chrome_default_for_user
mov ecx, eax
call fcn.004698b0
mov ecx, eax
call fcn.00469060
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x128]
call fcn.00468f90
mov eax, dword [ebp - 0xf0]
and eax, 0xffffff05
or eax, 5
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], 0
mov byte [ebp - 0xf8], 0
mov byte [ebp - 4], 0x23
push ecx
push str.distribution
lea ecx, [ebp - 0x30]
call fcn.004698b0
lea ecx, [ebp - 0xf8]
push ecx
push ecx
push str.make_chrome_default
mov ecx, eax
call fcn.004698b0
mov ecx, eax
call fcn.00469060
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xf8]
call fcn.00468f90
lea ecx, [ebp - 0x50]
call fcn.0046c260
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0x50]
call fcn.0046c2d0
mov byte [ebp - 4], 0x25
cmp dword [eax + 0x14], 0x10
jb 0x50e6be
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xc8]
call fcn.0051ae40
mov byte [ebp - 4], 0x26
mov ecx, 0x5a5fc0
call fcn.004f06e0
push eax
lea ecx, [ebp - 0xd8]
call fcn.00457210
mov byte [ebp - 4], 0x27
push eax
lea edx, [esi + 0x28]
lea ecx, [ebp - 0xd4]
call fcn.0045bbe0
add esp, 4
mov byte [ebp - 4], 0x28
lea edx, [ebp - 0xc8]
mov ecx, eax
call fcn.0045fd50
test al, al
sete byte [ebp - 0xc2]
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0xd4]
call fcn.00456040
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0xd8]
call fcn.00456040
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0xc8]
call fcn.00456040
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x100]
call fcn.00455f00
cmp byte [ebp - 0xc2], 0
je 0x50e850
mov ecx, 0x5a61b0
call fcn.004f06e0
push eax
lea ecx, [ebp - 0xd4]
call fcn.00457210
mov byte [ebp - 4], 0x29
push eax
push 0x17c
mov ecx, esi
call fcn.00513840
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xd4]
call fcn.00456040
lea ecx, [ebp - 0xcc]
call fcn.004571a0
mov esi, eax
mov byte [ebp - 4], 0x2a
mov ecx, 0x5a6210
call fcn.004f06e0
push eax
lea ecx, [ebp - 0xc8]
call fcn.00457210
mov byte [ebp - 4], 0x2b
push esi
mov edx, eax
lea ecx, [ebp - 0xd8]
call fcn.0045bbe0
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0x2c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov edx, esi
lea ecx, [ebp - 0xd4]
call fcn.004f9600
add esp, 4
mov byte [ebp - 4], 0x2d
push eax
mov ecx, dword [ebp - 0xe4]
call fcn.0045be70
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0xd4]
call fcn.00456040
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0xd8]
call fcn.00456040
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0xc8]
call fcn.00456040
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xcc]
call fcn.00456040
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x50]
call fcn.0046b7c0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x18]
jmp 0x50e3bc
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x50]
call fcn.0046b7c0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x18]
call fcn.00456040
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x30]
call fcn.00468f90
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0xc0]
call fcn.00467350
mov dword [ebp - 4], 5
mov ecx, 0x5a63c0
call fcn.004f06e0
push eax
lea ecx, [ebp - 0xcc]
call fcn.00457210
mov byte [ebp - 4], 0x36
push eax
push 0x17c
mov ecx, esi
call fcn.00513840
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0xcc]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x50e8d4
mov ecx, dword [edx]
mov eax, dword [ecx]
push edx
call dword [eax + 4]
mov byte [ebp - 0xc1], 1
jmp 0x50e28d