Function at 0x43dda9
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x465e98
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x14]
call sub.CoreW32DLL.dll_public:_void___thiscall_CStr::constructor_void_
mov eax, dword [esi + 0x1e0]
xor ebx, ebx
cmp eax, 0xffffffff
mov dword [esp + 0x4c], ebx
jne 0x43de04
cmp dword [esi + 0xc], 1
je 0x43ddd6
cmp dword [esi + 0x1ec], 0xffffffff
jne 0x43de04
push str.Menu
lea ecx, [esp + 0x10]
call sub.CoreW32DLL.dll_public:_void___thiscall_CStr::constructor_char_const__
lea eax, [esp + 0xc]
lea ecx, [esp + 0x14]
push eax
mov byte [esp + 0x50], 1
call sub.CoreW32DLL.dll_public:_class_CStr____thiscall_CStr::operator_class_CStr_const__
mov byte [esp + 0x4c], bl
lea ecx, [esp + 0xc]
jmp 0x43deef
mov eax, dword [esi + 0x1c]
cmp eax, 3
ja case.default.0x43de10
jmp dword [eax*4 + 0x43dfe0]
push str.Menu
lea ecx, [esp + 0x20]
call sub.CoreW32DLL.dll_public:_void___thiscall_CStr::constructor_char_const__
lea ecx, [esp + 0x1c]
mov byte [esp + 0x4c], 2
push ecx
lea ecx, [esp + 0x18]
call sub.CoreW32DLL.dll_public:_class_CStr____thiscall_CStr::operator_class_CStr_const__
mov byte [esp + 0x4c], bl
lea ecx, [esp + 0x1c]
jmp 0x43deef
push str.RopeOut
lea ecx, [esp + 0x28]
call sub.CoreW32DLL.dll_public:_void___thiscall_CStr::constructor_char_const__
lea edx, [esp + 0x24]
lea ecx, [esp + 0x14]
push edx
mov byte [esp + 0x50], 3
call sub.CoreW32DLL.dll_public:_class_CStr____thiscall_CStr::operator_class_CStr_const__
mov byte [esp + 0x4c], bl
lea ecx, [esp + 0x24]
jmp 0x43deef
push 0x46e20c
lea ecx, [esp + 0x30]
call sub.CoreW32DLL.dll_public:_void___thiscall_CStr::constructor_char_const__
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x14]
push eax
mov byte [esp + 0x50], 4
call sub.CoreW32DLL.dll_public:_class_CStr____thiscall_CStr::operator_class_CStr_const__
mov byte [esp + 0x4c], bl
lea ecx, [esp + 0x2c]
jmp 0x43deef
push str.Witch
lea ecx, [esp + 0x38]
call sub.CoreW32DLL.dll_public:_void___thiscall_CStr::constructor_char_const__
lea ecx, [esp + 0x34]
mov byte [esp + 0x4c], 5
push ecx
lea ecx, [esp + 0x18]
call sub.CoreW32DLL.dll_public:_class_CStr____thiscall_CStr::operator_class_CStr_const__
mov byte [esp + 0x4c], bl
lea ecx, [esp + 0x34]
jmp 0x43deef
push str.Menu
lea ecx, [esp + 0x40]
call sub.CoreW32DLL.dll_public:_void___thiscall_CStr::constructor_char_const__
lea edx, [esp + 0x3c]
lea ecx, [esp + 0x14]
push edx
mov byte [esp + 0x50], 6
call sub.CoreW32DLL.dll_public:_class_CStr____thiscall_CStr::operator_class_CStr_const__
mov byte [esp + 0x4c], bl
lea ecx, [esp + 0x3c]
call sub.CoreW32DLL.dll_public_virtual:_void___thiscall_CStr::destructor_void_
sub esp, 8
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x479c10
call sub.CoreW32DLL.dll_public:_void___thiscall_CStr::constructor_char_const__
mov ecx, dword [esi + 0x44]
mov eax, dword [ecx]
call dword [eax + 0x24]
lea ecx, [esp + 0x14]
mov edi, eax
call sub.CoreW32DLL.dll_public:_char_const____thiscall_CStr::operator_char_const__void_const
push eax
push str.StartName
mov ecx, edi
call sub.CoreW32DLL.dll_public:_void___thiscall_CConfig::SetValue_char_const___char_const__
mov ecx, dword [esi + 0x2c]
push ecx
push str.PlayMode
mov ecx, edi
call sub.CoreW32DLL.dll_public:_void___thiscall_CConfig::SetValue_char_const___int_
mov edx, dword [esi + 0xc]
mov ecx, edi
dec edx
push edx
push str.Players
call sub.CoreW32DLL.dll_public:_void___thiscall_CConfig::SetValue_char_const___int_
mov eax, dword [esi + 0x1c]
mov ecx, edi
push eax
push str.EndScene
call sub.CoreW32DLL.dll_public:_void___thiscall_CConfig::SetValue_char_const___int_
mov ecx, dword [esi + 0x1e4]
push ecx
push str.OneScore
mov ecx, edi
call sub.CoreW32DLL.dll_public:_void___thiscall_CConfig::SetValue_char_const___int_
mov edx, dword [esi + 0x1e0]
mov ecx, edi
inc edx
push edx
push str.OneLifes
call sub.CoreW32DLL.dll_public:_void___thiscall_CConfig::SetValue_char_const___int_
mov eax, dword [esi + 0x1f0]
mov ecx, edi
push eax
push str.TwoScore
call sub.CoreW32DLL.dll_public:_void___thiscall_CConfig::SetValue_char_const___int_
mov ecx, dword [esi + 0x1ec]
inc ecx
push ecx
push str.TwoLifes
mov ecx, edi
call sub.CoreW32DLL.dll_public:_void___thiscall_CConfig::SetValue_char_const___int_
lea ecx, [esi + 0x30]
call sub.CoreW32DLL.dll_public:_char_const____thiscall_CStr::operator_char_const__void_const
push eax
push str.PlayerString
mov ecx, edi
call sub.CoreW32DLL.dll_public:_void___thiscall_CConfig::SetValue_char_const___char_const__
lea ecx, [esp + 0x14]
mov dword [esp + 0x4c], 0xffffffff
call sub.CoreW32DLL.dll_public_virtual:_void___thiscall_CStr::destructor_void_
mov ecx, dword [esp + 0x44]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x44
ret