Function at 0x43a120
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x5224c4
mov eax, dword fs:[0]
push eax
sub esp, 0x860
mov eax, dword [0x5b339c]
xor eax, esp
mov dword [esp + 0x85c], eax
push ebp
push esi
push edi
mov eax, dword [0x5b339c]
xor eax, esp
push eax
lea eax, [esp + 0x870]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x880]
mov esi, ecx
push 0x57ea28
lea ecx, [esp + 0x38]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov dword [esp + 0x878], 0
push 0x57ea28
lea ecx, [esp + 0x54]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
mov byte [esp + 0x878], 1
mov ecx, dword [esi + 0x60]
call fcn.00415e30
mov esi, eax
test esi, esi
je 0x43a207
mov eax, dword [esi]
mov edx, dword [eax + 0x12c]
push 0
push 0x5b11a4
push 0x5b1180
push 0
mov ecx, esi
call edx
push eax
call sub.MSVCR90.dll___RTDynamicCast
mov edi, eax
add esp, 0x14
test edi, edi
je 0x43a200
mov eax, dword [edi + 0xc8]
mov eax, dword [eax]
lea ecx, [edi + 0xc8]
lea edx, [esp + 0x50]
push edx
call eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, edi
call fcn.00507050
mov edx, dword [edi + 0xc]
mov eax, dword [edx + 4]
mov ecx, dword [eax + edi + 0xc]
mov edx, dword [ecx + 8]
lea eax, [eax + edi + 0xc]
push eax
call edx
mov ecx, esi
call fcn.004f6830
mov esi, dword [sym.imp.MSVCP90.dll_bool___cdecl_std::operator__wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___wchar_t_const__]
lea eax, [esp + 0x34]
push 0x57ea28
push eax
call esi
add esp, 8
test al, al
je 0x43a371
lea ecx, [esp + 0x50]
push 0x57ea28
push ecx
call esi
add esp, 8
test al, al
je 0x43a371
xor esi, esi
push 0x545c9c
lea ecx, [esp + 0x38]
mov dword [esp + 0x18], esi
call dword [sym.imp.MSVCP90.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
lea edx, [esp + 0x1c]
push edx
call dword [sym.imp.MSVCR90.dll__wfopen_s]
add esp, 0xc
cmp eax, esi
jne 0x43a2ae
mov eax, dword [esp + 0x14]
mov edi, dword [sym.imp.MSVCR90.dll_fread]
push eax
push 1
lea ecx, [esp + 0x1b]
push 1
push ecx
call edi
add esp, 0x10
test eax, eax
jbe 0x43a29e
mov eax, dword [esp + 0x14]
movsx edx, byte [esp + 0x13]
push eax
push 1
lea ecx, [esp + 0x1b]
push 1
push ecx
add esi, edx
call edi
add esp, 0x10
test eax, eax
ja 0x43a280
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 4
jmp 0x43a2f3
push eax
lea eax, [esp + 0x70]
push 0x400
push eax
call dword [sym.imp.MSVCR90.dll__wcserror_s]
mov ecx, dword [0x5b6bb0]
mov edi, dword [ecx]
add esp, 0xc
lea edx, [esp + 0x6c]
push edx
lea ecx, [esp + 0x38]
call dword [sym.imp.MSVCP90.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
mov ecx, dword [edi]
push eax
mov eax, dword [0x5b6bb0]
push str.Could_not_open_assembly_file___ls_:__ls.
push str.ServerToolkit::COPCServerNode::QueryCurrentDevLinkConfigControlName
push 1
push eax
call ecx
add esp, 0x18
lea edx, [esp + 0x50]
push edx
mov ecx, ebp
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
push 0x5461e0
mov ecx, ebp
call dword [0x539464]
lea eax, [esp + 0x18]
push esi
push eax
call fcn.00438cf0
add esp, 8
mov byte [esp + 0x878], 2
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
mov ecx, ebp
call dword [0x539464]
mov byte [esp + 0x878], 1
lea ecx, [esp + 0x18]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov ecx, dword [0x5b6bb0]
mov esi, dword [ecx]
mov ecx, ebp
call dword [sym.imp.MSVCP90.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
mov edx, dword [0x5b6bb0]
push eax
mov eax, dword [esi]
push str.Current_DevLink_config_control_name_____ls_
push str.ServerToolkit::COPCServerNode::QueryCurrentDevLinkConfigControlName
push 3
push edx
call eax
add esp, 0x14
mov byte [esp + 0x878], 0
lea ecx, [esp + 0x50]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov dword [esp + 0x878], 0xffffffff
lea ecx, [esp + 0x34]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov ecx, dword [esp + 0x870]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x85c]
xor ecx, esp
call fcn.0051973e
add esp, 0x86c
ret 4