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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov eax, dword [0x181d700c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, ecx
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0x14], ebx
and dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x18], eax
push esi
mov esi, 0xd8
mov eax, dword [ecx + 0x80]
sub eax, dword [ecx + 0x7c]
cdq
idiv esi
push edi
mov dword [ebp - 0x24], esi
test eax, eax
je 0x180b8a5c
xor edi, edi
mov dword [ebp - 0x20], edi
mov esi, dword [ecx + 0x7c]
lea eax, [ebp - 8]
and dword [ebp - 8], 0
add esi, edi
push eax
push ecx
push 0x181c3400
mov ecx, ebx
mov dword [ebp - 0x10], esi
call fcn.180b9142
mov edi, dword [ebp - 8]
mov ebx, eax
test ebx, ebx
js 0x180b8a6f
push dword [esi]
mov ecx, edi
push str.appid
call fcn.1808ac1e
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
js 0x180b8a6f
push dword [esi + 4]
mov ecx, edi
push str.version
call fcn.1808ac1e
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
js 0x180b8a6f
push dword [esi + 8]
mov ecx, edi
push str.nextversion
call fcn.1808ac1e
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
js 0x180b8a6f
push edi
push esi
call fcn.180b8a87
mov ebx, eax
test ebx, ebx
js 0x180b8a6f
lfence
mov eax, dword [esi + 0x18]
cmp dword [eax - 0xc], 0
je 0x180b8563
lfence
push dword [esi + 0x18]
mov ecx, edi
push 0x181ade6c
call fcn.1808ac1e
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
js 0x180b8a6f
lfence
push dword [esi + 0x1c]
mov ecx, edi
push str.lang
call fcn.1808ac1e
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
js 0x180b8a6f
lfence
push dword [esi + 0x24]
mov ecx, edi
push str.brand
call fcn.1808ac1e
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
js 0x180b8a6f
lfence
push dword [esi + 0x28]
mov ecx, edi
push str.client
call fcn.1808ac1e
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
js 0x180b8a6f
lfence
mov eax, dword [esi + 0x2c]
cmp dword [eax - 0xc], 0
je 0x180b85e7
lfence
push dword [esi + 0x2c]
mov ecx, edi
push str.experiments
call fcn.1808ac1e
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
js 0x180b8a6f
cmp dword [esi + 0x38], 0
je 0x180b862e
lfence
mov eax, dword [esi + 0x38]
mov ecx, 0x15180
cdq
idiv ecx
lea ecx, [ebp - 0x28]
cdq
push edx
push eax
call fcn.18013596
mov esi, dword [ebp - 0x28]
mov ecx, edi
push esi
push str.installage
call fcn.1808ac1e
add esp, 0x10
lea ecx, [esi - 0x10]
mov ebx, eax
call fcn.18006f72
test ebx, ebx
js 0x180b8a6f
mov esi, dword [ebp - 0x10]
cmp dword [esi + 0x3c], 0
je 0x180b866d
lfence
mov eax, dword [esi + 0x3c]
lea ecx, [ebp - 0x2c]
cdq
push edx
push eax
call fcn.18013596
mov esi, dword [ebp - 0x2c]
mov ecx, edi
push esi
push str.installdate
call fcn.1808ac1e
add esp, 0x10
lea ecx, [esi - 0x10]
mov ebx, eax
call fcn.18006f72
test ebx, ebx
js 0x180b8a6f
mov esi, dword [ebp - 0x10]
cmp dword [esi + 0x34], 0
je 0x180b86ac
lfence
mov eax, dword [esi + 0x34]
lea ecx, [ebp - 0x30]
cdq
push edx
push eax
call fcn.18013596
mov esi, dword [ebp - 0x30]
mov ecx, edi
push esi
push str.installdatetime
call fcn.1808ac1e
add esp, 0x10
lea ecx, [esi - 0x10]
mov ebx, eax
call fcn.18006f72
test ebx, ebx
js 0x180b8a6f
mov esi, dword [ebp - 0x10]
cmp dword [esi + 0x30], 0
je 0x180b86eb
lfence
mov eax, dword [esi + 0x30]
lea ecx, [ebp - 0x34]
cdq
push edx
push eax
call fcn.18013596
mov esi, dword [ebp - 0x34]
mov ecx, edi
push esi
push str.referral_hash
call fcn.1808ac1e
add esp, 0x10
lea ecx, [esi - 0x10]
mov ebx, eax
call fcn.18006f72
test ebx, ebx
js 0x180b8a6f
mov esi, dword [ebp - 0x10]
lfence
lea ebx, [esi + 0x20]
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
je 0x180b871e
or dword [ebp - 0x18], 1
lea ecx, [ebp - 0x38]
mov edx, 0x18175cac
lfence
call fcn.1800d35c
mov edx, eax
mov ecx, ebx
call fcn.18009c0f
mov byte [ebp - 9], 1
test al, al
jne 0x180b8722
mov byte [ebp - 9], 0
mov eax, dword [ebp - 0x18]
test al, 1
je 0x180b873a
mov ecx, dword [ebp - 0x38]
and eax, 0xfffffffe
mov dword [ebp - 0x18], eax
lea ecx, [ecx - 0x10]
call fcn.18006f72
cmp byte [ebp - 9], 0
je 0x180b875d
lfence
push dword [ebx]
mov ecx, edi
push 0x181adee4
call fcn.1808ac1e
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
js 0x180b8a6f
push edi
push esi
lfence
call fcn.180b8ad6
mov ebx, eax
test ebx, ebx
js 0x180b8a6f
mov eax, dword [esi + 0x48]
or eax, dword [esi + 0x4c]
je 0x180b87b6
lfence
push dword [esi + 0x4c]
and dword [ebp - 8], 0
lea ecx, [ebp - 8]
push dword [esi + 0x48]
call fcn.1801369e
mov esi, dword [ebp - 8]
mov ecx, edi
push esi
push str.oobe_install_time
call fcn.1808ac1e
add esp, 0x10
lea ecx, [esi - 0x10]
mov ebx, eax
call fcn.18006f72
test ebx, ebx
js 0x180b8a6f
mov esi, dword [ebp - 0x10]
cmp dword [esi + 0x40], 0
je 0x180b87f9
lfence
mov eax, dword [esi + 0x40]
lea ecx, [ebp - 8]
and dword [ebp - 8], 0
cdq
push edx
push eax
call fcn.18013596
mov esi, dword [ebp - 8]
mov ecx, edi
push esi
push str.update_count
call fcn.1808ac1e
add esp, 0x10
lea ecx, [esi - 0x10]
mov ebx, eax
call fcn.18006f72
test ebx, ebx
js 0x180b8a6f
mov esi, dword [ebp - 0x10]
cmp byte [esi + 0x50], 0
je 0x180b881c
push 0x181a61f4
push str.is_pinned_system
mov ecx, edi
call fcn.1808ac1e
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
js 0x180b8a6f
cmp dword [esi + 0x54], 0
je 0x180b885f
lfence
mov eax, dword [esi + 0x54]
lea ecx, [ebp - 8]
and dword [ebp - 8], 0
cdq
push edx
push eax
call fcn.18013596
mov esi, dword [ebp - 8]
mov ecx, edi
push esi
push str.last_launch_count
call fcn.1808ac1e
add esp, 0x10
lea ecx, [esi - 0x10]
mov ebx, eax
call fcn.18006f72
test ebx, ebx
js 0x180b8a6f
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x58]
or eax, dword [esi + 0x5c]
je 0x180b88a4
lfence
push dword [esi + 0x5c]
and dword [ebp - 8], 0
lea ecx, [ebp - 8]
push dword [esi + 0x58]
call fcn.1801369e
mov esi, dword [ebp - 8]
mov ecx, edi
push esi
push str.last_launch_time
call fcn.1808ac1e
add esp, 0x10
lea ecx, [esi - 0x10]
mov ebx, eax
call fcn.18006f72
test ebx, ebx
js 0x180b8a6f
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x60]
or eax, dword [esi + 0x64]
je 0x180b88e9
lfence
push dword [esi + 0x64]
and dword [ebp - 8], 0
lea ecx, [ebp - 8]
push dword [esi + 0x60]
call fcn.1801369e
mov esi, dword [ebp - 8]
mov ecx, edi
push esi
push str.inactivity_badge_applied
call fcn.1808ac1e
add esp, 0x10
lea ecx, [esi - 0x10]
mov ebx, eax
call fcn.18006f72
test ebx, ebx
js 0x180b8a6f
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x68]
or eax, dword [esi + 0x6c]
je 0x180b892e
lfence
push dword [esi + 0x6c]
and dword [ebp - 8], 0
lea ecx, [ebp - 8]
push dword [esi + 0x68]
call fcn.1801369e
mov esi, dword [ebp - 8]
mov ecx, edi
push esi
push str.inactivity_badge_cleared
call fcn.1808ac1e
add esp, 0x10
lea ecx, [esi - 0x10]
mov ebx, eax
call fcn.18006f72
test ebx, ebx
js 0x180b8a6f
mov esi, dword [ebp - 0x10]
mov eax, dword [esi + 0x78]
or eax, dword [esi + 0x7c]
je 0x180b8973
lfence
push dword [esi + 0x7c]
and dword [ebp - 8], 0
lea ecx, [ebp - 8]
push dword [esi + 0x78]
call fcn.1801369e
mov esi, dword [ebp - 8]
mov ecx, edi
push esi
push str.first_fre_seen_time
call fcn.1808ac1e
add esp, 0x10
lea ecx, [esi - 0x10]
mov ebx, eax
call fcn.18006f72
test ebx, ebx
js 0x180b8a6f
mov esi, dword [ebp - 0x10]
lfence
mov eax, dword [esi + 0x80]
cmp dword [eax - 0xc], 0
je 0x180b89a3
lfence
push dword [esi + 0x80]
mov ecx, edi
push str.first_fre_seen_version
call fcn.1808ac1e
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
js 0x180b8a6f
mov ecx, dword [ebp - 0x14]
push edi
push esi
lfence
call fcn.180b8b49
mov ebx, eax
test ebx, ebx
js 0x180b8a6f
mov ecx, dword [ebp - 0x14]
push edi
push esi
lfence
call fcn.180b8c72
mov ebx, eax
test ebx, ebx
js 0x180b8a6f
mov ecx, dword [ebp - 0x14]
push edi
push esi
lfence
call fcn.180b8d75
mov ebx, eax
test ebx, ebx
js 0x180b8a6f
mov ecx, dword [ebp - 0x14]
push edi
push esi
lfence
call fcn.180b8f06
mov ebx, eax
test ebx, ebx
js 0x180b8a6f
mov ecx, dword [ebp - 0x3c]
push 0
push edi
push ecx
mov eax, dword [ecx]
mov esi, dword [eax + 0x54]
mov ecx, esi
call dword [0x181663e8]
call esi
mov ebx, eax
test ebx, ebx
js 0x180b8a6f
lfence
test edi, edi
je 0x180b8a2e
mov eax, dword [edi]
push edi
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x181663e8]
call esi
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
inc esi
add edi, 0xd8
mov dword [ebp - 0x1c], esi
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x20], edi
mov eax, dword [ecx + 0x80]
sub eax, dword [ecx + 0x7c]
cdq
idiv dword [ebp - 0x24]
cmp esi, eax
jb 0x180b84ae
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.18122538
leave
ret 4
test edi, edi
je 0x180b8a83
mov eax, dword [edi]
push edi
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x181663e8]
call esi
mov eax, ebx
jmp 0x180b8a5e