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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x204
mov eax, dword [0x181c700c]
xor eax, esp
mov dword [esp + 0x200], eax
mov eax, ecx
push ebx
push esi
push edi
mov ecx, dword [eax + 0x34]
mov edi, dword [ebp + 8]
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x180e9977
push 0
push edi
call fcn.180e9942
lea esi, [edi + 0x128]
mov eax, dword [esi + 4]
sub eax, dword [esi]
mov dword [esp + 0xc], esi
test eax, 0xfffffff8
jne 0x180e99ab
lea ecx, [esp + 0x64]
call fcn.180e62ac
lea eax, [esp + 0x64]
mov ecx, esi
push eax
call fcn.180e6211
lea ecx, [esp + 0x64]
call fcn.180e62d8
lea ebx, [edi + 0xa8]
mov eax, dword [ebx + 4]
mov dword [esp + 0x1c], ebx
sub eax, dword [ebx]
jne 0x180e99f5
lea ecx, [esp + 0x120]
call fcn.180eb026
mov eax, dword [ebx + 4]
push ecx
cmp eax, dword [ebx + 8]
je 0x180e99e1
mov ecx, eax
call fcn.180eb8df
add dword [ebx + 4], 0xac
jmp 0x180e99e9
push eax
mov ecx, ebx
call fcn.180eb50c
lea ecx, [esp + 0x120]
call fcn.180e79d6
lea ebx, [edi + 0x90]
mov eax, dword [ebx + 4]
mov dword [esp + 0x60], ebx
sub eax, dword [ebx]
jne 0x180e9a3f
lea ecx, [esp + 0x120]
call fcn.180eb0a3
mov eax, dword [ebx + 4]
push ecx
cmp eax, dword [ebx + 8]
je 0x180e9a2b
mov ecx, eax
call fcn.180eb9ed
add dword [ebx + 4], 0xd8
jmp 0x180e9a33
push eax
mov ecx, ebx
call fcn.180eb692
lea ecx, [esp + 0x120]
call fcn.180e7a37
lea ebx, [edi + 0x9c]
mov ecx, dword [ebx + 4]
mov eax, ecx
push 0xf
mov dword [esp + 0x28], ebx
pop edx
sub eax, dword [ebx]
jne 0x180e9ae5
xor eax, eax
mov dword [esp + 0xbc], edx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0x104], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0xd4], edx
mov dword [esp + 0xf0], edx
mov dword [esp + 0x108], edx
push eax
cmp ecx, dword [ebx + 8]
je 0x180e9ace
call fcn.180eb987
add dword [ebx + 4], 0x64
jmp 0x180e9ad6
push ecx
mov ecx, ebx
call fcn.180eb5cb
lea ecx, [esp + 0xa8]
call fcn.180e7a14
push 0xf
pop edx
lea ebx, [edi + 0x84]
mov ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x70], ebx
sub eax, dword [ebx]
jne 0x180e9b7c
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0x100], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xd4], edx
mov dword [esp + 0xec], edx
mov dword [esp + 0x104], edx
push eax
cmp ecx, dword [ebx + 8]
je 0x180e9b68
call fcn.180ebac3
add dword [ebx + 4], 0x60
jmp 0x180e9b70
push ecx
mov ecx, ebx
call fcn.180eb751
lea ecx, [esp + 0xa8]
call fcn.180e7a8b
lea ebx, [edi + 0xd8]
mov ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x8c], ebx
sub eax, dword [ebx]
jne 0x180e9c00
push 0xf
pop edx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xe8], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xd4], edx
mov dword [esp + 0xec], edx
push eax
cmp ecx, dword [ebx + 8]
je 0x180e9bec
call fcn.180b6aa2
add dword [ebx + 4], 0x48
jmp 0x180e9bf4
push ecx
mov ecx, ebx
call fcn.180c4738
lea ecx, [esp + 0xa8]
call fcn.180b6a87
lea ebx, [edi + 0xc0]
mov ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x18], ebx
sub eax, dword [ebx]
jne 0x180e9c81
push 0xf
pop edx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xe8], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xd4], edx
mov dword [esp + 0xec], edx
push eax
cmp ecx, dword [ebx + 8]
je 0x180e9c6d
call fcn.180b6aa2
add dword [ebx + 4], 0x48
jmp 0x180e9c75
push ecx
mov ecx, ebx
call fcn.180c4738
lea ecx, [esp + 0xa8]
call fcn.180b6a87
lea ebx, [edi + 0x78]
mov ecx, dword [ebx + 4]
mov eax, ecx
sub eax, dword [ebx]
mov dword [esp + 0x20], ebx
test eax, 0xffffffc0
jne 0x180e9d0d
xor eax, eax
push 0xf
pop edx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xe0], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0xcc], edx
mov dword [esp + 0xe4], edx
push eax
cmp ecx, dword [ebx + 8]
je 0x180e9cf9
call fcn.180ebb23
add dword [ebx + 4], 0x40
jmp 0x180e9d01
push ecx
mov ecx, ebx
call fcn.180eb818
lea ecx, [esp + 0xa8]
call fcn.180e7aae
lea ebx, [edi + 0xe4]
mov ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x28], ebx
sub eax, dword [ebx]
jne 0x180e9dcd
mov dword [esp + 0x90], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 0xf
cmp ecx, dword [ebx + 8]
je 0x180e9d5d
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
lea eax, [esp + 0x90]
push eax
call fcn.18025ef2
add dword [ebx + 4], 0x18
jmp 0x180e9d6d
lea eax, [esp + 0x90]
push eax
push ecx
mov ecx, ebx
call fcn.180eb439
mov eax, dword [esp + 0xa4]
cmp eax, 0x10
jb 0x180e9db2
mov ecx, dword [esp + 0x90]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180e9da9
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
and dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0xf
mov byte [esp + 0x90], 0
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x2c]
mov eax, dword [esi]
mov dword [esp + 0x40], eax
lea eax, [ebx + 4]
push eax
call fcn.180a59cb
lea esi, [ebx + 0x38]
mov dword [esp + 0x5c], 0xf
xor ebx, ebx
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x58], ebx
lfence
push str.AppInfo.ExperimentIds
mov byte [esp + 0x40], bl
push dword [esp + 0x40]
push 0x15
call fcn.1801e756
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.180cf7dc
mov edx, dword [eax + 0x18]
mov ecx, edx
mov dword [esp + 0x90], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], 0xf
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x180e9e41
sub ecx, ebx
push ecx
push edx
lea ecx, [esp + 0x98]
call fcn.1801e678
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180e9e97
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180e9e8e
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
xor edx, edx
mov byte [esp + 0x48], dl
cmp dword [esp + 0xa0], edx
je 0x180e9f88
lea eax, [edi + 0x18]
mov dword [esp + 0x74], edx
push eax
lea ecx, [esp + 0x78]
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], edx
call fcn.18025ef2
cmp dword [esp + 0x84], 0
je 0x180e9f11
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x68]
push eax
lea ecx, [ebx + 0x48]
call fcn.180350f4
mov edi, dword [esp + 0x6c]
lea eax, [esp + 0x74]
push eax
push edi
call fcn.18035144
test al, al
je 0x180e9f11
cmp edi, dword [ebx + 0x48]
je 0x180e9f11
lea eax, [edi + 0x28]
push eax
lea ecx, [esp + 0x94]
call fcn.1803a64e
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x90]
cmp dword [ecx], eax
je 0x180e9f40
cmp dword [esp + 0xa4], 0x10
jb 0x180e9f31
mov eax, dword [esp + 0x90]
push dword [esp + 0xa0]
mov ecx, dword [ecx]
push eax
call fcn.1801e678
mov eax, dword [esp + 0x88]
cmp eax, 0x10
jb 0x180e9f82
mov ecx, dword [esp + 0x74]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180e9f79
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
xor edx, edx
mov byte [esp + 0x74], dl
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x3c], edx
je 0x180eac01
mov dword [esp + 0x48], edx
lea ecx, [esp + 0x48]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], 0xf
lfence
push str.Session.ImpressionId
mov byte [esp + 0x40], dl
push dword [esp + 0x40]
push 0x14
call fcn.1801e756
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
mov edi, dword [esi]
mov ebx, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ea014
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ea00b
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x4c]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp ebx, edi
je 0x180ea18a
lea ecx, [esp + 0x120]
call fcn.180db323
push 0xf
pop edi
xor ebx, ebx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x48], ebx
lea ecx, [esp + 0x48]
mov dword [esp + 0x58], ebx
lfence
push str.Session.ImpressionId
mov byte [esp + 0x40], bl
push dword [esp + 0x40]
push 0x14
call fcn.1801e756
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.180cf7dc
push eax
lea ecx, [esp + 0xac]
call fcn.180cd641
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ea0b1
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180ea0a8
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
mov ecx, dword [esp + 0xc0]
mov byte [esp + 0x48], bl
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x180ea0bf
sub ecx, edx
push ecx
push dword [esp + 0xc4]
lea ecx, [esp + 0x138]
call fcn.1801e678
mov dword [esp + 0x48], ebx
lea ecx, [esp + 0x48]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], edi
lfence
push str.Session.ImpressionId
mov byte [esp + 0x40], bl
push dword [esp + 0x40]
push 0x14
call fcn.1801e756
lea eax, [esp + 0x120]
push eax
push ecx
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x50]
push eax
call fcn.180ded1b
pop ecx
mov ecx, eax
call fcn.180e06a2
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ea161
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180ea158
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x48], bl
mov dword [esp + 0xa8], 0x1819720c
call fcn.180cda82
lea ecx, [esp + 0x120]
call fcn.180db37c
jmp 0x180ea18f
push 0xf
xor ebx, ebx
pop edi
push 0xc
push str.AppInfo.ETag
lea ecx, [esp + 0x50]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], edi
call fcn.1801e678
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
mov edi, dword [esi]
mov ebx, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ea1ff
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ea1f6
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x4c]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp ebx, edi
je 0x180ea35f
lea ecx, [esp + 0x120]
call fcn.180db323
push 0xf
pop edi
push 0xc
xor ebx, ebx
mov dword [esp + 0x60], edi
push str.AppInfo.ETag
lea ecx, [esp + 0x50]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x60], ebx
call fcn.1801e678
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.180cf7dc
push eax
lea ecx, [esp + 0xac]
call fcn.180cd641
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ea291
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180ea288
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
mov ecx, dword [esp + 0xc0]
mov byte [esp + 0x48], bl
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x180ea29f
sub ecx, edx
push ecx
push dword [esp + 0xc4]
lea ecx, [esp + 0x138]
call fcn.1801e678
push 0xc
push str.AppInfo.ETag
lea ecx, [esp + 0x50]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], edi
call fcn.1801e678
lea eax, [esp + 0x120]
push eax
push ecx
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x50]
push eax
call fcn.180ded1b
pop ecx
mov ecx, eax
call fcn.180e06a2
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ea336
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ea32d
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x48], bl
mov dword [esp + 0xa8], 0x1819720c
call fcn.180cda82
lea ecx, [esp + 0x120]
call fcn.180db37c
jmp 0x180ea364
push 0xf
xor ebx, ebx
pop edi
push 0xa
push str.AppInfo.Id
lea ecx, [esp + 0x50]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], edi
call fcn.1801e678
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x48]
push eax
call fcn.180a53bf
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ea3d4
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ea3cb
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
mov eax, dword [esp + 0x44]
cmp eax, dword [esi]
mov byte [esp + 0x48], bl
mov ebx, dword [esp + 0x1c]
setne byte [esp + 0x13]
je 0x180ea3f6
mov ecx, dword [ebx]
push dword [eax + 0x40]
add ecx, 0x4c
call fcn.1801e657
and dword [esp + 0x48], 0
lea ecx, [esp + 0x48]
and dword [esp + 0x58], 0
push 0xb
push str.AppInfo.Env
mov dword [esp + 0x64], edi
call fcn.1801e678
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ea466
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ea45d
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180ea47c
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x30
call fcn.1801e657
and dword [esp + 0x48], 0
lea ecx, [esp + 0x48]
and dword [esp + 0x58], 0
push 0xc
push str.AppInfo.Name
mov dword [esp + 0x64], 0xf
call fcn.1801e678
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ea4f0
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ea4e7
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180ea50b
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x94
call fcn.1801e657
jmp 0x180ea523
cmp byte [esp + 0x13], 0
je 0x180ea523
mov ecx, dword [ebx]
lea eax, [ecx + 0x4c]
add ecx, 0x94
push eax
call fcn.1803a64e
and dword [esp + 0x48], 0
lea ecx, [esp + 0x48]
and dword [esp + 0x58], 0
push 0xf
pop eax
push eax
push str.AppInfo.Version
mov dword [esp + 0x64], eax
call fcn.1801e678
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ea595
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ea58c
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180ea5ab
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x64
call fcn.1801e657
and dword [esp + 0x48], 0
lea ecx, [esp + 0x48]
and dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0xf
lfence
push str.AppInfo.Language
mov byte [esp + 0x44], 0
push dword [esp + 0x44]
push 0x10
call fcn.1801e756
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ea62b
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ea622
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180ea641
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x7c
call fcn.1801e657
and dword [esp + 0x48], 0
lea ecx, [esp + 0x48]
and dword [esp + 0x58], 0
push 0xf
pop ebx
push 0xd
push str.DeviceInfo.Id
mov dword [esp + 0x64], ebx
call fcn.1801e678
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ea6b4
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ea6ab
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
xor eax, eax
mov byte [esp + 0x48], al
cmp edi, dword [esi]
je 0x180ea7d4
push 2
push 0x181baef8
lea ecx, [esp + 0x7c]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ebx
call fcn.1801e678
mov edi, dword [edi + 0x40]
test edi, edi
je 0x180ea75e
push edi
call fcn.181369e0
mov ebx, eax
pop ecx
cmp ebx, 2
jb 0x180ea72f
cmp byte [edi + 1], 0x3a
jne 0x180ea72f
mov cl, byte [edi]
cmp cl, 0x63
je 0x180ea71f
cmp cl, 0x75
je 0x180ea71f
cmp cl, 0x61
je 0x180ea71f
cmp cl, 0x73
je 0x180ea71f
cmp cl, 0x78
je 0x180ea71f
cmp cl, 0x69
jne 0x180ea72f
push 0
push 0x1819993c
lea ecx, [esp + 0x7c]
call fcn.1801e678
cmp byte [edi], 0x7b
jne 0x180ea745
cmp byte [ebx + edi - 1], 0x7d
jne 0x180ea745
lea eax, [ebx - 2]
push eax
lea eax, [edi + 1]
push eax
jmp 0x180ea755
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x180ea74a
sub ecx, edx
push ecx
push edi
lea ecx, [esp + 0x7c]
call fcn.18025e95
mov ebx, dword [esp + 0x60]
lea eax, [esp + 0x74]
mov ecx, dword [ebx]
add ecx, 0x18
cmp ecx, eax
je 0x180ea78a
cmp dword [esp + 0x88], 0x10
jb 0x180ea77d
mov eax, dword [esp + 0x74]
push dword [esp + 0x84]
push eax
call fcn.1801e678
mov eax, dword [esp + 0x88]
cmp eax, 0x10
jb 0x180ea7cc
mov ecx, dword [esp + 0x74]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ea7c3
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
xor eax, eax
mov byte [esp + 0x74], al
jmp 0x180ea7d8
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x48]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 0xf
lfence
push str.DeviceInfo.OrgId
mov byte [esp + 0x64], al
push dword [esp + 0x64]
push 0x10
call fcn.1801e756
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ea855
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ecx
cmp eax, 0x1000
jb 0x180ea84c
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x68]
pop ecx
pop ecx
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180ea86b
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x78
call fcn.1801e657
and dword [esp + 0x48], 0
lea ecx, [esp + 0x48]
and dword [esp + 0x58], 0
push 0xf
pop eax
push eax
push str.DeviceInfo.Make
mov dword [esp + 0x64], eax
call fcn.1801e678
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ea8dd
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ecx
cmp eax, 0x1000
jb 0x180ea8d4
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x68]
pop ecx
pop ecx
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180ea8f7
mov ecx, dword [esp + 0x20]
push dword [edi + 0x40]
mov ecx, dword [ecx]
add ecx, 0x10
call fcn.1801e657
and dword [esp + 0x48], 0
lea ecx, [esp + 0x48]
and dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0xf
lfence
push str.DeviceInfo.Model
mov byte [esp + 0x64], 0
push dword [esp + 0x64]
push 0x10
call fcn.1801e756
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ea977
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ecx
cmp eax, 0x1000
jb 0x180ea96e
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x68]
pop ecx
pop ecx
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.18118e16
pop ecx
pop ecx
cmp edi, dword [esi]
je 0x180ea98c
mov eax, dword [esp + 0x20]
push dword [edi + 0x40]
mov ecx, dword [eax]
add ecx, 0x28
call fcn.1801e657
and dword [esp + 0x48], 0
lea ecx, [esp + 0x48]
and dword [esp + 0x58], 0
push 0x10
push str.DeviceInfo.Class
mov dword [esp + 0x64], 0xf
call fcn.1801e678
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b0d
cmp edi, dword [esi]
je 0x180ea9db
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x60
call fcn.1801e657
push str.M365aInfo.EnrolledTenantId
lea ecx, [esp + 0x4c]
call fcn.1801e634
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b0d
cmp edi, dword [esi]
je 0x180eaa17
mov ecx, dword [esp + 0x28]
push dword [edi + 0x40]
mov ecx, dword [ecx]
call fcn.1801e657
push str.DeviceInfo.OsName
lea ecx, [esp + 0x4c]
call fcn.1801e634
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b0d
mov ebx, dword [esp + 0x24]
cmp edi, dword [esi]
je 0x180eaa56
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x34
call fcn.1801e657
push str.DeviceInfo.OsBuild
lea ecx, [esp + 0x4c]
call fcn.1801e634
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b0d
cmp edi, dword [esi]
je 0x180eaa91
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x4c
call fcn.1801e657
push str.UserInfo.Id
lea ecx, [esp + 0x4c]
call fcn.1801e634
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b0d
mov ebx, dword [esp + 0x70]
cmp edi, dword [esi]
je 0x180eaad0
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x18
call fcn.1801e657
push str.UserInfo.Language
lea ecx, [esp + 0x4c]
call fcn.1801e634
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b0d
cmp edi, dword [esi]
je 0x180eab0b
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x48
call fcn.1801e657
push str.UserInfo.TimeZone
lea ecx, [esp + 0x4c]
call fcn.1801e634
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b0d
cmp edi, dword [esi]
je 0x180eab4d
mov ecx, dword [esp + 0x8c]
push dword [edi + 0x40]
mov ecx, dword [ecx]
add ecx, 0x30
call fcn.1801e657
push str.DeviceInfo.NetworkCost
lea ecx, [esp + 0x4c]
call fcn.1801e634
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b0d
mov ebx, dword [esp + 0x18]
cmp edi, dword [esi]
je 0x180eab8c
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x18
call fcn.1801e657
push str.DeviceInfo.NetworkProvider
lea ecx, [esp + 0x4c]
call fcn.1801e634
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b0d
cmp edi, dword [esi]
je 0x180eabc4
push dword [edi + 0x40]
mov ecx, dword [ebx]
call fcn.1801e657
push str.DeviceInfo.NetworkType
lea ecx, [esp + 0x4c]
call fcn.1801e634
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a53bf
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b0d
cmp edi, dword [esi]
je 0x180eabff
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x30
call fcn.1801e657
xor edx, edx
mov esi, dword [esp + 0x14]
cmp dword [esi + 0x54], edx
jbe 0x180eaca4
mov esi, dword [esi + 0x50]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], edx
mov esi, dword [esi]
jmp 0x180eac55
lea eax, [esi + 0x14]
push eax
lea ecx, [esp + 0x68]
call fcn.180922c7
mov ecx, dword [esi + 8]
cmp byte [ecx + 0xd], 0
je 0x180eac4e
mov eax, dword [esi + 4]
jmp 0x180eac46
cmp esi, dword [eax + 8]
jne 0x180eac53
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x180eac3c
jmp 0x180eac53
call fcn.180eb422
mov esi, eax
cmp byte [esi + 0xd], 0
je 0x180eac21
lea ecx, [esp + 0xa8]
call fcn.180eb07e
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0xb0]
call fcn.1809295b
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0xa8]
push eax
call fcn.180eb364
lea ecx, [esp + 0xa8]
call fcn.180e7aae
lea ecx, [esp + 0x64]
call fcn.18092d91
mov esi, dword [esp + 0x14]
xor edx, edx
cmp byte [ebp + 0xc], 0
jne 0x180eaff9
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov dword [esp + 0x70], eax
jmp 0x180eafef
lea ebx, [eax + 0x10]
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x180ead83
lea ecx, [esp + 0x120]
mov dword [esp + 0x8c], eax
call fcn.180db323
lea eax, [esp + 0x8c]
mov dword [esp + 0x48], edx
push eax
push edx
lea ecx, [esp + 0x50]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], edx
call fcn.18059849
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x128]
call fcn.180e638e
mov eax, dword [ebx + 0x18]
mov esi, dword [eax + 4]
lea eax, [esp + 0xa8]
push eax
mov ecx, esi
call dword [0x1815c3d4]
lea ecx, [ebx + 0x18]
call esi
push eax
lea ecx, [esp + 0x134]
call fcn.18037f55
lea ecx, [esp + 0xa8]
call fcn.18014b0d
lea eax, [esp + 0x120]
push eax
mov eax, dword [esp + 0x10]
push ecx
push ebx
mov ecx, dword [eax]
call fcn.180e623a
pop ecx
mov ecx, eax
call fcn.180e06a2
lea ecx, [esp + 0x48]
call fcn.180df752
lea ecx, [esp + 0x120]
call fcn.180db37c
jmp 0x180eafdf
xor eax, eax
mov dword [esp + 0x64], edx
lea edi, [esp + 0x1fc]
mov dword [esp + 0x68], edx
stosd dword es:[edi], eax
mov esi, edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x6c], esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebx + 0x20]
sub eax, edx
je 0x180eaf51
sub eax, 1
je 0x180eaeff
sub eax, 1
je 0x180eaebd
sub eax, 1
je 0x180eaea4
sub eax, 1
je 0x180eae7f
sub eax, 1
jne 0x180eaf51
lea eax, [ebx + 0x30]
push eax
lea ecx, [esp + 0x78]
call fcn.180cd484
lea eax, [esp + 0x1fc]
push eax
lea ecx, [esp + 0x78]
call fcn.180cd435
push ecx
lea eax, [esp + 0x210]
push eax
lea eax, [esp + 0x204]
push eax
lea ecx, [esp + 0x3c]
call fcn.180e6743
push eax
lea ecx, [esp + 0x68]
call fcn.180d60ae
lea ecx, [esp + 0x30]
call fcn.1801150b
lea ecx, [esp + 0x120]
call fcn.180db323
lea eax, [esp + 0x64]
mov dword [esp + 0x120], 8
push eax
lea ecx, [esp + 0x15c]
call fcn.180e62f6
lea eax, [esp + 0x120]
push eax
mov eax, dword [esp + 0x10]
push ecx
push ebx
mov ecx, dword [eax]
call fcn.180e623a
pop ecx
mov ecx, eax
call fcn.180e06a2
lea ecx, [esp + 0x120]
call fcn.180db37c
mov esi, dword [esp + 0x6c]
jmp 0x180eafbe
lea ecx, [esp + 0xa8]
call fcn.180db323
movzx eax, byte [ebx + 0x30]
cdq
mov dword [esp + 0xa8], 6
mov dword [esp + 0xd4], edx
jmp 0x180eaf1f
lea ecx, [esp + 0xa8]
call fcn.180db323
mov dword [esp + 0xa8], 7
jmp 0x180eaf12
lea ecx, [esp + 0x120]
call fcn.180db323
fld qword [ebx + 0x30]
mov eax, ecx
push eax
mov eax, dword [esp + 0x10]
push ecx
push ebx
fstp qword [esp + 0x15c]
mov ecx, dword [eax]
mov dword [esp + 0x12c], 4
call fcn.180e623a
pop ecx
mov ecx, eax
call fcn.180e06a2
lea ecx, [esp + 0x120]
jmp 0x180eaf4a
lea ecx, [esp + 0xa8]
call fcn.180db323
mov dword [esp + 0xa8], edx
mov ecx, dword [ebx + 0x34]
mov eax, dword [ebx + 0x30]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xa8]
push eax
mov eax, dword [esp + 0x10]
push ecx
push ebx
mov ecx, dword [eax]
call fcn.180e623a
pop ecx
mov ecx, eax
call fcn.180e06a2
lea ecx, [esp + 0xa8]
call fcn.180db37c
jmp 0x180eafbe
lea ecx, [esp + 0x120]
call fcn.180db323
mov eax, dword [ebx + 0x18]
mov esi, dword [eax + 4]
lea eax, [esp + 0xa8]
push eax
mov ecx, esi
call dword [0x1815c3d4]
lea ecx, [ebx + 0x18]
call esi
push eax
lea ecx, [esp + 0x134]
call fcn.18037f55
lea ecx, [esp + 0xa8]
call fcn.18014b0d
lea eax, [esp + 0x120]
push eax
mov eax, dword [esp + 0x10]
push ecx
push ebx
mov ecx, dword [eax]
call fcn.180e623a
pop ecx
mov ecx, eax
call fcn.180e06a2
lea ecx, [esp + 0x120]
call fcn.180db37c
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x64]
test eax, eax
je 0x180eafdf
sub esi, eax
push esi
push eax
call fcn.1800a288
xor eax, eax
pop ecx
pop ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
lea ecx, [esp + 0x70]
call fcn.1800fd12
mov eax, dword [esp + 0x70]
push 0
pop edx
cmp byte [eax + 0xd], 0
je 0x180eacbc
lea ecx, [esp + 0x90]
call fcn.18014b0d
push dword [esp + 0x2c]
call fcn.18154d71
pop ecx
mov ecx, dword [esp + 0x20c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.181188e8
mov esp, ebp
pop ebp
ret 8