Function at 0x43dbe0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a09ec
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 0x43e02a
cmp dword [edi + 0x10], 0
je 0x43e02a
push 0x2c
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0
call fcn.0049924f
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 0x43dc80
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 0x43dfba
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 0x43dfae
mov edi, edi
inc ebx
cmp dword [ebp - 0x258], 0x104
mov dword [ebp - 0x270], ebx
jae 0x43df64
cmp dword [ebp - 0x264], 4
jne 0x43df64
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 0x43dd64
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 0x43de80
mov edi, dword [edx + 0x20]
add edx, 0x10
cmp dword [edx + 0x14], 8
jb 0x43de42
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 0x43de75
cmp edi, ebx
jbe 0x43de71
or eax, 0xffffffff
jmp 0x43de75
sbb eax, eax
neg eax
shr eax, 0x1f
test al, al
je 0x43df1c
cmp dword [ebp - 0x250], 0x5d1745d
je 0x43e06f
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.0049924f
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 0x43df22
mov eax, dword [ebp - 0x268]
mov byte [ebp - 4], 1
cmp eax, 8
jb 0x43df5a
lea ecx, [eax*2 + 2]
mov eax, esi
cmp ecx, 0x1000
jb 0x43df50
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43e024
push ecx
push esi
call fcn.0049927f
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 0x43dd10
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.0049924f
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.0043ac00
push 0x2c
push dword [ebp - 0x254]
call fcn.0049927f
add esp, 8
jmp 0x43e051
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.0049924f
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.0049928d
mov esp, ebp
pop ebp
ret
call fcn.00407b30
int3