Function at 0x10012290
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 0x100b2fb1
mov eax, dword fs:[0]
push eax
sub esp, 0x6b4
mov eax, dword [0x100f101c]
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 0x10013230
lea ecx, [ebp - 0x6ac]
mov dword [ebp - 0x6ac], esi
push ecx
push eax
call dword [sym.imp.WTSAPI32.dll_WTSQueryUserToken]
test eax, eax
je 0x10013230
push dword [ebp - 0x6ac]
call dword [sym.imp.ADVAPI32.dll_ImpersonateLoggedOnUser]
test eax, eax
je 0x10013230
push 0x100
lea eax, [ebp - 0x210]
mov bh, 1
push esi
push eax
call fcn.10081e90
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 0x10013230
push 0x100
lea eax, [ebp - 0x110]
push esi
push eax
call fcn.10081e90
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 0x10013230
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 0x10012404
sub ecx, edx
lea eax, [ebp - 0x110]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x628]
call fcn.100039c0
lea ecx, [ebp - 0x628]
mov byte [ebp - 4], 3
call fcn.10004040
test eax, eax
je 0x1001244b
push 1
push 0x100d588c
lea ecx, [ebp - 0x628]
call fcn.100040e0
lea ecx, [ebp - 0x210]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10012454
sub ecx, edx
lea eax, [ebp - 0x210]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x628]
call fcn.100040e0
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.10087b1c
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.10087b1c
mov ecx, dword [ebp - 0x6b0]
add esp, 4
mov edx, eax
mov dword [ebp - 0x6b4], edx
test ecx, ecx
je 0x100131c5
test edx, edx
je 0x100131c5
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 0x100125b3
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x614]
cmp edx, 8
jb 0x10012591
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012587
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100132f2
push edx
push ecx
call fcn.1007fceb
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
jmp 0x10013226
mov esi, dword [ebp - 0x6b0]
lea eax, [ebp - 0x6a8]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_ConvertSidToStringSidW]
test eax, eax
jne 0x10012631
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x614]
cmp edx, 8
jb 0x1001260f
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012605
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100132f7
push edx
push ecx
call fcn.1007fceb
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
jmp 0x1001322c
mov edx, dword [ebp - 0x6a8]
test edx, edx
jne 0x100126a1
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x614]
cmp edx, 8
jb 0x1001267f
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012675
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100132fc
push edx
push ecx
call fcn.1007fceb
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
jmp 0x1001322c
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 0x100126d7
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x640]
call fcn.100039c0
push 0x100d5dd8
lea eax, [ebp - 0x640]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x670]
push eax
call fcn.10003cc0
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 0x10012874
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x65c]
cmp edx, 8
jb 0x10012790
mov ecx, dword [ebp - 0x670]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012786
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013301
push edx
push ecx
call fcn.1007fceb
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 0x100127f1
mov ecx, dword [ebp - 0x640]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100127e7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013306
push edx
push ecx
call fcn.1007fceb
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 0x10012852
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012848
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001330b
push edx
push ecx
call fcn.1007fceb
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
jmp 0x10013226
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x688]
call fcn.10006740
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.100039c0
mov byte [ebp - 4], 0x23
test bl, bl
je 0x100128fe
push 4
push str.UUID
lea ecx, [ebp - 0x688]
call fcn.100039c0
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.100039c0
push 0x200
lea eax, [ebp - 0x410]
push 0
push eax
call fcn.10081e90
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 0x10012b8f
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 0x10012b8f
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0x644]
cmp edx, 8
jb 0x100129e9
mov ecx, dword [ebp - 0x658]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100129df
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013310
push edx
push ecx
call fcn.1007fceb
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 0x10012a4a
mov ecx, dword [ebp - 0x688]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012a40
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013315
push edx
push ecx
call fcn.1007fceb
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 0x10012aab
mov ecx, dword [ebp - 0x670]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012aa1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001331a
push edx
push ecx
call fcn.1007fceb
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 0x10012b0c
mov ecx, dword [ebp - 0x640]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012b02
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001331f
push edx
push ecx
call fcn.1007fceb
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 0x10012b6d
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012b63
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013324
push edx
push ecx
call fcn.1007fceb
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
jmp 0x10013226
cmp word [ebp - 0x410], 0
jne 0x10012d87
mov byte [ebp - 4], 0x38
mov edx, dword [ebp - 0x644]
cmp edx, 8
jb 0x10012be1
mov ecx, dword [ebp - 0x658]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012bd7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013329
push edx
push ecx
call fcn.1007fceb
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 0x10012c42
mov ecx, dword [ebp - 0x688]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012c38
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001332e
push edx
push ecx
call fcn.1007fceb
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 0x10012ca3
mov ecx, dword [ebp - 0x670]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012c99
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013333
push edx
push ecx
call fcn.1007fceb
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 0x10012d04
mov ecx, dword [ebp - 0x640]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012cfa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013338
push edx
push ecx
call fcn.1007fceb
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 0x10012d65
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012d5b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001333d
push edx
push ecx
call fcn.1007fceb
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
jmp 0x10013226
push 0x200
lea eax, [ebp - 0x610]
push 0
push eax
call fcn.10081e90
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.10011830
add esp, 0x10
test eax, eax
jg 0x10012faf
mov byte [ebp - 4], 0x4c
mov edx, dword [ebp - 0x644]
cmp edx, 8
jb 0x10012e09
mov ecx, dword [ebp - 0x658]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012dff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013342
push edx
push ecx
call fcn.1007fceb
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 0x10012e6a
mov ecx, dword [ebp - 0x688]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012e60
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013347
push edx
push ecx
call fcn.1007fceb
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 0x10012ecb
mov ecx, dword [ebp - 0x670]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012ec1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001334c
push edx
push ecx
call fcn.1007fceb
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 0x10012f2c
mov ecx, dword [ebp - 0x640]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012f22
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013351
push edx
push ecx
call fcn.1007fceb
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 0x10012f8d
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10012f83
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013356
push edx
push ecx
call fcn.1007fceb
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
jmp 0x10013226
lea ecx, [ebp - 0x610]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10012fc0
sub ecx, edx
lea eax, [ebp - 0x610]
sar ecx, 1
push ecx
push eax
mov ecx, edi
call fcn.100039c0
mov byte [ebp - 4], 0x60
mov edx, dword [ebp - 0x644]
cmp edx, 8
jb 0x10013022
mov ecx, dword [ebp - 0x658]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10013018
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001335b
push edx
push ecx
call fcn.1007fceb
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 0x10013083
mov ecx, dword [ebp - 0x688]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x10013079
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013360
push edx
push ecx
call fcn.1007fceb
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 0x100130e4
mov ecx, dword [ebp - 0x670]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100130da
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013365
push edx
push ecx
call fcn.1007fceb
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 0x10013145
mov ecx, dword [ebp - 0x640]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001313b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001336a
push edx
push ecx
call fcn.1007fceb
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 0x100131a6
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x1001319c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001336f
push edx
push ecx
call fcn.1007fceb
add esp, 8
xor eax, eax
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 7
mov word [ebp - 0x628], ax
jmp 0x10013226
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x614]
cmp edx, 8
jb 0x10013209
mov ecx, dword [ebp - 0x628]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100131ff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013374
push edx
push ecx
call fcn.1007fceb
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 0x10013241
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
je 0x1001324e
push esi
call fcn.100878c2
add esp, 4
mov eax, dword [ebp - 0x6b4]
test eax, eax
je 0x10013261
push eax
call fcn.100878c2
add esp, 4
mov eax, dword [ebp - 0x6a8]
test eax, eax
je 0x10013272
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
test bh, bh
je 0x1001327c
call dword [sym.imp.ADVAPI32.dll_RevertToSelf]
mov dword [ebp - 4], 0x74
mov edx, dword [ebp + 0x1c]
cmp edx, 8
jb 0x100132bd
mov ecx, dword [ebp + 8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x100132b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10013379
push edx
push ecx
call fcn.1007fceb
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.1007f947
mov esp, ebp
pop ebp
ret
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
call fcn.10083a12
int3