Function at 0x482f70
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc44
push ebx
push 0
lea eax, [ebp - 4]
push eax
push 0
push 0x20006
push 1
push 0
push 0
push str.SOFTWAREMicrosoftDirectPlay8Applications9853a461_efca_4d67_9d03_2b5d6e0d84fb
push reloc.WS2_32.dll_accept
mov ebx, ecx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
je 0x482fb4
mov dword [0x6ea840], 0x17
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
push esi
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 0x12
push str.GameRanger_Launch
push 1
push 0
push str.ApplicationName
push ecx
call edi
mov ecx, dword [ebx + 0xc1c]
mov eax, ecx
lea esi, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x482fe0
mov edx, dword [ebp - 4]
sub eax, esi
inc eax
push eax
push ecx
push 1
push 0
push str.Description
push edx
call edi
lea eax, [ebp - 0x444]
push eax
mov ecx, ebx
call fcn.00482e60
lea eax, [ebp - 0x444]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x483012
mov edx, dword [ebp - 4]
sub eax, ecx
inc eax
push eax
lea ecx, [ebp - 0x444]
push ecx
push 1
push 0
push str.CurrentDirectory
push edx
call edi
lea esi, [ebx + 0x40b]
lea edx, [ebp - 0x444]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x483043
lea eax, [ebp - 0x444]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
lea eax, [ebp - 0x444]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x483063
sub eax, edx
mov edx, dword [ebp - 4]
inc eax
push eax
lea ecx, [ebp - 0x444]
push ecx
push 1
push 0
push str.ExecutablePath
push edx
call edi
lea eax, [ebp - 0x444]
lea ecx, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x483090
sub eax, ecx
mov ecx, dword [ebp - 4]
inc eax
push eax
lea eax, [ebp - 0x444]
push eax
push 1
push 0
push str.LauncherPath
push ecx
call edi
push esi
call sym.GameRanger.exe_char_const____cdecl_GetSpecPathFile_struct_FileSpec_const__
add esp, 4
mov esi, eax
lea ecx, [eax + 1]
nop
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4830c0
mov edx, dword [ebp - 4]
sub eax, ecx
inc eax
push eax
push esi
push 1
push 0
push str.ExecutableFilename
push edx
call edi
mov eax, esi
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4830e0
sub eax, ecx
inc eax
push eax
mov eax, dword [ebp - 4]
push esi
push 1
push 0
push 0x60d330
push eax
call edi
mov eax, esi
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x483100
sub eax, ecx
mov ecx, dword [ebp - 4]
inc eax
push eax
push esi
push 1
push 0
push str.LauncherFilename
push ecx
call edi
lea edx, [ebp - 0x44]
push 0x60cc08
push edx
call fcn.0045cc90
lea eax, [ebp - 0x44]
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x483132
mov ecx, dword [ebp - 4]
sub eax, edx
inc eax
push eax
lea eax, [ebp - 0x44]
push eax
push 1
push 0
push str.Guid
push ecx
call edi
cmp byte [0x6e9fe0], 0
je 0x483174
xor eax, eax
jmp 0x483160
mov cl, byte [eax + 0x6e9fe0]
mov byte [ebp + eax - 0xc44], cl
inc eax
test cl, cl
jne 0x483160
jmp 0x4831b3
cmp byte [0x6e9d78], 0
jne 0x483187
mov eax, dword [ebx + 0xce0]
test eax, eax
jne 0x483191
mov eax, dword [ebx + 0xcdc]
test eax, eax
je 0x4831ac
lea edx, [ebp - 0xc44]
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4831a0
jmp 0x4831b3
mov byte [ebp - 0xc44], 0
lea edx, [ebp - 0xc44]
push edx
mov ecx, ebx
call fcn.00489090
lea eax, [ebp - 0xc44]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4831d0
mov ecx, dword [ebp - 4]
sub eax, edx
inc eax
push eax
lea eax, [ebp - 0xc44]
push eax
push 1
push 0
push str.CommandLine
push ecx
call edi
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret