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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a55a6
mov eax, dword fs:[0]
push eax
sub esp, 0x2cc
mov eax, dword [0x100d40f8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
xor eax, eax
mov dword [ebp - 0x2c8], 0
mov edx, 0x71
mov dword [ebp - 0x2c4], 0x220071
mov dword [ebp - 0x2c0], 0x17001e
mov dword [ebp - 0x2bc], 0x60005
mov dword [ebp - 0x2b8], 0x30010
mov dword [ebp - 0x2b4], 0x2d0014
mov dword [ebp - 0x2b0], 0x1e0035
mov dword [ebp - 0x2ac], 0x40037
mov dword [ebp - 0x2a8], 0x2d001f
mov dword [ebp - 0x2a4], 0x100036
mov dword [ebp - 0x2a0], 0x14001c
mov dword [ebp - 0x29c], 0x100021
mov dword [ebp - 0x298], 0x190005
mov word [ebp - 0x294], ax
mov cx, word [ebp + eax*2 - 0x2c2]
xor cx, dx
mov word [ebp + eax*2 - 0x292], cx
inc eax
cmp eax, 0x17
jae 0x100201f2
mov dx, word [ebp - 0x2c4]
jmp 0x100201d0
xor eax, eax
mov word [ebp - 0x264], ax
lea eax, [ebp - 0x2c8]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x292]
push eax
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
sete al
test al, al
je 0x1002041a
mov esi, dword [ebp - 0x2c8]
lea edx, [ebp - 0x2d8]
lea ecx, [ebp - 0x2d4]
mov dword [ebp - 0x2d8], esi
call fcn.10014d40
mov dword [ebp - 4], 0
mov dword [ebp - 0x244], 0x400051
mov dword [ebp - 0x248], 0x760025
mov ecx, dword [ebp - 0x248]
mov eax, dword [ebp - 0x246]
xor eax, ecx
mov dword [ebp - 0x240], 0x480044
mov word [ebp - 0x230], ax
mov eax, dword [ebp - 0x244]
xor eax, ecx
mov dword [ebp - 0x23c], 0x440066
mov word [ebp - 0x22e], ax
mov eax, dword [ebp - 0x242]
xor eax, ecx
mov dword [ebp - 0x238], 0x4d0046
mov word [ebp - 0x22c], ax
mov eax, dword [ebp - 0x240]
xor eax, ecx
mov dword [ebp - 0x234], 0x40
mov word [ebp - 0x22a], ax
mov eax, dword [ebp - 0x23e]
xor eax, ecx
mov dword [ebp - 0x2cc], 0x206
mov word [ebp - 0x228], ax
mov eax, dword [ebp - 0x23c]
xor eax, ecx
mov word [ebp - 0x226], ax
mov eax, dword [ebp - 0x23a]
xor eax, ecx
mov word [ebp - 0x224], ax
mov eax, dword [ebp - 0x238]
xor eax, ecx
mov word [ebp - 0x222], ax
mov eax, dword [ebp - 0x236]
xor eax, ecx
mov word [ebp - 0x220], ax
mov eax, dword [ebp - 0x234]
xor eax, ecx
mov word [ebp - 0x21e], ax
xor eax, eax
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x2cc]
push eax
lea eax, [ebp - 0x218]
push eax
push 0
push 0
lea eax, [ebp - 0x230]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
sete al
test al, al
je 0x10020405
mov eax, dword [ebp - 0x2cc]
and eax, 0xfffffffe
cmp eax, 0x208
jae 0x10020438
xor ecx, ecx
mov word [ebp + eax - 0x218], cx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x260]
call fcn.10002700
mov byte [ebp - 4], 1
lea eax, [ebp - 0x260]
cmp dword [ebp - 0x24c], 8
push 0
cmovae eax, dword [ebp - 0x260]
push eax
call fcn.10087662
add esp, 8
cmp eax, 0xffffffff
je 0x100203fa
lea ecx, [edi + 0x9c]
lea eax, [ebp - 0x260]
cmp ecx, eax
je 0x100203d6
push 0xffffffffffffffff
push 0
push eax
call fcn.10006240
lea ecx, [ebp - 0x260]
call fcn.10006460
cmp byte [ebp - 0x2d0], 0
je 0x100203f6
push dword [ebp - 0x2d4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, 1
jmp 0x1002041c
lea ecx, [ebp - 0x260]
call fcn.10006460
cmp byte [ebp - 0x2d0], 0
je 0x1002041a
push dword [ebp - 0x2d4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1005e9d4
mov esp, ebp
pop ebp
ret
call fcn.1005f120
int3