Function at 0x431213
Capabilities:
Contain obfuscated stackstrings
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2cc
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x94], 0x94
lea eax, [ebp - 0x94]
push eax
call dword [sym.imp.KERNEL32.DLL_GetVersionExA]
test eax, eax
je 0x43194e
mov ecx, dword [ebp - 0x90]
add ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x9c], 0
jmp 0x431272
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0x9c], 4
jge 0x431296
mov eax, dword [ebp - 0x9c]
mov cl, byte [ebp - 0xa0]
add cl, byte [ebp + eax - 0x98]
mov byte [ebp - 0xa0], cl
jmp 0x431263
mov edx, dword [ebp - 0x88]
add edx, dword [ebp - 0x84]
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x9c], 0
jmp 0x4312c3
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 4
jge 0x4312e7
mov ecx, dword [ebp - 0x9c]
mov dl, byte [ebp - 0x9f]
add dl, byte [ebp + ecx - 0x98]
mov byte [ebp - 0x9f], dl
jmp 0x4312b4
mov dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x9c]
movsx ecx, byte [ebp + eax - 0x80]
test ecx, ecx
je 0x431327
mov edx, dword [ebp - 0x9c]
mov al, byte [ebp - 0xa0]
add al, byte [ebp + edx - 0x80]
mov byte [ebp - 0xa0], al
mov ecx, dword [ebp - 0x9c]
add ecx, 1
mov dword [ebp - 0x9c], ecx
jmp 0x4312f1
mov byte [ebp - 0xbc], 0x42
mov byte [ebp - 0xbb], 0x75
mov byte [ebp - 0xba], 0x69
mov byte [ebp - 0xb9], 0x6c
mov byte [ebp - 0xb8], 0x64
mov byte [ebp - 0xb7], 0
mov byte [ebp - 0xb4], 0x49
mov byte [ebp - 0xb3], 0x6e
mov byte [ebp - 0xb2], 0x73
mov byte [ebp - 0xb1], 0x74
mov byte [ebp - 0xb0], 0x61
mov byte [ebp - 0xaf], 0x6c
mov byte [ebp - 0xae], 0x6c
mov byte [ebp - 0xad], 0x44
mov byte [ebp - 0xac], 0x61
mov byte [ebp - 0xab], 0x74
mov byte [ebp - 0xaa], 0x65
mov byte [ebp - 0xa9], 0
mov byte [ebp - 0x128], 0x52
mov byte [ebp - 0x127], 0x65
mov byte [ebp - 0x126], 0x67
mov byte [ebp - 0x125], 0x69
mov byte [ebp - 0x124], 0x73
mov byte [ebp - 0x123], 0x74
mov byte [ebp - 0x122], 0x65
mov byte [ebp - 0x121], 0x72
mov byte [ebp - 0x120], 0x65
mov byte [ebp - 0x11f], 0x64
mov byte [ebp - 0x11e], 0x4f
mov byte [ebp - 0x11d], 0
mov byte [ebp - 0x11c], 0x53
mov byte [ebp - 0x11b], 0x4f
mov byte [ebp - 0x11a], 0x46
mov byte [ebp - 0x119], 0x54
mov byte [ebp - 0x118], 0x57
mov byte [ebp - 0x117], 0x41
mov byte [ebp - 0x116], 0x52
mov byte [ebp - 0x115], 0x45
mov byte [ebp - 0x114], 0x5c
mov byte [ebp - 0x113], 0x4d
mov byte [ebp - 0x112], 0x69
mov byte [ebp - 0x111], 0x63
mov byte [ebp - 0x110], 0x72
mov byte [ebp - 0x10f], 0x6f
mov byte [ebp - 0x10e], 0x73
mov byte [ebp - 0x10d], 0x6f
mov byte [ebp - 0x10c], 0x66
mov byte [ebp - 0x10b], 0x74
mov byte [ebp - 0x10a], 0x5c
mov byte [ebp - 0x109], 0x57
mov byte [ebp - 0x108], 0x69
mov byte [ebp - 0x107], 0x6e
mov byte [ebp - 0x106], 0x64
mov byte [ebp - 0x105], 0x6f
mov byte [ebp - 0x104], 0x77
mov byte [ebp - 0x103], 0x73
mov byte [ebp - 0x102], 0
mov byte [ebp - 0xc0], 0x5c
mov byte [ebp - 0xbf], 0
mov byte [ebp - 0xa8], 0x20
mov byte [ebp - 0xa7], 0x4e
mov byte [ebp - 0xa6], 0x54
mov byte [ebp - 0xa5], 0x5c
mov byte [ebp - 0xa4], 0
mov byte [ebp - 0x138], 0x43
mov byte [ebp - 0x137], 0x75
mov byte [ebp - 0x136], 0x72
mov byte [ebp - 0x135], 0x72
mov byte [ebp - 0x134], 0x65
mov byte [ebp - 0x133], 0x6e
mov byte [ebp - 0x132], 0x74
mov byte [ebp - 0x131], 0x56
mov byte [ebp - 0x130], 0x65
mov byte [ebp - 0x12f], 0x72
mov byte [ebp - 0x12e], 0x73
mov byte [ebp - 0x12d], 0x69
mov byte [ebp - 0x12c], 0x6f
mov byte [ebp - 0x12b], 0x6e
mov byte [ebp - 0x12a], 0
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x2cc], edx
cmp dword [ebp - 0x2cc], 1
je 0x431577
cmp dword [ebp - 0x2cc], 2
je 0x431765
jmp 0x43194e
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0xc0]
push ecx
lea edx, [ebp - 0x11c]
push edx
push 0x780530
lea eax, [ebp - 0x100]
push eax
call fcn.006ee581
add esp, 0x14
lea ecx, [ebp - 0xc4]
push ecx
push 0x20019
push 0
lea edx, [ebp - 0x100]
push edx
push 0x80000002
call dword [sym.imp.ADVAPI32.DLL_RegOpenKeyExA]
test eax, eax
jne 0x431760
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x13c], 0
jmp 0x4315ed
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x13c], 0
jne 0x431753
mov dword [ebp - 0x1a4], 0x4f
mov byte [ebp - 0x200], 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x1a4]
push ecx
lea edx, [ebp - 0x200]
push edx
mov eax, dword [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0xc4]
push ecx
call dword [sym.imp.ADVAPI32.DLL_RegEnumValueA]
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0
jne 0x43174e
mov dword [ebp - 0x1a4], 0x64
lea edx, [ebp - 0x1a4]
push edx
lea eax, [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0x1a8]
push ecx
push 0
lea edx, [ebp - 0x200]
push edx
mov eax, dword [ebp - 0xc4]
push eax
call dword [sym.imp.ADVAPI32.DLL_RegQueryValueExA]
test eax, eax
jne 0x43174e
lea ecx, [ebp - 0xbc]
push ecx
lea edx, [ebp - 0x200]
push edx
call fcn.006ef560
add esp, 8
test eax, eax
je 0x4316ab
mov dword [ebp - 0x1b0], 1
jmp 0x4316fc
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x200]
push ecx
call fcn.006ef560
add esp, 8
test eax, eax
je 0x4316d1
mov dword [ebp - 0x1b0], 2
jmp 0x4316fc
lea edx, [ebp - 0x128]
push edx
lea eax, [ebp - 0x200]
push eax
call fcn.006ef560
add esp, 8
test eax, eax
je 0x4316f7
mov dword [ebp - 0x1b0], 3
jmp 0x4316fc
jmp 0x4315de
mov dword [ebp - 0x1ac], 0
jmp 0x431717
mov ecx, dword [ebp - 0x1ac]
add ecx, 1
mov dword [ebp - 0x1ac], ecx
mov edx, dword [ebp - 0x1ac]
cmp edx, dword [ebp - 0x1a4]
jae 0x43174e
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1ac]
mov dl, byte [ebp + eax - 0xa0]
add dl, byte [ebp + ecx - 0x1a0]
mov eax, dword [ebp - 0x1b0]
mov byte [ebp + eax - 0xa0], dl
jmp 0x431708
jmp 0x4315de
mov ecx, dword [ebp - 0xc4]
push ecx
call dword [sym.imp.ADVAPI32.DLL_RegCloseKey]
jmp 0x43194e
lea edx, [ebp - 0x138]
push edx
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x11c]
push ecx
push 0x780538
lea edx, [ebp - 0x100]
push edx
call fcn.006ee581
add esp, 0x14
lea eax, [ebp - 0xc4]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x100]
push ecx
push 0x80000002
call dword [sym.imp.ADVAPI32.DLL_RegOpenKeyExA]
test eax, eax
jne 0x43194e
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x204], 0
jmp 0x4317db
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0x204], 0
jne 0x431941
mov dword [ebp - 0x26c], 0x4f
mov byte [ebp - 0x2c8], 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x2c8]
push ecx
mov edx, dword [ebp - 0x9c]
push edx
mov eax, dword [ebp - 0xc4]
push eax
call dword [sym.imp.ADVAPI32.DLL_RegEnumValueA]
mov dword [ebp - 0x204], eax
cmp dword [ebp - 0x204], 0
jne 0x43193c
mov dword [ebp - 0x26c], 0x64
lea ecx, [ebp - 0x26c]
push ecx
lea edx, [ebp - 0x268]
push edx
lea eax, [ebp - 0x270]
push eax
push 0
lea ecx, [ebp - 0x2c8]
push ecx
mov edx, dword [ebp - 0xc4]
push edx
call dword [sym.imp.ADVAPI32.DLL_RegQueryValueExA]
test eax, eax
jne 0x43193c
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x2c8]
push ecx
call fcn.006ef560
add esp, 8
test eax, eax
je 0x431899
mov dword [ebp - 0x278], 1
jmp 0x4318ea
lea edx, [ebp - 0xb4]
push edx
lea eax, [ebp - 0x2c8]
push eax
call fcn.006ef560
add esp, 8
test eax, eax
je 0x4318bf
mov dword [ebp - 0x278], 2
jmp 0x4318ea
lea ecx, [ebp - 0x128]
push ecx
lea edx, [ebp - 0x2c8]
push edx
call fcn.006ef560
add esp, 8
test eax, eax
je 0x4318e5
mov dword [ebp - 0x278], 3
jmp 0x4318ea
jmp 0x4317cc
mov dword [ebp - 0x274], 0
jmp 0x431905
mov eax, dword [ebp - 0x274]
add eax, 1
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp - 0x274]
cmp ecx, dword [ebp - 0x26c]
jae 0x43193c
mov edx, dword [ebp - 0x278]
mov eax, dword [ebp - 0x274]
mov cl, byte [ebp + edx - 0xa0]
add cl, byte [ebp + eax - 0x268]
mov edx, dword [ebp - 0x278]
mov byte [ebp + edx - 0xa0], cl
jmp 0x4318f6
jmp 0x4317cc
mov eax, dword [ebp - 0xc4]
push eax
call dword [sym.imp.ADVAPI32.DLL_RegCloseKey]
mov eax, dword [ebp - 0xa0]
mov esp, ebp
pop ebp
ret