Function at 0x40eff6
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0xb4
lea eax, [ebp - 0x50]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0044db2b
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [0x871384]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0044bef2
lea edx, [ebp - 0x38]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x18]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call ebx
mov eax, dword [ebp - 0x38]
cmp eax, 3
jne 0x40f1f2
mov dword [esp], 2
call sub.msvcrt.dll_malloc
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
fld qword [ebp - 0x30]
fnstcw word [ebp - 0x8a]
movzx eax, word [ebp - 0x8a]
or ah, 0xc
mov word [ebp - 0x8c], ax
fldcw word [ebp - 0x8c]
fistp dword [ebp - 0x90]
fldcw word [ebp - 0x8a]
mov eax, dword [ebp - 0x90]
cmp dword [ebp - 0x14], eax
jge 0x40f1a1
mov eax, dword [ebp - 0x14]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x5754c9
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0045ea2e
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0044bef2
lea edx, [ebp - 0x68]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x18]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call ebx
lea eax, [ebp - 0x80]
mov dword [esp + 8], eax
lea eax, [ebp - 0x68]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0044d4d9
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
add eax, edx
add eax, 2
add eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.msvcrt.dll_realloc
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
lea ecx, [eax + eax]
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x10]
lea ebx, [edx + edx]
mov edx, dword [ebp - 0xc]
add edx, ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x20]
add eax, edx
lea edx, [eax + eax]
mov eax, dword [ebp - 0xc]
add eax, edx
mov word [eax], 0
mov eax, dword [ebp - 0x20]
add eax, 1
add dword [ebp - 0x10], eax
add dword [ebp - 0x14], 1
add dword [ebp - 0x14], 1
jmp 0x40f081
mov eax, dword [ebp - 0x10]
lea edx, [eax + eax]
mov eax, dword [ebp - 0xc]
add eax, edx
mov word [eax], 0
mov eax, dword [ebp - 0x10]
lea ebx, [eax + eax]
mov eax, dword [ebp + 0x10]
mov ecx, eax
call fcn.004c0930
mov dword [esp + 0x14], ebx
mov edx, dword [ebp - 0xc]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 7
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov eax, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
call eax
sub esp, 0x18
jmp 0x40f21f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x10], str.Object_must_be_an_array
mov dword [esp + 0xc], 0x27d
mov dword [esp + 8], str._builds_Soffid_esso_libmazinger_engine_src_main_native_script_EcmaRegistry.cpp
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0044ce0f
mov ebx, dword [ebp - 4]
leave
ret