Function at 0x100566e0
Capabilities:
Set registry value

Disassembly:
push 0x258
mov eax, 0x100f0f72
call fcn.10082248
mov ebx, ecx
mov esi, dword [ebp + 8]
xor eax, eax
push 0x208
push eax
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x218]
push eax
call fcn.100a25c0
add esp, 0xc
mov dword [ebp - 0x234], 7
xor eax, eax
lea ecx, [ebp - 0x248]
xor edi, edi
mov word [ebp - 0x248], ax
mov dword [ebp - 0x238], edi
push 0x100fc528
call fcn.10022050
push str.b0e4d2e1_8da4_595d_88e2_0a72007085fd
lea ecx, [ebp - 0x248]
mov dword [ebp - 4], edi
call fcn.1003768b
push 0x100fc57c
lea ecx, [ebp - 0x248]
call fcn.1003768b
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
lea ecx, [ebp - 0x24c]
cmovae eax, dword [ebp - 0x248]
xor edx, edx
push edx
push ecx
push edx
push 0xf013f
push edx
push edx
push edx
push eax
push esi
call edi
test eax, eax
jne 0x100568cc
xor esi, esi
mov dword [ebp - 0x21c], 7
push 0x100fc580
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], esi
mov word [ebp - 0x230], ax
call fcn.10022050
push str.AntZipAcersslitytion
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 1
call fcn.1003768b
push str._Class
lea ecx, [ebp - 0x230]
call fcn.1003768b
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x230]
lea edx, [ebp - 0x218]
cmovae ecx, dword [ebp - 0x230]
sub edx, ecx
movzx eax, word [ecx]
mov word [ecx + edx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x10056825
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x1005683d
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
push esi
push 0x100f55e0
push dword [ebp - 0x24c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 0x13
pop ecx
mov esi, str.0cdad00b_ce28_581f_b60b_23fc471854b5
lea edi, [ebp - 0x218]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
movsw word es:[edi], word [esi]
xor esi, esi
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x10056888
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
push esi
push str.AppID
push dword [ebp - 0x24c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
xor eax, eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], al
call fcn.10001ee0
mov edi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmp dword [ebp - 0x24c], 0
je 0x10056d56
xor ecx, ecx
lea eax, [ebp - 0x250]
push ecx
push eax
push ecx
push 0xf003f
push ecx
push ecx
push ecx
push str.InprocServer32
push dword [ebp - 0x24c]
call edi
test eax, eax
jne 0x10056a02
xor ecx, ecx
lea eax, [ebx + 0x18]
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x21c], ecx
lea ecx, [ebp - 0x230]
push eax
call fcn.1003744e
cmp dword [ebx + 0x5c], 8
lea ecx, [ebx + 0x48]
mov byte [ebp - 4], 2
jb 0x1005692e
mov ecx, dword [ebx + 0x48]
push dword [ebx + 0x58]
push ecx
lea ecx, [ebp - 0x230]
call fcn.10006070
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x230]
lea edx, [ebp - 0x218]
cmovae ecx, dword [ebp - 0x230]
sub edx, ecx
movzx eax, word [ecx]
mov word [ecx + edx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x10056959
lea ecx, [ebp - 0x218]
xor ebx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x10056973
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
push ebx
mov ebx, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 0x100f55e0
push dword [ebp - 0x250]
call ebx
push 5
pop ecx
mov esi, str.Apartment
lea edi, [ebp - 0x218]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x218]
xor esi, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x100569be
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
xor eax, eax
push eax
push str.ThreadingModel
push dword [ebp - 0x250]
call ebx
xor eax, eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], al
call fcn.10001ee0
mov edi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
jmp 0x10056a08
mov ebx, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
xor ecx, ecx
lea eax, [ebp - 0x258]
push ecx
push eax
push ecx
push 0xf003f
push ecx
push ecx
push ecx
push str.ProgID
push dword [ebp - 0x24c]
call edi
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
jne 0x10056b1f
xor eax, eax
mov dword [ebp - 0x21c], 7
push str.AntZipAcersslitytion
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], eax
mov word [ebp - 0x230], ax
call fcn.10022050
push 0x100fa654
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 3
call fcn.1003768b
push 0x100fc580
lea ecx, [ebp - 0x230]
call fcn.1003768b
push str.AntZipAcersslitytion
lea ecx, [ebp - 0x230]
call fcn.1003768b
push 0x100fc628
lea ecx, [ebp - 0x230]
call fcn.1003768b
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x230]
lea edx, [ebp - 0x218]
cmovae ecx, dword [ebp - 0x230]
sub edx, ecx
movzx eax, word [ecx]
mov word [ecx + edx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x10056abf
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x264]
jne 0x10056ad7
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
xor eax, eax
push eax
push 0x100f55e0
push dword [ebp - 0x258]
call ebx
push dword [ebp - 0x258]
call esi
xor eax, eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], al
call fcn.10001ee0
xor ecx, ecx
lea eax, [ebp - 0x260]
push ecx
push eax
push ecx
push 0xf003f
push ecx
push ecx
push ecx
push str.Programmable
push dword [ebp - 0x24c]
call edi
xor ecx, ecx
lea eax, [ebp - 0x254]
push ecx
push eax
push ecx
push 0xf003f
push ecx
push ecx
push ecx
push str.TypeLib
push dword [ebp - 0x24c]
call edi
test eax, eax
jne 0x10056c26
push 0x100fc528
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.10022050
push str.ec03713d_b871_5145_b355_eeb7d2e384b4
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 4
call fcn.1003768b
push 0x100fc57c
lea ecx, [ebp - 0x230]
call fcn.1003768b
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x230]
lea edx, [ebp - 0x218]
cmovae ecx, dword [ebp - 0x230]
sub edx, ecx
movzx eax, word [ecx]
mov word [ecx + edx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x10056bce
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, word [ebp - 0x264]
jne 0x10056be6
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
xor eax, eax
push eax
push 0x100f55e0
push dword [ebp - 0x254]
call ebx
xor eax, eax
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], al
call fcn.10001ee0
xor ecx, ecx
lea eax, [ebp - 0x25c]
push ecx
push eax
push ecx
push 0xf003f
push ecx
push ecx
push ecx
push str.VersionIndependentProgID
push dword [ebp - 0x24c]
call edi
test eax, eax
jne 0x10056d1b
mov edi, str.AntZipAcersslitytion
mov dword [ebp - 0x220], eax
push edi
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.10022050
push 0x100fa654
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 5
call fcn.1003768b
push 0x100fc580
lea ecx, [ebp - 0x230]
call fcn.1003768b
push edi
lea ecx, [ebp - 0x230]
call fcn.1003768b
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x230]
lea edx, [ebp - 0x218]
cmovae ecx, dword [ebp - 0x230]
sub edx, ecx
movzx eax, word [ecx]
mov word [ecx + edx], ax
lea ecx, [ecx + 2]
test ax, ax
jne 0x10056cc2
lea ecx, [ebp - 0x218]
xor edi, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, di
jne 0x10056cdc
sub ecx, edx
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
xor eax, eax
push eax
push 0x100f55e0
push dword [ebp - 0x25c]
call ebx
push dword [ebp - 0x25c]
call esi
lea ecx, [ebp - 0x230]
call fcn.10001ee0
cmp dword [ebp - 0x254], 0
je 0x10056d2c
push dword [ebp - 0x254]
call esi
cmp dword [ebp - 0x260], 0
je 0x10056d3d
push dword [ebp - 0x260]
call esi
cmp dword [ebp - 0x250], 0
je 0x10056d4e
push dword [ebp - 0x250]
call esi
push dword [ebp - 0x24c]
call esi
lea ecx, [ebp - 0x248]
call fcn.10001ee0
mov al, 1
call fcn.100821f2
ret 4