Function at 0x10021275
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb00
mov eax, dword [0x10069410]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0xafc], edx
mov esi, 0xff
mov byte [ebp - 0x6ec], al
push esi
push eax
lea eax, [ebp - 0x6eb]
mov ebx, ecx
push eax
call fcn.1002d750
xor eax, eax
push esi
push eax
mov byte [ebp - 0x1cc], al
lea eax, [ebp - 0x1cb]
push eax
call fcn.1002d750
push 0x31
pop eax
mov word [ebp - 0xaf4], ax
xor eax, eax
push 0x45
push eax
mov byte [ebp - 0x84], al
lea eax, [ebp - 0x83]
push eax
call fcn.1002d750
xor eax, eax
push 0x45
push eax
mov byte [ebp - 0xcc], al
lea eax, [ebp - 0xcb]
push eax
call fcn.1002d750
xor eax, eax
push 0x41f
push eax
mov byte [ebp - 0x5ec], al
lea eax, [ebp - 0x5eb]
push eax
call fcn.1002d750
mov esi, str.Objective
lea edi, [ebp - 0x3c]
xor eax, eax
push ebx
push str.Objective_d
movsd dword es:[edi], dword [esi]
or ebx, 0xffffffff
push ebx
push 0x14
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edi, [ebp - 0x32]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x3c]
push eax
call fcn.10006991
mov edi, dword [ebp - 0xafc]
add esp, 0x50
push str.Critical
push edi
call fcn.10004568
pop ecx
pop ecx
test eax, eax
jne 0x10021362
push ebx
push str.4321
jmp 0x100213b2
push str.Priority
push edi
call fcn.10004568
pop ecx
pop ecx
test eax, eax
jne 0x1002137b
push ebx
push 0x10054384
jmp 0x100213b2
push str.Warning
push edi
call fcn.10004568
pop ecx
pop ecx
test eax, eax
jne 0x10021394
push ebx
push 0x10054388
jmp 0x100213b2
push str.Information
push edi
call fcn.10004568
pop ecx
pop ecx
push ebx
test eax, eax
jne 0x100213ad
push 0x1005438c
jmp 0x100213b2
push 0x1005476c
lea eax, [ebp - 0xaf4]
push 2
push eax
call fcn.10001f89
add esp, 0x10
lea eax, [edi + 0xc]
push str.Success
push eax
call fcn.1002cf70
push 0x10
pop ecx
xor ebx, ebx
test eax, eax
lea eax, [edi + 0xc]
mov esi, ebx
push str.Failure
push eax
cmovne esi, ecx
call fcn.1002cf70
add esp, 0x10
test eax, eax
je 0x100213f5
add esi, 8
lea eax, [edi + 0xc]
push str.Info
push eax
call fcn.1002cf70
pop ecx
pop ecx
test eax, eax
je 0x1002140c
add esi, 2
lea eax, [edi + 0xc]
push str.Warn
push eax
call fcn.1002cf70
pop ecx
pop ecx
test eax, eax
je 0x10021421
inc esi
lea eax, [edi + 0xc]
push str.Error
push eax
call fcn.1002cf70
pop ecx
pop ecx
push 4
pop ecx
test eax, eax
je 0x1002143a
add esi, ecx
lea eax, [edi + 0xc]
push str.Critical
push eax
call fcn.1002cf70
pop ecx
pop ecx
push 0x20
pop ecx
test eax, eax
je 0x10021453
add esi, ecx
lea eax, [edi + 0xc]
push str.Verbose
push eax
call fcn.1002cf70
pop ecx
pop ecx
test eax, eax
je 0x1002146a
add esi, 0x40
lea eax, [edi + 0xc]
push str.ActivityTracing
push eax
call fcn.1002cf70
pop ecx
pop ecx
test eax, eax
je 0x10021481
sub esi, 0xffffff80
push 0xa
push 0x46
lea eax, [ebp - 0xcc]
push eax
push esi
call fcn.1000612d
lea eax, [edi + 0x52]
push 0x100543c0
push eax
call fcn.1002cf70
test eax, eax
mov esi, ebx
push 0x20
pop eax
cmovne esi, eax
lea eax, [edi + 0x52]
push 0x100543c4
push eax
call fcn.1002cf70
add esp, 0x20
test eax, eax
je 0x100214c2
add esi, 0x10
lea eax, [edi + 0x52]
push 0x100543c8
push eax
call fcn.1002cf70
pop ecx
pop ecx
test eax, eax
je 0x100214d9
add esi, 8
lea eax, [edi + 0x52]
push 0x100543cc
push eax
call fcn.1002cf70
pop ecx
pop ecx
test eax, eax
je 0x100214f0
add esi, 4
lea eax, [edi + 0x52]
push 0x100543d0
push eax
call fcn.1002cf70
pop ecx
pop ecx
test eax, eax
je 0x10021507
add esi, 2
lea eax, [edi + 0x52]
push 0x100543d4
push eax
call fcn.1002cf70
pop ecx
pop ecx
test eax, eax
je 0x1002151c
inc esi
lea eax, [edi + 0x52]
push 0x100543d8
push eax
call fcn.1002cf70
pop ecx
pop ecx
test eax, eax
je 0x10021533
sub esi, 0xffffff80
push 0xa
push 0x46
lea eax, [ebp - 0x84]
push eax
push esi
call fcn.1000612d
mov esi, 0x10054390
lea eax, [edi + 0x498]
push esi
push eax
call fcn.1002cf70
add esp, 0x18
test eax, eax
lea eax, [ebp - 0x10]
push 0xffffffffffffffff
je 0x10021569
push 0x1005438c
jmp 0x1002156e
push 0x1005476c
push 0xa
push eax
call fcn.10001f89
add esp, 0x10
lea eax, [edi + 0x4a2]
push esi
push eax
call fcn.1002cf70
pop ecx
pop ecx
test eax, eax
lea eax, [ebp - 0x28]
push 0xffffffffffffffff
je 0x10021598
push 0x1005438c
jmp 0x1002159d
push 0x1005476c
push 0xa
push eax
call fcn.10001f89
add esp, 0x10
lea eax, [edi + 0x4ac]
push esi
push eax
call fcn.1002cf70
pop ecx
pop ecx
test eax, eax
lea eax, [ebp - 0x1c]
push 0xffffffffffffffff
je 0x100215c7
push 0x1005438c
jmp 0x100215cc
push 0x1005476c
push 0xa
push eax
call fcn.10001f89
lea edx, [edi + 0x98]
add esp, 0x10
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100215e2
sub ecx, esi
lea eax, [ebp - 0x1cc]
push 0xffffffffffffffff
mov esi, 0x100
jne 0x10021601
push 0x1005210c
jmp 0x10021602
push edx
push esi
push eax
call fcn.10001f89
add esp, 0x10
lea eax, [edi + 0x198]
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x6ec]
push esi
push eax
call fcn.10001f89
push 0xffffffffffffffff
lea eax, [edi + 0x298]
push eax
lea eax, [ebp - 0x8ec]
push 0x200
push eax
call fcn.10001f89
xor esi, esi
mov byte [ebp - 0xaf0], 0x2a
add esp, 0x20
lea edx, [ebp - 0x8ec]
inc esi
lea ecx, [ebp - 0xaef]
mov edi, 0x202
cmp byte [ebp - 0x8ec], bl
je 0x10021671
cmp esi, edi
jge 0x1002166c
mov al, byte [edx]
mov byte [ecx], al
inc ecx
inc esi
inc edx
cmp byte [edx], bl
jne 0x10021662
lea eax, [esi + 2]
cmp eax, edi
jge 0x1002167d
mov word [ecx], 0x2a
push 0xffffffffffffffff
lea eax, [ebp - 0xaf4]
mov edi, 0x420
push eax
lea eax, [ebp - 0x5ec]
push edi
push eax
call fcn.10001f89
push 0xffffffffffffffff
mov esi, 0x10053648
lea eax, [ebp - 0x5ec]
push esi
push edi
push eax
call fcn.100014e3
push 0xffffffffffffffff
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x5ec]
push edi
push eax
call fcn.100014e3
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x5ec]
push edi
push eax
call fcn.100014e3
add esp, 0x40
lea eax, [ebp - 0x84]
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x5ec]
push edi
push eax
call fcn.100014e3
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x5ec]
push edi
push eax
call fcn.100014e3
push 0xffffffffffffffff
lea eax, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x5ec]
push edi
push eax
call fcn.100014e3
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x5ec]
push edi
push eax
call fcn.100014e3
add esp, 0x40
lea eax, [ebp - 0xaf0]
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x5ec]
push edi
push eax
call fcn.100014e3
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x5ec]
push edi
push eax
call fcn.100014e3
push 0xffffffffffffffff
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x5ec]
push edi
push eax
call fcn.100014e3
push 0xffffffffffffffff
push esi
push edi
lea eax, [ebp - 0x5ec]
push eax
call fcn.100014e3
add esp, 0x40
lea eax, [ebp - 0x6ec]
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x5ec]
push edi
push eax
call fcn.100014e3
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x5ec]
push edi
push eax
call fcn.100014e3
push 0xffffffffffffffff
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x5ec]
push edi
push eax
call fcn.100014e3
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x5ec]
push edi
push eax
call fcn.100014e3
add esp, 0x40
lea eax, [ebp - 0x1c]
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x5ec]
push edi
push eax
call fcn.100014e3
add esp, 0x10
lea eax, [ebp - 0xaf8]
mov esi, 0xf003f
mov edi, str.SOFTWAREIntersect_AllianceAuditServiceObjective_
push eax
push esi
push ebx
push edi
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x1002181e
lea eax, [ebp - 0xb00]
push eax
lea eax, [ebp - 0xaf8]
push eax
push ebx
push esi
push ebx
push ebx
push ebx
push edi
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
je 0x1002181e
push 2
pop eax
jmp 0x10021861
lea ecx, [ebp - 0x5ec]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10021827
sub ecx, edx
lea eax, [ebp - 0x5ec]
push ecx
push eax
push 1
push ebx
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 0xaf8]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 4
test eax, eax
pop eax
push dword [ebp - 0xaf8]
cmovne ebx, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1000adad
mov esp, ebp
pop ebp
ret