Function at 0x1001d690
Capabilities:
Get hostname
Get session user name
Get user security identifier
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100bb561
mov eax, dword fs:[0]
push eax
sub esp, 0x6b4
mov eax, dword [0x100fb03c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov bl, dl
mov edi, ecx
mov dword [ebp - 0x690], edi
mov dword [ebp - 4], 0
mov dword [ebp - 0x6bc], edi
mov dword [ebp - 0x6b8], 0
mov dword [ebp - 4], 2
xor eax, eax
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov word [edi], ax
mov byte [ebp - 4], 1
xor esi, esi
mov dword [ebp - 0x6b8], 1
mov dword [ebp - 0x6b4], esi
xor bh, bh
mov dword [ebp - 0x6a8], esi
mov dword [ebp - 0x69c], esi
call dword [sym.imp.KERNEL32.dll_WTSGetActiveConsoleSessionId]
cmp eax, 0xffffffff
je 0x1001e630
lea ecx, [ebp - 0x6ac]
mov dword [ebp - 0x6ac], esi
push ecx
push eax
call dword [sym.imp.WTSAPI32.dll_WTSQueryUserToken]
test eax, eax
je 0x1001e630
push dword [ebp - 0x6ac]
call dword [sym.imp.ADVAPI32.dll_ImpersonateLoggedOnUser]
test eax, eax
je 0x1001e630
push 0x100
lea eax, [ebp - 0x210]
mov bh, 1
push esi
push eax
call fcn.1008ac40
add esp, 0xc
mov dword [ebp - 0x694], 0x7f
lea eax, [ebp - 0x694]
push eax
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
je 0x1001e630
push 0x100
lea eax, [ebp - 0x110]
push esi
push eax
call fcn.1008ac40
add esp, 0xc
mov dword [ebp - 0x698], 0x7f
lea eax, [ebp - 0x698]
push eax
lea eax, [ebp - 0x110]
push eax
push 2
call dword [sym.imp.KERNEL32.dll_GetComputerNameExW]
test eax, eax
je 0x1001e630
xor eax, eax
mov dword [ebp - 0x618], esi
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x614], esi
mov dword [ebp - 0x618], esi
lea edx, [ecx + 2]
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001d804
sub ecx, edx
lea eax, [ebp - 0x110]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x628]
call fcn.100049a0
lea ecx, [ebp - 0x628]
mov byte [ebp - 4], 3
call fcn.100051f0
test eax, eax
je 0x1001d84b
push 1
push 0x100de148
lea ecx, [ebp - 0x628]
call fcn.10004ae0
lea ecx, [ebp - 0x210]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001d854
sub ecx, edx
lea eax, [ebp - 0x210]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x628]
call fcn.10004ae0
cmp dword [ebp - 0x614], 8
lea ecx, [ebp - 0x690]
mov esi, dword [sym.imp.ADVAPI32.dll_LookupAccountNameW]
lea eax, [ebp - 0x628]
cmovae eax, dword [ebp - 0x628]
push ecx
lea ecx, [ebp - 0x6a0]
mov dword [ebp - 0x6a4], 0
push ecx
push 0
lea ecx, [ebp - 0x6a4]
mov dword [ebp - 0x6a0], 0
push ecx
push 0
push eax
push 0
call esi
push dword [ebp - 0x6a4]
call fcn.1008df5e
mov dword [ebp - 0x6b0], eax
xor ecx, ecx
mov eax, dword [ebp - 0x6a0]
add esp, 4
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1008df5e
mov ecx, dword [ebp - 0x6b0]
add esp, 4
mov edx, eax
mov dword [ebp - 0x6b4], edx
test ecx, ecx
je 0x1001e5c5
test edx, edx
je 0x1001e5c5
cmp dword [ebp - 0x614], 8
lea esi, [ebp - 0x690]
push esi
lea esi, [ebp - 0x6a0]
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_LookupAccountNameW]
lea eax, [ebp - 0x628]
cmovae eax, dword [ebp - 0x628]
push edx
lea edx, [ebp - 0x6a4]
push edx
push ecx
push eax
push 0
call esi
test eax, eax
jne 0x1001d9b3
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x614]
cmp edx, 8
jb 0x1001d991
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001d987
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e6f2
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
jmp 0x1001e626
mov esi, dword [ebp - 0x6b0]
lea eax, [ebp - 0x6a8]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_ConvertSidToStringSidW]
test eax, eax
jne 0x1001da31
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x614]
cmp edx, 8
jb 0x1001da0f
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001da05
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e6f7
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
jmp 0x1001e62c
mov edx, dword [ebp - 0x6a8]
test edx, edx
jne 0x1001daa1
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x614]
cmp edx, 8
jb 0x1001da7f
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001da75
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e6fc
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
jmp 0x1001e62c
mov ecx, edx
mov dword [ebp - 0x630], 0
xor eax, eax
mov dword [ebp - 0x62c], 0
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x62c], 7
mov word [ebp - 0x640], ax
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001dad7
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x640]
call fcn.100049a0
push 0x100de8b4
lea eax, [ebp - 0x640]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x670]
push eax
call fcn.10004cf0
add esp, 0xc
lea ecx, [ebp - 0x69c]
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x65c], 8
lea eax, [ebp - 0x670]
push ecx
cmovae eax, dword [ebp - 0x670]
push 0x20019
push 0
push eax
push 0x80000003
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x1001dc74
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x65c]
cmp edx, 8
jb 0x1001db90
mov ecx, dword [ebp - 0x670]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001db86
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e701
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x660], 0
mov dword [ebp - 0x65c], 7
mov word [ebp - 0x670], ax
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x62c]
cmp edx, 8
jb 0x1001dbf1
mov ecx, dword [ebp - 0x640]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001dbe7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e706
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x62c], 7
mov word [ebp - 0x640], ax
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0x614]
cmp edx, 8
jb 0x1001dc52
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001dc48
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e70b
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
jmp 0x1001e626
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x688]
call fcn.10008cd0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x658]
push 4
xor eax, eax
mov dword [ebp - 0x648], 0
mov dword [ebp - 0x644], 0
push str.UUID
mov dword [ebp - 0x648], 0
mov dword [ebp - 0x644], 7
mov word [ebp - 0x658], ax
call fcn.100049a0
mov byte [ebp - 4], 0x23
test bl, bl
je 0x1001dcfe
push 4
push str.UUID
lea ecx, [ebp - 0x688]
call fcn.100049a0
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
push dword [ebp + 0x18]
cmovae eax, dword [ebp + 8]
lea ecx, [ebp - 0x658]
push eax
call fcn.100049a0
push 0x200
lea eax, [ebp - 0x410]
push 0
push eax
call fcn.1008ac40
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea ecx, [ebp - 0x68c]
add esp, 0xc
mov dword [ebp - 0x68c], 0xff
cmp dword [ebp - 0x674], 8
lea eax, [ebp - 0x688]
cmovae eax, dword [ebp - 0x688]
push ecx
lea ecx, [ebp - 0x410]
push ecx
push 0
push 0
push eax
push dword [ebp - 0x69c]
call esi
test eax, eax
je 0x1001df8f
lea ecx, [ebp - 0x68c]
mov dword [ebp - 0x68c], 0xff
push ecx
xor eax, eax
lea ecx, [ebp - 0x410]
cmp dword [ebp - 0x644], 8
push ecx
mov word [ebp - 0x410], ax
lea eax, [ebp - 0x658]
cmovae eax, dword [ebp - 0x658]
push 0
push 0
push eax
push dword [ebp - 0x69c]
call esi
test eax, eax
je 0x1001df8f
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0x644]
cmp edx, 8
jb 0x1001dde9
mov ecx, dword [ebp - 0x658]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001dddf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e710
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x648], 0
mov dword [ebp - 0x644], 7
mov word [ebp - 0x658], ax
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0x674]
cmp edx, 8
jb 0x1001de4a
mov ecx, dword [ebp - 0x688]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001de40
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e715
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x678], 0
mov dword [ebp - 0x674], 7
mov word [ebp - 0x688], ax
mov byte [ebp - 4], 0x2c
mov edx, dword [ebp - 0x65c]
cmp edx, 8
jb 0x1001deab
mov ecx, dword [ebp - 0x670]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001dea1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e71a
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x660], 0
mov dword [ebp - 0x65c], 7
mov word [ebp - 0x670], ax
mov byte [ebp - 4], 0x30
mov edx, dword [ebp - 0x62c]
cmp edx, 8
jb 0x1001df0c
mov ecx, dword [ebp - 0x640]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001df02
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e71f
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x62c], 7
mov word [ebp - 0x640], ax
mov byte [ebp - 4], 0x34
mov edx, dword [ebp - 0x614]
cmp edx, 8
jb 0x1001df6d
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001df63
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e724
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
jmp 0x1001e626
cmp word [ebp - 0x410], 0
jne 0x1001e187
mov byte [ebp - 4], 0x38
mov edx, dword [ebp - 0x644]
cmp edx, 8
jb 0x1001dfe1
mov ecx, dword [ebp - 0x658]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001dfd7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e729
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x648], 0
mov dword [ebp - 0x644], 7
mov word [ebp - 0x658], ax
mov byte [ebp - 4], 0x3c
mov edx, dword [ebp - 0x674]
cmp edx, 8
jb 0x1001e042
mov ecx, dword [ebp - 0x688]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001e038
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e72e
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x678], 0
mov dword [ebp - 0x674], 7
mov word [ebp - 0x688], ax
mov byte [ebp - 4], 0x40
mov edx, dword [ebp - 0x65c]
cmp edx, 8
jb 0x1001e0a3
mov ecx, dword [ebp - 0x670]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001e099
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e733
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x660], 0
mov dword [ebp - 0x65c], 7
mov word [ebp - 0x670], ax
mov byte [ebp - 4], 0x44
mov edx, dword [ebp - 0x62c]
cmp edx, 8
jb 0x1001e104
mov ecx, dword [ebp - 0x640]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001e0fa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e738
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x62c], 7
mov word [ebp - 0x640], ax
mov byte [ebp - 4], 0x48
mov edx, dword [ebp - 0x614]
cmp edx, 8
jb 0x1001e165
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001e15b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e73d
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
jmp 0x1001e626
push 0x200
lea eax, [ebp - 0x610]
push 0
push eax
call fcn.1008ac40
add esp, 0xc
lea eax, [ebp - 0x610]
push 0x100
push eax
lea eax, [ebp - 0x410]
push str.__0_9a_zA_Z_
push eax
call fcn.1001ccc0
add esp, 0x10
test eax, eax
jg 0x1001e3af
mov byte [ebp - 4], 0x4c
mov edx, dword [ebp - 0x644]
cmp edx, 8
jb 0x1001e209
mov ecx, dword [ebp - 0x658]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001e1ff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e742
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x648], 0
mov dword [ebp - 0x644], 7
mov word [ebp - 0x658], ax
mov byte [ebp - 4], 0x50
mov edx, dword [ebp - 0x674]
cmp edx, 8
jb 0x1001e26a
mov ecx, dword [ebp - 0x688]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001e260
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e747
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x678], 0
mov dword [ebp - 0x674], 7
mov word [ebp - 0x688], ax
mov byte [ebp - 4], 0x54
mov edx, dword [ebp - 0x65c]
cmp edx, 8
jb 0x1001e2cb
mov ecx, dword [ebp - 0x670]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001e2c1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e74c
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x660], 0
mov dword [ebp - 0x65c], 7
mov word [ebp - 0x670], ax
mov byte [ebp - 4], 0x58
mov edx, dword [ebp - 0x62c]
cmp edx, 8
jb 0x1001e32c
mov ecx, dword [ebp - 0x640]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001e322
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e751
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x62c], 7
mov word [ebp - 0x640], ax
mov byte [ebp - 4], 0x5c
mov edx, dword [ebp - 0x614]
cmp edx, 8
jb 0x1001e38d
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001e383
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e756
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
jmp 0x1001e626
lea ecx, [ebp - 0x610]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001e3c0
sub ecx, edx
lea eax, [ebp - 0x610]
sar ecx, 1
push ecx
push eax
mov ecx, edi
call fcn.100049a0
mov byte [ebp - 4], 0x60
mov edx, dword [ebp - 0x644]
cmp edx, 8
jb 0x1001e422
mov ecx, dword [ebp - 0x658]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001e418
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e75b
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x648], 0
mov dword [ebp - 0x644], 7
mov word [ebp - 0x658], ax
mov byte [ebp - 4], 0x64
mov edx, dword [ebp - 0x674]
cmp edx, 8
jb 0x1001e483
mov ecx, dword [ebp - 0x688]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001e479
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e760
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x678], 0
mov dword [ebp - 0x674], 7
mov word [ebp - 0x688], ax
mov byte [ebp - 4], 0x68
mov edx, dword [ebp - 0x65c]
cmp edx, 8
jb 0x1001e4e4
mov ecx, dword [ebp - 0x670]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001e4da
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e765
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x660], 0
mov dword [ebp - 0x65c], 7
mov word [ebp - 0x670], ax
mov byte [ebp - 4], 0x6c
mov edx, dword [ebp - 0x62c]
cmp edx, 8
jb 0x1001e545
mov ecx, dword [ebp - 0x640]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001e53b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e76a
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x62c], 7
mov word [ebp - 0x640], ax
mov byte [ebp - 4], 0x70
mov edx, dword [ebp - 0x614]
cmp edx, 8
jb 0x1001e5a6
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001e59c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e76f
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
jmp 0x1001e626
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x614]
cmp edx, 8
jb 0x1001e609
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001e5ff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e774
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
mov esi, dword [ebp - 0x6b0]
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x69c]
test eax, eax
je 0x1001e641
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
je 0x1001e64e
push esi
call fcn.1008dd04
add esp, 4
mov eax, dword [ebp - 0x6b4]
test eax, eax
je 0x1001e661
push eax
call fcn.1008dd04
add esp, 4
mov eax, dword [ebp - 0x6a8]
test eax, eax
je 0x1001e672
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
test bh, bh
je 0x1001e67c
call dword [sym.imp.ADVAPI32.dll_RevertToSelf]
mov dword [ebp - 4], 0x74
mov edx, dword [ebp + 0x1c]
cmp edx, 8
jb 0x1001e6bd
mov ecx, dword [ebp + 8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001e6b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001e779
push edx
push ecx
call fcn.1008854e
add esp, 8
xor eax, eax
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 7
mov word [ebp + 8], ax
mov byte [ebp - 4], al
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100881a5
mov esp, ebp
pop ebp
ret
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
call fcn.1008db97
int3