Function at 0x43db60
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a10bc
mov eax, dword fs:[0]
push eax
sub esp, 0x284
mov eax, dword [0x4ce4bc]
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 esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x27c], esi
mov dword [ebp - 0x270], esi
test ebx, ebx
je 0x43dfaa
cmp dword [edi + 0x10], 0
je 0x43dfaa
push 0x2c
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0
call fcn.0049992e
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x254], eax
cmp dword [edi + 0x14], 8
mov dword [ebp - 4], 0
mov dword [ebp - 0x25c], 0
jb 0x43dc00
mov edi, dword [edi]
lea eax, [ebp - 0x25c]
push eax
push 0x20019
push 0
push edi
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x43df3a
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x218]
push ebx
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x258], 0x104
lea eax, [ebp - 0x26c]
mov dword [ebp - 0x260], ebx
mov dword [ebp - 0x26c], 4
mov dword [ebp - 0x264], ebx
push eax
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x264]
push eax
push ebx
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x218]
push eax
push ebx
push dword [ebp - 0x25c]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
jne 0x43df2e
mov edi, edi
inc ebx
cmp dword [ebp - 0x258], 0x104
mov dword [ebp - 0x270], ebx
jae 0x43dee4
cmp dword [ebp - 0x264], 4
jne 0x43dee4
xor eax, eax
mov dword [ebp - 0x230], 0
mov word [ebp - 0x230], ax
lea eax, [ebp - 0x218]
mov dword [ebp - 0x220], 0
lea edx, [eax + 2]
mov dword [ebp - 0x21c], 7
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43dce4
sub eax, edx
lea ecx, [ebp - 0x230]
sar eax, 1
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00404580
mov eax, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x230]
mov ebx, dword [ebp - 0x220]
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x240], eax
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x238], eax
xor eax, eax
mov word [ebp - 0x230], ax
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x24c], esi
mov dword [ebp - 0x23c], ebx
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x234], eax
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x254]
call fcn.00405070
mov edx, dword [eax + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x278], ecx
mov ecx, dword [eax + 4]
cmp byte [edx + 0xd], 0
mov dword [ebp - 0x274], ecx
jne 0x43de00
mov edi, dword [edx + 0x20]
add edx, 0x10
cmp dword [edx + 0x14], 8
jb 0x43ddc2
mov edx, dword [edx]
cmp dword [ebp - 0x268], 8
lea ecx, [ebp - 0x24c]
mov eax, ebx
cmovae ecx, esi
cmp edi, ebx
cmovb eax, edi
push eax
push edx
push ecx
call fcn.00404690
add esp, 0xc
test eax, eax
jne 0x43ddf5
cmp edi, ebx
jbe 0x43ddf1
or eax, 0xffffffff
jmp 0x43ddf5
sbb eax, eax
neg eax
shr eax, 0x1f
test al, al
je 0x43de9c
cmp dword [ebp - 0x250], 0x5d1745d
je 0x43dfef
mov ebx, dword [ebp - 0x254]
lea eax, [ebp - 0x254]
mov dword [ebp - 0x284], eax
push 0x2c
mov byte [ebp - 4], 3
mov dword [ebp - 0x280], 0
call fcn.0049992e
mov edi, eax
add esp, 4
mov dword [ebp - 0x280], edi
lea eax, [ebp - 0x24c]
mov byte [ebp - 4], 4
push eax
lea ecx, [edi + 0x10]
call fcn.00401f70
mov eax, dword [ebp - 0x234]
lea ecx, [ebp - 0x254]
push edi
push dword [ebp - 0x274]
mov dword [edi + 0x28], eax
push dword [ebp - 0x278]
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov word [edi + 0xc], 0
mov dword [ebp - 0x280], 0
call fcn.00407810
mov eax, dword [ebp - 0x238]
mov esi, dword [ebp - 0x24c]
jmp 0x43dea2
mov eax, dword [ebp - 0x268]
mov byte [ebp - 4], 1
cmp eax, 8
jb 0x43deda
lea ecx, [eax*2 + 2]
mov eax, esi
cmp ecx, 0x1000
jb 0x43ded0
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43dfa4
push ecx
push esi
call fcn.0049995e
add esp, 8
mov ebx, dword [ebp - 0x270]
mov byte [ebp - 4], 0
lea eax, [ebp - 0x26c]
mov dword [ebp - 0x258], 0x104
push eax
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x264]
push eax
push 0
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x218]
push eax
push ebx
push dword [ebp - 0x25c]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
je 0x43dc90
mov esi, dword [ebp - 0x27c]
push dword [ebp - 0x25c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x2c
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.0049992e
mov edx, eax
add esp, 4
mov dword [edx], edx
mov dword [edx + 4], edx
mov dword [edx + 8], edx
mov word [edx + 0xc], 0x101
mov eax, dword [ebp - 0x254]
mov dword [esi], eax
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0x250]
mov dword [esi + 4], eax
lea eax, [ebp - 0x254]
mov dword [ebp - 0x250], ecx
mov ecx, eax
mov dword [ebp - 0x254], edx
push dword [edx + 4]
push eax
call fcn.0043ab80
push 0x2c
push dword [ebp - 0x254]
call fcn.0049995e
add esp, 8
jmp 0x43dfd1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push 0x2c
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.0049992e
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
mov eax, esi
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.0049996c
mov esp, ebp
pop ebp
ret
call fcn.00407b30
int3