Function at 0x45de10
Capabilities:
Set registry value

Disassembly:
sub esp, 0x208
mov eax, dword [0x4bacc0]
xor eax, esp
mov dword [esp + 0x204], eax
push ebx
push ebp
mov ebp, dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
push esi
push edi
lea eax, [esp + 0x10]
push eax
push str..pth
push 0x80000000
call ebp
test eax, eax
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueA]
jne 0x45de9a
mov al, byte [0x4a18e4]
mov edx, dword [0x4a18e0]
mov ecx, dword [str.ZuluDocu]
mov byte [esp + 0x1c], al
lea eax, [esp + 0x14]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x45de70
sub eax, edx
mov edx, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x18]
push ecx
push 1
push 0x49e5e0
push edx
call esi
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [esp + 0x10]
push ecx
push str.ZuluDocu
push 0x80000000
call ebp
test eax, eax
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
jne 0x45dfba
push 0xd
call fcn.0046d6b0
push eax
push 0x4dec98
lea edx, [esp + 0x20]
push str._s__s
push edx
call ebx
lea eax, [esp + 0x28]
add esp, 0x14
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x45dee2
sub eax, ecx
mov ecx, dword [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
push 1
push 0x49e5e0
push ecx
call esi
push 0x100
lea edx, [esp + 0x18]
push edx
push 0
call edi
lea eax, [esp + 0x14]
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x45df16
mov cx, word [0x4a18d8]
mov dl, byte [0x4a18da]
mov word [eax], cx
mov byte [eax + 2], dl
lea eax, [esp + 0x14]
lea ecx, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x45df40
sub eax, ecx
mov ecx, dword [esp + 0x10]
push eax
lea eax, [esp + 0x18]
push eax
push 1
push str.DefaultIcon
push ecx
call esi
push 0x100
lea edx, [esp + 0x118]
push edx
push 0
call edi
lea eax, [esp + 0x114]
push eax
lea ecx, [esp + 0x18]
push str.__s____1
push ecx
call ebx
lea eax, [esp + 0x20]
add esp, 0xc
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x45df90
sub eax, ecx
push eax
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x18]
push edx
push 1
push str.shellopencommand
push eax
call esi
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [esp + 0x10]
push edx
push 0x49f14c
push 0x80000000
call ebp
test eax, eax
jne 0x45e01f
mov eax, dword [str.ZuluDI]
mov dl, byte [0x4a18aa]
mov cx, word [0x4a18a8]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
mov byte [esp + 0x1a], dl
mov word [esp + 0x18], cx
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x45dff5
mov ecx, dword [esp + 0x10]
sub eax, edx
push eax
lea eax, [esp + 0x18]
push eax
push 1
push 0x49e5e0
push ecx
call esi
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [esp + 0x10]
push eax
push str.ZuluDI
push 0x80000000
call ebp
test eax, eax
jne 0x45e12c
push str.DiscImage
push 0x4dec98
lea ecx, [esp + 0x1c]
push str._s__s
push ecx
call ebx
lea eax, [esp + 0x24]
add esp, 0x10
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x45e058
sub eax, ecx
push eax
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x18]
push edx
push 1
push 0x49e5e0
push eax
call esi
push 0x100
lea ecx, [esp + 0x18]
push ecx
push 0
call edi
lea eax, [esp + 0x14]
add eax, 0xffffffff
lea esp, [esp]
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x45e090
mov dx, word [0x4a18a0]
mov cl, byte [0x4a18a2]
mov word [eax], dx
mov byte [eax + 2], cl
lea eax, [esp + 0x14]
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x45e0b4
sub eax, ecx
push eax
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x18]
push edx
push 1
push str.DefaultIcon
push eax
call esi
push 0x100
lea ecx, [esp + 0x118]
push ecx
push 0
call edi
lea edx, [esp + 0x114]
push edx
lea eax, [esp + 0x18]
push str.__s____1
push eax
call ebx
lea eax, [esp + 0x20]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x45e102
mov edx, dword [esp + 0x10]
sub eax, ecx
push eax
lea ecx, [esp + 0x18]
push ecx
push 1
push str.shellopencommand
push edx
call esi
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 0x214]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004810ab
add esp, 0x208
ret