Function at 0x100806e0
Capabilities:
Parse pe header

Disassembly:
push 0x17c
mov eax, 0x100dced0
call fcn.100c745c
mov dword [ebp - 0x78], ecx
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0x84], ebx
call fcn.100662f7
push 0x128
mov eax, dword [eax + 0x9c]
and dword [ebp - 0x18], ebx
mov dword [ebp - 0x58], eax
call fcn.10061b32
mov esi, eax
pop ecx
mov dword [ebp - 0x5c], esi
and dword [ebp - 4], ebx
push 3
pop edi
test esi, esi
je 0x100808b9
mov ebx, 0x100eadb0
lea ecx, [ebp - 0x74]
push ebx
call fcn.10061b32
push ebx
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 1
mov dword [ebp - 0x84], 1
call fcn.10061b32
and dword [ebp - 0x7c], 0
lea ecx, [ebp - 0x9c]
push ebx
mov dword [ebp - 4], 2
mov dword [ebp - 0x84], edi
call fcn.10061b32
push 7
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x188]
pop edi
push ebx
mov dword [ebp - 0x84], edi
call fcn.10061b32
push ebx
lea ecx, [ebp - 0x170]
mov dword [ebp - 4], 4
mov dword [ebp - 0x84], 0xf
call fcn.10061b32
push ebx
lea ecx, [ebp - 0x158]
mov dword [ebp - 4], 5
mov dword [ebp - 0x84], 0x1f
call fcn.10061b32
push ebx
lea ecx, [ebp - 0x140]
mov dword [ebp - 4], 6
mov dword [ebp - 0x84], 0x3f
call fcn.10061b32
push ebx
lea ecx, [ebp - 0x128]
mov dword [ebp - 4], edi
mov dword [ebp - 0x84], 0x7f
call fcn.10061b32
push ebx
lea ecx, [ebp - 0x110]
mov dword [ebp - 4], 8
mov dword [ebp - 0x84], 0xff
call fcn.10061b32
push ebx
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 9
mov dword [ebp - 0x84], 0x1ff
call fcn.10061b32
xor ecx, ecx
mov dword [ebp - 4], 0xa
lea eax, [ebp - 0x74]
mov ebx, 0x3ff
push eax
push ecx
push ecx
lea eax, [ebp - 0xb4]
mov dword [ebp - 0x84], ebx
push eax
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x58]
push eax
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
call fcn.1006d33e
pop ecx
pop ecx
push edx
push eax
lea eax, [ebp - 0x9c]
mov ecx, esi
push eax
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x140]
push eax
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.100ad1f3
jmp 0x100808bb
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x15
test ebx, 0x200
je 0x100808de
lea ecx, [ebp - 0xe0]
and ebx, 0xfffffdff
call fcn.100090b6
test ebx, 0x100
je 0x100808f7
lea ecx, [ebp - 0x110]
and ebx, 0xfffffeff
call fcn.100090b6
test bl, bl
jns 0x1008090c
lea ecx, [ebp - 0x128]
and ebx, 0xffffff7f
call fcn.100090b6
test bl, 0x40
je 0x1008091f
lea ecx, [ebp - 0x140]
and ebx, 0xffffffbf
call fcn.100090b6
test bl, 0x20
je 0x10080932
lea ecx, [ebp - 0x158]
and ebx, 0xffffffdf
call fcn.100090b6
test bl, 0x10
je 0x10080945
lea ecx, [ebp - 0x170]
and ebx, 0xffffffef
call fcn.100090b6
test bl, 8
je 0x10080958
lea ecx, [ebp - 0x188]
and ebx, 0xfffffff7
call fcn.100090b6
test bl, 4
je 0x1008096b
lea ecx, [ebp - 0x9c]
and ebx, 0xfffffffb
call fcn.100090b6
test bl, 2
je 0x1008097e
lea ecx, [ebp - 0xb4]
and ebx, 0xfffffffd
call fcn.100090b6
mov byte [ebp - 4], 0x1f
test bl, 1
je 0x1008098f
lea ecx, [ebp - 0x74]
call fcn.100090b6
mov ebx, dword [ebp - 0x78]
lea ecx, [ebp - 0x3c]
and dword [ebp - 0x2c], 0
and dword [ebp - 0x28], 0
mov eax, dword [ebx + 4]
add eax, 0x18
push eax
call fcn.10061b32
mov eax, dword [ebx + 4]
xor ecx, ecx
mov byte [ebp - 4], 0x20
mov edi, dword [eax + 0x30]
mov dword [ebp - 0x20], ecx
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], ecx
lea ecx, [ebp - 0x20]
mov dword [ebp - 0xc8], eax
mov eax, dword [edi]
push ecx
lea ecx, [ebp - 0x14]
push ecx
mov esi, dword [eax]
mov ecx, esi
call dword [0x100e97d8]
mov ecx, edi
call esi
cmp dword [ebp - 0x20], 0
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x21
mov dword [ebp - 0xbc], eax
je 0x10080b64
mov edi, 0x100eadb0
lea ecx, [ebp - 0x9c]
push edi
call fcn.10061b32
push edi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x22
call fcn.10061b32
push dword [ebx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x23
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x24
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
add esp, 0xc
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x21
call fcn.100090b6
test esi, esi
je 0x10080b26
push edi
lea ecx, [ebp - 0x9c]
call fcn.10061b32
push edi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x25
call fcn.10061b32
push dword [ebx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x26
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x27
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
mov edi, eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.10080588
add esp, 0x14
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x28
jb 0x10080ad7
mov eax, dword [eax]
mov esi, dword [edi]
push str.ValidateAndGetCachedSP
push str._s_:_Failed_to_fetch_principal
push eax
mov ecx, dword [esi + 0x24]
push edi
call dword [0x100e97d8]
call dword [esi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xf8]
call fcn.100090b6
lea ecx, [ebp - 0x74]
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x21
call fcn.100090b6
mov edi, 0x100eadb0
push edi
lea ecx, [ebp - 0x74]
call fcn.10061b32
push dword [ebp - 0x58]
mov esi, dword [ebp - 0xb8]
push ecx
mov eax, esp
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xbc]
and dword [eax], 0
lea eax, [ebp - 0x74]
push eax
push 0xda
push esi
call fcn.10078bae
lea ecx, [ebp - 0x74]
call fcn.100090b6
jmp 0x10081cc3
and dword [ebp - 0x1c], 0
lea eax, [ebp - 0x24]
push 0
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x5c], ecx
push dword [ebx + 4]
call fcn.10061b32
mov edi, dword [ebp - 0xc8]
lea ecx, [ebp - 0x1c]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x100e97d8]
mov ecx, edi
call esi
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x2a
test eax, eax
je 0x10080d87
cmp eax, 0xb
ja 0x10080be9
je 0x10080be2
cmp eax, 1
je 0x10080bdb
cmp eax, 2
je 0x10080bd4
cmp eax, 3
je 0x10080bcd
add eax, 0xfffffffc
cmp eax, 2
ja 0x10080bfd
mov edi, 0xd0
jmp 0x10080c1e
mov edi, 0xcd
jmp 0x10080c1e
mov edi, 0xd1
jmp 0x10080c1e
mov edi, 0xcf
jmp 0x10080c1e
mov edi, 0xe4
jmp 0x10080c1e
sub eax, 0xc
je 0x10080c19
sub eax, 1
je 0x10080c12
sub eax, 1
je 0x10080c0b
sub eax, 1
je 0x10080c04
mov edi, 0xd2
jmp 0x10080c1e
mov edi, 0xe0
jmp 0x10080c1e
mov edi, 0xe1
jmp 0x10080c1e
mov edi, 0xe2
jmp 0x10080c1e
mov edi, 0xfb
mov esi, 0x100eadb0
lea ecx, [ebp - 0x9c]
push esi
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x2b
call fcn.10061b32
push dword [ebx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x2c
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x2d
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
add esp, 0xc
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x2a
call fcn.100090b6
test esi, esi
je 0x10080d4e
mov esi, 0x100eadb0
lea ecx, [ebp - 0x9c]
push esi
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x2e
call fcn.10061b32
push dword [ebx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x2f
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x30
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
mov ebx, eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.100805f6
add esp, 0x14
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x31
jb 0x10080d04
mov eax, dword [eax]
mov esi, dword [ebx]
push str.ValidateAndGetCachedSP
push str._s_:_Failed_to_fetch_cached_ASNP
push eax
mov ecx, dword [esi + 0x24]
push ebx
call dword [0x100e97d8]
call dword [esi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xf8]
call fcn.100090b6
lea ecx, [ebp - 0x74]
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x2a
call fcn.100090b6
push 0x100eadb0
lea ecx, [ebp - 0x74]
call fcn.10061b32
push dword [ebp - 0x58]
mov byte [ebp - 4], 0x32
push ecx
mov eax, esp
and dword [eax], 0
lea eax, [ebp - 0x74]
push eax
push edi
mov esi, dword [ebp - 0xb8]
lea ecx, [ebp - 0xbc]
push esi
call fcn.10078bae
lea ecx, [ebp - 0x74]
jmp 0x10081cb6
and dword [ebp - 0xc4], 0
mov edi, 0xf8
mov byte [ebp - 4], 0x33
push edi
call fcn.10061b32
mov esi, eax
pop ecx
mov dword [ebp - 0x5c], esi
mov byte [ebp - 4], 0x34
test esi, esi
je 0x10080dce
push edi
push 0
push esi
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
call fcn.10077fc4
push eax
mov ecx, esi
call fcn.1003e0ee
mov edi, eax
mov dword [ebp - 0x7c], eax
jmp 0x10080dd3
xor edi, edi
mov dword [ebp - 0x7c], edi
mov byte [ebp - 4], 0x33
mov dword [ebp - 0xc4], edi
call fcn.100aa243
mov ecx, eax
call fcn.1000a4af
sub esp, 0x18
mov ecx, eax
mov esi, esp
mov dword [ebp - 0x5c], esp
call fcn.1002c015
push eax
mov ecx, esi
call fcn.10061b32
sub esp, 0x18
mov byte [ebp - 4], 0x35
mov ecx, edi
mov esi, esp
call fcn.1003e9b1
mov ecx, eax
call fcn.1002c00a
push eax
mov ecx, esi
call fcn.10061b32
mov byte [ebp - 4], 0x33
call fcn.100b0332
add esp, 0x30
test al, al
jne 0x10080f98
mov esi, 0x100eadb0
lea ecx, [ebp - 0x9c]
push esi
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x36
call fcn.10061b32
push dword [ebx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x37
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x38
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
add esp, 0xc
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x33
call fcn.100090b6
test esi, esi
je 0x10080f6a
mov esi, 0x100eadb0
mov dword [ebp - 0x78], 0xde
push esi
lea ecx, [ebp - 0x9c]
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x39
call fcn.10061b32
push dword [ebx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x3a
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x3b
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
mov ebx, eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.1008051a
add esp, 0x14
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x3c
jb 0x10080f20
mov eax, dword [eax]
mov esi, dword [ebx]
push str.ValidateAndGetCachedSP
push str._s_:_Runtime_mode_mismatch
push eax
mov ecx, dword [esi + 0x24]
push ebx
call dword [0x100e97d8]
call dword [esi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xf8]
call fcn.100090b6
lea ecx, [ebp - 0x74]
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x33
call fcn.100090b6
push 0x100eadb0
lea ecx, [ebp - 0x74]
call fcn.10061b32
push dword [ebp - 0x58]
and dword [ebp - 0xc4], 0
push ecx
mov eax, esp
mov byte [ebp - 4], 0x3d
mov dword [eax], edi
lea eax, [ebp - 0x74]
push eax
push 0xde
jmp 0x10080d6d
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x80], esp
mov dword [ebp - 0x5c], ecx
push dword [ebx + 4]
call fcn.10061b32
sub esp, 0x18
mov byte [ebp - 4], 0x3e
mov ecx, edi
mov esi, esp
call fcn.1003e9b1
mov ecx, eax
call fcn.10021680
push eax
mov ecx, esi
call fcn.10061b32
mov byte [ebp - 4], 0x33
call fcn.100b0332
add esp, 0x30
test al, al
jne 0x10081143
mov esi, 0x100eadb0
lea ecx, [ebp - 0x9c]
push esi
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x3f
call fcn.10061b32
push dword [ebx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x40
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x41
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
add esp, 0xc
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x33
call fcn.100090b6
test esi, esi
je 0x10081115
mov esi, 0x100eadb0
mov dword [ebp - 0x78], 0xdf
push esi
lea ecx, [ebp - 0x9c]
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x42
call fcn.10061b32
push dword [ebx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x43
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x44
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
mov ebx, eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.1008051a
add esp, 0x14
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x45
jb 0x100810cb
mov eax, dword [eax]
mov esi, dword [ebx]
push str.ValidateAndGetCachedSP
push str._s_:App_Id_mismatch
push eax
mov ecx, dword [esi + 0x24]
push ebx
call dword [0x100e97d8]
call dword [esi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xf8]
call fcn.100090b6
lea ecx, [ebp - 0x74]
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x33
call fcn.100090b6
push 0x100eadb0
lea ecx, [ebp - 0x74]
call fcn.10061b32
push dword [ebp - 0x58]
and dword [ebp - 0xc4], 0
push ecx
mov eax, esp
mov byte [ebp - 4], 0x46
mov dword [eax], edi
lea eax, [ebp - 0x74]
push eax
push 0xdf
jmp 0x10080d6d
call fcn.100aa243
mov ecx, eax
call fcn.100a9819
sub esp, 0x18
mov dword [ebp - 0x80], esp
test al, al
je 0x1008137a
lea eax, [ebp - 0xbd]
mov byte [ebp - 0xbd], 0
mov esi, esp
push eax
call fcn.100aa243
mov ecx, eax
call fcn.100ab10c
push eax
mov ecx, esi
call fcn.10061b32
sub esp, 0x18
mov byte [ebp - 4], 0x47
mov ecx, edi
mov esi, esp
call fcn.1003e9b1
mov ecx, eax
call fcn.1002c00e
push eax
mov ecx, esi
call fcn.10061b32
mov byte [ebp - 4], 0x33
call fcn.100b0332
add esp, 0x30
test al, al
jne 0x1008156e
mov esi, 0x100eadb0
lea ecx, [ebp - 0x9c]
push esi
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x48
call fcn.10061b32
push dword [ebx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x49
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x4a
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
add esp, 0xc
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x33
call fcn.100090b6
test esi, esi
je 0x100812f0
mov esi, 0x100eadb0
mov dword [ebp - 0x78], 0xdd
push esi
lea ecx, [ebp - 0x9c]
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x4b
call fcn.10061b32
push dword [ebx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x4c
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x4d
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
mov esi, eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xf8]
mov dword [ebp - 0x7c], esi
push eax
call fcn.1008051a
add esp, 0x14
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x4e
jb 0x100812a4
mov eax, dword [eax]
mov esi, dword [esi]
push str.ValidateAndGetCachedSP
push str._s_:Principal_mismatch_for_VDI
push eax
push dword [ebp - 0x7c]
mov ecx, dword [esi + 0x24]
call dword [0x100e97d8]
call dword [esi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xf8]
call fcn.100090b6
lea ecx, [ebp - 0x74]
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x33
call fcn.100090b6
push dword [ebx + 4]
and dword [ebp - 0xd0], 0
lea ecx, [ebp - 0xe0]
and dword [ebp - 0xcc], 0
call fcn.10061b32
mov ebx, dword [ebp - 0xc8]
lea ecx, [ebp - 0xe0]
push ecx
mov byte [ebp - 4], 0x4f
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100e97d8]
mov ecx, ebx
call esi
mov eax, dword [ebp - 0xcc]
mov byte [ebp - 4], 0x33
cmp eax, 0x10
jb 0x1008134c
inc eax
push eax
push dword [ebp - 0xe0]
call fcn.10061b32
pop ecx
pop ecx
push 0x100eadb0
lea ecx, [ebp - 0x74]
call fcn.10061b32
mov byte [ebp - 4], 0x50
push dword [ebp - 0x58]
and dword [ebp - 0xc4], 0
push ecx
mov eax, esp
mov dword [eax], edi
lea eax, [ebp - 0x74]
push eax
push 0xdd
jmp 0x10080d6d
mov ecx, esp
lea eax, [ebp - 0x3c]
push eax
and dword [ecx + 0x10], 0
and dword [ecx + 0x14], 0
call fcn.10061b32
sub esp, 0x18
mov byte [ebp - 4], 0x51
mov ecx, edi
mov esi, esp
call fcn.1003e9b1
mov ecx, eax
call fcn.1002bfdf
push eax
mov ecx, esi
call fcn.10061b32
mov byte [ebp - 4], 0x33
call fcn.100b0332
add esp, 0x30
test al, al
jne 0x1008156e
mov esi, 0x100eadb0
lea ecx, [ebp - 0x9c]
push esi
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x52
call fcn.10061b32
push dword [ebx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x53
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x54
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
add esp, 0xc
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x33
call fcn.100090b6
test esi, esi
je 0x100814fc
mov esi, 0x100eadb0
mov dword [ebp - 0x78], 0xdd
push esi
lea ecx, [ebp - 0x9c]
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x55
call fcn.10061b32
push dword [ebx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x56
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x57
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
mov esi, eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xf8]
mov dword [ebp - 0x7c], esi
push eax
call fcn.1008051a
add esp, 0x14
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x58
jb 0x100814b0
mov eax, dword [eax]
mov esi, dword [esi]
push str.ValidateAndGetCachedSP
push str._s_:Principal_mismatch
push eax
push dword [ebp - 0x7c]
mov ecx, dword [esi + 0x24]
call dword [0x100e97d8]
call dword [esi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xf8]
call fcn.100090b6
lea ecx, [ebp - 0x74]
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x33
call fcn.100090b6
push dword [ebx + 4]
and dword [ebp - 0xd0], 0
lea ecx, [ebp - 0xe0]
and dword [ebp - 0xcc], 0
call fcn.10061b32
mov ebx, dword [ebp - 0xc8]
lea ecx, [ebp - 0xe0]
push ecx
mov byte [ebp - 4], 0x59
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100e97d8]
mov ecx, ebx
call esi
mov eax, dword [ebp - 0xcc]
mov byte [ebp - 4], 0x33
cmp eax, 0x10
jb 0x10081558
inc eax
push eax
push dword [ebp - 0xe0]
call fcn.10061b32
pop ecx
pop ecx
push 0x100eadb0
lea ecx, [ebp - 0x74]
call fcn.10061b32
mov byte [ebp - 4], 0x5a
jmp 0x1008135d
push 0x100eadb0
lea ecx, [ebp - 0x54]
call fcn.10061b32
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x54]
push eax
mov byte [ebp - 4], 0x5b
call fcn.1002c00a
push eax
call fcn.100a0e97
pop ecx
pop ecx
test al, al
je 0x100817c2
sub esp, 0x18
lea eax, [ebp - 0x54]
mov ecx, esp
mov dword [ebp - 0x80], esp
push eax
and dword [ecx + 0x10], 0
and dword [ecx + 0x14], 0
call fcn.10061b32
sub esp, 0x18
mov byte [ebp - 4], 0x5c
mov ecx, edi
mov esi, esp
call fcn.1003e9b1
mov ecx, eax
call fcn.1002bfe3
push eax
mov ecx, esi
call fcn.10061b32
mov byte [ebp - 4], 0x5b
call fcn.100b0332
add esp, 0x30
test al, al
jne 0x100817c2
mov esi, 0x100eadb0
lea ecx, [ebp - 0x9c]
push esi
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x5d
call fcn.10061b32
push dword [ebx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x5e
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x5f
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
add esp, 0xc
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x5b
call fcn.100090b6
test esi, esi
je 0x10081723
mov esi, 0x100eadb0
mov dword [ebp - 0x78], 0xdd
push esi
lea ecx, [ebp - 0x9c]
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x60
call fcn.10061b32
push dword [ebx + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x61
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x62
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
mov esi, eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0xf8]
mov dword [ebp - 0x7c], esi
push eax
call fcn.1008051a
add esp, 0x14
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x63
jb 0x100816d7
mov eax, dword [eax]
mov esi, dword [esi]
push str.ValidateAndGetCachedSP
push str._s_:Device_token_hash_mismatch
push eax
push dword [ebp - 0x7c]
mov ecx, dword [esi + 0x24]
call dword [0x100e97d8]
call dword [esi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xf8]
call fcn.100090b6
lea ecx, [ebp - 0x74]
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x5b
call fcn.100090b6
push dword [ebx + 4]
and dword [ebp - 0xd0], 0
lea ecx, [ebp - 0xe0]
and dword [ebp - 0xcc], 0
call fcn.10061b32
mov ebx, dword [ebp - 0xc8]
lea ecx, [ebp - 0xe0]
push ecx
mov byte [ebp - 4], 0x64
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100e97d8]
mov ecx, ebx
call esi
mov eax, dword [ebp - 0xcc]
mov byte [ebp - 4], 0x5b
cmp eax, 0x10
jb 0x1008177f
inc eax
push eax
push dword [ebp - 0xe0]
call fcn.10061b32
pop ecx
pop ecx
push 0x100eadb0
lea ecx, [ebp - 0x74]
call fcn.10061b32
push dword [ebp - 0x58]
mov esi, dword [ebp - 0xb8]
and dword [ebp - 0xc4], 0
push ecx
mov eax, esp
mov byte [ebp - 4], 0x65
lea ecx, [ebp - 0xbc]
mov dword [eax], edi
lea eax, [ebp - 0x74]
push eax
push 0xdd
push esi
call fcn.10078bae
lea ecx, [ebp - 0x74]
jmp 0x10081cae
mov ecx, edi
call fcn.1003e9b1
mov ecx, eax
call fcn.1002bfd2
push edx
push eax
call fcn.1006d33e
pop ecx
pop ecx
mov ecx, dword [ebp - 0x7c]
mov esi, eax
mov edi, edx
call fcn.1003e9b1
mov ecx, eax
call fcn.1002bfa2
mov ecx, dword [ebp - 0x7c]
mov ebx, eax
sub ebx, esi
mov esi, edx
sbb esi, edi
call fcn.1003e9b1
mov ecx, eax
call fcn.1002bfd2
add eax, ebx
mov edi, edx
mov ebx, dword [ebp - 0x7c]
push ecx
push ecx
mov dword [ebp - 0x5c], eax
adc edi, esi
mov eax, esp
mov dword [ebp - 0x80], esp
push ebx
push eax
call fcn.1006f779
pop ecx
pop ecx
mov byte [ebp - 4], 0x66
call fcn.100aa243
mov ecx, eax
call fcn.100aa23e
mov ecx, eax
mov byte [ebp - 4], 0x5b
call fcn.10092321
test edi, edi
jg 0x10081b55
jl 0x1008184e
cmp dword [ebp - 0x5c], 0
jae 0x10081b55
mov esi, 0x100eadb0
lea ecx, [ebp - 0x9c]
push esi
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x67
call fcn.10061b32
mov edi, dword [ebp - 0x78]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x68
push dword [edi + 8]
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x69
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
add esp, 0xc
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x5b
call fcn.100090b6
test esi, esi
je 0x10081958
mov esi, 0x100eadb0
lea ecx, [ebp - 0x9c]
push esi
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x6a
call fcn.10061b32
push dword [edi + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x6b
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x6c
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
add esp, 0xc
mov ecx, dword [eax]
push str.ValidateAndGetCachedSP
push str._s_:_ASNP_expired__deleting_it
push eax
mov esi, dword [ecx + 0x14]
mov ecx, esi
call dword [0x100e97d8]
call esi
add esp, 0xc
lea ecx, [ebp - 0x74]
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x5b
call fcn.100090b6
push dword [edi + 4]
and dword [ebp - 0xd0], 0
lea ecx, [ebp - 0xe0]
and dword [ebp - 0xcc], 0
call fcn.10061b32
mov eax, dword [ebp - 0xc8]
lea ecx, [ebp - 0xe0]
push ecx
mov byte [ebp - 4], 0x6d
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x100e97d8]
mov ecx, dword [ebp - 0xc8]
call esi
mov eax, dword [ebp - 0xcc]
mov byte [ebp - 4], 0x5b
cmp eax, 0x10
jb 0x100819b8
inc eax
push eax
push dword [ebp - 0xe0]
call fcn.10061b32
pop ecx
pop ecx
mov esi, 0x100eadb0
lea ecx, [ebp - 0x9c]
push esi
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x6e
call fcn.10061b32
push dword [edi + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x6f
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x70
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
add esp, 0xc
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x5b
call fcn.100090b6
test esi, esi
je 0x10081aef
mov esi, 0x100eadb0
mov dword [ebp - 0x5c], 0xfc
push esi
lea ecx, [ebp - 0x9c]
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x71
call fcn.10061b32
push dword [edi + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x72
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x73
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
mov edi, eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.1008051a
add esp, 0x14
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x74
jb 0x10081aa5
mov eax, dword [eax]
mov esi, dword [edi]
push str.ValidateAndGetCachedSP
push str._s_:_Cachelifetime_elapsed
push eax
mov ecx, dword [esi + 0x24]
push edi
call dword [0x100e97d8]
call dword [esi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xf8]
call fcn.100090b6
lea ecx, [ebp - 0x74]
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x5b
call fcn.100090b6
push 0x100eadb0
lea ecx, [ebp - 0x74]
call fcn.10061b32
push dword [ebp - 0x58]
mov esi, dword [ebp - 0xb8]
push ecx
mov eax, esp
mov byte [ebp - 4], 0x75
lea ecx, [ebp - 0xbc]
and dword [eax], 0
lea eax, [ebp - 0x74]
push eax
push 0xfc
push esi
call fcn.10078bae
lea ecx, [ebp - 0x74]
call fcn.100090b6
lea ecx, [ebp - 0x54]
call fcn.100090b6
test ebx, ebx
je 0x10081cbb
mov ecx, ebx
call fcn.10035805
push 0xf8
push ebx
call fcn.10061b32
pop ecx
pop ecx
jmp 0x10081cbb
mov ecx, ebx
call fcn.1003e9bf
mov esi, 0x100eadb0
mov dword [ebp - 0x5c], eax
push esi
lea ecx, [ebp - 0x9c]
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x76
call fcn.10061b32
mov edi, dword [ebp - 0x78]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x77
push dword [edi + 8]
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x78
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
add esp, 0xc
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x5b
call fcn.100090b6
test esi, esi
je 0x10081c69
mov esi, 0x100eadb0
lea ecx, [ebp - 0x9c]
push esi
call fcn.10061b32
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x79
call fcn.10061b32
push dword [edi + 8]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x7a
call fcn.10061b32
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x7b
push eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100aa486
add esp, 0xc
mov ecx, dword [eax]
push str.ValidateAndGetCachedSP
push str._s_:_ASNP_from_cache_successfully_retrieved_validated
push eax
mov esi, dword [ecx + 0x14]
mov ecx, esi
call dword [0x100e97d8]
call esi
add esp, 0xc
lea ecx, [ebp - 0x74]
call fcn.100090b6
lea ecx, [ebp - 0xb4]
call fcn.100090b6
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x5b
call fcn.100090b6
push 0x100eadb0
lea ecx, [ebp - 0xf8]
call fcn.10061b32
push dword [ebp - 0x58]
mov esi, dword [ebp - 0xb8]
and dword [ebp - 0xc4], 0
push ecx
mov eax, esp
mov byte [ebp - 4], 0x7c
lea ecx, [ebp - 0xbc]
mov dword [eax], ebx
lea eax, [ebp - 0xf8]
push eax
push dword [ebp - 0x5c]
push esi
call fcn.10078bae
lea ecx, [ebp - 0xf8]
call fcn.100090b6
lea ecx, [ebp - 0x54]
call fcn.100090b6
lea ecx, [ebp - 0x1c]
call fcn.10078607
cmp dword [ebp - 0x14], 0
je 0x10081cd4
push dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
call fcn.10061b32
mov eax, dword [ebp - 0x28]
cmp eax, 0x10
jb 0x10081ce8
inc eax
push eax
push dword [ebp - 0x3c]
call fcn.10061b32
pop ecx
pop ecx
cmp dword [ebp - 0x18], 0
je 0x10081cf9
push dword [ebp - 0x18]
lea ecx, [ebp - 0x18]
call fcn.10061b32
mov eax, esi
call fcn.100c7406
ret 4