Function at 0x457170
Capabilities:
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x4ea0db
mov eax, dword fs:[0]
push eax
mov eax, 0x1901c
call fcn.004e03c0
mov eax, dword [0x53fa2c]
xor eax, esp
mov dword [esp + 0x19018], eax
push ebx
push esi
mov eax, dword [0x53fa2c]
xor eax, esp
push eax
lea eax, [esp + 0x19028]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x19030], 2
xor ebx, ebx
cmp dword [0x103a984], ebx
je 0x45722a
push ecx
lea eax, [esp + 0x19044]
mov ecx, esp
mov dword [esp + 0x1c], esp
push eax
call dword [sym.imp.mfc90.dll_Ordinal_300]
mov byte [esp + 0x19034], 3
push ecx
lea edx, [esp + 0x19044]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call dword [sym.imp.mfc90.dll_Ordinal_300]
mov byte [esp + 0x19038], 4
push ecx
lea eax, [esp + 0x19044]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call dword [sym.imp.mfc90.dll_Ordinal_300]
mov byte [esp + 0x1903c], 5
mov byte [esp + 0x1903c], 2
mov ecx, esi
call fcn.00456a60
lea ecx, [esp + 0x19038]
push ecx
add esi, 4
lea edx, [esp + 0x10]
push esi
push edx
mov dword [esp + 0x20], ebx
call fcn.004029d0
add esp, 0xc
mov byte [esp + 0x19030], 6
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x14]
push ecx
push ebx
push 0xf003f
push ebx
push ebx
push ebx
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
or esi, 0xffffffff
cmp eax, ebx
jne 0x457368
lea ecx, [esp + 0xc]
call dword [sym.imp.mfc90.dll_Ordinal_4481]
cmp byte [0x103a972], bl
je 0x45733b
push ebx
push str.TC_ENV
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_2481]
cmp eax, esi
jne 0x4572bf
push ebx
push 0x50e740
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_2481]
cmp eax, esi
je 0x45733b
mov eax, dword [esp + 0x1903c]
push str.tC_Sweep
push eax
call dword [sym.imp.MSVCR90.dll__stricmp]
add esp, 8
test eax, eax
je 0x45733b
push 0x18fff
lea ecx, [esp + 0x29]
push ebx
push ecx
mov byte [esp + 0x30], bl
call sub.MSVCR90.dll_memset
mov eax, dword [esp + 0x1904c]
lea edx, [esp + 0x30]
push edx
push eax
push 0x101e7d8
push ebx
call fcn.004915e0
lea eax, [esp + 0x40]
add esp, 0x1c
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x457310
sub eax, edx
mov edx, dword [esp + 0x1903c]
push eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x28]
push ecx
push 1
push ebx
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
cmp eax, ebx
jne 0x457368
jmp 0x45735d
mov eax, dword [esp + 0x19040]
mov ecx, dword [eax - 0xc]
mov edx, dword [esp + 0x1903c]
push ecx
push eax
mov eax, dword [esp + 0x18]
push 1
push ebx
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [esp + 0x19030], 2
lea ecx, [esp + 0xc]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x19030], 1
lea ecx, [esp + 0x19038]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x19030], bl
lea ecx, [esp + 0x1903c]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov dword [esp + 0x19030], esi
lea ecx, [esp + 0x19040]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov ecx, dword [esp + 0x19028]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [esp + 0x19018]
xor ecx, esp
call fcn.004e0148
add esp, 0x19028
ret 0xc