Function at 0x10076b1c
Capabilities:
Parse pe header

Disassembly:
push 0x168
mov eax, 0x100e2117
call fcn.100d393a
mov esi, ecx
mov dword [ebp - 0xfc], esi
mov eax, dword [ebp + 8]
lea edi, [ebp - 0x160]
mov dword [ebp - 0x100], eax
xor ebx, ebx
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x174], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x170], esi
mov ecx, dword [eax]
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x160], ebx
mov dword [ebp - 0x15c], ebx
mov dword [ebp - 0x158], ebx
xor eax, eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], 7
mov word [ebp - 0x78], ax
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0x168], ebx
push eax
mov dword [ebp - 0x164], ebx
call fcn.1009f5a9
test eax, eax
je 0x10076cfd
push eax
push 1
call fcn.10042e1e
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10c]
mov edi, 0x10114fdc
push edi
mov dword [ecx], eax
lea ecx, [ebp - 0x124]
call fcn.10042e1e
push edi
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 2
call fcn.10042e1e
push dword [esi]
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 3
call fcn.10042e1e
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.100b7903
add esp, 0xc
mov esi, eax
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 5
call fcn.10042e1e
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 6
call fcn.10042e1e
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 7
call fcn.10042e1e
mov byte [ebp - 4], 1
test esi, esi
je 0x10076cd0
push edi
lea ecx, [ebp - 0x48]
call fcn.10042e1e
push edi
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 8
call fcn.10042e1e
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 9
push dword [eax]
call fcn.10042e1e
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.100b7903
add esp, 0xc
mov esi, dword [eax]
push str.GetUserPrincipal
push str._s_failed_in_GetUserProfile
push edi
mov ecx, dword [esi + 0x24]
push eax
call dword [0x101097a0]
call dword [esi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0xb
call fcn.10042e1e
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xc
call fcn.10042e1e
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xd
call fcn.10042e1e
mov edi, dword [ebp - 0x100]
mov dword [edi], ebx
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xe
call fcn.10042e1e
mov dword [ebp - 4], 0xf
lea ecx, [ebp - 0x160]
call fcn.10042e1e
mov eax, edi
jmp 0x10077614
push 0xf
pop esi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], esi
mov byte [ebp - 0x2c], bl
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.10042e1e
pop ecx
pop ecx
mov dword [ebp - 0x104], ebx
push 6
pop ecx
xor eax, eax
mov byte [ebp - 4], 0x12
lea edi, [ebp - 0x60]
rep stosd dword es:[edi], eax
push ebx
lea ecx, [ebp - 0x60]
call fcn.1005f6e2
push 8
pop ecx
xor eax, eax
mov byte [ebp - 4], 0x13
lea edi, [ebp - 0xf8]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0xf8]
call fcn.1005f1c6
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], esi
mov byte [ebp - 0x48], bl
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x15
call fcn.10062ea0
mov esi, eax
mov dword [ebp - 0x164], esi
cmp dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x48]
mov edi, dword [esi]
lea ecx, [ebp - 0x2c]
cmovae ecx, dword [ebp - 0x2c]
push eax
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x16
mov edi, dword [edi + 4]
push eax
mov eax, dword [ebp - 0x1c]
add eax, ecx
push eax
push ecx
mov ecx, edi
call dword [0x101097a0]
mov ecx, esi
call edi
test al, al
jne 0x10076f4e
mov ecx, dword [ebp - 0x10c]
mov edi, 0x10114fdc
push edi
mov dword [ecx], 3
lea ecx, [ebp - 0x154]
call fcn.10042e1e
push edi
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x17
call fcn.10042e1e
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x18
push dword [eax]
call fcn.10042e1e
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x124]
push eax
call fcn.100b7903
add esp, 0xc
mov dword [ebp - 0x108], eax
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x1a
call fcn.10042e1e
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x1b
call fcn.10042e1e
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x1c
call fcn.10042e1e
cmp dword [ebp - 0x108], 0
mov byte [ebp - 4], 0x16
je 0x10076ef7
push edi
lea ecx, [ebp - 0x124]
call fcn.10042e1e
push edi
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x1d
call fcn.10042e1e
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x1e
push dword [eax]
call fcn.10042e1e
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.100b7903
add esp, 0xc
mov edi, dword [eax]
push str.GetUserPrincipal
push str._s_failed_in_parsing_principal
push 0x10114fdc
mov ecx, dword [edi + 0x24]
push eax
call dword [0x101097a0]
call dword [edi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x20
call fcn.10042e1e
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x21
call fcn.10042e1e
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x22
call fcn.10042e1e
mov edi, dword [ebp - 0x100]
lea ecx, [ebp - 0x164]
push esi
mov dword [edi], ebx
call fcn.10042e1e
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x23
call fcn.10042e1e
lea ecx, [ebp - 0xf8]
call fcn.1005fa6d
lea ecx, [ebp - 0x60]
call fcn.1005fbb2
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x24
call fcn.10042e1e
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x25
call fcn.10042e1e
mov dword [ebp - 4], 0x26
jmp 0x10076ceb
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.10079222
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x104]
call fcn.10042e1e
cmp dword [ebp - 0x108], 0
je 0x10076f86
push dword [ebp - 0x108]
lea ecx, [ebp - 0x108]
call fcn.10042e1e
push esi
lea ecx, [ebp - 0x164]
call fcn.10042e1e
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x27
call fcn.10042e1e
lea ecx, [ebp - 0xf8]
call fcn.1005fa6d
lea ecx, [ebp - 0x60]
call fcn.1005fbb2
mov esi, dword [ebp - 0x104]
mov dword [ebp - 4], 0x11
test esi, esi
je 0x10077314
mov ecx, esi
call fcn.1001fba4
cmp dword [eax + 0x10], ebx
je 0x10077314
mov ecx, esi
call fcn.1001fb76
cmp edx, ebx
ja 0x10076fe9
cmp eax, ebx
jbe 0x10077314
mov ecx, esi
call fcn.1001fb7d
cmp edx, ebx
ja 0x10076ffc
cmp eax, ebx
jbe 0x10077314
mov ecx, esi
call fcn.10020910
cmp dword [eax + 0x10], ebx
je 0x10077314
push 0xf
pop eax
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], eax
mov byte [ebp - 0x90], bl
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], eax
mov byte [ebp - 0xd8], bl
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], eax
mov byte [ebp - 0xc0], bl
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x94], eax
mov byte [ebp - 0xa8], bl
lea eax, [ebp - 0xa8]
mov byte [ebp - 4], 0x4a
push eax
lea eax, [ebp - 0xc0]
mov dword [ebp - 0x30], str.DeviceTokenParser
push eax
lea eax, [ebp - 0x90]
mov ecx, esi
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.1001fba4
push eax
lea ecx, [ebp - 0x30]
call fcn.10042e1e
test al, al
jne 0x1007724b
mov ecx, dword [ebp - 0x10c]
mov edi, 0x10114fdc
push edi
mov dword [ecx], 4
lea ecx, [ebp - 0x124]
call fcn.10042e1e
push edi
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x4b
call fcn.10042e1e
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x4c
push dword [eax]
call fcn.10042e1e
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x4d
push eax
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.100b7903
add esp, 0xc
mov edi, eax
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x4e
call fcn.10042e1e
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x4f
call fcn.10042e1e
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x50
call fcn.10042e1e
mov byte [ebp - 4], 0x4a
test edi, edi
je 0x100771d7
mov edi, 0x10114fdc
lea ecx, [ebp - 0x124]
push edi
call fcn.10042e1e
push edi
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x51
call fcn.10042e1e
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x52
push dword [eax]
call fcn.10042e1e
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x53
push eax
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.100b7903
add esp, 0xc
mov edi, dword [eax]
push str.GetUserPrincipal
push str._s_failed_in_parsing_device_token
push 0x10114fdc
mov ecx, dword [edi + 0x24]
push eax
call dword [0x101097a0]
call dword [edi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x54
call fcn.10042e1e
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x55
call fcn.10042e1e
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x56
call fcn.10042e1e
mov edi, dword [ebp - 0x100]
mov dword [edi], ebx
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x57
call fcn.10042e1e
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x58
call fcn.10042e1e
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x59
call fcn.10042e1e
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x5a
call fcn.10042e1e
push esi
lea ecx, [ebp - 0x104]
call fcn.10042e1e
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x5b
call fcn.10042e1e
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x5c
call fcn.10042e1e
mov dword [ebp - 4], 0x5d
jmp 0x10076ceb
push 0x90
call fcn.10042e1e
mov edi, eax
pop ecx
mov dword [ebp - 0x170], edi
mov byte [ebp - 4], 0x5e
test edi, edi
je 0x100772a0
mov ecx, esi
call fcn.1001fba4
push eax
mov ecx, esi
call fcn.1003dfbe
push eax
lea eax, [ebp - 0x90]
mov ecx, esi
push eax
call fcn.1001fb7d
push edx
push eax
mov ecx, esi
call fcn.1001fb76
push edx
push eax
mov ecx, esi
call fcn.10020910
push eax
mov ecx, edi
call fcn.100778ed
mov ebx, eax
mov edi, dword [ebp - 0x100]
mov dword [edi], ebx
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x5f
call fcn.10042e1e
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x60
call fcn.10042e1e
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x61
call fcn.10042e1e
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x62
call fcn.10042e1e
push esi
lea ecx, [ebp - 0x104]
call fcn.10042e1e
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x63
call fcn.10042e1e
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x64
call fcn.10042e1e
mov dword [ebp - 4], 0x65
jmp 0x10076ceb
mov ecx, dword [ebp - 0x10c]
mov edi, 0x10114fdc
push edi
mov dword [ecx], 5
lea ecx, [ebp - 0x124]
call fcn.10042e1e
push edi
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x38
call fcn.10042e1e
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x39
push dword [eax]
call fcn.10042e1e
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x3a
push eax
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.100b7903
add esp, 0xc
mov edi, eax
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x3b
call fcn.10042e1e
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x3c
call fcn.10042e1e
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x3d
call fcn.10042e1e
mov byte [ebp - 4], 0x11
test edi, edi
je 0x1007745b
mov edi, 0x10114fdc
lea ecx, [ebp - 0x124]
push edi
call fcn.10042e1e
push edi
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x3e
call fcn.10042e1e
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x3f
push dword [eax]
call fcn.10042e1e
lea eax, [ebp - 0x124]
mov byte [ebp - 4], 0x40
push eax
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0x154]
push eax
call fcn.100b7903
add esp, 0xc
mov edi, dword [eax]
push str.GetUserPrincipal
push str._s_:_error_invalid_stored_principal
push 0x10114fdc
mov ecx, dword [edi + 0x24]
push eax
call dword [0x101097a0]
call dword [edi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x41
call fcn.10042e1e
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x42
call fcn.10042e1e
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x43
call fcn.10042e1e
mov edi, dword [ebp - 0x100]
mov dword [edi], ebx
test esi, esi
je 0x10077473
push esi
lea ecx, [ebp - 0x104]
call fcn.10042e1e
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x44
call fcn.10042e1e
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x45
call fcn.10042e1e
mov dword [ebp - 4], 0x46
jmp 0x10076ceb
call fcn.100d3887
ret 0xc