Function at 0x452860
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, eax
push ebx
lea ebx, [ebp - 0x218]
mov ecx, ebx
sub esp, 0x34c
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x31c], edx
call fcn.004cc160
mov dword [esp + 4], ebx
mov ecx, esi
mov dword [esp], str.Unknown_Joystick
call method.sf::String.String_char_const__std::locale_const_
sub esp, 8
mov ecx, ebx
xor esi, esi
call sym.std::locale::locale__
lea eax, [ebp - 0x308]
mov dword [ebp - 0x30c], 0
mov dword [ebp - 0x310], eax
mov word [ebp - 0x308], si
mov dword [esp], str.SystemCurrentControlSetControlMediaResourcesJoystick
call sym._wcslen
mov dword [esp + 8], str.SystemCurrentControlSetControlMediaResourcesJoystick
lea ecx, [ebp - 0x310]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x30c]
mov dword [esp], 0
mov dword [esp + 4], eax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::_M_replace_unsigned_int__unsigned_int__wchar_t_const__unsigned_int_
mov esi, dword [ebp - 0x30c]
mov eax, dword [ebp - 0x310]
lea ecx, [ebp - 0x308]
sub esp, 0x10
lea edi, [esi + 1]
cmp eax, ecx
je 0x4533e0
mov edx, dword [ebp - 0x308]
cmp edx, edi
jb 0x453170
mov edx, 0x5c
xor ecx, ecx
mov word [eax + esi*2], dx
mov dword [ebp - 0x30c], edi
mov word [eax + esi*2 + 2], cx
lea esi, [ebp + 0x98]
mov dword [esp], esi
call sym._wcslen
mov edx, 0x1fffffff
sub edx, dword [ebp - 0x30c]
cmp edx, eax
jb 0x4534bf
mov dword [esp + 4], eax
lea ecx, [ebp - 0x310]
mov dword [esp], esi
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::_M_append_wchar_t_const__unsigned_int_
mov esi, dword [ebp - 0x30c]
mov eax, dword [ebp - 0x310]
lea ecx, [ebp - 0x308]
sub esp, 8
lea edi, [esi + 1]
cmp eax, ecx
je 0x4533f0
mov edx, dword [ebp - 0x308]
cmp edx, edi
jb 0x4531a8
mov edx, 0x5c
xor ecx, ecx
mov word [eax + esi*2], dx
mov dword [ebp - 0x30c], edi
mov word [eax + esi*2 + 2], cx
mov dword [esp], str.CurrentJoystickSettings
call sym._wcslen
mov edx, 0x1fffffff
sub edx, dword [ebp - 0x30c]
cmp edx, eax
jb 0x4534b3
mov dword [esp + 4], eax
lea ecx, [ebp - 0x310]
mov dword [esp], str.CurrentJoystickSettings
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::_M_append_wchar_t_const__unsigned_int_
sub esp, 8
lea eax, [ebp - 0x318]
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x20019
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x310]
mov dword [esp], 0x80000001
mov dword [esp + 4], eax
mov dword [ebp - 0x324], edi
call edi
sub esp, 0x14
test eax, eax
jne 0x452ea8
mov dword [ebp - 0x328], 0x80000001
lea ecx, [ebp - 0x2a0]
xor edi, edi
call sym.std::ios_base::ios_base__
mov eax, dword [sym.imp.libstdc_6.dll_VTT_for_std::basic_ifstream_char__std::char_traits_char___]
lea ecx, [ebp - 0x2e0]
mov dword [ebp - reloc.libstdc_6.dll__ZdlPvj], sym.imp.libstdc_6.dll_operator_delete_void__unsigned_int_
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x2e0], eax
add ecx, dword [eax - 0xc]
mov eax, dword [sym.imp.libstdc_6.dll_vtable_for___cxxabiv1::__class_type_info]
mov word [ebp - 0x22c], di
mov byte [ebp - 0x22a], 0
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0
mov dword [ecx], eax
mov dword [esp], 0
call sym.std::basic_ios_wchar_t__std::char_traits_wchar_t___::init_std::basic_streambuf_wchar_t__std::char_traits_wchar_t____
sub esp, 4
lea ecx, [ebp - 0x2c0]
xor esi, esi
mov dword [ebp - reloc.libstdc_6.dll__ZTVSt14basic_ifstreamIcSt11char_traitsIcEE], sym.imp.libstdc_6.dll_vtable_for_std::basic_ifstream_char__std::char_traits_char___
mov dword [ebp - reloc.libstdc_6.dll__ZdaPv], sym.imp.libstdc_6.dll_operator_delete___void_
mov dword [ebp - reloc.libstdc_6.dll__ZTVSt9basic_iosIwSt11char_traitsIwEE], sym.imp.libstdc_6.dll_vtable_for_std::basic_ios_wchar_t__std::char_traits_wchar_t___
mov dword [ebp - 0x2d8], 0
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0
call fcn.004cc160
lea eax, [ebp - 0x2b0]
mov dword [ebp - reloc.libstdc_6.dll__ZTVNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE], sym.imp.libstdc_6.dll_vtable_for_std::__cxx11::basic_ostringstream_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___
lea ecx, [ebp - 0x2a0]
mov dword [ebp - 0x2b8], eax
lea eax, [ebp - 0x2dc]
mov dword [ebp - 0x2bc], 0x10
mov dword [ebp - 0x2b4], 0
mov word [ebp - 0x2b0], si
mov dword [esp], eax
call sym.std::basic_ios_wchar_t__std::char_traits_wchar_t___::init_std::basic_streambuf_wchar_t__std::char_traits_wchar_t____
mov eax, dword [ebp - 0x31c]
sub esp, 4
lea ecx, [ebp - 0x2e0]
add eax, 1
mov dword [esp], eax
call sym.std::basic_ostream_wchar_t__std::char_traits_wchar_t____std::basic_ostream_wchar_t__std::char_traits_wchar_t___::_M_insert_unsigned_long__unsigned_long_
sub esp, 4
mov dword [esp], 0x4f5876
call sym._wcslen
mov dword [esp + 8], 0x4f5876
lea ecx, [ebp - 0x310]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x30c]
mov dword [esp], 0
mov dword [esp + 4], eax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::_M_replace_unsigned_int__unsigned_int__wchar_t_const__unsigned_int_
mov eax, dword [ebp - 0x2c8]
xor ecx, ecx
sub esp, 0x10
lea esi, [ebp - 0x210]
mov dword [ebp - 0x218], esi
mov dword [ebp - 0x214], 0
mov word [ebp - 0x210], cx
test eax, eax
je 0x4531e0
mov edx, dword [ebp - 0x2d0]
mov ecx, eax
cmp edx, eax
cmovae eax, edx
test edx, edx
mov edx, dword [ebp - 0x2cc]
mov dword [esp + 4], 0
mov dword [esp], 0
cmove eax, ecx
mov dword [esp + 8], edx
mov ecx, ebx
sub eax, edx
sar eax, 1
mov dword [esp + 0xc], eax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::_M_replace_unsigned_int__unsigned_int__wchar_t_const__unsigned_int_
sub esp, 0x10
mov edx, dword [ebp - 0x214]
mov eax, 0x1fffffff
sub eax, dword [ebp - 0x30c]
mov ecx, dword [ebp - 0x218]
cmp eax, edx
jb 0x4534cb
mov dword [esp], ecx
lea ecx, [ebp - 0x310]
mov dword [esp + 4], edx
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::_M_append_wchar_t_const__unsigned_int_
mov eax, dword [ebp - 0x218]
sub esp, 8
cmp eax, esi
je 0x452c76
mov edx, dword [ebp - 0x210]
mov dword [esp], eax
lea edx, [edx + edx + 2]
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
mov dword [esp], str.OEMName
call sym._wcslen
mov edx, 0x1fffffff
sub edx, dword [ebp - 0x30c]
cmp edx, eax
jb 0x4534d7
mov dword [esp + 4], eax
lea ecx, [ebp - 0x310]
mov dword [esp], str.OEMName
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::_M_append_wchar_t_const__unsigned_int_
sub esp, 8
lea eax, [ebp - 0x314]
mov dword [ebp - 0x314], 0x200
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x310]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x318]
mov dword [esp], eax
mov eax, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0x330], eax
call eax
mov edi, eax
mov eax, dword [ebp - 0x318]
sub esp, 0x18
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp], eax
call esi
sub esp, 4
test edi, edi
je 0x452fc0
call method.sf.err__
mov dword [esp + 8], 0x33
mov ebx, eax
mov dword [esp + 4], str.Unable_to_query_registry_key_for_joystick_at_index
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov eax, dword [ebp - 0x31c]
mov ecx, ebx
mov dword [esp], eax
call sym.std::ostream_std::ostream::_M_insert_unsigned_long__unsigned_long_
sub esp, 4
mov ebx, eax
mov dword [esp + 8], 2
mov dword [esp + 4], 0x4f5873
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
lea esi, [ebp - 0x2f8]
mov edx, edi
mov eax, esi
call sym._anonymous_namespace_::getErrorString_unsigned_long_
mov eax, dword [ebp - 0x2f4]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2f8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov ebx, eax
mov eax, dword [eax]
mov eax, dword [eax - 0xc]
mov edi, dword [ebx + eax + 0x7c]
test edi, edi
je 0x4534ef
cmp byte [edi + 0x1c], 0
je 0x453310
movsx eax, byte [edi + 0x27]
mov dword [esp], eax
mov ecx, ebx
call sym.std::ostream::put_char_
sub esp, 4
mov ecx, eax
call sym.std::ostream::flush__
mov edx, dword [ebp - 0x2f8]
lea eax, [ebp - 0x2f0]
cmp edx, eax
je 0x452de8
mov eax, dword [ebp - 0x2f0]
mov dword [esp], edx
add eax, 1
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
mov eax, dword [ebp - 0x2b8]
lea ebx, [ebp - 0x2b0]
mov dword [ebp - reloc.libstdc_6.dll__ZTVSt14basic_ifstreamIcSt11char_traitsIcEE], sym.imp.libstdc_6.dll_vtable_for_std::basic_ifstream_char__std::char_traits_char___
mov dword [ebp - reloc.libstdc_6.dll__ZdaPv], sym.imp.libstdc_6.dll_operator_delete___void_
mov dword [ebp - reloc.libstdc_6.dll__ZTVNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE], sym.imp.libstdc_6.dll_vtable_for_std::__cxx11::basic_ostringstream_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___
cmp eax, ebx
je 0x452e2c
mov edx, dword [ebp - 0x2b0]
mov dword [esp], eax
lea edx, [edx + edx + 2]
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
mov dword [ebp - reloc.libstdc_6.dll__ZTVSt9basic_iosIwSt11char_traitsIwEE], sym.imp.libstdc_6.dll_vtable_for_std::basic_ios_wchar_t__std::char_traits_wchar_t___
lea ecx, [ebp - 0x2c0]
call sym.std::locale::locale__
mov eax, dword [sym.imp.libstdc_6.dll_VTT_for_std::basic_ifstream_char__std::char_traits_char___]
mov ebx, dword [sym.imp.libstdc_6.dll_vtable_for___cxxabiv1::__class_type_info]
lea ecx, [ebp - 0x2a0]
mov dword [ebp - 0x2e0], eax
mov eax, dword [eax - 0xc]
mov dword [ebp + eax - 0x2e0], ebx
mov dword [ebp - reloc.libstdc_6.dll__ZdlPvj], sym.imp.libstdc_6.dll_operator_delete_void__unsigned_int_
call fcn.004cc0c0
mov eax, dword [ebp - 0x310]
lea ebx, [ebp - 0x308]
cmp eax, ebx
je 0x452e97
mov edx, dword [ebp - 0x308]
mov dword [esp], eax
lea edx, [edx + edx + 2]
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
mov eax, dword [ebp - 0x320]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebp - 0x318]
mov dword [esp + 0xc], 0x20019
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x310]
mov dword [esp], 0x80000002
mov dword [esp + 4], eax
call edi
mov dword [ebp - 0x328], 0x80000002
sub esp, 0x14
mov esi, eax
test eax, eax
je 0x452a37
call method.sf.err__
mov dword [esp + 8], 0x2e
mov edi, eax
mov dword [esp + 4], str.Unable_to_open_registry_for_joystick_at_index
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov eax, dword [ebp - 0x31c]
mov ecx, edi
mov dword [esp], eax
call sym.std::ostream_std::ostream::_M_insert_unsigned_long__unsigned_long_
sub esp, 4
mov edi, eax
mov dword [esp + 8], 2
mov dword [esp + 4], 0x4f5873
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov edx, esi
mov eax, ebx
call sym._anonymous_namespace_::getErrorString_unsigned_long_
mov eax, dword [ebp - 0x214]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x218]
mov dword [esp], edi
mov dword [esp + 4], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov esi, eax
mov eax, dword [eax]
mov eax, dword [eax - 0xc]
mov edi, dword [esi + eax + 0x7c]
test edi, edi
je 0x4534f4
cmp byte [edi + 0x1c], 0
je 0x453438
movsx eax, byte [edi + 0x27]
mov dword [esp], eax
mov ecx, esi
call sym.std::ostream::put_char_
sub esp, 4
mov ecx, eax
call sym.std::ostream::flush__
mov edx, dword [ebp - 0x218]
lea eax, [ebp - 0x210]
cmp edx, eax
je 0x452e71
mov eax, dword [ebp - 0x210]
mov dword [esp], edx
add eax, 1
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
jmp 0x452e71
mov dword [esp], str.SystemCurrentControlSetControlMediaPropertiesPrivatePropertiesJoystickOEM
call sym._wcslen
mov dword [esp + 8], str.SystemCurrentControlSetControlMediaPropertiesPrivatePropertiesJoystickOEM
lea ecx, [ebp - 0x310]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x30c]
mov dword [esp], 0
mov dword [esp + 4], eax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::_M_replace_unsigned_int__unsigned_int__wchar_t_const__unsigned_int_
mov edi, dword [ebp - 0x30c]
lea edx, [ebp - 0x308]
sub esp, 0x10
lea eax, [edi + 1]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x310]
cmp eax, edx
je 0x453470
mov edx, dword [ebp - 0x308]
mov ecx, dword [ebp - 0x32c]
cmp edx, ecx
jb 0x453400
mov ecx, dword [ebp - 0x32c]
mov edx, 0x5c
mov word [eax + edi*2], dx
xor edx, edx
mov dword [ebp - 0x30c], ecx
mov word [eax + edi*2 + 2], dx
mov eax, dword [ebp - 0x314]
mov edx, 0x1fffffff
sub edx, ecx
shr eax, 1
cmp edx, eax
jb 0x4534e3
mov dword [esp + 4], eax
lea ecx, [ebp - 0x310]
mov dword [esp], ebx
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::_M_append_wchar_t_const__unsigned_int_
sub esp, 8
lea eax, [ebp - 0x318]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x20019
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x310]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x328]
mov dword [esp], eax
mov eax, dword [ebp - 0x324]
call eax
sub esp, 0x14
mov edi, eax
test eax, eax
je 0x453200
call method.sf.err__
mov dword [esp + 8], 0x32
mov ebx, eax
mov dword [esp + 4], str.Unable_to_open_registry_key_for_joystick_at_index
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov eax, dword [ebp - 0x31c]
mov ecx, ebx
mov dword [esp], eax
call sym.std::ostream_std::ostream::_M_insert_unsigned_long__unsigned_long_
sub esp, 4
mov ebx, eax
mov dword [esp + 8], 2
mov dword [esp + 4], 0x4f5873
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
lea esi, [ebp - 0x2f8]
mov edx, edi
mov eax, esi
call sym._anonymous_namespace_::getErrorString_unsigned_long_
mov eax, dword [ebp - 0x2f4]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2f8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov ebx, eax
mov eax, dword [eax]
mov eax, dword [eax - 0xc]
mov edi, dword [ebx + eax + 0x7c]
test edi, edi
je 0x4534f9
cmp byte [edi + 0x1c], 0
je 0x4533a8
movsx eax, byte [edi + 0x27]
mov dword [esp], eax
mov ecx, ebx
call sym.std::ostream::put_char_
sub esp, 4
mov ecx, eax
call sym.std::ostream::flush__
jmp 0x452dc3
mov dword [esp + 0xc], 1
lea ecx, [ebp - 0x310]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], esi
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::_M_mutate_unsigned_int__unsigned_int__wchar_t_const__unsigned_int_
mov eax, dword [ebp - 0x310]
sub esp, 0x10
jmp 0x452924
mov dword [esp + 0xc], 1
lea ecx, [ebp - 0x310]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], esi
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::_M_mutate_unsigned_int__unsigned_int__wchar_t_const__unsigned_int_
mov eax, dword [ebp - 0x310]
sub esp, 0x10
jmp 0x45299b
lea eax, [ebp - 0x2b8]
mov ecx, ebx
mov dword [esp], eax
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::_M_assign_std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t____const_
sub esp, 4
jmp 0x452c22
mov dword [ebp - 0x314], 0x200
lea eax, [ebp - 0x314]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.OEMName
mov eax, dword [ebp - 0x318]
mov dword [esp], eax
mov eax, dword [ebp - 0x330]
call eax
mov edi, eax
mov eax, dword [ebp - 0x318]
sub esp, 0x18
mov dword [esp], eax
call esi
sub esp, 4
test edi, edi
je 0x453348
call method.sf.err__
mov dword [esp + 8], 0x2b
mov ebx, eax
mov dword [esp + 4], str.Unable_to_query_name_for_joystick_at_index
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov eax, dword [ebp - 0x31c]
mov ecx, ebx
mov dword [esp], eax
call sym.std::ostream_std::ostream::_M_insert_unsigned_long__unsigned_long_
sub esp, 4
mov ebx, eax
mov dword [esp + 8], 2
mov dword [esp + 4], 0x4f5873
mov dword [esp], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
lea esi, [ebp - 0x2f8]
mov edx, edi
mov eax, esi
call sym._anonymous_namespace_::getErrorString_unsigned_long_
mov eax, dword [ebp - 0x2f4]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2f8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym.std::basic_ostream_char__std::char_traits_char____std::__ostream_insert_char__std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const__int_
mov ebx, eax
mov eax, dword [eax]
mov eax, dword [eax - 0xc]
mov edi, dword [ebx + eax + 0x7c]
test edi, edi
je 0x4534fe
cmp byte [edi + 0x1c], 0
je 0x453480
movsx eax, byte [edi + 0x27]
mov dword [esp], eax
mov ecx, ebx
call sym.std::ostream::put_char_
sub esp, 4
mov ecx, eax
call sym.std::ostream::flush__
jmp 0x452dc3
mov ecx, edi
call sym.std::ctype_char_::_M_widen_init___const
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov eax, 0xa
cmp edx, method.std::ctype_char_.do_widen_char__const
je 0x452daf
mov dword [esp], 0xa
mov ecx, edi
call edx
sub esp, 4
movsx eax, al
jmp 0x452daf
xor eax, eax
lea esi, [ebp - 0x2f8]
mov word [ebp - 0x1a], ax
mov ecx, esi
mov dword [esp], ebx
call method.sf::String.String_wchar_t_const_
sub esp, 4
mov dword [esp], esi
mov ecx, dword [ebp - 0x320]
call fcn.0045c2e0
mov eax, dword [ebp - 0x2f8]
lea edx, [ebp - 0x2f0]
sub esp, 4
cmp eax, edx
je 0x452de8
mov edx, dword [ebp - 0x2f0]
mov dword [esp], eax
lea edx, [edx*4 + 4]
mov dword [esp + 4], edx
call sym.operator_delete_void__unsigned_int_
jmp 0x452de8
mov ecx, edi
call sym.std::ctype_char_::_M_widen_init___const
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov eax, 0xa
cmp edx, method.std::ctype_char_.do_widen_char__const
je 0x453150
mov dword [esp], 0xa
mov ecx, edi
call edx
sub esp, 4
movsx eax, al
jmp 0x453150
mov edx, 7
jmp 0x45291c
mov edx, 7
jmp 0x452993
mov dword [esp + 0xc], 1
lea ecx, [ebp - 0x310]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], edi
call sym.std::__cxx11::basic_string_wchar_t__std::char_traits_wchar_t___std::allocator_wchar_t___::_M_mutate_unsigned_int__unsigned_int__wchar_t_const__unsigned_int_
mov eax, dword [ebp - 0x310]
sub esp, 0x10
jmp 0x45302e
mov ecx, edi
call sym.std::ctype_char_::_M_widen_init___const
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov eax, 0xa
cmp edx, method.std::ctype_char_.do_widen_char__const
je 0x452f7e
mov dword [esp], 0xa
mov ecx, edi
call edx
sub esp, 4
movsx eax, al
jmp 0x452f7e
mov edx, 7
jmp 0x453020
mov ecx, edi
call sym.std::ctype_char_::_M_widen_init___const
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov eax, 0xa
cmp edx, method.std::ctype_char_.do_widen_char__const
je 0x4532f4
mov dword [esp], 0xa
mov ecx, edi
call edx
sub esp, 4
movsx eax, al
jmp 0x4532f4
mov dword [esp], 0x4f57fe
call sym.std::__throw_length_error_char_const_
mov dword [esp], 0x4f57fe
call sym.std::__throw_length_error_char_const_
mov dword [esp], 0x4f57fe
call sym.std::__throw_length_error_char_const_
mov dword [esp], 0x4f57fe
call sym.std::__throw_length_error_char_const_
mov dword [esp], 0x4f57fe
call sym.std::__throw_length_error_char_const_
call sym.std::__throw_bad_cast__
call sym.std::__throw_bad_cast__
call sym.std::__throw_bad_cast__
call sym.std::__throw_bad_cast__
mov ebx, eax
jmp sym._anonymous_namespace_::getDeviceName_unsigned_int__tagJOYCAPSW___clone_.cold_