Function at 0x408cc0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4295b3
push eax
mov dword fs:[0], esp
sub esp, 0x4b8
push esi
mov esi, ecx
push edi
mov edi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov eax, dword [esi + 4]
cmp dword [eax + 0x4ac], 0
je 0x408d70
add eax, 0x84
push eax
lea eax, [ebp - 0x2c4]
push 0x200
push eax
call fcn.00415b43
push 0x42a618
lea eax, [ebp - 0x2c4]
push 0x200
push eax
call fcn.00415b9d
mov eax, dword [esi + 4]
push dword [eax + 0x4ac]
lea eax, [ebp - 0x2c4]
push 0x200
push eax
call fcn.00415b9d
add esp, 0x24
lea eax, [ebp - 0x2c4]
push 0x42b050
push eax
push 0x42ad0c
push 0x42ac40
call edi
lea eax, [esi + 0x13c]
push eax
lea eax, [ebp - 0x2c4]
push eax
push 0x42ad0c
push 0x42ac40
call edi
mov eax, dword [esi + 4]
cmp dword [eax + 0x4b0], 0
je 0x408df8
add eax, 0x84
push eax
lea eax, [ebp - 0x2c4]
push 0x200
push eax
call fcn.00415b43
push 0x42a618
lea eax, [ebp - 0x2c4]
push 0x200
push eax
call fcn.00415b9d
mov eax, dword [esi + 4]
push dword [eax + 0x4b0]
lea eax, [ebp - 0x2c4]
push 0x200
push eax
call fcn.00415b9d
add esp, 0x24
lea eax, [ebp - 0x2c4]
push 0x42b050
push eax
push 0x42a4bc
push 0x42ac40
call edi
lea eax, [esi + 0x13c]
push eax
lea eax, [ebp - 0x2c4]
push eax
push 0x42a4bc
push 0x42ac40
call edi
mov eax, dword [esi + 4]
cmp dword [eax + 0x4b4], 0
je 0x408e80
add eax, 0x84
push eax
lea eax, [ebp - 0x2c4]
push 0x200
push eax
call fcn.00415b43
push 0x42a618
lea eax, [ebp - 0x2c4]
push 0x200
push eax
call fcn.00415b9d
mov eax, dword [esi + 4]
push dword [eax + 0x4b4]
lea eax, [ebp - 0x2c4]
push 0x200
push eax
call fcn.00415b9d
add esp, 0x24
lea eax, [ebp - 0x2c4]
push 0x42b050
push eax
push 0x42ad1c
push 0x42b05c
call edi
lea eax, [esi + 0x13c]
push eax
lea eax, [ebp - 0x2c4]
push eax
push 0x42ad1c
push 0x42b05c
call edi
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x4b8]
test eax, eax
je 0x408ebb
push 0x42b050
push eax
push 0x42ad30
push 0x42b05c
call edi
lea eax, [esi + 0x13c]
push eax
mov eax, dword [esi + 4]
push dword [eax + 0x4b8]
push 0x42ad30
push 0x42b05c
call edi
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x4bc]
test eax, eax
je 0x408ef6
push 0x42b050
push eax
push 0x42ad4c
push 0x42ad44
call edi
lea eax, [esi + 0x13c]
push eax
mov eax, dword [esi + 4]
push dword [eax + 0x4bc]
push 0x42ad4c
push 0x42ad44
call edi
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x4c0]
test eax, eax
js 0x408f4c
push 0xa
push 0x200
lea ecx, [ebp - 0x2c4]
push ecx
push eax
call fcn.0041bde7
add esp, 0x10
lea eax, [ebp - 0x2c4]
push 0x42b050
push eax
push 0x42ad58
push 0x42ad44
call edi
lea eax, [esi + 0x13c]
push eax
lea eax, [ebp - 0x2c4]
push eax
push 0x42ad58
push 0x42ad44
call edi
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x4c4]
test eax, eax
je 0x408fa2
push 0xa
push 0x200
lea ecx, [ebp - 0x2c4]
push ecx
push eax
call fcn.0041bde7
add esp, 0x10
lea eax, [ebp - 0x2c4]
push 0x42b050
push eax
push str.pos_hebrew
push 0x42ad44
call edi
lea eax, [esi + 0x13c]
push eax
lea eax, [ebp - 0x2c4]
push eax
push str.pos_hebrew
push 0x42ad44
call edi
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x4c8]
test eax, eax
je 0x408ff8
push 0xa
push 0x200
lea ecx, [ebp - 0x2c4]
push ecx
push eax
call fcn.0041bde7
add esp, 0x10
lea eax, [ebp - 0x2c4]
push 0x42b050
push eax
push str.sma_pos
push 0x42ad44
call edi
lea eax, [esi + 0x13c]
push eax
lea eax, [ebp - 0x2c4]
push eax
push str.sma_pos
push 0x42ad44
call edi
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x4d0]
test eax, eax
js 0x40904e
push 0xa
push 0x200
lea ecx, [ebp - 0x2c4]
push ecx
push eax
call fcn.0041bde7
add esp, 0x10
lea eax, [ebp - 0x2c4]
push 0x42b050
push eax
push 0x42ad74
push 0x42ad44
call edi
lea eax, [esi + 0x13c]
push eax
lea eax, [ebp - 0x2c4]
push eax
push 0x42ad74
push 0x42ad44
call edi
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x4cc]
test eax, eax
je 0x409089
push 0x42b050
push eax
push 0x42ad8c
push 0x42ad84
call edi
lea eax, [esi + 0x13c]
push eax
mov eax, dword [esi + 4]
push dword [eax + 0x4cc]
push 0x42ad8c
push 0x42ad84
call edi
mov eax, dword [esi + 4]
cmp dword [eax + 0x4dc], 0
je 0x4090a7
add eax, 0x3f4
cmp byte [eax], 0
je 0x4090a7
push 0x42b050
push eax
jmp 0x4090ae
push 0x42b050
push 0
push 0x42b068
push str.patch
call edi
mov eax, dword [esi + 4]
mov edx, 0x42b06c
push ebx
mov ecx, dword [eax + 0x18]
mov eax, ecx
mov bl, byte [eax]
cmp bl, byte [edx]
jne 0x4090e8
test bl, bl
je 0x4090e4
mov bl, byte [eax + 1]
cmp bl, byte [edx + 1]
jne 0x4090e8
add eax, 2
add edx, 2
test bl, bl
jne 0x4090c8
xor eax, eax
jmp 0x4090ed
sbb eax, eax
or eax, 1
pop ebx
test eax, eax
je 0x409124
mov eax, 0x42b070
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x409117
test dl, dl
je 0x409113
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x409117
add ecx, 2
add eax, 2
test dl, dl
jne 0x4090f7
xor eax, eax
jmp 0x40911c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4092cd
mov eax, dword [esi + 4]
cmp dword [eax + 0x4bc], 0
je 0x4091ee
lea ecx, [ebp - 0x6c]
call fcn.0040c7f0
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0
call fcn.0040c9d0
test eax, eax
je 0x4091e6
lea eax, [ebp - 0x10]
push eax
push 0x42b074
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
jne 0x4091e6
lea eax, [ebp - 0x3c4]
push eax
lea ecx, [ebp - 0x6c]
call fcn.0040c850
test eax, eax
je 0x4091dd
lea eax, [ebp - 0x3c4]
push eax
lea eax, [ebp - 0x4c4]
push 0x100
push eax
call fcn.00415b43
lea ecx, [ebp - 0x3c4]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4091a2
sub ecx, edx
lea eax, [ebp - 0x3c4]
push ecx
push eax
push 3
push 0
push 0x42b08c
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 0x42b094
lea eax, [ebp - 0x4c4]
push eax
push 0x42a4bc
push 0x42b0a0
call edi
push dword [ebp - 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x6c]
jmp 0x4092c8
lea ecx, [ebp - 0xc4]
call fcn.0040c7f0
lea ecx, [ebp - 0xc4]
mov dword [ebp - 4], 1
call fcn.0040c9d0
test eax, eax
je 0x4092c2
lea eax, [ebp - 0x14]
push eax
push 0x42b0a8
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
jne 0x4092a9
lea eax, [ebp - 0x3c4]
push eax
lea ecx, [ebp - 0xc4]
call fcn.0040c850
test eax, eax
je 0x4092a0
lea eax, [ebp - 0x3c4]
push eax
lea eax, [ebp - 0x4c4]
push 0x100
push eax
call fcn.00415b43
lea ecx, [ebp - 0x3c4]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409265
sub ecx, edx
lea eax, [ebp - 0x3c4]
push ecx
push eax
push 3
push 0
push 0x42b08c
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 0x42b0c0
lea eax, [ebp - 0x4c4]
push eax
push str.eptd
push 0x42b0a0
call edi
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [esi + 0x13c]
push eax
mov eax, dword [esi + 4]
push dword [eax + 0x18]
push 0x42b0d4
push 0x42ada8
call edi
lea ecx, [ebp - 0xc4]
call fcn.0040c810
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret