Function at 0x401250
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x7e8
mov eax, dword [0x40a008]
xor eax, esp
mov dword [esp + 0x7e4], eax
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
push esi
push edi
xor edi, edi
mov dword [esp + 0x1c], eax
push 0xff
lea eax, [esp + 0x6ed]
mov dword [esp + 0x38], 0
push edi
push eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0xa0], 3
mov dword [esp + 0x20], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x1c], edi
mov dword [esp + 0x4c], edi
movlpd qword [esp + 0xb4], xmm0
mov dword [esp + 0x94], edi
mov dword [esp + 0x9c], 0x100
mov dword [esp + 0x90], edi
mov dword [esp + 0x80], 8
mov dword [esp + 0x2c], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
mov byte [esp + 0x6f4], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov byte [esp + 0x83], 0
xorps xmm0, xmm0
mov byte [esp + 0xa4], 1
lea eax, [esp + 0x50]
movaps xmmword [esp + 0x50], xmm0
movq qword [esp + 0x60], xmm0
push eax
push 0xfffffffffffffffd
mov dword [esp + 0x58], 0xfffffffd
mov byte [esp + 0x54], 0
movaps xmmword [esp + 0xb8], xmm0
movq qword [esp + 0xc8], xmm0
call dword [sym.imp.uvKvaserCAN.dll_public:_static_int___cdecl_CKvaserCAN::MapIndex2Bitrate_int__union_can_bitrate_t___]
movups xmm0, xmmword [esp + 0x58]
add esp, 8
lea eax, [esp + 0xb0]
push eax
sub esp, 0x18
mov eax, esp
movups xmmword [eax], xmm0
movq xmm0, qword [esp + 0x7c]
movq qword [eax + 0x10], xmm0
call dword [sym.imp.uvKvaserCAN.dll_public:_static_int___cdecl_CKvaserCAN::MapBitrate2Speed_union_can_bitrate_t___struct_can_speed_t___]
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_signal]
add esp, 0x1c
push 0x404790
push 2
call esi
add esp, 8
cmp eax, 0xffffffff
je 0x4037e2
push 0x404790
push 0xf
call esi
add esp, 8
cmp eax, 0xffffffff
je 0x4037e2
mov esi, dword [esp + 0x1c]
sub esp, 8
mov ecx, dword [ebp + 8]
mov edx, esi
call fcn.00401030
add esp, 8
cmp eax, 0xffffffff
je 0x40186e
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
cmp eax, 0x2f
ja case.default.0x401417
movzx eax, byte [eax + 0x403870]
jmp dword [eax*4 + 0x40380c]
mov ecx, dword [esp + 0x14]
mov eax, ecx
inc ecx
mov dword [esp + 0x14], ecx
test eax, eax
jne 0x401fa9
mov eax, dword [0x40a4e8]
test eax, eax
je 0x401f72
lea ecx, [esp + 0x94]
push ecx
push 0x406388
push eax
call fcn.00401220
add esp, 0xc
cmp eax, 1
jne 0x401572
mov ecx, dword [esp + 0x94]
cmp ecx, 0x1f4
jg 0x40148c
je case.0x401485.2
cmp ecx, 0xfa
ja case.0x401485.9
movzx eax, byte [ecx + 0x4038c8]
jmp dword [eax*4 + 0x4038a0]
cmp ecx, 0x186a0
jg 0x4014e0
je case.0x401485.5
cmp ecx, 0x2710
jg 0x4014bb
je case.0x401485.8
cmp ecx, 0x320
je case.0x401485.1
cmp ecx, 0x3e8
jmp 0x40151d
mov ecx, 0xfffffff8
jmp 0x40152a
cmp ecx, 0x4e20
je case.0x401485.7
cmp ecx, 0xc350
jne case.0x401485.9
mov ecx, 0xfffffffa
jmp 0x40152a
mov ecx, 0xfffffff9
jmp 0x40152a
mov ecx, 0xfffffffb
jmp 0x40152a
cmp ecx, 0x7a120
jg 0x40150f
je case.0x401485.2
cmp ecx, 0x1e848
je case.0x401485.4
cmp ecx, 0x3d090
jne case.0x401485.9
mov ecx, 0xfffffffd
jmp 0x40152a
mov ecx, 0xfffffffc
jmp 0x40152a
mov ecx, 0xfffffffe
jmp 0x40152a
cmp ecx, 0xc3500
je case.0x401485.1
cmp ecx, 0xf4240
je case.0x401485.0
neg ecx
jmp 0x40152a
xor ecx, ecx
jmp 0x40152a
or ecx, 0xffffffff
lea eax, [esp + 0x50]
mov dword [esp + 0x50], ecx
push eax
push ecx
call dword [sym.imp.uvKvaserCAN.dll_public:_static_int___cdecl_CKvaserCAN::MapIndex2Bitrate_int__union_can_bitrate_t___]
add esp, 8
test eax, eax
jne 0x401572
movups xmm0, xmmword [esp + 0x50]
lea eax, [esp + 0xb0]
push eax
sub esp, 0x18
mov eax, esp
movups xmmword [eax], xmm0
movq xmm0, qword [esp + 0x7c]
movq qword [eax + 0x10], xmm0
call dword [sym.imp.uvKvaserCAN.dll_public:_static_int___cdecl_CKvaserCAN::MapBitrate2Speed_union_can_bitrate_t___struct_can_speed_t___]
add esp, 0x1c
test eax, eax
je 0x40184f
push str.can_test
push str._s:_illegal_argument_for_option__BAUDRATE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x14]
mov eax, ecx
inc ecx
mov dword [esp + 0x14], ecx
test eax, eax
jne 0x402017
mov eax, dword [0x40a4e8]
test eax, eax
je 0x401fe0
lea ecx, [esp + 0xa4]
push ecx
lea ecx, [esp + 0x87]
push ecx
lea ecx, [esp + 0x58]
push ecx
push eax
call dword [sym.imp.uvKvaserCAN.dll_public:_static_int___cdecl_CKvaserCAN::MapString2Bitrate_char_const___union_can_bitrate_t____bool___bool__]
add esp, 0x10
test eax, eax
jne 0x40161d
movups xmm0, xmmword [esp + 0x50]
lea eax, [esp + 0xb0]
push eax
sub esp, 0x18
mov eax, esp
movups xmmword [eax], xmm0
movq xmm0, qword [esp + 0x7c]
movq qword [eax + 0x10], xmm0
call dword [sym.imp.uvKvaserCAN.dll_public:_static_int___cdecl_CKvaserCAN::MapBitrate2Speed_union_can_bitrate_t___struct_can_speed_t___]
add esp, 0x1c
test eax, eax
je 0x40184f
push str.can_test
push str._s:_illegal_argument_for_option__BITRATE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x40], 0
jne 0x402085
cmp dword [0x40a4e8], 0
jne 0x40204e
mov dword [esp + 0x40], 1
jmp 0x40184f
mov ecx, dword [esp + 0x48]
mov eax, ecx
inc ecx
mov dword [esp + 0x48], ecx
test eax, eax
jne 0x40212a
mov edi, dword [0x40a4e8]
test edi, edi
je 0x4020f3
push str.DEFAULT
push edi
call esi
add esp, 8
test eax, eax
je 0x40184b
push str.CLASSIC
push edi
call esi
add esp, 8
test eax, eax
je 0x40184b
push str.CAN20
push edi
call esi
add esp, 8
test eax, eax
je 0x40184b
push str.CAN2.0
push edi
call esi
add esp, 8
test eax, eax
je 0x40184b
push 0x4064e4
push edi
call esi
add esp, 8
test eax, eax
je 0x40184b
push str.CANFD
push edi
call esi
add esp, 8
test eax, eax
je 0x401761
push 0x4064f0
push edi
call esi
add esp, 8
test eax, eax
je 0x401761
push 0x4064f4
push edi
call esi
add esp, 8
test eax, eax
je 0x401761
push str.CANFDBRS
push edi
call esi
add esp, 8
test eax, eax
je 0x401757
push str.FDFBRS
push edi
call esi
add esp, 8
test eax, eax
je 0x401757
push str.FDBRS
push edi
call esi
add esp, 8
test eax, eax
jne 0x4020bc
or byte [esp + 0x4c], 0xc0
jmp 0x40184b
or byte [esp + 0x4c], 0x80
jmp 0x40184b
mov ecx, dword [esp + 0x44]
mov eax, ecx
inc ecx
mov dword [esp + 0x44], ecx
test eax, eax
jne 0x402198
cmp dword [0x40a4e8], eax
jne 0x402161
or byte [esp + 0x4c], 0x10
jmp 0x40184f
mov ecx, dword [esp + 0x2c]
mov eax, ecx
inc ecx
mov dword [esp + 0x2c], ecx
test eax, eax
jne 0x40223d
mov edi, dword [0x40a4e8]
test edi, edi
je 0x402206
push 0x4065cc
push edi
call esi
add esp, 8
test eax, eax
je 0x401935
push 0x4065d0
push edi
call esi
add esp, 8
test eax, eax
je 0x401935
push 0x4065d4
push edi
call esi
add esp, 8
test eax, eax
je 0x401935
push 0x4065d8
push edi
call esi
add esp, 8
test eax, eax
je 0x401935
push 0x4065dc
push edi
call esi
add esp, 8
test eax, eax
je 0x401841
push 0x4065e0
push edi
call esi
add esp, 8
test eax, eax
je 0x401841
push 0x4065e4
push edi
call esi
add esp, 8
test eax, eax
je 0x401841
push 0x4065e8
push edi
call esi
add esp, 8
test eax, eax
jne 0x4021cf
mov al, byte [esp + 0x4c]
and al, 0xfe
mov byte [esp + 0x4c], al
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
sub esp, 8
mov ecx, dword [ebp + 8]
call fcn.00401030
add esp, 8
cmp eax, 0xffffffff
jne 0x401407
mov esi, dword [esp + 0x1c]
mov ecx, 1
mov dword [esp + 0x20], ecx
cmp dword [ebp + 8], ecx
jle 0x4037ab
lea edx, [esi + 4]
mov dword [esp + 0x14], edx
or esi, 0xffffffff
mov dword [esp + 0x18], esi
test ecx, ecx
jle 0x402edf
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx*4 + 0x40a020]
mov eax, dword [edx]
test edi, edi
je 0x402e29
test eax, eax
je 0x402e29
cmp byte [eax], 0x2f
jne 0x402e29
lea edx, [eax + 1]
mov esi, edi
not eax
mov dword [esp + 0x28], eax
xor ecx, ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x84], esi
cmp byte [edi], cl
je 0x4018e7
inc ecx
cmp byte [ecx + edi], 0
jne 0x4018e0
add eax, edx
cmp eax, ecx
jge 0x402dc3
cmp byte [edx], 0
je 0x402e1d
movsx eax, byte [esi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x1c]
movsx ecx, byte [eax]
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
add esp, 4
cmp esi, eax
jne 0x402e1d
mov esi, dword [esp + 0x84]
mov edx, dword [esp + 0x1c]
inc esi
mov eax, dword [esp + 0x28]
inc edx
jmp 0x4018cf
mov al, byte [esp + 0x4c]
or al, 1
jmp 0x401847
mov ecx, dword [esp + 0x2c]
mov eax, ecx
inc ecx
mov dword [esp + 0x2c], ecx
test eax, eax
jne 0x4022ab
cmp dword [0x40a4e8], eax
jne 0x402274
or byte [esp + 0x4c], 1
jmp 0x40184f
mov ecx, dword [esp + 0x30]
mov eax, ecx
inc ecx
mov dword [esp + 0x30], ecx
test eax, eax
jne 0x402350
mov edi, dword [0x40a4e8]
test edi, edi
je 0x402319
push 0x4065cc
push edi
call esi
add esp, 8
test eax, eax
je 0x401a11
push 0x4065d0
push edi
call esi
add esp, 8
test eax, eax
je 0x401a11
push 0x4065d4
push edi
call esi
add esp, 8
test eax, eax
je 0x401a11
push 0x4065d8
push edi
call esi
add esp, 8
test eax, eax
je 0x401a11
push 0x4065dc
push edi
call esi
add esp, 8
test eax, eax
je 0x401a06
push 0x4065e0
push edi
call esi
add esp, 8
test eax, eax
je 0x401a06
push 0x4065e4
push edi
call esi
add esp, 8
test eax, eax
je 0x401a06
push 0x4065e8
push edi
call esi
add esp, 8
test eax, eax
jne 0x4022e2
mov al, byte [esp + 0x4c]
and al, 0xfd
jmp 0x401847
mov al, byte [esp + 0x4c]
or al, 2
jmp 0x401847
mov ecx, dword [esp + 0x30]
mov eax, ecx
inc ecx
mov dword [esp + 0x30], ecx
test eax, eax
jne 0x4023be
cmp dword [0x40a4e8], eax
jne 0x402387
or byte [esp + 0x4c], 2
jmp 0x40184f
mov ecx, dword [esp + 0x98]
mov eax, ecx
inc ecx
mov dword [esp + 0x98], ecx
test eax, eax
jne 0x402463
mov edi, dword [0x40a4e8]
test edi, edi
je 0x40242c
push 0x4065dc
push edi
call esi
add esp, 8
test eax, eax
je 0x401af3
push 0x4065e0
push edi
call esi
add esp, 8
test eax, eax
je 0x401af3
push 0x4065e4
push edi
call esi
add esp, 8
test eax, eax
je 0x401af3
push 0x4065e8
push edi
call esi
add esp, 8
test eax, eax
je 0x401af3
push 0x4065cc
push edi
call esi
add esp, 8
test eax, eax
je 0x401ae8
push 0x4065d0
push edi
call esi
add esp, 8
test eax, eax
je 0x401ae8
push 0x4065d4
push edi
call esi
add esp, 8
test eax, eax
je 0x401ae8
push 0x4065d8
push edi
call esi
add esp, 8
test eax, eax
jne 0x4023f5
mov al, byte [esp + 0x4c]
and al, 0xf7
jmp 0x401847
mov al, byte [esp + 0x4c]
or al, 8
jmp 0x401847
mov ecx, dword [esp + 0x28]
mov eax, ecx
inc ecx
mov dword [esp + 0x28], ecx
test eax, eax
jne 0x402508
mov edi, dword [0x40a4e8]
test edi, edi
je 0x4024d1
push 0x4065dc
push edi
call esi
add esp, 8
test eax, eax
je 0x401ba6
push 0x4065e0
push edi
call esi
add esp, 8
test eax, eax
je 0x401ba6
push 0x4065e4
push edi
call esi
add esp, 8
test eax, eax
je 0x401ba6
push 0x4065e8
push edi
call esi
add esp, 8
test eax, eax
je 0x401ba6
push 0x4065cc
push edi
call esi
add esp, 8
test eax, eax
je 0x401b9b
push 0x4065d0
push edi
call esi
add esp, 8
test eax, eax
je 0x401b9b
push 0x4065d4
push edi
call esi
add esp, 8
test eax, eax
je 0x401b9b
push 0x4065d8
push edi
call esi
add esp, 8
test eax, eax
jne 0x40249a
mov al, byte [esp + 0x4c]
and al, 0xfb
jmp 0x401847
mov al, byte [esp + 0x4c]
or al, 4
jmp 0x401847
mov eax, edi
inc edi
mov dword [esp + 0x10], edi
test eax, eax
jne 0x402576
cmp dword [0x40a4e8], eax
jne 0x40253f
mov dword [esp + 0x24], eax
jmp 0x40184f
mov ecx, dword [esp + 0x38]
mov eax, ecx
inc ecx
mov dword [esp + 0x38], ecx
test eax, eax
jne 0x4025e4
mov eax, dword [0x40a4e8]
test eax, eax
je 0x4025ad
lea ecx, [esp + 0x8c]
push ecx
push 0x406388
push eax
call fcn.00401220
add esp, 0xc
cmp eax, 1
jne 0x401c1e
cmp dword [esp + 0x8c], 0
jge 0x40184f
push str.can_test
push str._s:_illegal_argument_for_option__NUMBER_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x3c], 0
jne 0x402652
cmp dword [0x40a4e8], 0
jne 0x40261b
mov dword [esp + 0x3c], 1
jmp 0x40184f
mov eax, edi
inc edi
mov dword [esp + 0x10], edi
test eax, eax
jne 0x4026f7
mov eax, dword [0x40a4e8]
test eax, eax
je 0x4026c0
lea ecx, [esp + 0xa8]
push ecx
push str._lli
push eax
call fcn.00401220
add esp, 0xc
cmp eax, 1
jne 0x402689
cmp dword [esp + 0xac], 0
jl 0x402689
jg 0x401cd3
cmp dword [esp + 0xa8], 0
jb 0x402689
mov dword [esp + 0x24], 1
jmp 0x40184f
mov eax, edi
inc edi
mov dword [esp + 0x10], edi
test eax, eax
jne 0x40279c
mov eax, dword [0x40a4e8]
test eax, eax
je 0x402765
lea ecx, [esp + 0x88]
push ecx
push 0x406388
push eax
call fcn.00401220
add esp, 0xc
cmp eax, 1
jne 0x40272e
cmp dword [esp + 0x88], 0
jl 0x40272e
mov dword [esp + 0x24], 2
jmp 0x40184f
mov eax, edi
inc edi
mov dword [esp + 0x10], edi
test eax, eax
jne 0x402841
mov eax, dword [0x40a4e8]
test eax, eax
je 0x40280a
lea ecx, [esp + 0x88]
push ecx
push 0x406388
push eax
call fcn.00401220
add esp, 0xc
cmp eax, 1
jne 0x4027d3
cmp dword [esp + 0x88], 0
jl 0x4027d3
cmp dword [esp + 0x20], 0
jne 0x401d8e
mov dword [esp + 0x74], 0
mov dword [esp + 0x24], 3
jmp 0x40184f
mov ecx, dword [esp + 0x18]
mov eax, ecx
inc ecx
mov dword [esp + 0x18], ecx
test eax, eax
jne 0x4028e6
mov eax, dword [0x40a4e8]
test eax, eax
je 0x4028af
lea ecx, [esp + 0x7c]
push ecx
push 0x406388
push eax
call fcn.00401220
add esp, 0xc
cmp eax, 1
jne 0x402878
mov eax, dword [esp + 0x7c]
cmp eax, 0x20c49b
ja 0x402878
imul eax, eax, 0x3e8
mov dword [esp + 0x7c], eax
jmp 0x40184f
mov ecx, dword [esp + 0x18]
mov eax, ecx
inc ecx
mov dword [esp + 0x18], ecx
test eax, eax
jne 0x402954
mov eax, dword [0x40a4e8]
test eax, eax
je 0x40291d
lea ecx, [esp + 0x7c]
push ecx
push 0x406388
push eax
call fcn.00401220
add esp, 0xc
cmp eax, 1
jne 0x401e38
cmp dword [esp + 0x7c], 0
jge 0x40184f
push str.can_test
push str._s:_illegal_argument_for_option__USEC_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x20]
mov eax, ecx
inc ecx
mov dword [esp + 0x20], ecx
test eax, eax
jne 0x4029c2
mov eax, dword [0x40a4e8]
test eax, eax
je 0x40298b
lea ecx, [esp + 0x74]
push ecx
push 0x406388
push eax
call fcn.00401220
add esp, 0xc
cmp eax, 1
jne 0x401eb2
cmp dword [esp + 0x74], 0x40
jbe 0x40184f
push str.can_test
push str._s:_illegal_argument_for_option__DLC_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x84]
mov eax, ecx
inc ecx
mov dword [esp + 0x84], ecx
test eax, eax
jne 0x402a30
mov eax, dword [0x40a4e8]
test eax, eax
je 0x4029f9
lea ecx, [esp + 0x90]
push ecx
push 0x406388
push eax
call fcn.00401220
add esp, 0xc
cmp eax, 1
jne 0x401f3b
cmp dword [esp + 0x90], 0x1fffffff
jbe 0x40184f
push str.can_test
push str._s:_illegal_argument_for_option__CAN_ID_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_missing_argument_for_option__BAUDRATE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__BAUDRATE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_missing_argument_for_option__BITRATE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__BITRATE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_illegal_argument_for_option__VERBOSE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__VERBOSE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_illegal_argument_for_option__MODE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_missing_argument_for_option__MODE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__MODE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_illegal_argument_for_option__SHARED_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__SHARED_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_illegal_argument_for_option__MON_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_missing_argument_for_option__MON_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__MON_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_illegal_argument_for_option__LISTEN_ONLY_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__LISTEN_ONLY_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_illegal_argument_for_option__ERR_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_missing_argument_for_option__ERR_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__ERR_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_illegal_argument_for_option__ERROR_FRAMES_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__ERROR_FRAMES_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_illegal_argument_for_option__XTD_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_missing_argument_for_option__XTD_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__XTD_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_illegal_argument_for_option__RTR_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_missing_argument_for_option__RTR_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__RTR_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_illegal_argument_for_option__RECEIVE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__RECEIVE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_missing_argument_for_option__NUMBER_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__NUMBER_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_illegal_argument_for_option__STOP_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__STOP_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_illegal_argument_for_option__TRANSMIT_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_missing_argument_for_option__TRANSMIT_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__TRANSMIT_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_illegal_argument_for_option__FRAMES_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_missing_argument_for_option__FRAMES_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__FRAMES_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_illegal_argument_for_option__RANDOM_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_missing_argument_for_option__RANDOM_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__RANDOM_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_illegal_argument_for_option__CYCLE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_missing_argument_for_option__CYCLE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__CYCLE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_missing_argument_for_option__USEC_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__USEC_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_missing_argument_for_option__DLC_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__DLC_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_missing_argument_for_option__CAN_ID_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_duplicated_option__CAN_ID_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
mov edi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
push str.This_program_comes_with_ABSOLUTELY_NO_WARRANTY__n_nThis_is_free_software__and_you_are_welcome_to_redistribute_it_nunder_certain_conditions__type__ABOUT_for_details.
push str.Copyright__c__2008_2010_2014_2023_by_Uwe_Vogt__UV_Software__Berlin
push str.CAN_Tester_for_Kvaser_CAN_Interfaces__Version_0.2.4__0xa706e25_
push str._s_n_s_n_n_s_n_n
push 1
call edi
add esp, 4
push eax
call fcn.004011f0
add esp, 0x14
xor esi, esi
push str.Suppored_hardware:_n
push 1
call edi
add esp, 4
push eax
call fcn.004011f0
lea eax, [esp + 0xe0]
push esi
push eax
call dword [sym.imp.uvKvaserCAN.dll_public:_static_bool___cdecl_CKvaserCAN::GetFirstChannel_struct_CCanApi::SChannelInfo___void__]
add esp, 0x10
test al, al
je 0x402b08
nop dword [eax + eax]
push dword [esp + 0xd8]
lea eax, [esp + 0x2e4]
push dword [esp + 0x2e0]
push eax
lea eax, [esp + 0xe8]
push eax
push str.__s___VendorName__s___LibraryId_i__ChannelNo_i__n
push 1
call edi
add esp, 4
push eax
call fcn.004011f0
lea eax, [esp + 0xf0]
inc esi
push 0
push eax
call dword [sym.imp.uvKvaserCAN.dll_public:_static_bool___cdecl_CKvaserCAN::GetNextChannel_struct_CCanApi::SChannelInfo___void__]
add esp, 0x20
test al, al
jne 0x402ac0
push esi
push str.Number_of_supported_CAN_interfaces:__i_n
push 1
call edi
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
shr esi, 0x1f
mov eax, esi
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
push str.This_program_comes_with_ABSOLUTELY_NO_WARRANTY__n_nThis_is_free_software__and_you_are_welcome_to_redistribute_it_nunder_certain_conditions__type__ABOUT_for_details.
push str.Copyright__c__2008_2010_2014_2023_by_Uwe_Vogt__UV_Software__Berlin
push str.CAN_Tester_for_Kvaser_CAN_Interfaces__Version_0.2.4__0xa706e25_
push str._s_n_s_n_n_s_n_n
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
mov al, byte [esp + 0x60]
add esp, 0x14
xor edi, edi
mov byte [esp + 0x78], al
lea eax, [esp + 0xd8]
mov dword [esp + 0x14], edi
push edi
push eax
call dword [sym.imp.uvKvaserCAN.dll_public:_static_bool___cdecl_CKvaserCAN::GetFirstChannel_struct_CCanApi::SChannelInfo___void__]
add esp, 8
test al, al
je 0x402cea
nop dword [eax]
lea eax, [esp + 0xdc]
push eax
push str.Hardware_s...
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
push 1
call esi
add esp, 4
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
add esp, 4
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x7c]
push eax
push dword [esp + 0xe0]
call dword [sym.imp.uvKvaserCAN.dll_public:_static_int___cdecl_CKvaserCAN::ProbeChannel_int__union_can_mode_t__const___enum_CCanApi::EChannelState__]
add esp, 0xc
mov dword [esp + 0x28], eax
test eax, eax
je 0x402c02
cmp eax, 0xffffffa3
je 0x402c02
push str.FAILED__n
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 8
jmp 0x402ccf
push 0
push 1
push 0
mov dword [esp + 0xa4], 0xffcd3030
mov dword [esp + 0xa8], 0xffffffff
call dword [sym.imp.KERNEL32.dll_CreateWaitableTimerW]
mov edi, eax
test edi, edi
je 0x402c51
push 0
push 0
push 0
push 0
lea eax, [esp + 0xa8]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetWaitableTimer]
push 0xffffffffffffffff
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x84]
push 1
cmp eax, 0xffffffff
je 0x402c95
test eax, eax
je 0x402c83
cmp eax, 1
je 0x402c71
call esi
mov ecx, str.not_testable_n
jmp 0x402c9c
mov edi, dword [esp + 0x18]
inc edi
mov dword [esp + 0x18], edi
call esi
mov ecx, str.occupied_n
jmp 0x402ca0
mov edi, dword [esp + 0x18]
inc edi
mov dword [esp + 0x18], edi
call esi
mov ecx, str.available_n
jmp 0x402ca0
call esi
mov ecx, str.not_available_n
mov edi, dword [esp + 0x18]
add esp, 4
push ecx
push eax
call fcn.004011f0
add esp, 8
cmp dword [esp + 0x28], 0xffffffa3
jne 0x402ccf
movzx eax, byte [esp + 0x78]
push eax
push str._warning:_CAN_operation_mode_not_supported___02xh__n
push 2
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
lea eax, [esp + 0xd8]
push 0
push eax
call dword [sym.imp.uvKvaserCAN.dll_public:_static_bool___cdecl_CKvaserCAN::GetNextChannel_struct_CCanApi::SChannelInfo___void__]
add esp, 8
test al, al
jne 0x402b90
push edi
push str.Number_of_present_CAN_interfaces:__i_n
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
shr edi, 0x1f
mov eax, edi
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
mov ecx, eax
call fcn.004047b0
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
push 1
call esi
add esp, 4
mov edi, eax
push str.This_program_is_free_software:_you_can_redistribute_it_and_or_modify_nit_under_the_terms_of_the_GNU_General_Public_License_as_published_by_nthe_Free_Software_Foundation__either_version_3_of_the_License__or_n_at_your_option__any_later_version._n_nThis_program_is_distributed_in_the_hope_that_it_will_be_useful__nbut_WITHOUT_ANY_WARRANTY__without_even_the_implied_warranty_of_nMERCHANTABILITY_or_FITNESS_FOR_A_PARTICULAR_PURPOSE.__See_the_nGNU_General_Public_License_for_more_details._n_nYou_should_have_received_a_copy_of_the_GNU_General_Public_License_nalong_with_this_program.__If_not__see__http:__www.gnu.org_licenses__.
push str.Copyright__c__2008_2010_2014_2023_by_Uwe_Vogt__UV_Software__Berlin
push str.CAN_Tester_for_Kvaser_CAN_Interfaces__Version_0.2.4__0xa706e25_
push str._s_n_s_n_n_s_n_n
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0x14
push str.Written_by_Uwe_Vogt__UV_Software__Berlin__https:__uv_software.com___n
push edi
call fcn.004011f0
add esp, 8
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
mov ecx, eax
call fcn.004047b0
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0x18]
cmp esi, 0xffffffff
je 0x402e11
mov eax, dword [esi*4 + 0x40a020]
test eax, eax
je 0x402de9
xor ecx, ecx
cmp byte [eax], cl
je 0x402dec
nop dword [eax]
inc ecx
cmp byte [ecx + eax], 0
jne 0x402de0
jmp 0x402dec
or ecx, 0xffffffff
mov eax, dword [esp + 0x10]
mov edx, dword [eax*4 + 0x40a020]
test edx, edx
je 0x402e0a
xor eax, eax
cmp byte [edx], al
je 0x402e0d
inc eax
cmp byte [eax + edx], 0
jne 0x402e01
jmp 0x402e0d
or eax, 0xffffffff
cmp ecx, eax
jge 0x402e21
mov ecx, dword [esp + 0x10]
mov esi, ecx
mov dword [esp + 0x18], esi
jmp 0x402e25
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, 0x30
jl 0x4018a2
mov edi, dword [esp + 0x34]
cmp esi, 0xffffffff
jne 0x402ed9
mov eax, edi
inc edi
mov dword [esp + 0x34], edi
test eax, eax
jne 0x402f52
push eax
lea eax, [esp + 0x3e4]
push eax
call dword [sym.imp.uvKvaserCAN.dll_public:_static_bool___cdecl_CKvaserCAN::GetFirstChannel_struct_CCanApi::SChannelInfo___void__]
add esp, 8
test al, al
je 0x402e9e
mov esi, dword [esp + 0x14]
nop dword [eax]
lea eax, [esp + 0x3e4]
push eax
push dword [esi]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x402ed5
lea eax, [esp + 0x3e0]
push 0
push eax
call dword [sym.imp.uvKvaserCAN.dll_public:_static_bool___cdecl_CKvaserCAN::GetNextChannel_struct_CCanApi::SChannelInfo___void__]
add esp, 8
test al, al
jne 0x402e70
push str.can_test
push str._s:_illegal_argument_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
jmp 0x402ee3
mov edi, dword [esp + 0x34]
inc ecx
add edx, 4
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edx
cmp ecx, dword [ebp + 8]
jl 0x401887
test edi, edi
je 0x4037ab
mov al, byte [esp + 0x4c]
mov ecx, dword [esp + 0x74]
test al, al
jns 0x402f89
cmp dword [esp + 0x50], 0
jg 0x402fc5
push str.can_test
push str._s:_illegal_combination_of_options__MODE_and__BAUDRATE_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_too_many_arguments_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
cmp ecx, 8
jle 0x402fc5
push str.can_test
push str._s:_illegal_combination_of_options__MODE_and__DLC_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
cmp ecx, 0x30
jle 0x402fd4
mov dword [esp + 0x74], 0xf
jmp 0x40302c
cmp ecx, 0x20
jle 0x402fe3
mov dword [esp + 0x74], 0xe
jmp 0x40302c
cmp ecx, 0x18
jle 0x402ff2
mov dword [esp + 0x74], 0xd
jmp 0x40302c
cmp ecx, 0x14
jle 0x403001
mov dword [esp + 0x74], 0xc
jmp 0x40302c
cmp ecx, 0x10
jle 0x403010
mov dword [esp + 0x74], 0xb
jmp 0x40302c
cmp ecx, 0xc
jle 0x40301f
mov dword [esp + 0x74], 0xa
jmp 0x40302c
cmp ecx, 8
jle 0x40302c
mov dword [esp + 0x74], 9
cmp dword [esp + 0x24], 0
je 0x403123
test al, 1
je 0x403072
push str.can_test
push str._s:_illegal_option__MON:YES_alias__LISTEN_ONLY_for_transmitter_test_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
test al, 2
je 0x4030ad
push str.can_test
push str._s:_illegal_option__ERR:YES_alias__ERROR_FRAMES_for_transmitter_test_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
test al, 8
je 0x4030e8
push str.can_test
push str._s:_illegal_option__XTD:NO_for_transmitter_test_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
test al, 4
je 0x403123
push str.can_test
push str._s:_illegal_option__RTR:NO_for_transmitter_test_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
push str.This_program_comes_with_ABSOLUTELY_NO_WARRANTY__n_nThis_is_free_software__and_you_are_welcome_to_redistribute_it_nunder_certain_conditions__type__ABOUT_for_details.
push str.Copyright__c__2008_2010_2014_2023_by_Uwe_Vogt__UV_Software__Berlin
push str.CAN_Tester_for_Kvaser_CAN_Interfaces__Version_0.2.4__0xa706e25_
push str._s_n_s_n_n_s_n_n
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0x14
cmp dword [esp + 0x40], 0
je 0x4033b0
test byte [esp + 0x4c], 0x80
mov ecx, str.CAN2.0
mov eax, str.CANFD
cmove eax, ecx
push eax
push str.Op._mode_s
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
mov al, byte [esp + 0x58]
add esp, 0xc
test al, 0x40
je 0x4031a1
push str.BRS
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
mov al, byte [esp + 0x54]
add esp, 8
test al, 0x20
je 0x4031be
push str.NISO
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
mov al, byte [esp + 0x54]
add esp, 8
test al, 0x10
je 0x4031db
push str.SHRD
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
mov al, byte [esp + 0x54]
add esp, 8
test al, 8
je 0x4031f8
push str.NXTD
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
mov al, byte [esp + 0x54]
add esp, 8
test al, 4
je 0x403215
push str.NRTR
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
mov al, byte [esp + 0x54]
add esp, 8
test al, 2
je 0x403232
push str.ERR
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
mov al, byte [esp + 0x54]
add esp, 8
test al, 1
je 0x40324f
push str.MON
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
mov al, byte [esp + 0x54]
add esp, 8
movzx eax, al
push eax
push str.__op_mode_02Xh__n
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
movss xmm0, dword [esp + 0xc4]
add esp, 0xc
mov eax, dword [esp + 0x50]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x408028]
test eax, eax
jle 0x403376
sub esp, 0x10
movsd qword [esp + 8], xmm0
movss xmm0, dword [esp + 0xc4]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x408030]
movsd qword [esp], xmm0
push str.Bit_rate_.0fkbps__.1f__
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
mov al, byte [esp + 0x64]
add esp, 0x18
test al, 0x40
je 0x403316
movss xmm0, dword [esp + 0xc4]
sub esp, 0x10
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x408028]
movsd qword [esp + 8], xmm0
movss xmm0, dword [esp + 0xd0]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x408030]
movsd qword [esp], xmm0
push str.:_.0fkbps__.1f__
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
mov al, byte [esp + 0x64]
add esp, 0x18
push dword [esp + 0xa4]
movups xmm0, xmmword [esp + 0x54]
shr al, 6
and al, 1
movzx eax, al
push eax
push 0x100
lea eax, [esp + 0x6f4]
push eax
sub esp, 0x18
mov eax, esp
movups xmmword [eax], xmm0
movq xmm0, qword [esp + 0x88]
movq qword [eax + 0x10], xmm0
call dword [sym.imp.uvKvaserCAN.dll_public:_static_int___cdecl_CKvaserCAN::MapBitrate2String_union_can_bitrate_t___char___unsigned_int__bool__bool_]
add esp, 0x28
lea eax, [esp + 0x6e8]
push eax
push str.___s__n_n
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
jmp 0x4033b0
neg eax
push eax
sub esp, 0x10
movsd qword [esp + 8], xmm0
movss xmm0, dword [esp + 0xc8]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x408030]
movsd qword [esp], xmm0
push str.Baudrate_.0fkbps__.1f____index__i__n_n
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0x1c
lea eax, [esp + 0x3e4]
push eax
push str.Hardware_s...
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
push 1
call esi
add esp, 4
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
add esp, 4
lea eax, [esp + 0x4c]
mov ecx, 0x40a4a8
push 0
push eax
push dword [esp + 0x3e8]
call dword [sym.imp.uvKvaserCAN.dll_public_virtual:_int___thiscall_CKvaserCAN::InitializeChannel_int__union_can_mode_t__const___void_const__]
mov edi, eax
test edi, edi
je 0x403460
push str.FAILED__n
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 8
push edi
push str._error:_CAN_Controller_could_not_be_initialized___i_
push 2
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
cmp edi, 0xffffff9e
jne 0x403448
movzx eax, byte [esp + 0x4c]
push eax
push str._n_____________possibly_CAN_operating_mode__02Xh_not_supported
push 2
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
push 2
call esi
add esp, 4
push eax
push 0xa
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
add esp, 8
jmp 0x40377b
push str.OK__n
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
mov ecx, dword [esp + 0x58]
add esp, 8
test ecx, ecx
jle 0x403514
movss xmm0, dword [esp + 0xb4]
sub esp, 8
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x408030]
movsd qword [esp], xmm0
push str.Bit_rate_.0fkbps
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
mov al, byte [esp + 0x5c]
add esp, 0x10
test al, 0x40
je 0x4034c5
movss xmm0, dword [esp + 0xc0]
jmp 0x4034d2
test al, al
jns 0x4034fa
movss xmm0, dword [esp + 0xb4]
cvtps2pd xmm0, xmm0
sub esp, 8
divsd xmm0, qword [0x408030]
movsd qword [esp], xmm0
push str.:_.0fkbps
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0x10
push 0x406fcc
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 8
jmp 0x403597
jne 0x40351d
mov eax, str.1000
jmp 0x403581
cmp ecx, 0xffffffff
jne 0x403529
mov eax, 0x406fd8
jmp 0x403581
cmp ecx, 0xfffffffe
jne 0x403535
mov eax, 0x406fdc
jmp 0x403581
cmp ecx, 0xfffffffd
jne 0x403541
mov eax, 0x406fe0
jmp 0x403581
cmp ecx, 0xfffffffc
jne 0x40354d
mov eax, 0x406fe4
jmp 0x403581
cmp ecx, 0xfffffffb
jne 0x403559
mov eax, 0x406fe8
jmp 0x403581
cmp ecx, 0xfffffffa
jne 0x403565
mov eax, 0x406fec
jmp 0x403581
cmp ecx, 0xfffffff9
jne 0x403571
mov eax, 0x406ff0
jmp 0x403581
cmp ecx, 0xfffffff8
mov eax, 0x406ff4
mov edx, 0x406300
cmovne eax, edx
push eax
push str.Baudrate_skbps...
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
push 1
call esi
add esp, 4
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
movups xmm0, xmmword [esp + 0x54]
sub esp, 0x14
mov ecx, 0x40a4a8
mov eax, esp
movups xmmword [eax], xmm0
movq xmm0, qword [esp + 0x78]
movq qword [eax + 0x10], xmm0
call dword [sym.imp.uvKvaserCAN.dll_public_virtual:_int___thiscall_CKvaserCAN::StartController_union_can_bitrate_t__]
mov edi, eax
test edi, edi
je 0x4035f0
push str.FAILED__n
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 8
push edi
push str._error:_CAN_Controller_could_not_be_started___i__n
push 2
jmp 0x403746
push str.OK__n
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
mov eax, dword [esp + 0x2c]
add esp, 8
sub eax, 1
je 0x4036b4
sub eax, 1
je 0x40367e
sub eax, 1
je 0x403648
cmp dword [esp + 0x3c], 0
setne al
cmp dword [esp + 0x38], 0
movzx eax, al
push eax
mov eax, dword [esp + 0x90]
cdq
push edx
push eax
setne al
movzx eax, al
push eax
call fcn.004043c0
jmp 0x4036ea
mov eax, dword [esp + 0x8c]
cdq
push edx
push eax
push dword [esp + 0x84]
mov eax, dword [esp + 0x94]
push dword [esp + 0x80]
cdq
push dword [esp + 0xa0]
push 1
push dword [esp + 0x64]
push edx
push eax
call fcn.00403e90
jmp 0x4036ea
mov eax, dword [esp + 0x8c]
cdq
push edx
push eax
push dword [esp + 0x84]
mov eax, dword [esp + 0x94]
push dword [esp + 0x80]
cdq
push dword [esp + 0xa0]
push 0
push dword [esp + 0x64]
push edx
push eax
call fcn.00403e90
jmp 0x4036ea
mov eax, dword [esp + 0x8c]
cdq
push edx
push eax
push dword [esp + 0x84]
push dword [esp + 0x80]
push dword [esp + 0xa0]
push dword [esp + 0x60]
push dword [esp + 0xc4]
push dword [esp + 0xc4]
call fcn.004039d0
mov ecx, 0x40a4a8
call dword [sym.imp.uvKvaserCAN.dll_public_virtual:_char____thiscall_CKvaserCAN::GetHardwareVersion_void_]
test eax, eax
je 0x40370f
push eax
push str.Hardware:__s_n
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov ecx, 0x40a4a8
call dword [sym.imp.uvKvaserCAN.dll_public_virtual:_char____thiscall_CKvaserCAN::GetFirmwareVersion_void_]
test eax, eax
je 0x403734
push eax
push str.Firmware:__s_n
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
call dword [sym.imp.uvKvaserCAN.dll_public:_static_char____cdecl_CKvaserCAN::GetVersion_void_]
test eax, eax
je 0x403754
push eax
push str.Software:__s_n
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov ecx, 0x40a4a8
call dword [sym.imp.uvKvaserCAN.dll_public_virtual:_int___thiscall_CKvaserCAN::TeardownChannel_void_]
mov edi, eax
test edi, edi
je 0x40377b
push edi
push str._error:_CAN_Controller_could_not_be_reset___i__n
push 2
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
push str.Copyright__c__2008_2010_2014_2023_by_Uwe_Vogt__UV_Software__Berlin
push 0x4070a8
push 1
call esi
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, edi
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str.can_test
push str._s:_not_enough_arguments_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.004011f0
add esp, 0xc
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x7e4]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret
push str._error
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
add esp, 4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, dword [esp + 0x7ec]
pop edi
pop esi
mov eax, dword [eax]
xor ecx, esp
call fcn.004049b2
mov esp, ebp
pop ebp
ret