Function at 0x10202310
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x134
mov eax, dword [0x11ad127c]
xor eax, esp
mov dword [esp + 0x130], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [eax + 8]
push edi
push dword [ebp + 0x18]
mov edi, dword [ebp + 0x10]
push esi
push edi
mov dword [esp + 0x1c], eax
call fcn.101fd950
mov ebx, eax
mov dword [esp + 0x1c], ebx
test ebx, ebx
jne 0x10202590
cmp dword [0x11c4d988], 0x10234530
je 0x10202688
push 0x105
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
call fcn.10450898
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
je 0x1020238b
mov byte [eax], bl
inc dword [0x11d0d904]
lea eax, [esp + 0x30]
push 0x1046e160
push 0x1046e1a0
push eax
mov dword [esp + 0x18], 0x30
call fcn.100086a0
add esp, 0xc
lea eax, [esp + 0x30]
lea ecx, [esp + 0x20]
push 0
push eax
call fcn.101ffd90
test al, al
je 0x102024b3
push esi
lea eax, [esp + 0x34]
push 0x1046e1b0
push eax
call fcn.100086a0
add esp, 0xc
mov dword [esp + 0x1c], 0x30
cmp dword [esp + 0x24], 0
jne 0x102023f5
cmp dword [esp + 0x20], 0
je 0x1020248e
lea eax, [esp + 0x1c]
push eax
push edi
lea eax, [esp + 0x18]
push eax
push 0
lea eax, [esp + 0x40]
push eax
push dword [esp + 0x38]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
sub eax, 0
je 0x102024ac
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x1020248e
cmp byte [0x11d213c0], 0
je 0x10202458
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x38]
push eax
call fcn.100f6950
test al, al
je 0x102024b3
cmp dword [esp + 0x18], 2
jne 0x102024b3
push 0x30
push edi
push dword [esp + 0x14]
call fcn.100f77d0
jmp 0x102024a8
lea edx, [esp + 0x30]
call fcn.101ff260
mov ecx, eax
test ecx, ecx
je 0x102024b3
xor al, al
cmp word [ecx + 2], 1
jne 0x102024a8
movzx edx, word [ecx + 4]
cmp edx, 0x30
jae 0x102024a8
lea eax, [edx + 1]
push eax
lea eax, [ecx + 6]
push eax
push edi
call fcn.1043a5d0
add esp, 0xc
mov al, 1
jmp 0x102024a8
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x102024b3
lea eax, [esp + 0xc]
mov ecx, esi
push eax
push edi
lea eax, [esp + 0x38]
push eax
call fcn.102007b0
test al, al
je 0x102024b3
mov ebx, 1
mov dword [edi], ebx
cmp dword [esp + 0x24], 0
je 0x102024c3
lea ecx, [esp + 0x20]
call fcn.102000a0
mov eax, dword [0x11d0d904]
dec eax
mov dword [0x11d0d904], eax
test eax, eax
jg 0x1020254c
mov eax, dword [0x11d0d920]
mov dword [0x11d0d920], 0
test eax, eax
je 0x102024ee
push eax
call fcn.10450877
add esp, 4
mov eax, dword [0x11d0d918]
mov dword [0x11d0d918], 0
test eax, eax
je 0x1020250a
push eax
call fcn.10450877
add esp, 4
mov eax, dword [0x11d0d91c]
mov dword [0x11d0d91c], 0
test eax, eax
je 0x10202526
push eax
call fcn.10450877
add esp, 4
mov eax, dword [0x11d0d914]
mov dword [0x11d0d914], 0
test eax, eax
je 0x10202542
push eax
call fcn.10450877
add esp, 4
mov dword [0x11d0d904], 0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1020255d
push eax
call fcn.10450877
add esp, 4
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x10202577
mov ecx, esi
call fcn.101ffa20
push 0x10
push esi
call fcn.1045088a
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x130]
xor ecx, esp
call fcn.1045066c
mov esp, ebp
pop ebp
ret 0x14
cmp byte [ebp + 0x18], 0
je 0x10202688
cmp dword [edi + 0x10], 0x4000
jne 0x10202688
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.101fd5a0
movss xmm0, dword [esp + 0xc]
sub esp, 8
cvtps2pd xmm0, xmm0
mov bl, al
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call fcn.10453410
fstp qword [esp + 0x18]
movsd xmm0, qword [esp + 0x18]
add esp, 8
addsd xmm0, qword [0x1122d2d8]
call fcn.104510f0
movss xmm0, dword [esp + 0x18]
sub esp, 8
cvtps2pd xmm0, xmm0
mov dword [edi + 0x20], eax
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
fstp qword [esp]
call fcn.10453410
fstp qword [esp + 0x18]
movsd xmm0, qword [esp + 0x18]
add esp, 8
addsd xmm0, qword [0x1122d2d8]
call fcn.104510f0
movss xmm1, dword [esp + 0xc]
movss xmm0, dword [esp + 0x18]
mulss xmm1, xmm1
mov dword [edi + 0x24], eax
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1020265c
sqrtsd xmm0, xmm0
jmp 0x10202661
call fcn.104417f0
divsd xmm0, qword [0x1122d330]
addsd xmm0, qword [0x1122d2d8]
call fcn.104510f0
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x1c]
test bl, bl
je 0x10202688
mov dword [edi + 0x10], 0
mov ecx, dword [esp + 0x13c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1045066c
mov esp, ebp
pop ebp
ret 0x14