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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x204
mov eax, dword [0x181ce00c]
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 0x180eb467
push 0
push edi
call fcn.180eb432
lea esi, [edi + 0x128]
mov eax, dword [esi + 4]
sub eax, dword [esi]
mov dword [esp + 0xc], esi
test eax, 0xfffffff8
jne 0x180eb49b
lea ecx, [esp + 0x64]
call fcn.180e7d9c
lea eax, [esp + 0x64]
mov ecx, esi
push eax
call fcn.180e7d01
lea ecx, [esp + 0x64]
call fcn.180e7dc8
lea ebx, [edi + 0xa8]
mov eax, dword [ebx + 4]
mov dword [esp + 0x1c], ebx
sub eax, dword [ebx]
jne 0x180eb4e5
lea ecx, [esp + 0x120]
call fcn.180ecb16
mov eax, dword [ebx + 4]
push ecx
cmp eax, dword [ebx + 8]
je 0x180eb4d1
mov ecx, eax
call fcn.180ed3cf
add dword [ebx + 4], 0xac
jmp 0x180eb4d9
push eax
mov ecx, ebx
call fcn.180ecffc
lea ecx, [esp + 0x120]
call fcn.180e94c6
lea ebx, [edi + 0x90]
mov eax, dword [ebx + 4]
mov dword [esp + 0x60], ebx
sub eax, dword [ebx]
jne 0x180eb52f
lea ecx, [esp + 0x120]
call fcn.180ecb93
mov eax, dword [ebx + 4]
push ecx
cmp eax, dword [ebx + 8]
je 0x180eb51b
mov ecx, eax
call fcn.180ed4dd
add dword [ebx + 4], 0xd8
jmp 0x180eb523
push eax
mov ecx, ebx
call fcn.180ed182
lea ecx, [esp + 0x120]
call fcn.180e9527
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 0x180eb5d5
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 0x180eb5be
call fcn.180ed477
add dword [ebx + 4], 0x64
jmp 0x180eb5c6
push ecx
mov ecx, ebx
call fcn.180ed0bb
lea ecx, [esp + 0xa8]
call fcn.180e9504
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 0x180eb66c
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 0x180eb658
call fcn.180ed5b3
add dword [ebx + 4], 0x60
jmp 0x180eb660
push ecx
mov ecx, ebx
call fcn.180ed241
lea ecx, [esp + 0xa8]
call fcn.180e957b
lea ebx, [edi + 0xd8]
mov ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x8c], ebx
sub eax, dword [ebx]
jne 0x180eb6f0
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 0x180eb6dc
call fcn.180b80a5
add dword [ebx + 4], 0x48
jmp 0x180eb6e4
push ecx
mov ecx, ebx
call fcn.180c5fdb
lea ecx, [esp + 0xa8]
call fcn.180b808a
lea ebx, [edi + 0xc0]
mov ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x18], ebx
sub eax, dword [ebx]
jne 0x180eb771
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 0x180eb75d
call fcn.180b80a5
add dword [ebx + 4], 0x48
jmp 0x180eb765
push ecx
mov ecx, ebx
call fcn.180c5fdb
lea ecx, [esp + 0xa8]
call fcn.180b808a
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 0x180eb7fd
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 0x180eb7e9
call fcn.180ed613
add dword [ebx + 4], 0x40
jmp 0x180eb7f1
push ecx
mov ecx, ebx
call fcn.180ed308
lea ecx, [esp + 0xa8]
call fcn.180e959e
lea ebx, [edi + 0xe4]
mov ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x28], ebx
sub eax, dword [ebx]
jne 0x180eb8bd
mov dword [esp + 0x90], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 0xf
cmp ecx, dword [ebx + 8]
je 0x180eb84d
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
lea eax, [esp + 0x90]
push eax
call fcn.18026292
add dword [ebx + 4], 0x18
jmp 0x180eb85d
lea eax, [esp + 0x90]
push eax
push ecx
mov ecx, ebx
call fcn.180ecf29
mov eax, dword [esp + 0xa4]
cmp eax, 0x10
jb 0x180eb8a2
mov ecx, dword [esp + 0x90]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180eb899
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.1811af76
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.180a5b1b
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.1801e806
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.180d121c
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 0x180eb931
sub ecx, ebx
push ecx
push edx
lea ecx, [esp + 0x98]
call fcn.1801e728
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180eb987
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180eb97e
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.1811af76
pop ecx
pop ecx
xor edx, edx
mov byte [esp + 0x48], dl
cmp dword [esp + 0xa0], edx
je 0x180eba78
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.18026292
cmp dword [esp + 0x84], 0
je 0x180eba01
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x68]
push eax
lea ecx, [ebx + 0x48]
call fcn.18035654
mov edi, dword [esp + 0x6c]
lea eax, [esp + 0x74]
push eax
push edi
call fcn.180356a4
test al, al
je 0x180eba01
cmp edi, dword [ebx + 0x48]
je 0x180eba01
lea eax, [edi + 0x28]
push eax
lea ecx, [esp + 0x94]
call fcn.1803abae
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x90]
cmp dword [ecx], eax
je 0x180eba30
cmp dword [esp + 0xa4], 0x10
jb 0x180eba21
mov eax, dword [esp + 0x90]
push dword [esp + 0xa0]
mov ecx, dword [ecx]
push eax
call fcn.1801e728
mov eax, dword [esp + 0x88]
cmp eax, 0x10
jb 0x180eba72
mov ecx, dword [esp + 0x74]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180eba69
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.1811af76
pop ecx
pop ecx
xor edx, edx
mov byte [esp + 0x74], dl
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x3c], edx
je 0x180ec6f1
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.1801e806
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
mov edi, dword [esi]
mov ebx, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ebb04
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ebafb
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x4c]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.1811af76
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp ebx, edi
je 0x180ebc7a
lea ecx, [esp + 0x120]
call fcn.180dce13
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.1801e806
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.180d121c
push eax
lea ecx, [esp + 0xac]
call fcn.180cf085
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ebba1
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180ebb98
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.1811af76
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 0x180ebbaf
sub ecx, edx
push ecx
push dword [esp + 0xc4]
lea ecx, [esp + 0x138]
call fcn.1801e728
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.1801e806
lea eax, [esp + 0x120]
push eax
push ecx
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x50]
push eax
call fcn.180e080b
pop ecx
mov ecx, eax
call fcn.180e2192
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ebc51
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180ebc48
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.1811af76
pop ecx
pop ecx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x48], bl
mov dword [esp + 0xa8], 0x1819de5c
call fcn.180cf4c2
lea ecx, [esp + 0x120]
call fcn.180dce6c
jmp 0x180ebc7f
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.1801e728
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
mov edi, dword [esi]
mov ebx, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ebcef
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ebce6
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x4c]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.1811af76
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp ebx, edi
je 0x180ebe4f
lea ecx, [esp + 0x120]
call fcn.180dce13
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.1801e728
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.180d121c
push eax
lea ecx, [esp + 0xac]
call fcn.180cf085
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ebd81
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180ebd78
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.1811af76
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 0x180ebd8f
sub ecx, edx
push ecx
push dword [esp + 0xc4]
lea ecx, [esp + 0x138]
call fcn.1801e728
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.1801e728
lea eax, [esp + 0x120]
push eax
push ecx
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x50]
push eax
call fcn.180e080b
pop ecx
mov ecx, eax
call fcn.180e2192
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ebe26
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ebe1d
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.1811af76
pop ecx
pop ecx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x48], bl
mov dword [esp + 0xa8], 0x1819de5c
call fcn.180cf4c2
lea ecx, [esp + 0x120]
call fcn.180dce6c
jmp 0x180ebe54
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.1801e728
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x48]
push eax
call fcn.180a550f
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ebec4
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ebebb
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.1811af76
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 0x180ebee6
mov ecx, dword [ebx]
push dword [eax + 0x40]
add ecx, 0x4c
call fcn.1801e707
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.1801e728
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ebf56
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ebf4d
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.1811af76
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180ebf6c
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x30
call fcn.1801e707
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.1801e728
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ebfe0
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ebfd7
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.1811af76
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180ebffb
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x94
call fcn.1801e707
jmp 0x180ec013
cmp byte [esp + 0x13], 0
je 0x180ec013
mov ecx, dword [ebx]
lea eax, [ecx + 0x4c]
add ecx, 0x94
push eax
call fcn.1803abae
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.1801e728
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ec085
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ec07c
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.1811af76
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180ec09b
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x64
call fcn.1801e707
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.1801e806
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ec11b
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ec112
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.1811af76
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180ec131
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x7c
call fcn.1801e707
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.1801e728
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ec1a4
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ec19b
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.1811af76
pop ecx
pop ecx
xor eax, eax
mov byte [esp + 0x48], al
cmp edi, dword [esi]
je 0x180ec2c4
push 2
push 0x181c2228
lea ecx, [esp + 0x7c]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ebx
call fcn.1801e728
mov edi, dword [edi + 0x40]
test edi, edi
je 0x180ec24e
push edi
call fcn.18138b40
mov ebx, eax
pop ecx
cmp ebx, 2
jb 0x180ec21f
cmp byte [edi + 1], 0x3a
jne 0x180ec21f
mov cl, byte [edi]
cmp cl, 0x63
je 0x180ec20f
cmp cl, 0x75
je 0x180ec20f
cmp cl, 0x61
je 0x180ec20f
cmp cl, 0x73
je 0x180ec20f
cmp cl, 0x78
je 0x180ec20f
cmp cl, 0x69
jne 0x180ec21f
push 0
push 0x181a059c
lea ecx, [esp + 0x7c]
call fcn.1801e728
cmp byte [edi], 0x7b
jne 0x180ec235
cmp byte [ebx + edi - 1], 0x7d
jne 0x180ec235
lea eax, [ebx - 2]
push eax
lea eax, [edi + 1]
push eax
jmp 0x180ec245
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x180ec23a
sub ecx, edx
push ecx
push edi
lea ecx, [esp + 0x7c]
call fcn.18026235
mov ebx, dword [esp + 0x60]
lea eax, [esp + 0x74]
mov ecx, dword [ebx]
add ecx, 0x18
cmp ecx, eax
je 0x180ec27a
cmp dword [esp + 0x88], 0x10
jb 0x180ec26d
mov eax, dword [esp + 0x74]
push dword [esp + 0x84]
push eax
call fcn.1801e728
mov eax, dword [esp + 0x88]
cmp eax, 0x10
jb 0x180ec2bc
mov ecx, dword [esp + 0x74]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180ec2b3
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.1811af76
pop ecx
pop ecx
xor eax, eax
mov byte [esp + 0x74], al
jmp 0x180ec2c8
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.1801e806
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ec345
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ecx
cmp eax, 0x1000
jb 0x180ec33c
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x68]
pop ecx
pop ecx
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.1811af76
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180ec35b
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x78
call fcn.1801e707
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.1801e728
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ec3cd
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ecx
cmp eax, 0x1000
jb 0x180ec3c4
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x68]
pop ecx
pop ecx
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.1811af76
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180ec3e7
mov ecx, dword [esp + 0x20]
push dword [edi + 0x40]
mov ecx, dword [ecx]
add ecx, 0x10
call fcn.1801e707
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.1801e806
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180ec467
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ecx
cmp eax, 0x1000
jb 0x180ec45e
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.18007b72
mov eax, dword [esp + 0x68]
pop ecx
pop ecx
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.1811af76
pop ecx
pop ecx
cmp edi, dword [esi]
je 0x180ec47c
mov eax, dword [esp + 0x20]
push dword [edi + 0x40]
mov ecx, dword [eax]
add ecx, 0x28
call fcn.1801e707
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.1801e728
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b4d
cmp edi, dword [esi]
je 0x180ec4cb
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x60
call fcn.1801e707
push str.M365aInfo.EnrolledTenantId
lea ecx, [esp + 0x4c]
call fcn.1801e6e4
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b4d
cmp edi, dword [esi]
je 0x180ec507
mov ecx, dword [esp + 0x28]
push dword [edi + 0x40]
mov ecx, dword [ecx]
call fcn.1801e707
push str.DeviceInfo.OsName
lea ecx, [esp + 0x4c]
call fcn.1801e6e4
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b4d
mov ebx, dword [esp + 0x24]
cmp edi, dword [esi]
je 0x180ec546
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x34
call fcn.1801e707
push str.DeviceInfo.OsBuild
lea ecx, [esp + 0x4c]
call fcn.1801e6e4
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b4d
cmp edi, dword [esi]
je 0x180ec581
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x4c
call fcn.1801e707
push str.UserInfo.Id
lea ecx, [esp + 0x4c]
call fcn.1801e6e4
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b4d
mov ebx, dword [esp + 0x70]
cmp edi, dword [esi]
je 0x180ec5c0
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x18
call fcn.1801e707
push str.UserInfo.Language
lea ecx, [esp + 0x4c]
call fcn.1801e6e4
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b4d
cmp edi, dword [esi]
je 0x180ec5fb
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x48
call fcn.1801e707
push str.UserInfo.TimeZone
lea ecx, [esp + 0x4c]
call fcn.1801e6e4
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b4d
cmp edi, dword [esi]
je 0x180ec63d
mov ecx, dword [esp + 0x8c]
push dword [edi + 0x40]
mov ecx, dword [ecx]
add ecx, 0x30
call fcn.1801e707
push str.DeviceInfo.NetworkCost
lea ecx, [esp + 0x4c]
call fcn.1801e6e4
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b4d
mov ebx, dword [esp + 0x18]
cmp edi, dword [esi]
je 0x180ec67c
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x18
call fcn.1801e707
push str.DeviceInfo.NetworkProvider
lea ecx, [esp + 0x4c]
call fcn.1801e6e4
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b4d
cmp edi, dword [esi]
je 0x180ec6b4
push dword [edi + 0x40]
mov ecx, dword [ebx]
call fcn.1801e707
push str.DeviceInfo.NetworkType
lea ecx, [esp + 0x4c]
call fcn.1801e6e4
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a550f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b4d
cmp edi, dword [esi]
je 0x180ec6ef
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x30
call fcn.1801e707
xor edx, edx
mov esi, dword [esp + 0x14]
cmp dword [esi + 0x54], edx
jbe 0x180ec794
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 0x180ec745
lea eax, [esi + 0x14]
push eax
lea ecx, [esp + 0x68]
call fcn.180924b7
mov ecx, dword [esi + 8]
cmp byte [ecx + 0xd], 0
je 0x180ec73e
mov eax, dword [esi + 4]
jmp 0x180ec736
cmp esi, dword [eax + 8]
jne 0x180ec743
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x180ec72c
jmp 0x180ec743
call fcn.180ecf12
mov esi, eax
cmp byte [esi + 0xd], 0
je 0x180ec711
lea ecx, [esp + 0xa8]
call fcn.180ecb6e
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0xb0]
call fcn.18092b4b
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0xa8]
push eax
call fcn.180ece54
lea ecx, [esp + 0xa8]
call fcn.180e959e
lea ecx, [esp + 0x64]
call fcn.18092f81
mov esi, dword [esp + 0x14]
xor edx, edx
cmp byte [ebp + 0xc], 0
jne 0x180ecae9
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov dword [esp + 0x70], eax
jmp 0x180ecadf
lea ebx, [eax + 0x10]
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x180ec873
lea ecx, [esp + 0x120]
mov dword [esp + 0x8c], eax
call fcn.180dce13
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.18059c49
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x128]
call fcn.180e7e7e
mov eax, dword [ebx + 0x18]
mov esi, dword [eax + 4]
lea eax, [esp + 0xa8]
push eax
mov ecx, esi
call dword [0x1815e3d4]
lea ecx, [ebx + 0x18]
call esi
push eax
lea ecx, [esp + 0x134]
call fcn.180384b5
lea ecx, [esp + 0xa8]
call fcn.18014b4d
lea eax, [esp + 0x120]
push eax
mov eax, dword [esp + 0x10]
push ecx
push ebx
mov ecx, dword [eax]
call fcn.180e7d2a
pop ecx
mov ecx, eax
call fcn.180e2192
lea ecx, [esp + 0x48]
call fcn.180e1242
lea ecx, [esp + 0x120]
call fcn.180dce6c
jmp 0x180ecacf
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 0x180eca41
sub eax, 1
je 0x180ec9ef
sub eax, 1
je 0x180ec9ad
sub eax, 1
je 0x180ec994
sub eax, 1
je 0x180ec96f
sub eax, 1
jne 0x180eca41
lea eax, [ebx + 0x30]
push eax
lea ecx, [esp + 0x78]
call fcn.180ceec8
lea eax, [esp + 0x1fc]
push eax
lea ecx, [esp + 0x78]
call fcn.180cee79
push ecx
lea eax, [esp + 0x210]
push eax
lea eax, [esp + 0x204]
push eax
lea ecx, [esp + 0x3c]
call fcn.180e8233
push eax
lea ecx, [esp + 0x68]
call fcn.180d7aee
lea ecx, [esp + 0x30]
call fcn.1801154f
lea ecx, [esp + 0x120]
call fcn.180dce13
lea eax, [esp + 0x64]
mov dword [esp + 0x120], 8
push eax
lea ecx, [esp + 0x15c]
call fcn.180e7de6
lea eax, [esp + 0x120]
push eax
mov eax, dword [esp + 0x10]
push ecx
push ebx
mov ecx, dword [eax]
call fcn.180e7d2a
pop ecx
mov ecx, eax
call fcn.180e2192
lea ecx, [esp + 0x120]
call fcn.180dce6c
mov esi, dword [esp + 0x6c]
jmp 0x180ecaae
lea ecx, [esp + 0xa8]
call fcn.180dce13
movzx eax, byte [ebx + 0x30]
cdq
mov dword [esp + 0xa8], 6
mov dword [esp + 0xd4], edx
jmp 0x180eca0f
lea ecx, [esp + 0xa8]
call fcn.180dce13
mov dword [esp + 0xa8], 7
jmp 0x180eca02
lea ecx, [esp + 0x120]
call fcn.180dce13
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.180e7d2a
pop ecx
mov ecx, eax
call fcn.180e2192
lea ecx, [esp + 0x120]
jmp 0x180eca3a
lea ecx, [esp + 0xa8]
call fcn.180dce13
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.180e7d2a
pop ecx
mov ecx, eax
call fcn.180e2192
lea ecx, [esp + 0xa8]
call fcn.180dce6c
jmp 0x180ecaae
lea ecx, [esp + 0x120]
call fcn.180dce13
mov eax, dword [ebx + 0x18]
mov esi, dword [eax + 4]
lea eax, [esp + 0xa8]
push eax
mov ecx, esi
call dword [0x1815e3d4]
lea ecx, [ebx + 0x18]
call esi
push eax
lea ecx, [esp + 0x134]
call fcn.180384b5
lea ecx, [esp + 0xa8]
call fcn.18014b4d
lea eax, [esp + 0x120]
push eax
mov eax, dword [esp + 0x10]
push ecx
push ebx
mov ecx, dword [eax]
call fcn.180e7d2a
pop ecx
mov ecx, eax
call fcn.180e2192
lea ecx, [esp + 0x120]
call fcn.180dce6c
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x64]
test eax, eax
je 0x180ecacf
sub esi, eax
push esi
push eax
call fcn.1800a1cd
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.1800fcf6
mov eax, dword [esp + 0x70]
push 0
pop edx
cmp byte [eax + 0xd], 0
je 0x180ec7ac
lea ecx, [esp + 0x90]
call fcn.18014b4d
push dword [esp + 0x2c]
call fcn.18156ed1
pop ecx
mov ecx, dword [esp + 0x20c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1811aa48
mov esp, ebp
pop ebp
ret 8