Function at 0x10003a22
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Query or enumerate registry key

Disassembly:
push 0x4f0
mov eax, 0x1001f724
call fcn.1001b357
mov esi, dword [ebp + 8]
and dword [ebp - 0x4c8], 0
mov ebx, edx
push esi
mov dword [ebp - 0x4d4], ecx
call fcn.1000499d
pop ecx
test eax, eax
je 0x10003ee9
xor ebx, ebx
mov dword [ebp - 0xcc], 0x66296635
mov dword [ebp - 0xc8], 0x66326620
mov dword [ebp - 0xc4], 0x66276631
mov dword [ebp - 0xc0], 0x66236634
mov dword [ebp - 0xbc], 0x662b663a
mov dword [ebp - 0xb8], 0x6605660f
mov dword [ebp - 0xb4], 0x66096614
mov dword [ebp - 0xb0], 0x66096615
mov dword [ebp - 0xac], 0x66126600
mov dword [ebp - 0xa8], 0x6631663a
mov dword [ebp - 0xa4], 0x6608660f
mov dword [ebp - 0xa0], 0x66096602
mov dword [ebp - 0x9c], 0x66156611
mov dword [ebp - 0x98], 0x6625663a
mov dword [ebp - 0x94], 0x66146613
mov dword [ebp - 0x90], 0x66036614
mov dword [ebp - 0x8c], 0x66126608
mov dword [ebp - 0x88], 0x66036630
mov dword [ebp - 0x84], 0x66156614
mov dword [ebp - 0x80], 0x6609660f
mov dword [ebp - 0x7c], 0x663a6608
mov dword [ebp - 0x78], 0x661e6623
mov dword [ebp - 0x74], 0x660a6616
mov dword [ebp - 0x70], 0x66146609
mov dword [ebp - 0x6c], 0x66146603
mov dword [ebp - 0x68], 0x6635663a
mov dword [ebp - 0x64], 0x6603660e
mov dword [ebp - 0x60], 0x660a660a
mov dword [ebp - 0x5c], 0x6605662f
mov dword [ebp - 0x58], 0x66086609
mov dword [ebp - 0x54], 0x66106629
mov dword [ebp - 0x50], 0x66146603
mov dword [ebp - 0x4c], 0x6607660a
mov dword [ebp - 0x48], 0x662f661f
mov dword [ebp - 0x44], 0x66036602
mov dword [ebp - 0x40], 0x66126608
mov dword [ebp - 0x3c], 0x6600660f
mov dword [ebp - 0x38], 0x6603660f
mov dword [ebp - 0x34], 0x66156614
mov word [ebp - 0x30], 0x6666
xor eax, eax
xor byte [ebp + eax - 0xcc], 0x66
inc eax
cmp eax, 0x9e
jb 0x10003ba6
xor eax, eax
push 0xee
mov word [ebp - 0x1bc], ax
lea eax, [ebp - 0x1ba]
push ebx
push eax
call fcn.1000f470
add esp, 0xc
mov dword [ebp - 0x4c4], ebx
mov dword [ebp - 0x4c0], ebx
mov dword [ebp - 0x4bc], ebx
xor eax, eax
cmp esi, ebx
setne al
mov dword [ebp - 4], ebx
add eax, 0x80000001
mov dword [ebp - 0x4d8], eax
call fcn.1000b059
neg eax
sbb eax, eax
lea ecx, [ebp - 0xcc]
push ecx
push dword [ebp - 0x4d8]
and eax, 0x100
or eax, 0x20019
lea ebx, [ebp - 0x4c4]
call fcn.1000b6ef
xor ebx, ebx
test eax, eax
jne 0x10003de6
push 0x78
pop esi
mov dword [ebp - 0x4d0], esi
mov dword [ebp - 0x4ec], ebx
call fcn.10004c01
mov dword [eax], eax
mov dword [ebp - 0x4f0], eax
mov dword [eax + 4], eax
mov byte [ebp - 4], 1
mov dword [ebp - 0x4b8], ebx
lea eax, [ebp - 0x4fc]
push eax
push ebx
push ebx
push ebx
lea eax, [ebp - 0x4d0]
push eax
lea eax, [ebp - 0x1bc]
push eax
push dword [ebp - 0x4b8]
push dword [ebp - 0x4c4]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x10003d7f
lea eax, [ebp - 0x4cc]
push eax
lea edi, [ebp - 0x1bc]
call fcn.100050d6
lea eax, [ebp - 0x4cc]
push eax
lea edi, [ebp - 0x4f0]
mov byte [ebp - 4], 2
call fcn.10004cef
lea eax, [ebp - 0x4cc]
mov byte [ebp - 4], 1
call fcn.1000513f
lea eax, [ebp - 0x1bc]
push eax
push dword [ebp - 0x4c4]
mov dword [ebp - 0x4e4], ebx
mov dword [ebp - 0x4e0], ebx
mov dword [ebp - 0x4dc], ebx
mov eax, 0x20019
lea ebx, [ebp - 0x4e4]
mov dword [ebp - 0x4d0], esi
call fcn.1000b6ef
test eax, eax
jne 0x10003d39
push eax
mov eax, ebx
mov dword [ebp - 0x4f4], esi
push eax
lea esi, [ebp - 0x4f4]
lea edi, [ebp - 0x2ac]
call fcn.100056ce
test eax, eax
jne 0x10003d2e
mov eax, edi
push eax
push dword [ebp - 0x4d4]
call fcn.1000dfd1
pop ecx
pop ecx
test eax, eax
je 0x10003d54
lea esi, [ebp - 0x4e4]
call fcn.1000b7ae
lea esi, [ebp - 0x4e4]
call fcn.1000b7ae
inc dword [ebp - 0x4b8]
push 0x78
xor ebx, ebx
pop esi
jmp 0x10003c59
lea esi, [ebp - 0x4e4]
call fcn.1000b7ae
lea esi, [ebp - 0x4f0]
call fcn.10004bca
xor edi, edi
inc edi
lea esi, [ebp - 0x4c4]
call fcn.1000b7ae
mov eax, edi
jmp 0x10003eeb
lea esi, [ebp - 0x4c4]
call fcn.1000b7ae
mov esi, dword [ebp - 0x4ec]
cmp esi, ebx
je 0x10003ddb
push ebx
call fcn.1000ec6d
pop ecx
cmp esi, 4
jb 0x10003da3
push 4
pop esi
call fcn.1000ec7f
xor edx, edx
div esi
mov eax, dword [ebp - 0x4f0]
mov ecx, edx
cmp edx, ebx
jmp 0x10003dbb
dec ecx
cmp ecx, ebx
mov eax, dword [eax]
jg 0x10003db8
cmp ecx, ebx
jge 0x10003dcb
neg ecx
dec ecx
mov eax, dword [eax + 4]
jne 0x10003dc5
push dword [eax + 8]
lea eax, [ebp - 0x1bc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea esi, [ebp - 0x4f0]
call fcn.10004bca
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
cmp word [ebp - 0x1bc], bx
jne 0x10003e46
mov dword [ebp - 0x2c], 0x66006629
mov dword [ebp - 0x28], 0x660a6600
mov dword [ebp - 0x24], 0x6608660f
mov dword [ebp - 0x20], 0x66466603
mov dword [ebp - 0x1c], 0x660f6620
mov dword [ebp - 0x18], 0x6603660a
mov dword [ebp - 0x14], 0x66666615
xor eax, eax
xor byte [ebp + eax - 0x2c], 0x66
inc eax
cmp eax, 0x1c
jb 0x10003e28
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x1bc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x10003e54
push 0x10024320
lea eax, [ebp - 0x1bc]
push eax
call esi
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x4b4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x1002431c
lea eax, [ebp - 0x4b4]
push eax
call esi
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0x4b4]
push eax
call esi
call fcn.1000b059
neg eax
sbb eax, eax
lea ecx, [ebp - 0x4b4]
push ecx
push dword [ebp - 0x4d8]
and eax, 0x100
or eax, 0x20006
lea ecx, [ebp - 0x4c4]
call fcn.1000b627
test eax, eax
jne 0x10003ede
push dword [ebp - 0x4d4]
lea eax, [ebp - 0x4c4]
push ebx
push eax
call fcn.10005161
neg eax
sbb eax, eax
inc eax
lea esi, [ebp - 0x4c4]
mov dword [ebp - 0x4c8], eax
call fcn.1000b7ae
mov edi, dword [ebp - 0x4c8]
jmp 0x10003d6d
xor eax, eax
call fcn.1001b3a1
ret