Function at 0x4102ff
Capabilities:
Query or enumerate registry key

Disassembly:
sub esp, 0x304
lea eax, [esp + 8]
push ebx
push ebp
push esi
push edi
push 8
push 0
push eax
call fcn.0041869b
mov ecx, 0xc1c
call fcn.004185cd
mov esi, eax
test esi, esi
je 0x410568
lea edi, [esi + 0x1fe]
mov dword [esp + 0x2c], reloc.WS2_32.dll_accept
lea ebx, [edi + 0x3fc]
mov dword [esp + 0x30], reloc.WS2_32.dll_bind
lea edx, [esp + 0xb0]
mov dword [esp + 0x28], ebx
mov ecx, 0x8a
call fcn.004255fb
lea edx, [esp + 0x34]
mov ecx, 0x8b
call fcn.004255fb
lea edx, [esp + 0x70]
mov ecx, 0x8c
call fcn.004255fb
lea edx, [esp + 0x48]
mov ecx, 0x8d
call fcn.004255fb
lea edx, [esp + 0x5c]
mov ecx, 0x8e
call fcn.004255fb
xor ebx, ebx
mov ebp, ebx
mov dword [esp + 0x20], ebx
lea eax, [esp + 0x10]
push eax
push 8
push ebx
lea eax, [esp + 0xbc]
push eax
push dword [esp + ebp*4 + 0x3c]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x410553
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0x24]
mov dword [esp + 0x34], ebx
push eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x28], 0x104
push eax
push ebx
push dword [esp + 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x410549
mov ebp, ebx
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x34]
push 0xff
push esi
push eax
lea edx, [esp + 0x114]
inc ebp
call fcn.0041cea9
mov ebx, eax
cmp ebx, 0xffffffff
je 0x410517
test ebx, ebx
je 0x410517
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x48]
push 0xff
push edi
push eax
lea edx, [esp + 0x114]
call fcn.0041cea9
mov edi, eax
cmp edi, 0xffffffff
je 0x410511
test edi, edi
je 0x410511
mov ecx, dword [esp + 0x10]
lea eax, [esi + 0x3fc]
push 0xff
push eax
lea eax, [esp + 0x64]
push eax
lea edx, [esp + 0x114]
call fcn.0041cea9
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
je 0x410511
test eax, eax
je 0x410511
lea edx, [edi + ebx]
lea edi, [esi + 0x1fe]
lea ebx, [edi + 0x1fe]
mov ecx, ebx
call fcn.00410240
test eax, eax
jle 0x410517
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x70]
push eax
lea edx, [esp + 0x10c]
call fcn.0041cf49
mov edi, eax
cmp edi, 1
jb 0x4104c1
cmp edi, 0xffff
jbe 0x4104c4
push 0x15
pop edi
push 0x55
lea edx, [esp + 0x8c]
pop ecx
call fcn.004255fb
push edi
push esi
push ebx
mov ebx, dword [esp + 0x34]
lea edi, [esi + 0x1fe]
push edi
lea eax, [esp + 0x98]
push eax
push 0x311
push ebx
call fcn.004194ac
add esp, 0x1c
test eax, eax
jle 0x410517
push eax
mov edx, ebx
lea ecx, [esp + 0x1c]
call fcn.00418a17
test al, al
je 0x410517
inc dword [esp + 0x1c]
jmp 0x410517
lea edi, [esi + 0x1fe]
xor ebx, ebx
mov dword [esp + 0x14], 0x104
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x11c]
push eax
push ebp
push dword [esp + 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x4103f0
mov ebp, dword [esp + 0x20]
push dword [esp + 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc ebp
mov dword [esp + 0x20], ebp
cmp ebp, 2
jb 0x41039c
mov ecx, esi
call fcn.00418601
cmp dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x18]
jbe 0x41058d
push 0xcb
mov edx, 0x8f
call fcn.0040da8c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x304
ret
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x304
jmp fcn.00418601