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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x204
mov eax, dword [0x181d700c]
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 0x180f34a7
push 0
push edi
call fcn.180f3472
lea esi, [edi + 0x128]
mov eax, dword [esi + 4]
sub eax, dword [esi]
mov dword [esp + 0xc], esi
test eax, 0xfffffff8
jne 0x180f34db
lea ecx, [esp + 0x64]
call fcn.180efddc
lea eax, [esp + 0x64]
mov ecx, esi
push eax
call fcn.180efd41
lea ecx, [esp + 0x64]
call fcn.180efe08
lea ebx, [edi + 0xa8]
mov eax, dword [ebx + 4]
mov dword [esp + 0x1c], ebx
sub eax, dword [ebx]
jne 0x180f3525
lea ecx, [esp + 0x120]
call fcn.180f4b56
mov eax, dword [ebx + 4]
push ecx
cmp eax, dword [ebx + 8]
je 0x180f3511
mov ecx, eax
call fcn.180f5401
add dword [ebx + 4], 0xac
jmp 0x180f3519
push eax
mov ecx, ebx
call fcn.180f503c
lea ecx, [esp + 0x120]
call fcn.180f1506
lea ebx, [edi + 0x90]
mov eax, dword [ebx + 4]
mov dword [esp + 0x60], ebx
sub eax, dword [ebx]
jne 0x180f356f
lea ecx, [esp + 0x120]
call fcn.180f4bd3
mov eax, dword [ebx + 4]
push ecx
cmp eax, dword [ebx + 8]
je 0x180f355b
mov ecx, eax
call fcn.180f550f
add dword [ebx + 4], 0xd8
jmp 0x180f3563
push eax
mov ecx, ebx
call fcn.180f51c2
lea ecx, [esp + 0x120]
call fcn.180f1567
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 0x180f3615
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 0x180f35fe
call fcn.180f54a9
add dword [ebx + 4], 0x64
jmp 0x180f3606
push ecx
mov ecx, ebx
call fcn.180f50fb
lea ecx, [esp + 0xa8]
call fcn.180f1544
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 0x180f36ac
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 0x180f3698
call fcn.180f55e5
add dword [ebx + 4], 0x60
jmp 0x180f36a0
push ecx
mov ecx, ebx
call fcn.180f5281
lea ecx, [esp + 0xa8]
call fcn.180f15bb
lea ebx, [edi + 0xd8]
mov ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x8c], ebx
sub eax, dword [ebx]
jne 0x180f3730
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 0x180f371c
call fcn.180bd490
add dword [ebx + 4], 0x48
jmp 0x180f3724
push ecx
mov ecx, ebx
call fcn.180cb47a
lea ecx, [esp + 0xa8]
call fcn.180bd475
lea ebx, [edi + 0xc0]
mov ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x18], ebx
sub eax, dword [ebx]
jne 0x180f37b1
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 0x180f379d
call fcn.180bd490
add dword [ebx + 4], 0x48
jmp 0x180f37a5
push ecx
mov ecx, ebx
call fcn.180cb47a
lea ecx, [esp + 0xa8]
call fcn.180bd475
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 0x180f383d
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 0x180f3829
call fcn.180f5645
add dword [ebx + 4], 0x40
jmp 0x180f3831
push ecx
mov ecx, ebx
call fcn.180f5348
lea ecx, [esp + 0xa8]
call fcn.180f15de
lea ebx, [edi + 0xe4]
mov ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x28], ebx
sub eax, dword [ebx]
jne 0x180f38fd
mov dword [esp + 0x90], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 0xf
cmp ecx, dword [ebx + 8]
je 0x180f388d
mov dword [ecx], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
lea eax, [esp + 0x90]
push eax
call fcn.18026632
add dword [ebx + 4], 0x18
jmp 0x180f389d
lea eax, [esp + 0x90]
push eax
push ecx
mov ecx, ebx
call fcn.180f4f69
mov eax, dword [esp + 0xa4]
cmp eax, 0x10
jb 0x180f38e2
mov ecx, dword [esp + 0x90]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f38d9
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.18122a66
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.180aae21
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.1801e41b
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.180d926c
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 0x180f3971
sub ecx, ebx
push ecx
push edx
lea ecx, [esp + 0x98]
call fcn.1801e33d
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f39c7
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f39be
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.18122a66
pop ecx
pop ecx
xor edx, edx
mov byte [esp + 0x48], dl
cmp dword [esp + 0xa0], edx
je 0x180f3ab8
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.18026632
cmp dword [esp + 0x84], 0
je 0x180f3a41
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x68]
push eax
lea ecx, [ebx + 0x48]
call fcn.18030b6d
mov edi, dword [esp + 0x6c]
lea eax, [esp + 0x74]
push eax
push edi
call fcn.18030bbd
test al, al
je 0x180f3a41
cmp edi, dword [ebx + 0x48]
je 0x180f3a41
lea eax, [edi + 0x28]
push eax
lea ecx, [esp + 0x94]
call fcn.18030dc1
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x90]
cmp dword [ecx], eax
je 0x180f3a70
cmp dword [esp + 0xa4], 0x10
jb 0x180f3a61
mov eax, dword [esp + 0x90]
push dword [esp + 0xa0]
mov ecx, dword [ecx]
push eax
call fcn.1801e33d
mov eax, dword [esp + 0x88]
cmp eax, 0x10
jb 0x180f3ab2
mov ecx, dword [esp + 0x74]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f3aa9
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.18122a66
pop ecx
pop ecx
xor edx, edx
mov byte [esp + 0x74], dl
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x3c], edx
je 0x180f4731
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.1801e41b
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
mov edi, dword [esi]
mov ebx, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3b44
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f3b3b
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.18122a66
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp ebx, edi
je 0x180f3cba
lea ecx, [esp + 0x120]
call fcn.180e4e53
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.1801e41b
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.180d926c
push eax
lea ecx, [esp + 0xac]
call fcn.180d70d1
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3be1
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f3bd8
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.18122a66
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 0x180f3bef
sub ecx, edx
push ecx
push dword [esp + 0xc4]
lea ecx, [esp + 0x138]
call fcn.1801e33d
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.1801e41b
lea eax, [esp + 0x120]
push eax
push ecx
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x50]
push eax
call fcn.180e884b
pop ecx
mov ecx, eax
call fcn.180ea1d2
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3c91
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f3c88
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.18122a66
pop ecx
pop ecx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x48], bl
mov dword [esp + 0xa8], 0x181a3778
call fcn.180d7512
lea ecx, [esp + 0x120]
call fcn.180e4eac
jmp 0x180f3cbf
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.1801e33d
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
mov edi, dword [esi]
mov ebx, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3d2f
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f3d26
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.18122a66
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp ebx, edi
je 0x180f3e8f
lea ecx, [esp + 0x120]
call fcn.180e4e53
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.1801e33d
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.180d926c
push eax
lea ecx, [esp + 0xac]
call fcn.180d70d1
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3dc1
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f3db8
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.18122a66
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 0x180f3dcf
sub ecx, edx
push ecx
push dword [esp + 0xc4]
lea ecx, [esp + 0x138]
call fcn.1801e33d
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.1801e33d
lea eax, [esp + 0x120]
push eax
push ecx
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x50]
push eax
call fcn.180e884b
pop ecx
mov ecx, eax
call fcn.180ea1d2
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3e66
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f3e5d
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.18122a66
pop ecx
pop ecx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x48], bl
mov dword [esp + 0xa8], 0x181a3778
call fcn.180d7512
lea ecx, [esp + 0x120]
call fcn.180e4eac
jmp 0x180f3e94
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.1801e33d
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x48]
push eax
call fcn.180aa78f
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3f04
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f3efb
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.18122a66
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 0x180f3f26
mov ecx, dword [ebx]
push dword [eax + 0x40]
add ecx, 0x4c
call fcn.1801e31c
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.1801e33d
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3f96
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f3f8d
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.18122a66
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f3fac
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x30
call fcn.1801e31c
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.1801e33d
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f4020
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f4017
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.18122a66
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f403b
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x94
call fcn.1801e31c
jmp 0x180f4053
cmp byte [esp + 0x13], 0
je 0x180f4053
mov ecx, dword [ebx]
lea eax, [ecx + 0x4c]
add ecx, 0x94
push eax
call fcn.18030dc1
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.1801e33d
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f40c5
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f40bc
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.18122a66
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f40db
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x64
call fcn.1801e31c
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.1801e41b
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f415b
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f4152
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.18122a66
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f4171
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x7c
call fcn.1801e31c
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.1801e33d
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f41e4
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f41db
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.18122a66
pop ecx
pop ecx
xor eax, eax
mov byte [esp + 0x48], al
cmp edi, dword [esi]
je 0x180f4304
push 2
push 0x181ca748
lea ecx, [esp + 0x7c]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ebx
call fcn.1801e33d
mov edi, dword [edi + 0x40]
test edi, edi
je 0x180f428e
push edi
call fcn.18140620
mov ebx, eax
pop ecx
cmp ebx, 2
jb 0x180f425f
cmp byte [edi + 1], 0x3a
jne 0x180f425f
mov cl, byte [edi]
cmp cl, 0x63
je 0x180f424f
cmp cl, 0x75
je 0x180f424f
cmp cl, 0x61
je 0x180f424f
cmp cl, 0x73
je 0x180f424f
cmp cl, 0x78
je 0x180f424f
cmp cl, 0x69
jne 0x180f425f
push 0
push 0x181a5dc4
lea ecx, [esp + 0x7c]
call fcn.1801e33d
cmp byte [edi], 0x7b
jne 0x180f4275
cmp byte [ebx + edi - 1], 0x7d
jne 0x180f4275
lea eax, [ebx - 2]
push eax
lea eax, [edi + 1]
push eax
jmp 0x180f4285
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x180f427a
sub ecx, edx
push ecx
push edi
lea ecx, [esp + 0x7c]
call fcn.180265d5
mov ebx, dword [esp + 0x60]
lea eax, [esp + 0x74]
mov ecx, dword [ebx]
add ecx, 0x18
cmp ecx, eax
je 0x180f42ba
cmp dword [esp + 0x88], 0x10
jb 0x180f42ad
mov eax, dword [esp + 0x74]
push dword [esp + 0x84]
push eax
call fcn.1801e33d
mov eax, dword [esp + 0x88]
cmp eax, 0x10
jb 0x180f42fc
mov ecx, dword [esp + 0x74]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f42f3
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.18122a66
pop ecx
pop ecx
xor eax, eax
mov byte [esp + 0x74], al
jmp 0x180f4308
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.1801e41b
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f4385
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ecx
cmp eax, 0x1000
jb 0x180f437c
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.18122a66
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f439b
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x78
call fcn.1801e31c
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.1801e33d
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f440d
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ecx
cmp eax, 0x1000
jb 0x180f4404
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.18122a66
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f4427
mov ecx, dword [esp + 0x20]
push dword [edi + 0x40]
mov ecx, dword [ecx]
add ecx, 0x10
call fcn.1801e31c
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.1801e41b
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f44a7
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ecx
cmp eax, 0x1000
jb 0x180f449e
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.18122a66
pop ecx
pop ecx
cmp edi, dword [esi]
je 0x180f44bc
mov eax, dword [esp + 0x20]
push dword [edi + 0x40]
mov ecx, dword [eax]
add ecx, 0x28
call fcn.1801e31c
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.1801e33d
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
cmp edi, dword [esi]
je 0x180f450b
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x60
call fcn.1801e31c
push str.M365aInfo.EnrolledTenantId
lea ecx, [esp + 0x4c]
call fcn.1801e2f9
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
cmp edi, dword [esi]
je 0x180f4547
mov ecx, dword [esp + 0x28]
push dword [edi + 0x40]
mov ecx, dword [ecx]
call fcn.1801e31c
push str.DeviceInfo.OsName
lea ecx, [esp + 0x4c]
call fcn.1801e2f9
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
mov ebx, dword [esp + 0x24]
cmp edi, dword [esi]
je 0x180f4586
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x34
call fcn.1801e31c
push str.DeviceInfo.OsBuild
lea ecx, [esp + 0x4c]
call fcn.1801e2f9
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
cmp edi, dword [esi]
je 0x180f45c1
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x4c
call fcn.1801e31c
push str.UserInfo.Id
lea ecx, [esp + 0x4c]
call fcn.1801e2f9
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
mov ebx, dword [esp + 0x70]
cmp edi, dword [esi]
je 0x180f4600
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x18
call fcn.1801e31c
push str.UserInfo.Language
lea ecx, [esp + 0x4c]
call fcn.1801e2f9
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
cmp edi, dword [esi]
je 0x180f463b
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x48
call fcn.1801e31c
push str.UserInfo.TimeZone
lea ecx, [esp + 0x4c]
call fcn.1801e2f9
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
cmp edi, dword [esi]
je 0x180f467d
mov ecx, dword [esp + 0x8c]
push dword [edi + 0x40]
mov ecx, dword [ecx]
add ecx, 0x30
call fcn.1801e31c
push str.DeviceInfo.NetworkCost
lea ecx, [esp + 0x4c]
call fcn.1801e2f9
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
mov ebx, dword [esp + 0x18]
cmp edi, dword [esi]
je 0x180f46bc
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x18
call fcn.1801e31c
push str.DeviceInfo.NetworkProvider
lea ecx, [esp + 0x4c]
call fcn.1801e2f9
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
cmp edi, dword [esi]
je 0x180f46f4
push dword [edi + 0x40]
mov ecx, dword [ebx]
call fcn.1801e31c
push str.DeviceInfo.NetworkType
lea ecx, [esp + 0x4c]
call fcn.1801e2f9
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
call fcn.180aa78f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
cmp edi, dword [esi]
je 0x180f472f
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x30
call fcn.1801e31c
xor edx, edx
mov esi, dword [esp + 0x14]
cmp dword [esi + 0x54], edx
jbe 0x180f47d4
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 0x180f4785
lea eax, [esi + 0x14]
push eax
lea ecx, [esp + 0x68]
call fcn.18096737
mov ecx, dword [esi + 8]
cmp byte [ecx + 0xd], 0
je 0x180f477e
mov eax, dword [esi + 4]
jmp 0x180f4776
cmp esi, dword [eax + 8]
jne 0x180f4783
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x180f476c
jmp 0x180f4783
call fcn.180f4f52
mov esi, eax
cmp byte [esi + 0xd], 0
je 0x180f4751
lea ecx, [esp + 0xa8]
call fcn.180f4bae
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0xb0]
call fcn.18096dcf
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0xa8]
push eax
call fcn.180f4e94
lea ecx, [esp + 0xa8]
call fcn.180f15de
lea ecx, [esp + 0x64]
call fcn.18097201
mov esi, dword [esp + 0x14]
xor edx, edx
cmp byte [ebp + 0xc], 0
jne 0x180f4b29
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov dword [esp + 0x70], eax
jmp 0x180f4b1f
lea ebx, [eax + 0x10]
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x180f48b3
lea ecx, [esp + 0x120]
mov dword [esp + 0x8c], eax
call fcn.180e4e53
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.1805bc49
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x128]
call fcn.180efebe
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.1803a425
lea ecx, [esp + 0xa8]
call fcn.18014b5c
lea eax, [esp + 0x120]
push eax
mov eax, dword [esp + 0x10]
push ecx
push ebx
mov ecx, dword [eax]
call fcn.180efd6a
pop ecx
mov ecx, eax
call fcn.180ea1d2
lea ecx, [esp + 0x48]
call fcn.180e9282
lea ecx, [esp + 0x120]
call fcn.180e4eac
jmp 0x180f4b0f
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 0x180f4a81
sub eax, 1
je 0x180f4a2f
sub eax, 1
je 0x180f49ed
sub eax, 1
je 0x180f49d4
sub eax, 1
je 0x180f49af
sub eax, 1
jne 0x180f4a81
lea eax, [ebx + 0x30]
push eax
lea ecx, [esp + 0x78]
call fcn.180d6f14
lea eax, [esp + 0x1fc]
push eax
lea ecx, [esp + 0x78]
call fcn.180d6ec5
push ecx
lea eax, [esp + 0x210]
push eax
lea eax, [esp + 0x204]
push eax
lea ecx, [esp + 0x3c]
call fcn.180f0273
push eax
lea ecx, [esp + 0x68]
call fcn.180dfb3e
lea ecx, [esp + 0x30]
call fcn.180114c3
lea ecx, [esp + 0x120]
call fcn.180e4e53
lea eax, [esp + 0x64]
mov dword [esp + 0x120], 8
push eax
lea ecx, [esp + 0x15c]
call fcn.180efe26
lea eax, [esp + 0x120]
push eax
mov eax, dword [esp + 0x10]
push ecx
push ebx
mov ecx, dword [eax]
call fcn.180efd6a
pop ecx
mov ecx, eax
call fcn.180ea1d2
lea ecx, [esp + 0x120]
call fcn.180e4eac
mov esi, dword [esp + 0x6c]
jmp 0x180f4aee
lea ecx, [esp + 0xa8]
call fcn.180e4e53
movzx eax, byte [ebx + 0x30]
cdq
mov dword [esp + 0xa8], 6
mov dword [esp + 0xd4], edx
jmp 0x180f4a4f
lea ecx, [esp + 0xa8]
call fcn.180e4e53
mov dword [esp + 0xa8], 7
jmp 0x180f4a42
lea ecx, [esp + 0x120]
call fcn.180e4e53
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.180efd6a
pop ecx
mov ecx, eax
call fcn.180ea1d2
lea ecx, [esp + 0x120]
jmp 0x180f4a7a
lea ecx, [esp + 0xa8]
call fcn.180e4e53
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.180efd6a
pop ecx
mov ecx, eax
call fcn.180ea1d2
lea ecx, [esp + 0xa8]
call fcn.180e4eac
jmp 0x180f4aee
lea ecx, [esp + 0x120]
call fcn.180e4e53
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.1803a425
lea ecx, [esp + 0xa8]
call fcn.18014b5c
lea eax, [esp + 0x120]
push eax
mov eax, dword [esp + 0x10]
push ecx
push ebx
mov ecx, dword [eax]
call fcn.180efd6a
pop ecx
mov ecx, eax
call fcn.180ea1d2
lea ecx, [esp + 0x120]
call fcn.180e4eac
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x64]
test eax, eax
je 0x180f4b0f
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 0x180f47ec
lea ecx, [esp + 0x90]
call fcn.18014b5c
push dword [esp + 0x2c]
call fcn.1815e9b1
pop ecx
mov ecx, dword [esp + 0x20c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.18122538
mov esp, ebp
pop ebp
ret 8