Function at 0x4018c0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x274
mov eax, dword [0x41329c]
xor eax, esp
mov dword [esp + 0x270], eax
push ebx
push esi
push edi
push 0x104
lea eax, [esp + 0x174]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x415708
push 0x415ad8
push 0x415970
lea ecx, [esp + 0x17c]
push 0x415808
push ecx
call fcn.00402b12
mov eax, 0x415ad8
add esp, 0x14
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x401920
sub eax, edx
lea esi, [eax + 1]
push esi
mov dword [esp + 0x14], esi
call fcn.004024d1
mov edi, eax
mov eax, 0x415ad8
mov edx, edi
add esp, 4
mov dword [esp + 0xc], edi
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x401948
push str.xkna_
push 0x415ad8
call fcn.00402720
add esp, 8
test eax, eax
jne 0x40199a
push str.cjzm_
push 0x415ad8
call fcn.00402720
add esp, 8
test eax, eax
jne 0x40199a
push 0x4118c4
push 0x4118c8
lea ebx, [esp + 0x14]
call fcn.00401160
mov edi, dword [esp + 0x14]
add esp, 8
jmp 0x401a17
push 0x4118c0
push edi
mov byte [0x415bd7], 1
dec esi
call fcn.00402720
add esp, 8
test eax, eax
je 0x4019b8
sub eax, edi
jmp 0x4019bb
or eax, 0xffffffff
push esi
inc eax
push eax
lea edx, [esp + 0x14]
push edx
lea ebx, [esp + 0x20]
call fcn.00401060
mov esi, dword [eax]
push edi
call fcn.00402737
mov eax, esi
add esp, 4
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4019e0
sub eax, edx
inc eax
push eax
call fcn.004024d1
mov edi, eax
mov edx, edi
add esp, 4
mov eax, esi
sub edx, esi
jmp 0x401a00
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x401a00
mov eax, dword [esp + 0x14]
push eax
call fcn.00402737
add esp, 4
push 0x4118c4
push edi
call fcn.00402349
add esp, 8
test eax, eax
je 0x401aff
push str.Navigator
lea ecx, [esp + 0x6c]
push str.Software_s
push ecx
call fcn.00402360
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
add esp, 0xc
push 0
lea edx, [esp + 0x10]
push edx
push 0
push 0xf003f
push 0
push 0
push 0
lea eax, [esp + 0x84]
push eax
push 0x80000001
call esi
push 0
lea ecx, [esp + 0x10]
push ecx
push 0
push 0xf003f
push 0
push 0
push 0
lea edx, [esp + 0x84]
push edx
push 0x80000001
call esi
test eax, eax
jne 0x401aa9
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x401aa0
jmp 0x401adc
push 0
lea ecx, [esp + 0x10]
push ecx
push 0
push 0xf003f
push 0
push 0
push 0
lea edx, [esp + 0x84]
push edx
push 0x80000001
call esi
test eax, eax
jne 0x401af4
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x401ad5
sub eax, edx
push eax
mov eax, dword [esp + 0x10]
push edi
push 1
push 0
push str.TerminalNo
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [esp + 0xc]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0
call fcn.00402b5e
add esp, 4
push eax
call fcn.00402742
xor eax, eax
add esp, 4
mov byte [esp + 0x1c], 0
mov dword [esp + 0x1d], eax
mov dword [esp + 0x21], eax
mov byte [esp + 0x25], al
xor esi, esi
call fcn.00402754
cdq
mov ecx, 0x19
idiv ecx
inc esi
add dl, 0x61
mov byte [esp + esi + 0x1b], dl
cmp esi, 9
jl 0x401b27
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x2c]
push str._s.exe
push eax
call fcn.00402360
add esp, 0xc
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [esp + 0x28]
push ecx
call fcn.00401710
add esp, 4
push edi
call fcn.00402737
mov ecx, dword [esp + 0x280]
add esp, 4
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.004020bc
mov esp, ebp
pop ebp
ret 0x10