Function at 0x100034c0
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x110
mov eax, 4
inc eax
cmp eax, 0x17
jle 0x100034d9
cmp eax, 0xdc
jge 0x100034d9
inc eax
add eax, 0x1a
cmp eax, 0x89
jl 0x100034cb
push ebx
push esi
push edi
xor ebx, ebx
mov esi, 0x31
inc esi
cmp esi, 0x28
jle 0x100034fc
cmp esi, 0xc9
jge 0x100034fc
inc esi
add esi, 0x31
cmp esi, 0x68
jl 0x100034ed
mov edi, dword [esp + 0x120]
push str.HKEY_CLASSES_ROOT
push edi
call fcn.10003260
add esp, 8
test eax, eax
je 0x10003522
mov ebx, connect
inc esi
cmp esi, 0x47
jle 0x10003531
cmp esi, 0xd0
jge 0x10003531
inc esi
inc esi
cmp esi, 0x2e
jle 0x10003540
cmp esi, 0xde
jge 0x10003540
inc esi
push str.HKEY_CURRENT_CONFIG
push edi
call fcn.10003260
add esp, 8
test eax, eax
je 0x10003557
mov ebx, htons
inc esi
cmp esi, 0xf
jl 0x10003560
add esi, 2
cmp esi, 0xa0
jle 0x1000356d
mov esi, 0x16
push str.HKEY_CURRENT_USER
push edi
call fcn.10003260
add esp, 8
test eax, eax
je 0x10003584
mov ebx, connect
push str.HKEY_LOCAL_MACHINE
push edi
dec esi
call fcn.10003260
add esp, 8
test eax, eax
je 0x1000359c
mov ebx, connect
mov eax, 0xb
inc eax
cmp eax, 0x1c
jle 0x100035af
cmp eax, 0xf2
jge 0x100035af
inc eax
add eax, 0x1f
cmp eax, 0x66
jl 0x100035a1
push str.HKEY_USERS
push edi
call fcn.10003260
add esp, 8
test eax, eax
je 0x100035ce
mov ebx, reloc.WS2_32.dll_closesocket
mov eax, 0x19
inc eax
cmp eax, 0x62
jle 0x100035e1
cmp eax, 0xf4
jge 0x100035e1
inc eax
add eax, 0x31
cmp eax, 0xc6
jl 0x100035d3
test ebx, ebx
jne 0x100035fb
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x110
ret
inc eax
cmp eax, 0x37
jle 0x10003609
cmp eax, 0xd4
jge 0x10003609
inc eax
push 0x5c
inc eax
push edi
call fcn.10002fe0
add esp, 8
mov ecx, 9
inc ecx
cmp ecx, 4
jle 0x10003629
cmp ecx, 0xe1
jge 0x10003629
inc ecx
add ecx, 0xf
cmp ecx, 0xc5
jl 0x1000361a
inc ecx
test eax, eax
jne 0x10003643
pop edi
pop esi
pop ebx
add esp, 0x110
ret
inc eax
push eax
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, 0x31
inc esi
cmp esi, 0x3f
jle 0x10003664
cmp esi, 0xce
jge 0x10003664
inc esi
add esi, 0x22
cmp esi, 0x8a
jl 0x10003655
lea ecx, [esp + 0x1c]
push 0x5c
push ecx
call fcn.10003460
add esp, 8
inc esi
cmp esi, 0x1b
mov edi, eax
jle 0x1000368f
cmp esi, 0xf7
jge 0x1000368f
inc esi
inc esi
test edi, edi
jne 0x100036a0
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x110
ret
mov byte [edi], 0
inc edi
mov eax, 0x4d
inc eax
cmp eax, 0x31
jle 0x100036b7
cmp eax, 0xf0
jge 0x100036b7
inc eax
add eax, 0x1e
cmp eax, 0x78
jl 0x100036a9
inc eax
cmp eax, 3
jl 0x100036c8
add eax, 2
lea edx, [esp + 0xc]
lea eax, [esp + 0x1c]
push edx
push eax
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
je 0x100036e9
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x110
ret
mov eax, 0x11
inc eax
cmp eax, 0x5f
jle 0x100036fc
cmp eax, 0xe0
jge 0x100036fc
inc eax
add eax, 0x2c
cmp eax, 0x75
jl 0x100036ee
mov dword [esp + 0x18], 4
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], 0
mov eax, 0x3a
inc eax
cmp eax, 0xb
jle 0x1000372f
cmp eax, 0xde
jge 0x1000372f
inc eax
add eax, 0x15
cmp eax, 0x9b
jl 0x10003721
mov eax, 0x33
inc eax
cmp eax, 0x4a
jle 0x1000374c
cmp eax, 0xf1
jge 0x1000374c
inc eax
add eax, 0x2e
cmp eax, 0xaf
jl 0x1000373e
lea ecx, [esp + 0x14]
lea edx, [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push edx
push eax
push 0
push edi
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, 0x1e
inc eax
cmp eax, 3
jle 0x1000378e
cmp eax, 0xf5
jge 0x1000378e
inc eax
add eax, 0x22
cmp eax, 0x9c
jl 0x10003780
test esi, esi
je 0x100037a8
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x110
ret
mov eax, 0x45
inc eax
cmp eax, 0x4b
jle 0x100037bb
cmp eax, 0xd6
jge 0x100037bb
inc eax
add eax, 0x17
cmp eax, 0x76
jl 0x100037ad
mov edx, dword [esp + 0xc]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebx
add esp, 0x110
ret