Function at 0x404e20
Capabilities:
Create thread
Resume thread
Suspend thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
push str.m:n:p:hv:w:g:V
push eax
xor edi, edi
push ecx
mov dword [ebp - 8], 0x7f
xor ebx, ebx
lea esi, [edi + 8]
call fcn.004054f0
add esp, 0xc
cmp eax, 0xffffffff
je 0x404f38
jmp 0x404e60
add eax, 0xffffffaa
cmp eax, 0x21
ja case.0x404e73.87
movzx edx, byte [eax + 0x405360]
jmp dword [edx*4 + 0x405338]
mov eax, dword [0x552a0c]
push 0
push 0
push eax
call fcn.00406500
add esp, 0xc
mov edi, eax
jmp case.0x404e73.87
mov ecx, dword [0x552a0c]
push 0
push 0
push ecx
call fcn.00406500
add esp, 0xc
jmp case.0x404e73.87
mov edx, dword [0x552a0c]
push 0
push 0
push edx
call fcn.00406500
add esp, 0xc
mov ebx, eax
jmp case.0x404e73.87
mov eax, dword [0x552a0c]
push 0
push 0
push eax
call fcn.00406500
add esp, 0xc
mov esi, eax
jmp case.0x404e73.87
mov ecx, dword [0x552a0c]
push 0
push 0
push ecx
call fcn.00406500
add esp, 0xc
mov dword [0x552a08], eax
jmp case.0x404e73.87
mov dword [0x552a04], 1
jmp case.0x404e73.87
mov edx, dword [0x552a0c]
push 0
push 0
push edx
call fcn.00406500
add esp, 0xc
mov dword [ebp - 8], eax
cmp eax, 0x7f
ja 0x404ffc
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push str.m:n:p:hv:w:g:V
push eax
push ecx
call fcn.004054f0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x404e60
push esi
push 0x5522a8
push str._s:_Nodes_card__d._n
push 0x20
call fcn.0040b9e0
add esp, 0x10
mov eax, 0x552908
mov cl, byte [ebp - 8]
mov byte [eax], bl
mov dword [eax - 8], edi
mov byte [eax + 1], cl
add eax, 0xc
add ebx, esi
cmp eax, 0x5529c8
jl 0x404f52
push 0x552a00
push 0x101c
call fcn.0040b550
add esp, 8
test eax, eax
je 0x405014
call dword [sym.imp.RTX_RTSS.SYS_GetLastError]
mov edi, 8
jmp 0x4051b5
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
call fcn.00403a40
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.RTX_RTSS.SYS_RtPrintf]
push 1
push 0xa
push 3
push 0x5521d4
push str._t_t_s_CAN_Family_Driver___Revision__1X._1X._d_n
call esi
push str.Copyright__c__2002___2017_by_esd_electronic_system_design_gmbh_n
call esi
push str.14:56:11
push str.Feb_22_2017
push str.Build_at__s__s
call esi
push str._for_RTX
call esi
push 0x640
push str.with_MSC__d
call esi
push 0x55228c
call esi
add esp, 0x34
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push str.Illegal_backend_prio_n
call dword [sym.imp.RTX_RTSS.SYS_RtPrintf]
add esp, 4
mov edi, 0x57
jmp 0x4051b5
mov edx, dword [0x552a00]
push 0x101c
push 0
push edx
call fcn.0040badd
push 0x552a48
call fcn.0040b9b0
add esp, 0x10
push 0
push 0
mov eax, 0x552a40
push 0
push 0
mov dword [0x552a40], eax
mov dword [0x552a44], eax
call dword [sym.imp.RTX_RTSS.SYS_RtCreateEventA]
mov dword [0x552a54], eax
test eax, eax
jne 0x405062
lea edi, [eax + 8]
jmp 0x40518b
push 0x552a58
push 4
push 0
push 0x402780
push 0x2000
push 0
call dword [sym.imp.RTX_RTSS.SYS_CreateThread]
mov ebx, dword [sym.imp.RTX_RTSS.SYS_GetLastError]
mov dword [0x552a50], eax
test eax, eax
jne 0x405093
call ebx
mov eax, dword [0x552a50]
push 0x7b
push eax
call dword [sym.imp.RTX_RTSS.SYS_RtSetThreadPriority]
test eax, eax
jne 0x4050a2
call ebx
mov eax, dword [0x552a50]
push eax
call dword [sym.imp.RTX_RTSS.SYS_ResumeThread]
push 0x552900
call fcn.00403ce0
mov edi, eax
add esp, 4
mov dword [ebp - 8], edi
test edi, edi
jne 0x405186
mov esi, dword [0x552a00]
add esi, 4
cmp byte [0x5523dc], al
je 0x405106
mov edi, str.C405
mov edx, 0x5523dc
sub edi, esi
mov ecx, esi
sub edx, esi
lea esp, [esp]
mov bl, byte [edi + ecx]
mov byte [ecx], bl
inc ecx
inc eax
cmp byte [edx + ecx], 0
jne 0x4050f0
mov edi, dword [ebp - 8]
mov ebx, dword [sym.imp.RTX_RTSS.SYS_GetLastError]
mov word [eax + esi], 0x442e
mov word [eax + esi + 2], 0x4c42
mov byte [eax + esi + 4], 0
mov ecx, dword [0x552a00]
add ecx, 4
push ecx
push 0
push 0
call dword [sym.imp.RTX_RTSS.SYS_RtCreateMutexA]
mov edx, dword [0x552a00]
mov dword [edx], eax
mov eax, dword [0x552a00]
cmp dword [eax], 0
jne 0x405142
call ebx
jmp 0x405186
push 0
push 0x100
push 0x79
push 0
push 0x404d80
push str.RtDriverC405
call fcn.00405a70
mov ecx, dword [0x552a00]
mov dword [ecx + 0x14], eax
mov edx, dword [0x552a00]
cmp dword [edx + 0x14], 0
jne 0x4051dc
call ebx
mov eax, dword [0x552a00]
cmp dword [eax], 0
je 0x405186
mov eax, dword [eax]
push eax
call dword [sym.imp.RTX_RTSS.SYS_RtCloseHandle]
call fcn.00402680
mov ecx, dword [0x552a48]
push ecx
call dword [sym.imp.RTX_RTSS.SYS_RtCloseHandle]
mov edx, dword [0x552a00]
push edx
call fcn.0040b580
add esp, 4
mov dword [0x552a00], 0
test edi, edi
je 0x4051c5
push edi
push str.esd_CAN_driver:_failed_with_error_d_n
push 1
call fcn.0040b9e0
add esp, 0xc
push str.CAN_driver_not_installed_in_RTSS_environment_n
call dword [sym.imp.RTX_RTSS.SYS_RtPrintf]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
jmp 0x4051f0
mov esi, dword [eax*4 + 0x5528c0]
test esi, esi
je 0x4052fd
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x552900]
push edx
push eax
push str.Card__d_:_Mode0x_08x_Nodes
push 1
call fcn.0040b9e0
add esp, 0x10
xor edi, edi
lea ebx, [esi + 0x104]
cmp dword [ebx], 0
je 0x405242
mov eax, dword [ebp - 4]
movzx ecx, byte [eax + 0x552908]
add ecx, edi
push ecx
push str.can_d
push 1
call fcn.0040b9e0
add esp, 0xc
inc edi
add ebx, 4
cmp edi, 8
jl 0x405221
push 0x5522fc
push 1
call fcn.0040b9e0
mov edx, dword [esi + 0x154]
mov eax, dword [esi + 0x150]
mov ecx, dword [esi + 0x14c]
push edx
mov edx, dword [ebp - 8]
push eax
push ecx
push edx
push str.Card__d_:_Hardware:_V_X._X._X
push 1
call fcn.0040b9e0
mov eax, dword [esi + 0x134]
add esp, 0x20
test eax, eax
jne 0x405299
cmp dword [esi + 0x138], eax
jne 0x405299
cmp dword [esi + 0x13c], eax
je 0x4052b7
mov ecx, dword [esi + 0x13c]
mov edx, dword [esi + 0x138]
push ecx
push edx
push eax
push str.Firmware:_V_X._X._X
push 1
call fcn.0040b9e0
add esp, 0x14
push 1
push 0xa
push 3
push str._Driver:_V_X._X._X
push 1
call fcn.0040b9e0
add esp, 0x14
cmp byte [esi + 0x15c], 1
jne 0x4052dc
push str._MSI
jmp 0x4052e1
push str._INTx
push 1
call fcn.0040b9e0
add esp, 8
push str.__DMA__n
push 1
call fcn.0040b9e0
mov eax, dword [ebp - 8]
add esp, 8
add dword [ebp - 4], 0xc
inc eax
mov dword [ebp - 8], eax
cmp eax, 0x10
jl 0x4051f0
push str.Using_IST_handler__Threaded_DPC_n
push 1
call fcn.0040b9e0
mov esi, dword [sym.imp.RTX_RTSS.SYS_SuspendThread]
mov edi, dword [sym.imp.RTX_RTSS.SYS_GetCurrentThread]
add esp, 8
lea esp, [esp]
call edi
push eax
call esi
jmp 0x405330