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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x204
mov eax, dword [0x181d600c]
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 0x180f2e57
push 0
push edi
call fcn.180f2e22
lea esi, [edi + 0x128]
mov eax, dword [esi + 4]
sub eax, dword [esi]
mov dword [esp + 0xc], esi
test eax, 0xfffffff8
jne 0x180f2e8b
lea ecx, [esp + 0x64]
call fcn.180ef78c
lea eax, [esp + 0x64]
mov ecx, esi
push eax
call fcn.180ef6f1
lea ecx, [esp + 0x64]
call fcn.180ef7b8
lea ebx, [edi + 0xa8]
mov eax, dword [ebx + 4]
mov dword [esp + 0x1c], ebx
sub eax, dword [ebx]
jne 0x180f2ed5
lea ecx, [esp + 0x120]
call fcn.180f4506
mov eax, dword [ebx + 4]
push ecx
cmp eax, dword [ebx + 8]
je 0x180f2ec1
mov ecx, eax
call fcn.180f4db1
add dword [ebx + 4], 0xac
jmp 0x180f2ec9
push eax
mov ecx, ebx
call fcn.180f49ec
lea ecx, [esp + 0x120]
call fcn.180f0eb6
lea ebx, [edi + 0x90]
mov eax, dword [ebx + 4]
mov dword [esp + 0x60], ebx
sub eax, dword [ebx]
jne 0x180f2f1f
lea ecx, [esp + 0x120]
call fcn.180f4583
mov eax, dword [ebx + 4]
push ecx
cmp eax, dword [ebx + 8]
je 0x180f2f0b
mov ecx, eax
call fcn.180f4ebf
add dword [ebx + 4], 0xd8
jmp 0x180f2f13
push eax
mov ecx, ebx
call fcn.180f4b72
lea ecx, [esp + 0x120]
call fcn.180f0f17
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 0x180f2fc5
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 0x180f2fae
call fcn.180f4e59
add dword [ebx + 4], 0x64
jmp 0x180f2fb6
push ecx
mov ecx, ebx
call fcn.180f4aab
lea ecx, [esp + 0xa8]
call fcn.180f0ef4
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 0x180f305c
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 0x180f3048
call fcn.180f4f95
add dword [ebx + 4], 0x60
jmp 0x180f3050
push ecx
mov ecx, ebx
call fcn.180f4c31
lea ecx, [esp + 0xa8]
call fcn.180f0f6b
lea ebx, [edi + 0xd8]
mov ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x8c], ebx
sub eax, dword [ebx]
jne 0x180f30e0
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 0x180f30cc
call fcn.180bd102
add dword [ebx + 4], 0x48
jmp 0x180f30d4
push ecx
mov ecx, ebx
call fcn.180caf1e
lea ecx, [esp + 0xa8]
call fcn.180bd0e7
lea ebx, [edi + 0xc0]
mov ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x18], ebx
sub eax, dword [ebx]
jne 0x180f3161
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 0x180f314d
call fcn.180bd102
add dword [ebx + 4], 0x48
jmp 0x180f3155
push ecx
mov ecx, ebx
call fcn.180caf1e
lea ecx, [esp + 0xa8]
call fcn.180bd0e7
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 0x180f31ed
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 0x180f31d9
call fcn.180f4ff5
add dword [ebx + 4], 0x40
jmp 0x180f31e1
push ecx
mov ecx, ebx
call fcn.180f4cf8
lea ecx, [esp + 0xa8]
call fcn.180f0f8e
lea ebx, [edi + 0xe4]
mov ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x28], ebx
sub eax, dword [ebx]
jne 0x180f32ad
mov dword [esp + 0x90], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 0xf
cmp ecx, dword [ebx + 8]
je 0x180f323d
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
lea eax, [esp + 0x90]
push eax
call fcn.180264a2
add dword [ebx + 4], 0x18
jmp 0x180f324d
lea eax, [esp + 0x90]
push eax
push ecx
mov ecx, ebx
call fcn.180f4919
mov eax, dword [esp + 0xa4]
cmp eax, 0x10
jb 0x180f3292
mov ecx, dword [esp + 0x90]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f3289
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.18122407
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.180aa5d1
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.1801e38b
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.180d8c0c
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 0x180f3321
sub ecx, ebx
push ecx
push edx
lea ecx, [esp + 0x98]
call fcn.1801e2ad
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3377
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f336e
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.18122407
pop ecx
pop ecx
xor edx, edx
mov byte [esp + 0x48], dl
cmp dword [esp + 0xa0], edx
je 0x180f3468
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.180264a2
cmp dword [esp + 0x84], 0
je 0x180f33f1
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x68]
push eax
lea ecx, [ebx + 0x48]
call fcn.180303cd
mov edi, dword [esp + 0x6c]
lea eax, [esp + 0x74]
push eax
push edi
call fcn.1803041d
test al, al
je 0x180f33f1
cmp edi, dword [ebx + 0x48]
je 0x180f33f1
lea eax, [edi + 0x28]
push eax
lea ecx, [esp + 0x94]
call fcn.18030889
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x90]
cmp dword [ecx], eax
je 0x180f3420
cmp dword [esp + 0xa4], 0x10
jb 0x180f3411
mov eax, dword [esp + 0x90]
push dword [esp + 0xa0]
mov ecx, dword [ecx]
push eax
call fcn.1801e2ad
mov eax, dword [esp + 0x88]
cmp eax, 0x10
jb 0x180f3462
mov ecx, dword [esp + 0x74]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f3459
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.18122407
pop ecx
pop ecx
xor edx, edx
mov byte [esp + 0x74], dl
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x3c], edx
je 0x180f40e1
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.1801e38b
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
mov edi, dword [esi]
mov ebx, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f34f4
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f34eb
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x4c]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18122407
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp ebx, edi
je 0x180f366a
lea ecx, [esp + 0x120]
call fcn.180e47f3
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.1801e38b
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.180d8c0c
push eax
lea ecx, [esp + 0xac]
call fcn.180d6a71
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3591
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f3588
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.18122407
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 0x180f359f
sub ecx, edx
push ecx
push dword [esp + 0xc4]
lea ecx, [esp + 0x138]
call fcn.1801e2ad
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.1801e38b
lea eax, [esp + 0x120]
push eax
push ecx
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x50]
push eax
call fcn.180e81eb
pop ecx
mov ecx, eax
call fcn.180e9b72
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3641
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f3638
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.18122407
pop ecx
pop ecx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x48], bl
mov dword [esp + 0xa8], 0x181a3768
call fcn.180d6eb2
lea ecx, [esp + 0x120]
call fcn.180e484c
jmp 0x180f366f
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.1801e2ad
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
mov edi, dword [esi]
mov ebx, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f36df
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f36d6
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x4c]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18122407
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp ebx, edi
je 0x180f383f
lea ecx, [esp + 0x120]
call fcn.180e47f3
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.1801e2ad
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.180d8c0c
push eax
lea ecx, [esp + 0xac]
call fcn.180d6a71
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3771
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f3768
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
push eax
push ecx
call fcn.18122407
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 0x180f377f
sub ecx, edx
push ecx
push dword [esp + 0xc4]
lea ecx, [esp + 0x138]
call fcn.1801e2ad
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.1801e2ad
lea eax, [esp + 0x120]
push eax
push ecx
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x50]
push eax
call fcn.180e81eb
pop ecx
mov ecx, eax
call fcn.180e9b72
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3816
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f380d
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18122407
pop ecx
pop ecx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x48], bl
mov dword [esp + 0xa8], 0x181a3768
call fcn.180d6eb2
lea ecx, [esp + 0x120]
call fcn.180e484c
jmp 0x180f3844
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.1801e2ad
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x48]
push eax
call fcn.180a9f3f
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f38b4
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f38ab
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18122407
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 0x180f38d6
mov ecx, dword [ebx]
push dword [eax + 0x40]
add ecx, 0x4c
call fcn.1801e28c
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.1801e2ad
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3946
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f393d
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18122407
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f395c
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x30
call fcn.1801e28c
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.1801e2ad
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f39d0
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f39c7
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18122407
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f39eb
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x94
call fcn.1801e28c
jmp 0x180f3a03
cmp byte [esp + 0x13], 0
je 0x180f3a03
mov ecx, dword [ebx]
lea eax, [ecx + 0x4c]
add ecx, 0x94
push eax
call fcn.18030889
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.1801e2ad
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3a75
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f3a6c
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18122407
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f3a8b
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x64
call fcn.1801e28c
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.1801e38b
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3b0b
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f3b02
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18122407
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f3b21
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x7c
call fcn.1801e28c
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.1801e2ad
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3b94
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f3b8b
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18122407
pop ecx
pop ecx
xor eax, eax
mov byte [esp + 0x48], al
cmp edi, dword [esi]
je 0x180f3cb4
push 2
push 0x181c9ed8
lea ecx, [esp + 0x7c]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ebx
call fcn.1801e2ad
mov edi, dword [edi + 0x40]
test edi, edi
je 0x180f3c3e
push edi
call fcn.1813ffc0
mov ebx, eax
pop ecx
cmp ebx, 2
jb 0x180f3c0f
cmp byte [edi + 1], 0x3a
jne 0x180f3c0f
mov cl, byte [edi]
cmp cl, 0x63
je 0x180f3bff
cmp cl, 0x75
je 0x180f3bff
cmp cl, 0x61
je 0x180f3bff
cmp cl, 0x73
je 0x180f3bff
cmp cl, 0x78
je 0x180f3bff
cmp cl, 0x69
jne 0x180f3c0f
push 0
push 0x181a5db4
lea ecx, [esp + 0x7c]
call fcn.1801e2ad
cmp byte [edi], 0x7b
jne 0x180f3c25
cmp byte [ebx + edi - 1], 0x7d
jne 0x180f3c25
lea eax, [ebx - 2]
push eax
lea eax, [edi + 1]
push eax
jmp 0x180f3c35
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x180f3c2a
sub ecx, edx
push ecx
push edi
lea ecx, [esp + 0x7c]
call fcn.18026445
mov ebx, dword [esp + 0x60]
lea eax, [esp + 0x74]
mov ecx, dword [ebx]
add ecx, 0x18
cmp ecx, eax
je 0x180f3c6a
cmp dword [esp + 0x88], 0x10
jb 0x180f3c5d
mov eax, dword [esp + 0x74]
push dword [esp + 0x84]
push eax
call fcn.1801e2ad
mov eax, dword [esp + 0x88]
cmp eax, 0x10
jb 0x180f3cac
mov ecx, dword [esp + 0x74]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f3ca3
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.18122407
pop ecx
pop ecx
xor eax, eax
mov byte [esp + 0x74], al
jmp 0x180f3cb8
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.1801e38b
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3d35
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ecx
cmp eax, 0x1000
jb 0x180f3d2c
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x68]
pop ecx
pop ecx
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.18122407
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f3d4b
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x78
call fcn.1801e28c
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.1801e2ad
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3dbd
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ecx
cmp eax, 0x1000
jb 0x180f3db4
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x68]
pop ecx
pop ecx
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.18122407
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f3dd7
mov ecx, dword [esp + 0x20]
push dword [edi + 0x40]
mov ecx, dword [ecx]
add ecx, 0x10
call fcn.1801e28c
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.1801e38b
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3e57
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ecx
cmp eax, 0x1000
jb 0x180f3e4e
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.18007b92
mov eax, dword [esp + 0x68]
pop ecx
pop ecx
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.18122407
pop ecx
pop ecx
cmp edi, dword [esi]
je 0x180f3e6c
mov eax, dword [esp + 0x20]
push dword [edi + 0x40]
mov ecx, dword [eax]
add ecx, 0x28
call fcn.1801e28c
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.1801e2ad
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014acd
cmp edi, dword [esi]
je 0x180f3ebb
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x60
call fcn.1801e28c
push str.M365aInfo.EnrolledTenantId
lea ecx, [esp + 0x4c]
call fcn.1801e269
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014acd
cmp edi, dword [esi]
je 0x180f3ef7
mov ecx, dword [esp + 0x28]
push dword [edi + 0x40]
mov ecx, dword [ecx]
call fcn.1801e28c
push str.DeviceInfo.OsName
lea ecx, [esp + 0x4c]
call fcn.1801e269
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014acd
mov ebx, dword [esp + 0x24]
cmp edi, dword [esi]
je 0x180f3f36
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x34
call fcn.1801e28c
push str.DeviceInfo.OsBuild
lea ecx, [esp + 0x4c]
call fcn.1801e269
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014acd
cmp edi, dword [esi]
je 0x180f3f71
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x4c
call fcn.1801e28c
push str.UserInfo.Id
lea ecx, [esp + 0x4c]
call fcn.1801e269
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014acd
mov ebx, dword [esp + 0x70]
cmp edi, dword [esi]
je 0x180f3fb0
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x18
call fcn.1801e28c
push str.UserInfo.Language
lea ecx, [esp + 0x4c]
call fcn.1801e269
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014acd
cmp edi, dword [esi]
je 0x180f3feb
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x48
call fcn.1801e28c
push str.UserInfo.TimeZone
lea ecx, [esp + 0x4c]
call fcn.1801e269
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014acd
cmp edi, dword [esi]
je 0x180f402d
mov ecx, dword [esp + 0x8c]
push dword [edi + 0x40]
mov ecx, dword [ecx]
add ecx, 0x30
call fcn.1801e28c
push str.DeviceInfo.NetworkCost
lea ecx, [esp + 0x4c]
call fcn.1801e269
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014acd
mov ebx, dword [esp + 0x18]
cmp edi, dword [esi]
je 0x180f406c
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x18
call fcn.1801e28c
push str.DeviceInfo.NetworkProvider
lea ecx, [esp + 0x4c]
call fcn.1801e269
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014acd
cmp edi, dword [esi]
je 0x180f40a4
push dword [edi + 0x40]
mov ecx, dword [ebx]
call fcn.1801e28c
push str.DeviceInfo.NetworkType
lea ecx, [esp + 0x4c]
call fcn.1801e269
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180a9f3f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014acd
cmp edi, dword [esi]
je 0x180f40df
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x30
call fcn.1801e28c
xor edx, edx
mov esi, dword [esp + 0x14]
cmp dword [esi + 0x54], edx
jbe 0x180f4184
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 0x180f4135
lea eax, [esi + 0x14]
push eax
lea ecx, [esp + 0x68]
call fcn.18095ee7
mov ecx, dword [esi + 8]
cmp byte [ecx + 0xd], 0
je 0x180f412e
mov eax, dword [esi + 4]
jmp 0x180f4126
cmp esi, dword [eax + 8]
jne 0x180f4133
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x180f411c
jmp 0x180f4133
call fcn.180f4902
mov esi, eax
cmp byte [esi + 0xd], 0
je 0x180f4101
lea ecx, [esp + 0xa8]
call fcn.180f455e
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0xb0]
call fcn.1809657f
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0xa8]
push eax
call fcn.180f4844
lea ecx, [esp + 0xa8]
call fcn.180f0f8e
lea ecx, [esp + 0x64]
call fcn.180969b1
mov esi, dword [esp + 0x14]
xor edx, edx
cmp byte [ebp + 0xc], 0
jne 0x180f44d9
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov dword [esp + 0x70], eax
jmp 0x180f44cf
lea ebx, [eax + 0x10]
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x180f4263
lea ecx, [esp + 0x120]
mov dword [esp + 0x8c], eax
call fcn.180e47f3
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.1805b529
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x128]
call fcn.180ef86e
mov eax, dword [ebx + 0x18]
mov esi, dword [eax + 4]
lea eax, [esp + 0xa8]
push eax
mov ecx, esi
call dword [0x181663e8]
lea ecx, [ebx + 0x18]
call esi
push eax
lea ecx, [esp + 0x134]
call fcn.18039c75
lea ecx, [esp + 0xa8]
call fcn.18014acd
lea eax, [esp + 0x120]
push eax
mov eax, dword [esp + 0x10]
push ecx
push ebx
mov ecx, dword [eax]
call fcn.180ef71a
pop ecx
mov ecx, eax
call fcn.180e9b72
lea ecx, [esp + 0x48]
call fcn.180e8c22
lea ecx, [esp + 0x120]
call fcn.180e484c
jmp 0x180f44bf
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 0x180f4431
sub eax, 1
je 0x180f43df
sub eax, 1
je 0x180f439d
sub eax, 1
je 0x180f4384
sub eax, 1
je 0x180f435f
sub eax, 1
jne 0x180f4431
lea eax, [ebx + 0x30]
push eax
lea ecx, [esp + 0x78]
call fcn.180d68b4
lea eax, [esp + 0x1fc]
push eax
lea ecx, [esp + 0x78]
call fcn.180d6865
push ecx
lea eax, [esp + 0x210]
push eax
lea eax, [esp + 0x204]
push eax
lea ecx, [esp + 0x3c]
call fcn.180efc23
push eax
lea ecx, [esp + 0x68]
call fcn.180df4de
lea ecx, [esp + 0x30]
call fcn.180114c3
lea ecx, [esp + 0x120]
call fcn.180e47f3
lea eax, [esp + 0x64]
mov dword [esp + 0x120], 8
push eax
lea ecx, [esp + 0x15c]
call fcn.180ef7d6
lea eax, [esp + 0x120]
push eax
mov eax, dword [esp + 0x10]
push ecx
push ebx
mov ecx, dword [eax]
call fcn.180ef71a
pop ecx
mov ecx, eax
call fcn.180e9b72
lea ecx, [esp + 0x120]
call fcn.180e484c
mov esi, dword [esp + 0x6c]
jmp 0x180f449e
lea ecx, [esp + 0xa8]
call fcn.180e47f3
movzx eax, byte [ebx + 0x30]
cdq
mov dword [esp + 0xa8], 6
mov dword [esp + 0xd4], edx
jmp 0x180f43ff
lea ecx, [esp + 0xa8]
call fcn.180e47f3
mov dword [esp + 0xa8], 7
jmp 0x180f43f2
lea ecx, [esp + 0x120]
call fcn.180e47f3
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.180ef71a
pop ecx
mov ecx, eax
call fcn.180e9b72
lea ecx, [esp + 0x120]
jmp 0x180f442a
lea ecx, [esp + 0xa8]
call fcn.180e47f3
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.180ef71a
pop ecx
mov ecx, eax
call fcn.180e9b72
lea ecx, [esp + 0xa8]
call fcn.180e484c
jmp 0x180f449e
lea ecx, [esp + 0x120]
call fcn.180e47f3
mov eax, dword [ebx + 0x18]
mov esi, dword [eax + 4]
lea eax, [esp + 0xa8]
push eax
mov ecx, esi
call dword [0x181663e8]
lea ecx, [ebx + 0x18]
call esi
push eax
lea ecx, [esp + 0x134]
call fcn.18039c75
lea ecx, [esp + 0xa8]
call fcn.18014acd
lea eax, [esp + 0x120]
push eax
mov eax, dword [esp + 0x10]
push ecx
push ebx
mov ecx, dword [eax]
call fcn.180ef71a
pop ecx
mov ecx, eax
call fcn.180e9b72
lea ecx, [esp + 0x120]
call fcn.180e484c
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x64]
test eax, eax
je 0x180f44bf
sub esi, eax
push esi
push eax
call fcn.1800a1ed
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.1800fc71
mov eax, dword [esp + 0x70]
push 0
pop edx
cmp byte [eax + 0xd], 0
je 0x180f419c
lea ecx, [esp + 0x90]
call fcn.18014acd
push dword [esp + 0x2c]
call fcn.1815e351
pop ecx
mov ecx, dword [esp + 0x20c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.18121ed8
mov esp, ebp
pop ebp
ret 8