Function at 0x43da10
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49ea7c
mov eax, dword fs:[0]
push eax
sub esp, 0x284
mov eax, dword [0x4cc498]
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 0x43de5a
cmp dword [edi + 0x10], 0
je 0x43de5a
push 0x2c
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0
call fcn.0049741e
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 0x43dab0
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 0x43ddea
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 0x43ddde
mov edi, edi
inc ebx
cmp dword [ebp - 0x258], 0x104
mov dword [ebp - 0x270], ebx
jae 0x43dd94
cmp dword [ebp - 0x264], 4
jne 0x43dd94
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 0x43db94
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 0x43dcb0
mov edi, dword [edx + 0x20]
add edx, 0x10
cmp dword [edx + 0x14], 8
jb 0x43dc72
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 0x43dca5
cmp edi, ebx
jbe 0x43dca1
or eax, 0xffffffff
jmp 0x43dca5
sbb eax, eax
neg eax
shr eax, 0x1f
test al, al
je 0x43dd4c
cmp dword [ebp - 0x250], 0x5d1745d
je 0x43de9f
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.0049741e
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 0x43dd52
mov eax, dword [ebp - 0x268]
mov byte [ebp - 4], 1
cmp eax, 8
jb 0x43dd8a
lea ecx, [eax*2 + 2]
mov eax, esi
cmp ecx, 0x1000
jb 0x43dd80
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43de54
push ecx
push esi
call fcn.0049744e
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 0x43db40
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.0049741e
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.0043aa30
push 0x2c
push dword [ebp - 0x254]
call fcn.0049744e
add esp, 8
jmp 0x43de81
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.0049741e
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.0049745c
mov esp, ebp
pop ebp
ret
call fcn.00407b30
int3