Function at 0x40354e
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1bc
mov dword [ebp - 0x134], sym.___gxx_personality_sj0
mov dword [ebp - 0x130], 0x413c24
lea eax, [ebp - 0x12c]
lea edx, [ebp - 0x18]
mov dword [eax], edx
mov edx, 0x403dd4
mov dword [eax + 4], edx
mov dword [eax + 8], esp
lea eax, [ebp - 0x14c]
mov dword [esp], eax
call sym.__Unwind_SjLj_Register
lea eax, [ebp - 0x28]
mov dword [esp], eax
mov dword [ebp - 0x148], 0xffffffff
call sym.allocateEmptyTempFile__
sub esp, 4
mov dword [esp], str.lp_generating_args
mov dword [ebp - 0x148], 9
call sym.du_startupTrace_char_const__..._
mov dword [ebp - 0x2c], 0
cmp dword [ebp + 0x10], 0
je 0x4035e7
mov eax, dword [ebp - 0x2c]
lea edx, [eax*4]
mov eax, dword [ebp + 0x10]
cmp dword [edx + eax], 0
je 0x4035e7
lea eax, [ebp - 0x2c]
inc dword [eax]
jmp 0x4035c7
mov eax, dword [ebp - 0x2c]
add eax, 3
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
shl eax, 2
add eax, 4
mov dword [esp], eax
mov dword [ebp - 0x148], 9
call sym.operator_new___unsigned_int_
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], 0
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call method.std::string.c_str___const
mov ecx, eax
mov eax, dword [ebp - 0x38]
lea edx, [eax*4]
mov eax, dword [ebp - 0x34]
mov dword [edx + eax], ecx
lea eax, [ebp - 0x38]
inc dword [eax]
mov eax, dword [ebp - 0x38]
lea edx, [eax*4]
mov eax, dword [ebp - 0x34]
mov dword [edx + eax], str._get_launch_parameters__special_arg_not_for_general_use
lea eax, [ebp - 0x38]
inc dword [eax]
lea eax, [ebp - 0x28]
mov dword [esp], eax
call method.std::string.c_str___const
mov ecx, eax
mov eax, dword [ebp - 0x38]
lea edx, [eax*4]
mov eax, dword [ebp - 0x34]
mov dword [edx + eax], ecx
lea eax, [ebp - 0x38]
inc dword [eax]
mov dword [ebp - 0x3c], 0
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x2c]
jge 0x4036ad
mov eax, dword [ebp - 0x38]
lea ecx, [eax*4]
mov ebx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x3c]
lea edx, [eax*4]
mov eax, dword [ebp + 0x10]
mov eax, dword [edx + eax]
mov dword [ecx + ebx], eax
lea eax, [ebp - 0x38]
inc dword [eax]
lea eax, [ebp - 0x3c]
inc dword [eax]
jmp 0x403679
mov eax, dword [ebp - 0x38]
lea edx, [eax*4]
mov eax, dword [ebp - 0x34]
mov dword [edx + eax], 0
mov dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x30]
je 0x40374a
mov dword [esp + 8], 0x1bb
mov dword [esp + 4], str.d:_systembuild_latest_build_output_build_source_controller_source_cpp_jlaunch_JLaunch.cpp
lea eax, [ebp - 0x58]
mov dword [esp], eax
mov dword [ebp - 0x148], 8
call sym.du_private_AssertHelper::du_private_AssertHelper_char_const__int_
mov dword [ebp - 0x150], 1
lea eax, [ebp - 0x58]
mov dword [esp], eax
call method.du_private_AssertHelper.handleAssertionFailure3__
jmp 0x40374a
cmp dword [ebp - 0x150], 0
je 0x403768
lea eax, [ebp - 0x58]
mov dword [esp], eax
mov dword [ebp - 0x148], 9
call sym.du_private_AssertHelper::du_private_AssertHelper__
mov dword [ebp - 0x3c], 0
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x38]
jge 0x4037af
mov eax, dword [ebp - 0x3c]
lea edx, [eax*4]
mov eax, dword [ebp - 0x34]
mov eax, dword [edx + eax]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], eax
mov dword [esp], str.lp_arg__d__s
mov dword [ebp - 0x148], 9
call sym.du_startupTrace_char_const__..._
lea eax, [ebp - 0x3c]
inc dword [eax]
jmp 0x40376f
mov dword [esp], str.lp_launching_subprocess
mov dword [ebp - 0x148], 9
call sym.du_startupTrace_char_const__..._
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call method.std::string.c_str___const
mov edx, eax
mov eax, dword [ebp - 0x34]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0
call sym._spawnv
mov dword [esp], str.lp_back_from_subprocess
call sym.du_startupTrace_char_const__..._
cmp dword [ebp - 0x34], 0
je 0x403806
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call sym.operator_delete___void_
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x15c], 0
lea eax, [ebp - 0x28]
mov dword [esp], eax
mov dword [ebp - 0x148], 7
call method.std::string.c_str___const
mov edx, eax
lea eax, [ebp - 0x88]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym._stat
test eax, eax
je 0x4038ba
mov dword [esp + 8], 0x1c8
mov dword [esp + 4], str.d:_systembuild_latest_build_output_build_source_controller_source_cpp_jlaunch_JLaunch.cpp
lea eax, [ebp - 0x98]
mov dword [esp], eax
call sym.du_private_AssertHelper::du_private_AssertHelper_char_const__int_
mov dword [ebp - 0x15c], 1
lea eax, [ebp - 0x98]
mov dword [esp], eax
call method.du_private_AssertHelper.handleAssertionFailure3__
jmp 0x4038ba
cmp dword [ebp - 0x15c], 0
je 0x4038db
lea eax, [ebp - 0x98]
mov dword [esp], eax
mov dword [ebp - 0x148], 9
call sym.du_private_AssertHelper::du_private_AssertHelper__
mov dword [ebp - 0x164], 0
cmp dword [ebp - 0x74], 0
jg 0x40397e
mov dword [esp + 8], 0x1c9
mov dword [esp + 4], str.d:_systembuild_latest_build_output_build_source_controller_source_cpp_jlaunch_JLaunch.cpp
lea eax, [ebp - 0xa8]
mov dword [esp], eax
mov dword [ebp - 0x148], 6
call sym.du_private_AssertHelper::du_private_AssertHelper_char_const__int_
mov dword [ebp - 0x164], 1
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 0x74]
mov dword [esp + 8], eax
mov dword [esp + 4], str.subprocess_failed_to_generate_the_launch_parameters__file_size_ld
mov dword [esp], edx
call method.du_private_AssertHelper.handleAssertionFailure_char_const__..._
jmp 0x40397e
cmp dword [ebp - 0x164], 0
je 0x40399f
lea eax, [ebp - 0xa8]
mov dword [esp], eax
mov dword [ebp - 0x148], 9
call sym.du_private_AssertHelper::du_private_AssertHelper__
mov dword [ebp - 0x16c], 0
cmp dword [ebp - 0x74], 0xfffff
jle 0x403a45
mov dword [esp + 8], 0x1ca
mov dword [esp + 4], str.d:_systembuild_latest_build_output_build_source_controller_source_cpp_jlaunch_JLaunch.cpp
lea eax, [ebp - 0xb8]
mov dword [esp], eax
mov dword [ebp - 0x148], 5
call sym.du_private_AssertHelper::du_private_AssertHelper_char_const__int_
mov dword [ebp - 0x16c], 1
lea edx, [ebp - 0xb8]
mov eax, dword [ebp - 0x74]
mov dword [esp + 8], eax
mov dword [esp + 4], str.launch_parameters_too_big__size_ld
mov dword [esp], edx
call method.du_private_AssertHelper.handleAssertionFailure_char_const__..._
jmp 0x403a45
cmp dword [ebp - 0x16c], 0
je 0x403a66
lea eax, [ebp - 0xb8]
mov dword [esp], eax
mov dword [ebp - 0x148], 9
call sym.du_private_AssertHelper::du_private_AssertHelper__
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
mov dword [ebp - 0x148], 9
call sym.operator_new___unsigned_int_
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x28]
mov dword [esp], eax
call method.std::string.c_str___const
mov dword [esp + 4], 0x8000
mov dword [esp], eax
call sym._open
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x178], 0
cmp dword [ebp - 0xbc], 0xffffffff
jne 0x403b59
lea eax, [ebp - 0x28]
mov dword [esp], eax
mov dword [ebp - 0x148], 4
call method.std::string.c_str___const
mov dword [ebp - 0x174], eax
mov dword [esp + 8], 0x1cd
mov dword [esp + 4], str.d:_systembuild_latest_build_output_build_source_controller_source_cpp_jlaunch_JLaunch.cpp
lea eax, [ebp - 0xd8]
mov dword [esp], eax
call sym.du_private_AssertHelper::du_private_AssertHelper_char_const__int_
mov dword [ebp - 0x178], 1
lea eax, [ebp - 0xd8]
mov edx, dword [ebp - 0x174]
mov dword [esp + 8], edx
mov dword [esp + 4], str.failed_to_open_temp_file_for_reading__file_name_s
mov dword [esp], eax
call method.du_private_AssertHelper.handleAssertionFailure_char_const__..._
jmp 0x403b59
cmp dword [ebp - 0x178], 0
je 0x403b7a
lea eax, [ebp - 0xd8]
mov dword [esp], eax
mov dword [ebp - 0x148], 9
call sym.du_private_AssertHelper::du_private_AssertHelper__
mov eax, dword [ebp - 0x74]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xbc]
mov dword [esp], eax
mov dword [ebp - 0x148], 9
call sym._read
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0xdc]
je 0x403c73
lea eax, [ebp - 0x28]
mov dword [esp], eax
mov dword [ebp - 0x148], 3
call method.std::string.c_str___const
mov dword [ebp - 0x180], eax
mov dword [esp + 8], 0x1cf
mov dword [esp + 4], str.d:_systembuild_latest_build_output_build_source_controller_source_cpp_jlaunch_JLaunch.cpp
lea eax, [ebp - 0xf8]
mov dword [esp], eax
call sym.du_private_AssertHelper::du_private_AssertHelper_char_const__int_
mov dword [ebp - 0x184], 1
lea eax, [ebp - 0xf8]
mov edx, dword [ebp - 0x180]
mov dword [esp + 0x10], edx
mov edx, dword [ebp - 0x74]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0xdc]
mov dword [esp + 8], edx
mov dword [esp + 4], str.failed_to_read_in_launch_parameters_file__read_d_expected_ld_name_s
mov dword [esp], eax
call method.du_private_AssertHelper.handleAssertionFailure_char_const__..._
jmp 0x403c73
cmp dword [ebp - 0x184], 0
je 0x403c94
lea eax, [ebp - 0xf8]
mov dword [esp], eax
mov dword [ebp - 0x148], 9
call sym.du_private_AssertHelper::du_private_AssertHelper__
mov dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0xbc]
mov dword [esp], eax
mov dword [ebp - 0x148], 2
call sym._close
test eax, eax
je 0x403d30
mov dword [esp + 8], 0x1d0
mov dword [esp + 4], str.d:_systembuild_latest_build_output_build_source_controller_source_cpp_jlaunch_JLaunch.cpp
lea eax, [ebp - 0x108]
mov dword [esp], eax
call sym.du_private_AssertHelper::du_private_AssertHelper_char_const__int_
mov dword [ebp - 0x18c], 1
lea eax, [ebp - 0x108]
mov dword [esp], eax
call method.du_private_AssertHelper.handleAssertionFailure3__
jmp 0x403d30
cmp dword [ebp - 0x18c], 0
je 0x403d51
lea eax, [ebp - 0x108]
mov dword [esp], eax
mov dword [ebp - 0x148], 9
call sym.du_private_AssertHelper::du_private_AssertHelper__
lea eax, [ebp - 0x28]
mov dword [esp], eax
mov dword [ebp - 0x148], 9
call method.std::string.c_str___const
mov dword [esp], eax
call sym._unlink
lea eax, [ebp - 0x118]
mov dword [esp], eax
call fcn.004101b4
lea eax, [ebp - 0x118]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xdc]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [ebp - 0x148], 1
call fcn.00412a04
lea eax, [ebp - 0x118]
mov dword [esp], eax
call sym.std::allocator_char_::allocator__
lea eax, [ebp - 0x28]
mov dword [esp], eax
mov dword [ebp - 0x148], 0xffffffff
call method.std::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string__
jmp 0x403ebe
lea eax, [ebp - 0x14c]
mov dword [esp], eax
call sym.__Unwind_SjLj_Unregister
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4