Function at 0x180f3742
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 0x180f3777
push 0
push edi
call fcn.180f3742
lea esi, [edi + 0x128]
mov eax, dword [esi + 4]
sub eax, dword [esi]
mov dword [esp + 0xc], esi
test eax, 0xfffffff8
jne 0x180f37ab
lea ecx, [esp + 0x64]
call fcn.180f00ac
lea eax, [esp + 0x64]
mov ecx, esi
push eax
call fcn.180f0011
lea ecx, [esp + 0x64]
call fcn.180f00d8
lea ebx, [edi + 0xa8]
mov eax, dword [ebx + 4]
mov dword [esp + 0x1c], ebx
sub eax, dword [ebx]
jne 0x180f37f5
lea ecx, [esp + 0x120]
call fcn.180f4e26
mov eax, dword [ebx + 4]
push ecx
cmp eax, dword [ebx + 8]
je 0x180f37e1
mov ecx, eax
call fcn.180f56d1
add dword [ebx + 4], 0xac
jmp 0x180f37e9
push eax
mov ecx, ebx
call fcn.180f530c
lea ecx, [esp + 0x120]
call fcn.180f17d6
lea ebx, [edi + 0x90]
mov eax, dword [ebx + 4]
mov dword [esp + 0x60], ebx
sub eax, dword [ebx]
jne 0x180f383f
lea ecx, [esp + 0x120]
call fcn.180f4ea3
mov eax, dword [ebx + 4]
push ecx
cmp eax, dword [ebx + 8]
je 0x180f382b
mov ecx, eax
call fcn.180f57df
add dword [ebx + 4], 0xd8
jmp 0x180f3833
push eax
mov ecx, ebx
call fcn.180f5492
lea ecx, [esp + 0x120]
call fcn.180f1837
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 0x180f38e5
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 0x180f38ce
call fcn.180f5779
add dword [ebx + 4], 0x64
jmp 0x180f38d6
push ecx
mov ecx, ebx
call fcn.180f53cb
lea ecx, [esp + 0xa8]
call fcn.180f1814
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 0x180f397c
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 0x180f3968
call fcn.180f58b5
add dword [ebx + 4], 0x60
jmp 0x180f3970
push ecx
mov ecx, ebx
call fcn.180f5551
lea ecx, [esp + 0xa8]
call fcn.180f188b
lea ebx, [edi + 0xd8]
mov ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x8c], ebx
sub eax, dword [ebx]
jne 0x180f3a00
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 0x180f39ec
call fcn.180bd780
add dword [ebx + 4], 0x48
jmp 0x180f39f4
push ecx
mov ecx, ebx
call fcn.180cb76a
lea ecx, [esp + 0xa8]
call fcn.180bd765
lea ebx, [edi + 0xc0]
mov ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x18], ebx
sub eax, dword [ebx]
jne 0x180f3a81
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 0x180f3a6d
call fcn.180bd780
add dword [ebx + 4], 0x48
jmp 0x180f3a75
push ecx
mov ecx, ebx
call fcn.180cb76a
lea ecx, [esp + 0xa8]
call fcn.180bd765
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 0x180f3b0d
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 0x180f3af9
call fcn.180f5915
add dword [ebx + 4], 0x40
jmp 0x180f3b01
push ecx
mov ecx, ebx
call fcn.180f5618
lea ecx, [esp + 0xa8]
call fcn.180f18ae
lea ebx, [edi + 0xe4]
mov ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x28], ebx
sub eax, dword [ebx]
jne 0x180f3bcd
mov dword [esp + 0x90], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 0xf
cmp ecx, dword [ebx + 8]
je 0x180f3b5d
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 0x180f3b6d
lea eax, [esp + 0x90]
push eax
push ecx
mov ecx, ebx
call fcn.180f5239
mov eax, dword [esp + 0xa4]
cmp eax, 0x10
jb 0x180f3bb2
mov ecx, dword [esp + 0x90]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f3ba9
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.18122d26
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.180aac31
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.180d952c
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 0x180f3c41
sub ecx, ebx
push ecx
push edx
lea ecx, [esp + 0x98]
call fcn.1801e33d
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3c97
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f3c8e
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.18122d26
pop ecx
pop ecx
xor edx, edx
mov byte [esp + 0x48], dl
cmp dword [esp + 0xa0], edx
je 0x180f3d88
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 0x180f3d11
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 0x180f3d11
cmp edi, dword [ebx + 0x48]
je 0x180f3d11
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 0x180f3d40
cmp dword [esp + 0xa4], 0x10
jb 0x180f3d31
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 0x180f3d82
mov ecx, dword [esp + 0x74]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f3d79
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.18122d26
pop ecx
pop ecx
xor edx, edx
mov byte [esp + 0x74], dl
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x3c], edx
je 0x180f4a01
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.180aa59f
mov edi, dword [esi]
mov ebx, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3e14
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f3e0b
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.18122d26
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp ebx, edi
je 0x180f3f8a
lea ecx, [esp + 0x120]
call fcn.180e5123
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.180d952c
push eax
lea ecx, [esp + 0xac]
call fcn.180d7391
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3eb1
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f3ea8
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.18122d26
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 0x180f3ebf
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.180e8b1b
pop ecx
mov ecx, eax
call fcn.180ea4a2
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3f61
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f3f58
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.18122d26
pop ecx
pop ecx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x48], bl
mov dword [esp + 0xa8], 0x181a3778
call fcn.180d77d2
lea ecx, [esp + 0x120]
call fcn.180e517c
jmp 0x180f3f8f
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.180aa59f
mov edi, dword [esi]
mov ebx, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f3fff
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f3ff6
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.18122d26
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp ebx, edi
je 0x180f415f
lea ecx, [esp + 0x120]
call fcn.180e5123
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.180d952c
push eax
lea ecx, [esp + 0xac]
call fcn.180d7391
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f4091
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
cmp eax, 0x1000
jb 0x180f4088
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.18122d26
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 0x180f409f
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.180e8b1b
pop ecx
mov ecx, eax
call fcn.180ea4a2
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f4136
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f412d
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.18122d26
pop ecx
pop ecx
lea ecx, [esp + 0xa8]
mov byte [esp + 0x48], bl
mov dword [esp + 0xa8], 0x181a3778
call fcn.180d77d2
lea ecx, [esp + 0x120]
call fcn.180e517c
jmp 0x180f4164
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.180aa59f
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f41d4
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f41cb
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.18122d26
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 0x180f41f6
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.180aa59f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f4266
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f425d
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.18122d26
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f427c
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.180aa59f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f42f0
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f42e7
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.18122d26
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f430b
mov ecx, dword [ebx]
push dword [edi + 0x40]
add ecx, 0x94
call fcn.1801e31c
jmp 0x180f4323
cmp byte [esp + 0x13], 0
je 0x180f4323
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.180aa59f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f4395
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f438c
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.18122d26
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f43ab
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.180aa59f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f442b
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f4422
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.18122d26
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f4441
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.180aa59f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f44b4
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f44ab
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.18122d26
pop ecx
pop ecx
xor eax, eax
mov byte [esp + 0x48], al
cmp edi, dword [esi]
je 0x180f45d4
push 2
push 0x181ca4f8
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 0x180f455e
push edi
call fcn.181408e0
mov ebx, eax
pop ecx
cmp ebx, 2
jb 0x180f452f
cmp byte [edi + 1], 0x3a
jne 0x180f452f
mov cl, byte [edi]
cmp cl, 0x63
je 0x180f451f
cmp cl, 0x75
je 0x180f451f
cmp cl, 0x61
je 0x180f451f
cmp cl, 0x73
je 0x180f451f
cmp cl, 0x78
je 0x180f451f
cmp cl, 0x69
jne 0x180f452f
push 0
push 0x181a5dc4
lea ecx, [esp + 0x7c]
call fcn.1801e33d
cmp byte [edi], 0x7b
jne 0x180f4545
cmp byte [ebx + edi - 1], 0x7d
jne 0x180f4545
lea eax, [ebx - 2]
push eax
lea eax, [edi + 1]
push eax
jmp 0x180f4555
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x180f454a
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 0x180f458a
cmp dword [esp + 0x88], 0x10
jb 0x180f457d
mov eax, dword [esp + 0x74]
push dword [esp + 0x84]
push eax
call fcn.1801e33d
mov eax, dword [esp + 0x88]
cmp eax, 0x10
jb 0x180f45cc
mov ecx, dword [esp + 0x74]
inc eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
cmp eax, 0x1000
jb 0x180f45c3
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.18122d26
pop ecx
pop ecx
xor eax, eax
mov byte [esp + 0x74], al
jmp 0x180f45d8
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.180aa59f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f4655
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ecx
cmp eax, 0x1000
jb 0x180f464c
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.18122d26
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f466b
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.180aa59f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f46dd
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ecx
cmp eax, 0x1000
jb 0x180f46d4
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.18122d26
pop ecx
pop ecx
mov byte [esp + 0x48], 0
cmp edi, dword [esi]
je 0x180f46f7
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.180aa59f
mov edi, dword [eax]
mov eax, dword [esp + 0x5c]
cmp eax, 0x10
jb 0x180f4777
mov ecx, dword [esp + 0x48]
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x40], ecx
cmp eax, 0x1000
jb 0x180f476e
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.18122d26
pop ecx
pop ecx
cmp edi, dword [esi]
je 0x180f478c
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.180aa59f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
cmp edi, dword [esi]
je 0x180f47db
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.180aa59f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
cmp edi, dword [esi]
je 0x180f4817
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.180aa59f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
mov ebx, dword [esp + 0x24]
cmp edi, dword [esi]
je 0x180f4856
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.180aa59f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
cmp edi, dword [esi]
je 0x180f4891
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.180aa59f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
mov ebx, dword [esp + 0x70]
cmp edi, dword [esi]
je 0x180f48d0
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.180aa59f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
cmp edi, dword [esi]
je 0x180f490b
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.180aa59f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
cmp edi, dword [esi]
je 0x180f494d
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.180aa59f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
mov ebx, dword [esp + 0x18]
cmp edi, dword [esi]
je 0x180f498c
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.180aa59f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
cmp edi, dword [esi]
je 0x180f49c4
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.180aa59f
lea ecx, [esp + 0x48]
mov edi, dword [eax]
call fcn.18014b5c
cmp edi, dword [esi]
je 0x180f49ff
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 0x180f4aa4
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 0x180f4a55
lea eax, [esi + 0x14]
push eax
lea ecx, [esp + 0x68]
call fcn.18096547
mov ecx, dword [esi + 8]
cmp byte [ecx + 0xd], 0
je 0x180f4a4e
mov eax, dword [esi + 4]
jmp 0x180f4a46
cmp esi, dword [eax + 8]
jne 0x180f4a53
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x180f4a3c
jmp 0x180f4a53
call fcn.180f5222
mov esi, eax
cmp byte [esi + 0xd], 0
je 0x180f4a21
lea ecx, [esp + 0xa8]
call fcn.180f4e7e
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0xb0]
call fcn.18096bdf
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0xa8]
push eax
call fcn.180f5164
lea ecx, [esp + 0xa8]
call fcn.180f18ae
lea ecx, [esp + 0x64]
call fcn.18097011
mov esi, dword [esp + 0x14]
xor edx, edx
cmp byte [ebp + 0xc], 0
jne 0x180f4df9
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov dword [esp + 0x70], eax
jmp 0x180f4def
lea ebx, [eax + 0x10]
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x180f4b83
lea ecx, [esp + 0x120]
mov dword [esp + 0x8c], eax
call fcn.180e5123
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.1805bb99
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x128]
call fcn.180f018e
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.1803a3b5
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.180f003a
pop ecx
mov ecx, eax
call fcn.180ea4a2
lea ecx, [esp + 0x48]
call fcn.180e9552
lea ecx, [esp + 0x120]
call fcn.180e517c
jmp 0x180f4ddf
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 0x180f4d51
sub eax, 1
je 0x180f4cff
sub eax, 1
je 0x180f4cbd
sub eax, 1
je 0x180f4ca4
sub eax, 1
je 0x180f4c7f
sub eax, 1
jne 0x180f4d51
lea eax, [ebx + 0x30]
push eax
lea ecx, [esp + 0x78]
call fcn.180d71d4
lea eax, [esp + 0x1fc]
push eax
lea ecx, [esp + 0x78]
call fcn.180d7185
push ecx
lea eax, [esp + 0x210]
push eax
lea eax, [esp + 0x204]
push eax
lea ecx, [esp + 0x3c]
call fcn.180f0543
push eax
lea ecx, [esp + 0x68]
call fcn.180dfdfe
lea ecx, [esp + 0x30]
call fcn.180114c3
lea ecx, [esp + 0x120]
call fcn.180e5123
lea eax, [esp + 0x64]
mov dword [esp + 0x120], 8
push eax
lea ecx, [esp + 0x15c]
call fcn.180f00f6
lea eax, [esp + 0x120]
push eax
mov eax, dword [esp + 0x10]
push ecx
push ebx
mov ecx, dword [eax]
call fcn.180f003a
pop ecx
mov ecx, eax
call fcn.180ea4a2
lea ecx, [esp + 0x120]
call fcn.180e517c
mov esi, dword [esp + 0x6c]
jmp 0x180f4dbe
lea ecx, [esp + 0xa8]
call fcn.180e5123
movzx eax, byte [ebx + 0x30]
cdq
mov dword [esp + 0xa8], 6
mov dword [esp + 0xd4], edx
jmp 0x180f4d1f
lea ecx, [esp + 0xa8]
call fcn.180e5123
mov dword [esp + 0xa8], 7
jmp 0x180f4d12
lea ecx, [esp + 0x120]
call fcn.180e5123
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.180f003a
pop ecx
mov ecx, eax
call fcn.180ea4a2
lea ecx, [esp + 0x120]
jmp 0x180f4d4a
lea ecx, [esp + 0xa8]
call fcn.180e5123
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.180f003a
pop ecx
mov ecx, eax
call fcn.180ea4a2
lea ecx, [esp + 0xa8]
call fcn.180e517c
jmp 0x180f4dbe
lea ecx, [esp + 0x120]
call fcn.180e5123
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.1803a3b5
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.180f003a
pop ecx
mov ecx, eax
call fcn.180ea4a2
lea ecx, [esp + 0x120]
call fcn.180e517c
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x64]
test eax, eax
je 0x180f4ddf
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 0x180f4abc
lea ecx, [esp + 0x90]
call fcn.18014b5c
push dword [esp + 0x2c]
call fcn.1815ec81
pop ecx
mov ecx, dword [esp + 0x20c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.181227f8
mov esp, ebp
pop ebp
ret 8