Function at 0x43dbc0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a126c
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 0x43e00a
cmp dword [edi + 0x10], 0
je 0x43e00a
push 0x2c
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0
call fcn.00499abe
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 0x43dc60
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 0x43df9a
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 0x43df8e
mov edi, edi
inc ebx
cmp dword [ebp - 0x258], 0x104
mov dword [ebp - 0x270], ebx
jae 0x43df44
cmp dword [ebp - 0x264], 4
jne 0x43df44
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 0x43dd44
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 0x43de60
mov edi, dword [edx + 0x20]
add edx, 0x10
cmp dword [edx + 0x14], 8
jb 0x43de22
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 0x43de55
cmp edi, ebx
jbe 0x43de51
or eax, 0xffffffff
jmp 0x43de55
sbb eax, eax
neg eax
shr eax, 0x1f
test al, al
je 0x43defc
cmp dword [ebp - 0x250], 0x5d1745d
je 0x43e04f
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.00499abe
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 0x43df02
mov eax, dword [ebp - 0x268]
mov byte [ebp - 4], 1
cmp eax, 8
jb 0x43df3a
lea ecx, [eax*2 + 2]
mov eax, esi
cmp ecx, 0x1000
jb 0x43df30
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43e004
push ecx
push esi
call fcn.00499aee
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 0x43dcf0
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.00499abe
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.0043abe0
push 0x2c
push dword [ebp - 0x254]
call fcn.00499aee
add esp, 8
jmp 0x43e031
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.00499abe
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.00499afc
mov esp, ebp
pop ebp
ret
call fcn.00407b30
int3