Function at 0x403cd0
Capabilities:
Create process on windows
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x418a2b
mov eax, dword fs:[0]
push eax
sub esp, 0x2a0
mov eax, dword [0x43d004]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x10
push str.__SMS__SMS__
lea ecx, [ebp - 0x24c]
call fcn.00405840
add esp, 8
mov dword [ebp - 4], 0
lea eax, [ebp - 0x24c]
cmp dword [ebp - 0x238], 8
cmovae eax, dword [ebp - 0x24c]
push eax
push 0x6bb
push 0
push 4
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov edi, eax
test edi, edi
jne 0x403d7a
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub esp, 0x18
mov dword [ebp - 0x2a4], eax
mov ecx, esp
lea esi, [ebp - 0x2a4]
push str.Could_not_create_file_mapping_object_
call fcn.00404380
mov ecx, esi
call fcn.00405890
add esp, 0x18
lea esi, [edi + 1]
jmp 0x404057
push 0x6bb
push 0
push 0
push 0xf001f
push edi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x2a8], eax
test eax, eax
jne 0x403dd5
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub esp, 0x18
mov dword [ebp - 0x2a4], eax
mov ecx, esp
lea esi, [ebp - 0x2a4]
push str.Could_not_map_view_of_file_
call fcn.00404380
mov ecx, esi
call fcn.00405890
add esp, 0x18
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, 1
jmp 0x404057
sub esp, 0x18
mov ecx, esp
push str.Created_file_mapping
call fcn.00404380
call fcn.00405ac0
xorps xmm0, xmm0
mov dword [ebp - 0x290], 0x44
push 0x208
lea eax, [ebp - 0x218]
movlpd qword [ebp - 0x28c], xmm0
push 0
push eax
movlpd qword [ebp - 0x284], xmm0
movlpd qword [ebp - 0x27c], xmm0
movlpd qword [ebp - 0x274], xmm0
movlpd qword [ebp - 0x26c], xmm0
movlpd qword [ebp - 0x264], xmm0
movlpd qword [ebp - 0x25c], xmm0
movlpd qword [ebp - 0x254], xmm0
movups xmmword [ebp - 0x2a0], xmm0
call sub.VCRUNTIME140.dll_memset
add esp, 0x24
mov dword [ebp - 0x21c], 0x208
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x218]
push eax
push 0
push 0xffff
push str.InstallPath
push str.SoftwareDisney_Interactive_Studios_tr2npc
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
je 0x403eac
sub esp, 0x18
mov ecx, esp
push str.Failed_to_find_installation_path
call fcn.00404380
call fcn.00405ac0
add esp, 0x18
mov esi, 1
jmp 0x404057
push ecx
push 5
push str.
lea edx, [ebp - 0x218]
lea ecx, [ebp - 0x234]
call fcn.00405ce0
add esp, 0xc
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 1
cmp dword [ebp - 0x220], 8
lea eax, [ebp - 0x234]
push ecx
cmovae eax, dword [ebp - 0x234]
lea ecx, [ebp - 0x290]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
sub esp, 0x18
lea esi, [ebp - 0x234]
mov ecx, esp
push str.Launched_
call fcn.00404200
mov ecx, esi
call fcn.00405d40
mov eax, dword [ebp - 0x2a0]
lea esi, [ebp - 0x2a4]
mov ecx, esp
mov dword [ebp - 0x2a4], eax
push str.hProcess__:x
call fcn.00404380
mov ecx, esi
call fcn.00405890
mov eax, dword [ebp - 0x29c]
lea esi, [ebp - 0x2a4]
mov ecx, esp
mov dword [ebp - 0x2a4], eax
push str.hThread__:x
call fcn.00404380
mov ecx, esi
call fcn.00405890
mov eax, dword [ebp - 0x298]
lea esi, [ebp - 0x2a4]
mov ecx, esp
mov dword [ebp - 0x2a4], eax
push str.dwProcessId__:x
call fcn.00404380
mov ecx, esi
call fcn.00405890
mov eax, dword [ebp - 0x294]
lea esi, [ebp - 0x2a4]
mov ecx, esp
mov dword [ebp - 0x2a4], eax
push str.dwThreadId__:x
call fcn.00404380
mov ecx, esi
call fcn.00405890
add esp, 0x18
push 0xffffffffffffffff
push dword [ebp - 0x2a0]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 0x18
mov ecx, esp
push str.exited
call fcn.00404380
call fcn.00405ac0
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
add esp, 0x18
push dword [ebp - 0x2a0]
call esi
push dword [ebp - 0x29c]
call esi
push dword [ebp - 0x2a8]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push edi
call esi
mov ecx, dword [ebp - 0x220]
xor esi, esi
cmp ecx, 8
jb 0x40403e
mov edx, dword [ebp - 0x234]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x404034
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x404089
push ecx
push edx
call fcn.00417dd6
add esp, 8
xor eax, eax
mov dword [ebp - 0x224], esi
mov dword [ebp - 0x220], 7
mov word [ebp - 0x234], ax
mov ecx, dword [ebp - 0x238]
cmp ecx, 8
jb 0x404099
mov edx, dword [ebp - 0x24c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x40408f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40408f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00417dd6
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00417bbf
mov esp, ebp
pop ebp
ret