Function at 0x75a6760d
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x6e0
mov eax, dword [0x75bc8d18]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x20]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor edx, edx
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x2b4], edi
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x28c], ecx
mov dword [ebp - 0x298], edx
cmp edi, edx
je 0x75a67dcc
cmp dword [ebp + 0x18], edx
je 0x75a67dcc
cmp eax, edx
je 0x75a6766e
cmp ecx, edx
je 0x75a67dcc
cmp dword [ebp + 0x10], 2
mov byte [ebp - 0x290], dl
jne 0x75a67684
mov dword [ebp - 0x29c], 0x759b4ca0
mov dword [ebp - 0x2b0], edx
mov ebx, dword [ebp + 0x14]
lea ecx, [ebp - 0x20]
call fcn.759b3c2d
push dword [ebp + 0x18]
mov esi, 0x75a67de0
lea ecx, [ebp - 0x288]
mov dword [ebp - 0x2ac], esi
call fcn.759dc089
cmp dword [0x75a67de0], 0
je 0x75a67bc4
lea ecx, [ebp - 0x288]
call fcn.759db6da
mov ecx, dword [esi]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x75a676e6
test dl, dl
je 0x75a676e2
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x75a676e6
inc ecx
inc ecx
inc eax
inc eax
test dl, dl
jne 0x75a676c8
xor eax, eax
jmp 0x75a676eb
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
cmp eax, ecx
je 0x75a676fe
add esi, 0x14
mov dword [ebp - 0x2ac], esi
cmp dword [esi], ecx
jne 0x75a676bb
cmp dword [esi], ecx
je 0x75a67bc4
test dword [esi + 0x10], ebx
je 0x75a67bc4
mov eax, dword [esi + 4]
mov dword [ebp - 0x2a0], eax
mov eax, dword [esi + 0xc]
sub eax, ecx
je 0x75a6794d
dec eax
je 0x75a67767
dec eax
cmp ebx, 1
jne 0x75a67745
push dword [ebp - 0x290]
lea eax, [ebp - 0x20]
push 0
push eax
push 0
push edi
call fcn.75a675e6
jmp 0x75a6788f
cmp ebx, 2
jne 0x75a679bf
push dword [ebp - 0x290]
lea eax, [ebp - 0x20]
push 0
push eax
push 1
push edi
call fcn.75a675e6
jmp 0x75a679b8
cmp dword [ebp + 0x28], 1
je 0x75a67bc4
cmp ebx, 1
jne 0x75a67865
push dword [ebp - 0x290]
lea eax, [ebp - 0x20]
push eax
push edi
push dword [ebp - 0x29c]
call fcn.75a67052
mov esi, eax
add esp, 0x10
cmp esi, 2
jne 0x75a67804
cmp byte [ebp + 0x24], 0
je 0x75a67b7e
xor bl, bl
test byte [ebp - 0x298], 1
je 0x75a677c1
and dword [ebp - 0x298], 0xfffffffe
lea ecx, [ebp - 0x4cc]
call fcn.759c296f
test bl, bl
je 0x75a679c2
cmp dword [ebp + 0x10], 3
jne 0x75a677e2
lea eax, [ebp + 0x10]
push eax
push dword [ebp - 0x2b4]
call fcn.759dd67a
pop ecx
pop ecx
mov esi, eax
xor ebx, ebx
cmp esi, ebx
jne 0x75a67beb
cmp dword [ebp + 0x10], ebx
jne 0x75a679cc
mov dword [ebp - 0x2a0], 0x759fcc34
jmp 0x75a679c2
test esi, esi
jne 0x75a677a4
or dword [ebp - 0x298], 1
push 0x759c3dc0
lea ecx, [ebp - 0x4cc]
call fcn.759c29b8
mov ecx, eax
call fcn.759db6da
lea ecx, [ebp - 0x288]
mov edi, eax
call fcn.759db6da
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x75a67851
test cl, cl
je 0x75a6784d
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x75a67851
inc eax
inc eax
inc edi
inc edi
test cl, cl
jne 0x75a67833
xor eax, eax
jmp 0x75a67856
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x75a677a4
mov bl, 1
jmp 0x75a677a6
cmp ebx, 2
jne 0x75a679bf
cmp dword [ebp + 0x10], 3
je 0x75a67897
cmp dword [ebp + 0x10], 0xffffffff
je 0x75a67897
push dword [ebp - 0x290]
lea eax, [ebp - 0x20]
push eax
push 0
push dword [ebp + 0x10]
push edi
call fcn.75a6717b
add esp, 0x14
jmp 0x75a67985
lea eax, [ebp - 0x2b8]
push eax
push dword [ebp - 0x290]
lea eax, [ebp - 0x20]
push eax
push 0
push edi
mov dword [ebp - 0x2b8], 3
call fcn.75a672a6
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x75a67919
or dword [ebp - 0x298], 2
push 0x759c3dc0
lea ecx, [ebp - 0x6e0]
call fcn.759c29b8
mov ecx, eax
call fcn.759db6da
lea ecx, [ebp - 0x288]
mov edi, eax
call fcn.759db6da
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x75a6790c
test cl, cl
je 0x75a67908
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x75a6790c
inc eax
inc eax
inc edi
inc edi
test cl, cl
jne 0x75a678ee
xor eax, eax
jmp 0x75a67911
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x75a67919
mov bl, 1
jmp 0x75a6791b
xor bl, bl
test byte [ebp - 0x298], 2
je 0x75a67936
and dword [ebp - 0x298], 0xfffffffd
lea ecx, [ebp - 0x6e0]
call fcn.759c296f
test bl, bl
je 0x75a679c2
cmp dword [ebp - 0x2b8], 0
je 0x75a677f5
jmp 0x75a679c2
cmp byte [ebp + 0x24], 0
jne 0x75a67bc4
cmp ebx, 1
jne 0x75a6799f
lea eax, [ebp - 0x20]
cmp dword [ebp - 0x29c], ecx
je 0x75a67989
push dword [ebp - 0x290]
push eax
push edi
push 0x759db660
push dword [ebp - 0x29c]
push dword [ebp + 0x10]
call fcn.759db95a
add esp, 0x18
mov esi, eax
jmp 0x75a679c2
push 0
push 0xffffffffffffffff
push dword [ebp - 0x290]
push eax
push edi
call fcn.759decea
jmp 0x75a6788f
cmp ebx, 2
jne 0x75a679bf
push 0
push 0xffffffffffffffff
push dword [ebp - 0x290]
lea eax, [ebp - 0x20]
push eax
push edi
call fcn.75a5fc4a
mov esi, eax
add esp, 0x14
jmp 0x75a679c2
push 0x57
pop esi
xor ebx, ebx
cmp esi, ebx
jne 0x75a67beb
mov esi, dword [ebp - 0x28c]
mov dword [ebp - 0x2a4], ebx
cmp dword [ebp - 0x294], ebx
jne 0x75a679e8
cmp esi, ebx
je 0x75a67d3a
mov eax, dword [esi]
mov dword [ebp - 0x2a8], eax
lea eax, [ebp - 0x2a8]
push eax
push dword [ebp - 0x294]
lea eax, [ebp - 0x2a4]
push eax
xor edi, edi
push edi
push dword [ebp - 0x2a0]
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
cmp eax, edi
je 0x75a67a76
cmp eax, 0xea
je 0x75a67d60
cmp dword [ebp + 0x14], 2
jne 0x75a67d59
mov esi, dword [ebp - 0x2a0]
push 0x14
mov edi, 0x759fcc34
pop ecx
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x75a67d59
cmp dword [ebp + 0x10], 3
je 0x75a67a57
cmp dword [ebp + 0x10], 0xffffffff
jne 0x75a67d59
inc ebx
cmp ebx, 2
mov dword [ebp - 0x2a0], 0x759fcc24
jge 0x75a67d59
mov esi, dword [ebp - 0x28c]
jmp 0x75a679e8
cmp dword [ebp - 0x2a4], 4
je 0x75a67c01
mov eax, dword [ebp - 0x2ac]
test byte [eax + 0x10], 4
je 0x75a67d31
cmp dword [ebp - 0x294], edi
je 0x75a67c84
cmp dword [esi], 0x27
jb 0x75a67c92
mov esi, dword [ebp - 0x294]
lea eax, [ebp - 0x68]
push 0x27
mov dword [ebp - 0x74], eax
pop edi
mov eax, 0x759b3ef0
mov dword [ebp - 0x70], edi
sub esi, eax
mov cl, byte [eax + esi]
test cl, cl
je 0x75a67b31
movzx edx, byte [eax]
cmp edx, edi
jae 0x75a67b31
inc eax
mov byte [ebp + edx - 0x68], cl
cmp eax, 0x759b3f10
jb 0x75a67ac1
mov ecx, 0x759b4304
movzx eax, byte [ecx]
cmp eax, edi
jae 0x75a67b31
inc ecx
mov byte [ebp + eax - 0x68], 0x2d
cmp ecx, 0x759b4308
jb 0x75a67ae0
push dword [ebp - 0x74]
mov esi, dword [ebp - 0x28c]
push dword [esi]
mov byte [ebp - 0x68], 0x7b
push dword [ebp - 0x294]
mov byte [ebp - 0x43], 0x7d
mov byte [ebp - 0x42], 0
call fcn.759dbd84
lea ecx, [ebp - 0x74]
test eax, eax
jge 0x75a67d24
call fcn.759b499d
mov esi, 0x65b
jmp 0x75a67bc9
xor eax, eax
cmp dword [ebp - 0x2b0], eax
jne 0x75a67ca8
lea ecx, [ebp - 0x74]
mov byte [ebp - 0x290], 1
call fcn.759b499d
lea ecx, [ebp - 0x288]
call fcn.759c296f
lea ecx, [ebp - 0x20]
call fcn.759b3c00
lea ecx, [ebp - 0x18]
call fcn.759b1681
mov edi, dword [ebp - 0x2b4]
mov dword [ebp - 0x2b0], 1
jmp 0x75a6768a
cmp dword [ebp - 0x29c], 0
lea eax, [ebp - 0x20]
je 0x75a67baa
push dword [ebp - 0x290]
push eax
push edi
push 0x759db660
push dword [ebp - 0x29c]
push dword [ebp + 0x10]
call fcn.759db95a
add esp, 0x18
jmp 0x75a67bbe
push 0
push 0xffffffffffffffff
push dword [ebp - 0x290]
push eax
push edi
call fcn.759decea
add esp, 0x14
mov esi, eax
test esi, esi
jne 0x75a67beb
mov esi, 0x648
lea ecx, [ebp - 0x288]
call fcn.759c296f
lea ecx, [ebp - 0x20]
call fcn.759b3c00
lea ecx, [ebp - 0x18]
call fcn.759b1681
mov eax, esi
jmp 0x75a67dcf
cmp esi, 2
jne 0x75a67bf7
mov esi, 0x645
jmp 0x75a67bc9
cmp esi, 0x648
jne 0x75a67bc9
jmp 0x75a67bc4
cmp dword [ebp - 0x294], edi
je 0x75a67c71
lea eax, [ebp - 0x34]
push 0xa
push eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x294]
push dword [eax]
mov dword [ebp - 0x3c], 0x14
call sub.msvcrt.dll__itoa
mov ebx, dword [ebp - 0x28c]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, dword [ebx]
add esp, 0xc
push dword [ebp - 0x40]
call edi
inc eax
cmp esi, eax
jb 0x75a67c54
push dword [ebp - 0x40]
push esi
push dword [ebp - 0x294]
call fcn.759dbd84
test eax, eax
jge 0x75a67c5b
mov esi, 0xea
jmp 0x75a67c5d
xor esi, esi
push dword [ebp - 0x40]
call edi
lea ecx, [ebp - 0x40]
mov dword [ebx], eax
call fcn.759b68ad
jmp 0x75a67bc9
mov eax, dword [ebp - 0x28c]
mov dword [eax], 0xb
xor esi, esi
jmp 0x75a67bc9
mov eax, dword [ebp - 0x28c]
mov dword [eax], 0x26
jmp 0x75a67c7d
mov eax, dword [ebp - 0x28c]
mov dword [eax], 0x26
mov esi, 0xea
jmp 0x75a67bc9
push eax
push eax
mov eax, 0x759b7ff8
push eax
push eax
push eax
push eax
push dword [ebp - 0x18]
lea ecx, [ebp - 0x4cc]
push dword [ebp - 0x294]
call fcn.759dc089
mov ecx, eax
call fcn.759c2994
push eax
mov eax, dword [ebp - 0x2ac]
push dword [eax + 4]
lea ecx, [ebp - 0x6e0]
call fcn.759dc089
mov ecx, eax
call fcn.759c2994
push eax
push 0x3ea
push 1
push 0x15
call fcn.759c26bf
add esp, 0x30
lea ecx, [ebp - 0x6e0]
call fcn.759c296f
lea ecx, [ebp - 0x4cc]
call fcn.759c296f
lea ecx, [ebp - 0x74]
call fcn.759b499d
mov esi, 0x64a
jmp 0x75a67bc9
mov dword [esi], 0x26
call fcn.759b499d
jmp 0x75a67d3a
mov eax, dword [ebp - 0x2a8]
dec eax
mov dword [esi], eax
lea ecx, [ebp - 0x288]
call fcn.759c296f
lea ecx, [ebp - 0x20]
call fcn.759b3c00
lea ecx, [ebp - 0x18]
call fcn.759b1681
xor eax, eax
jmp 0x75a67dcf
cmp eax, 0xea
jne 0x75a67da4
cmp dword [ebp - 0x2a4], 1
je 0x75a67d90
cmp dword [ebp - 0x2a4], 2
je 0x75a67d90
cmp dword [ebp - 0x2a4], 4
jne 0x75a67c9e
mov eax, dword [ebp - 0x28c]
mov dword [eax], 0xb
jmp 0x75a67c9e
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x28c]
dec eax
mov dword [ecx], eax
jmp 0x75a67c9e
cmp eax, 2
jne 0x75a67dc5
mov eax, dword [ebp - 0x294]
xor esi, esi
cmp eax, esi
je 0x75a67db8
mov byte [eax], 0
mov eax, dword [ebp - 0x28c]
mov dword [eax], esi
jmp 0x75a67bc9
mov esi, eax
jmp 0x75a67bc9
push 0xe
pop eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.759b1748
leave
ret