Function at 0x401080
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c0
mov eax, dword [0x431008]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x1b0]
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x1b4], ecx
push edi
movups xmmword [ebp - 0x1b0], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
mov ebx, dword [ebp - 0x1a8]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x1b4]
mov edx, 4
sub ebx, dword [ebp - 0x1b0]
push 0x18
sub ebx, 0x14
mov dword [ebp - 0x9c], 0
mov eax, dword [ecx]
lea esi, [ecx + 0x10]
add ecx, 0x18
mov dword [ebp - 0x98], 0x3f800000
push ebx
mov dword [ebp - 0x54], ecx
lea ecx, [ebp - 0x9c]
push 0x36
push 0xa
movups xmmword [ebp - 0x94], xmm0
mov dword [ebp - 0x7c], 0
movq qword [ebp - 0x84], xmm0
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], 0x3f800000
mov dword [ebp - 0x70], str.Static
mov dword [ebp - 0x6c], 0x42cbe4
mov dword [ebp - 0x68], 0x50000200
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x50], 0x40800000
mov dword [ebp - 0x4c], str.Edit
mov dword [ebp - 0x48], 0x42cbf5
mov dword [ebp - 0x44], 0x50800000
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0x3f800000
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x10], 0
movq qword [ebp - 0x18], xmm0
call fcn.0040c880
mov eax, dword [ebp - 0x1b4]
add esp, 0x10
push 0
push dword [eax + 0xc]
push 0x30
push dword [esi]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
call esi
mov eax, dword [ebp - 0x1b4]
push 0
push dword [eax + 0xc]
push 0x30
push dword [eax + 0x18]
call esi
mov eax, dword [ebp - 0x54]
push 0
push 0x10
push 0xc5
push dword [eax]
call esi
mov ecx, dword [ebp - 0x1b4]
xorps xmm0, xmm0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0x3f800000
movups xmmword [ebp - 0x124], xmm0
mov dword [ebp - 0x10c], 0
movq qword [ebp - 0x114], xmm0
mov eax, dword [ecx]
lea esi, [ecx + 0x14]
push 0x18
add ecx, 0x1c
mov dword [ebp - 0x108], esi
push ebx
mov dword [ebp - 0xe4], ecx
mov edx, 4
push 0x58
push 0xa
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x104], 0x3f800000
mov dword [ebp - 0x100], str.Static
mov dword [ebp - 0xfc], 0x42cbf8
mov dword [ebp - 0xf8], 0x50000200
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe0], 0x40800000
mov dword [ebp - 0xdc], str.Edit
mov dword [ebp - 0xd8], 0x42cbf5
mov dword [ebp - 0xd4], 0x50800000
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0x3f800000
movups xmmword [ebp - 0xb8], xmm0
mov dword [ebp - 0xa0], 0
movq qword [ebp - 0xa8], xmm0
call fcn.0040c880
mov eax, dword [ebp - 0x1b4]
add esp, 0x10
push 0
push dword [eax + 0xc]
push 0x30
push dword [esi]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
call esi
mov eax, dword [ebp - 0x1b4]
push 0
push dword [eax + 0xc]
push 0x30
push dword [eax + 0x1c]
call esi
mov eax, dword [ebp - 0xe4]
push 0
push 0x20
push 0xc5
push dword [eax]
call esi
mov eax, dword [ebp - 0x1b4]
xorps xmm0, xmm0
movss xmm2, dword [0x42de58]
movss xmm1, dword [0x42de5c]
movups xmmword [ebp - 0x194], xmm0
lea ecx, [eax + 0x20]
mov eax, dword [eax]
movq qword [ebp - 0x184], xmm0
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x164], edi
mov edi, 0xa
movq qword [ebp - 0x13c], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x42de50]
mov dword [ebp - 0x19c], 0
movss dword [ebp - 0x198], xmm2
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], ecx
movss dword [ebp - 0x174], xmm1
mov dword [ebp - 0x170], str.Button
mov dword [ebp - 0x16c], 0x42cc08
mov dword [ebp - 0x168], 0x50000000
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0
movss dword [ebp - 0x150], xmm2
mov dword [ebp - 0x134], 0
addss xmm0, xmm1
mov ecx, 3
movd xmm1, ebx
lea esi, [ebp - 0x19c]
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0x1b8], ecx
addss xmm0, xmm2
divss xmm1, xmm0
movss dword [ebp - 0x1bc], xmm1
cmp dword [esi], 0
movss xmm0, dword [esi + 4]
mulss xmm0, xmm1
cvttss2si ebx, xmm0
je 0x40147b
push dword [esi + 0x20]
push dword [esi + 0x1c]
push dword [esi + 0x18]
push dword [esi + 0x14]
push 0x30
push ebx
push 0x9c
push edi
push dword [esi + 0x10]
push dword [esi + 0xc]
push dword [esi + 8]
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ecx, dword [esi]
movss xmm1, dword [ebp - 0x1bc]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x1b8]
add edi, ebx
add esi, 0x24
sub ecx, 1
mov dword [ebp - 0x1b8], ecx
jne 0x401431
mov eax, dword [ebp - 0x1b4]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push dword [eax + 0xc]
push 0x30
push dword [eax + 0x20]
call ebx
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
lea eax, [ebp - 0x1b8]
push eax
push str.Software_
push closesocket
mov dword [ebp - 0x1a0], 0
call edi
test eax, eax
jne 0x40153b
push 1
push 0x100001
mov dword [ebp - 0x1a0], 0x100000
call fcn.00411154
add esp, 8
mov edi, eax
lea eax, [ebp - 0x1a0]
push eax
push edi
push 0
push 0
push str.UserName
push dword [ebp - 0x1b8]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40151c
push dword [ebp - 0x1b8]
mov esi, edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
jmp 0x401541
push edi
xor esi, esi
call fcn.0041115f
add esp, 4
push dword [ebp - 0x1b8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
jmp 0x401541
mov esi, dword [ebp - 0x1bc]
cmp dword [ebp - 0x1a0], 0
jbe 0x401569
mov eax, dword [ebp - 0x54]
push esi
push 0
push 0xc
push dword [eax]
call ebx
push esi
call fcn.0040d5dd
add esp, 4
mov eax, 0x8123
test esi, esi
cmovne esi, eax
lea eax, [ebp - 0x1b4]
mov dword [ebp - 0x1a0], 0
push eax
push str.Software_
push closesocket
call edi
test eax, eax
jne 0x4015e1
push 1
push 0x100001
mov dword [ebp - 0x1a0], 0x100000
call fcn.00411154
add esp, 8
mov edi, eax
lea eax, [ebp - 0x1a0]
push eax
push edi
push 0
push 0
push 0x42cc1c
push dword [ebp - 0x1b4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4015ca
mov esi, edi
jmp 0x4015d5
push edi
xor esi, esi
call fcn.0041115f
add esp, 4
push dword [ebp - 0x1b4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x1a0], 0
jbe 0x401602
mov eax, dword [ebp - 0xe4]
push esi
push 0
push 0xc
push dword [eax]
call ebx
push esi
call fcn.0040d5dd
add esp, 4
mov ecx, dword [ebp - 8]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040d5cc
mov esp, ebp
pop ebp
ret 4