Function at 0x436320
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47d055
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x4a8800]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor eax, eax
mov dword [ebp - 0x78], 0x4acf10
mov dword [0x4acf24], 7
mov dword [0x4acf20], 0
mov word [0x4acf10], ax
mov dword [ebp - 4], eax
mov dword [0x4acf3c], 7
mov dword [0x4acf38], eax
mov word [0x4acf28], ax
mov dword [0x4acf54], 7
mov dword [0x4acf50], eax
mov word [0x4acf40], ax
mov dword [0x4acf6c], 7
mov dword [0x4acf68], eax
mov word [0x4acf58], ax
mov dword [0x4acf84], 7
mov dword [0x4acf80], eax
mov word [0x4acf70], ax
mov dword [0x4acf9c], 7
mov dword [0x4acf98], eax
mov word [0x4acf88], ax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x70]
push 0xa
push 0x4962bc
mov dword [ebp - 0x5c], 7
mov dword [ebp - 0x60], eax
mov word [ebp - 0x70], ax
call fcn.00422d00
xor eax, eax
mov byte [ebp - 4], 6
xor ecx, ecx
mov word [ebp - 0x58], ax
cmp word [str.Software], cx
mov eax, 8
mov dword [ebp - 0x44], 7
cmove eax, ecx
mov dword [ebp - 0x48], 0
push eax
push str.Software
lea ecx, [ebp - 0x58]
call fcn.00422d00
mov dword [ebp - 0x74], 0x4acfa8
mov dword [0x4acfa8], 0
mov dword [0x4acfac], 0
mov dword [0x4acfb0], 0
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x58]
mov byte [0x4acfb4], 0
push eax
push ecx
mov ecx, 0x4acfa8
call fcn.0043dfc0
cmp dword [ebp - 0x44], 8
jb 0x436485
push dword [ebp - 0x58]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x48], 0
mov word [ebp - 0x58], ax
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x5c], 8
jb 0x4364ae
push dword [ebp - 0x70]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x60], 0
call fcn.004381d0
mov esi, eax
cmp esi, 0x4acf10
je 0x436513
cmp dword [0x4acf24], 8
jb 0x4364ec
push dword [0x4acf10]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [0x4acf24], 7
push esi
mov ecx, 0x4acf10
mov dword [0x4acf20], 0
mov word [0x4acf10], ax
call fcn.00422a40
cmp dword [ebp - 0x14], 8
jb 0x436524
push dword [ebp - 0x28]
call fcn.0045a050
add esp, 4
cmp dword [0x4acf20], 0
je 0x43657a
push str.user_id
lea ecx, [ebp - 0x28]
call fcn.00422790
push 1
push 0x4acf10
lea eax, [ebp - 0x28]
mov ecx, 0x4acfa8
push eax
call fcn.0043e1b0
test al, al
sete bl
cmp dword [ebp - 0x14], 8
jb 0x436565
push dword [ebp - 0x28]
call fcn.0045a050
add esp, 4
test bl, bl
je 0x43658b
push 0x4968d4
mov ecx, 0x4acf10
call fcn.00422aa0
jmp 0x43658b
push 2
push 0x4968d4
mov ecx, 0x4acf10
call fcn.00422d00
push 9
xor eax, eax
mov dword [ebp - 0x2c], 7
push 0x4968dc
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
call fcn.00422d00
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xc
push eax
call fcn.00438640
mov esi, eax
cmp esi, 0x4acf28
je 0x436603
cmp dword [0x4acf3c], 8
jb 0x4365dc
push dword [0x4acf28]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [0x4acf3c], 7
push esi
mov ecx, 0x4acf28
mov dword [0x4acf38], 0
mov word [0x4acf28], ax
call fcn.00422a40
cmp byte [0x4acfb4], 0
je 0x43669c
cmp dword [ebp - 0x30], 0
je 0x43669c
cmp dword [ebp - 0x2c], 8
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0x78]
cmovae ecx, dword [ebp - 0x40]
add eax, eax
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x7c]
push eax
push 0
lea eax, [ebp - 0x74]
push eax
push 0
push ecx
push dword [0x4acfa8]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x436662
mov eax, dword [ebp - 0x74]
cmp eax, 1
je 0x43665e
cmp eax, 2
je 0x43665e
mov eax, 0xd
jmp 0x436660
xor eax, eax
test eax, eax
sete al
test al, al
jne 0x43669c
cmp dword [0x4acf3c], 8
lea eax, [ebp - 0x40]
mov ecx, 0x4acf28
cmovae ecx, dword [0x4acf28]
cmp dword [ebp - 0x2c], 8
push 1
cmovae eax, dword [ebp - 0x40]
push ecx
push eax
mov ecx, 0x4acfa8
call fcn.00423ac0
test eax, eax
sete al
jmp 0x43669e
xor al, al
test al, al
sete bl
cmp dword [ebp - 0x14], 8
jb 0x4366b4
push dword [ebp - 0x28]
call fcn.0045a050
add esp, 4
xor eax, eax
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x2c], 8
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], 0
mov word [ebp - 0x28], ax
jb 0x4366dd
push dword [ebp - 0x40]
call fcn.0045a050
add esp, 4
test bl, bl
je 0x436732
push 0x4968dc
lea ecx, [ebp - 0x28]
call fcn.00422790
push 0x4acf28
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xd
push eax
mov ecx, 0x4acfa8
call fcn.0043e360
test al, al
mov byte [ebp - 4], 0xb
sete bl
cmp dword [ebp - 0x14], 8
jb 0x43671f
push dword [ebp - 0x28]
call fcn.0045a050
add esp, 4
test bl, bl
je 0x436732
push 0x4968d4
mov ecx, 0x4acf28
call fcn.00422aa0
push 0xa
xor eax, eax
mov dword [0x4acfa0], 1
push 0x4968f0
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
call fcn.00422d00
push ecx
push 0x4acfa0
lea eax, [ebp - 0x40]
mov ecx, 0x4acfa8
push eax
call fcn.0043e240
test al, al
sete bl
cmp dword [ebp - 0x2c], 8
jb 0x436789
push dword [ebp - 0x40]
call fcn.0045a050
add esp, 4
test bl, bl
je 0x436815
push 0x4968f0
lea ecx, [ebp - 0x28]
call fcn.00422790
push 0x4acfa0
lea eax, [ebp - 0x28]
mov ecx, 0x4acfa8
push eax
call fcn.0043e440
cmp dword [ebp - 0x14], 8
mov bl, al
jb 0x4367c4
push dword [ebp - 0x28]
call fcn.0045a050
add esp, 4
test bl, bl
je 0x436815
inc dword [0x4acfa0]
lea ecx, [ebp - 0x28]
push 0x4968f0
call fcn.00422790
push 0x4acfa0
lea eax, [ebp - 0x28]
mov ecx, 0x4acfa8
push eax
call fcn.0043e2d0
test al, al
sete bl
cmp dword [ebp - 0x14], 8
jb 0x436804
push dword [ebp - 0x28]
call fcn.0045a050
add esp, 4
mov eax, dword [0x4acfa0]
xor ecx, ecx
test bl, bl
cmovne eax, ecx
mov dword [0x4acfa0], eax
lea eax, [ebp - 0x28]
push eax
call fcn.00437ef0
mov esi, eax
cmp esi, 0x4acf40
je 0x436866
cmp dword [0x4acf54], 8
jb 0x43683f
push dword [0x4acf40]
call fcn.0045a050
add esp, 4
xor eax, eax
mov dword [0x4acf54], 7
push esi
mov ecx, 0x4acf40
mov dword [0x4acf50], 0
mov word [0x4acf40], ax
call fcn.00422a40
cmp dword [ebp - 0x14], 8
jb 0x436877
push dword [ebp - 0x28]
call fcn.0045a050
add esp, 4
push 2
push 0x4968d4
mov ecx, 0x4acf58
call fcn.00422d00
cmp dword [0x4acf68], 0
je 0x4368de
push 0x496908
lea ecx, [ebp - 0x28]
call fcn.00422790
push 1
push 0x4acf58
lea eax, [ebp - 0x28]
mov ecx, 0x4acfa8
push eax
call fcn.0043e1b0
test al, al
sete bl
cmp dword [ebp - 0x14], 8
jb 0x4368c9
push dword [ebp - 0x28]
call fcn.0045a050
add esp, 4
test bl, bl
je 0x4368ef
push 0x4968d4
mov ecx, 0x4acf58
call fcn.00422aa0
jmp 0x4368ef
push 2
push 0x4968d4
mov ecx, 0x4acf58
call fcn.00422d00
mov eax, 0x4acf10
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045b1f5
mov esp, ebp
pop ebp
ret