Function at 0x1400771b1
Capabilities:
Link many functions at runtime

Disassembly:
jmp 0x14007c010
push rbp
push rdi
sub rsp, 0x298
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x6a
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x14019f018]
xor rax, rbp
mov qword [rbp + 0x258], rax
lea rcx, [0x1401b10a4]
call fcn.140078282
mov dword [rbp + 0x24], 0
lea rax, [rbp + 0x50]
mov rdi, rax
xor eax, eax
mov ecx, 0x68
rep stosb byte [rdi], al
lea rax, [rbp + 0xd8]
mov rdi, rax
xor eax, eax
mov ecx, 0x14
rep stosb byte [rdi], al
mov byte [rbp + 0x104], 0
mov dword [rbp + 0x124], 0
xor eax, eax
mov word [rbp + 0x144], ax
mov byte [rbp + 0x164], 0
mov byte [rbp + 0x184], 0xff
mov dword [rbp + 0xd8], 0x1388
movzx eax, byte [rbp + 0x184]
mov byte [rbp + 0xdc], al
mov dword [rbp + 0xe0], 0
mov dword [rbp + 0xe4], 0
lea rcx, str.libMPSSE.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x14007c0f8
lea rcx, str.Failed_loading_libMPSSE.dll.__t_t_nPlease_check_if_the_file_exists_in_the_working_directory_n
call fcn.140076801
mov ecx, 1
call fcn.1400753f7
lea rdx, str.SPI_GetNumChannels
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401a0908], rax
cmp qword [0x1401a0908], 0
jne 0x14007c14a
mov eax, dword [0x14019f008]
add eax, 0x34
lea r9, str.main
mov r8d, eax
lea rdx, str.C:Userskm.choiDownloadslibMPSSE__0.6_samplesSPISPI_sample_dynamic.c
lea rcx, str._s:_d:_s__:__NULL_expression_encountered__n
call fcn.140076801
mov ecx, 1
call fcn.1400753f7
lea rdx, str.SPI_GetChannelInfo
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401a0900], rax
cmp qword [0x1401a0900], 0
jne 0x14007c19c
mov eax, dword [0x14019f008]
add eax, 0x37
lea r9, str.main
mov r8d, eax
lea rdx, str.C:Userskm.choiDownloadslibMPSSE__0.6_samplesSPISPI_sample_dynamic.c
lea rcx, str._s:_d:_s__:__NULL_expression_encountered__n
call fcn.140076801
mov ecx, 1
call fcn.1400753f7
lea rdx, str.SPI_OpenChannel
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401a0388], rax
cmp qword [0x1401a0388], 0
jne 0x14007c1ee
mov eax, dword [0x14019f008]
add eax, 0x3a
lea r9, str.main
mov r8d, eax
lea rdx, str.C:Userskm.choiDownloadslibMPSSE__0.6_samplesSPISPI_sample_dynamic.c
lea rcx, str._s:_d:_s__:__NULL_expression_encountered__n
call fcn.140076801
mov ecx, 1
call fcn.1400753f7
lea rdx, str.SPI_InitChannel
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401a0370], rax
cmp qword [0x1401a0370], 0
jne 0x14007c240
mov eax, dword [0x14019f008]
add eax, 0x3d
lea r9, str.main
mov r8d, eax
lea rdx, str.C:Userskm.choiDownloadslibMPSSE__0.6_samplesSPISPI_sample_dynamic.c
lea rcx, str._s:_d:_s__:__NULL_expression_encountered__n
call fcn.140076801
mov ecx, 1
call fcn.1400753f7
lea rdx, str.SPI_Read
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401a0350], rax
cmp qword [0x1401a0350], 0
jne 0x14007c292
mov eax, dword [0x14019f008]
add eax, 0x3f
lea r9, str.main
mov r8d, eax
lea rdx, str.C:Userskm.choiDownloadslibMPSSE__0.6_samplesSPISPI_sample_dynamic.c
lea rcx, str._s:_d:_s__:__NULL_expression_encountered__n
call fcn.140076801
mov ecx, 1
call fcn.1400753f7
lea rdx, str.SPI_Write
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401a0348], rax
cmp qword [0x1401a0348], 0
jne 0x14007c2e4
mov eax, dword [0x14019f008]
add eax, 0x41
lea r9, str.main
mov r8d, eax
lea rdx, str.C:Userskm.choiDownloadslibMPSSE__0.6_samplesSPISPI_sample_dynamic.c
lea rcx, str._s:_d:_s__:__NULL_expression_encountered__n
call fcn.140076801
mov ecx, 1
call fcn.1400753f7
lea rdx, str.SPI_CloseChannel
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401a0358], rax
cmp qword [0x1401a0358], 0
jne 0x14007c336
mov eax, dword [0x14019f008]
add eax, 0x44
lea r9, str.main
mov r8d, eax
lea rdx, str.C:Userskm.choiDownloadslibMPSSE__0.6_samplesSPISPI_sample_dynamic.c
lea rcx, str._s:_d:_s__:__NULL_expression_encountered__n
call fcn.140076801
mov ecx, 1
call fcn.1400753f7
lea rdx, str.SPI_IsBusy
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401a0340], rax
cmp qword [0x1401a0340], 0
jne 0x14007c388
mov eax, dword [0x14019f008]
add eax, 0x46
lea r9, str.main
mov r8d, eax
lea rdx, str.C:Userskm.choiDownloadslibMPSSE__0.6_samplesSPISPI_sample_dynamic.c
lea rcx, str._s:_d:_s__:__NULL_expression_encountered__n
call fcn.140076801
mov ecx, 1
call fcn.1400753f7
lea rdx, str.SPI_ReadWrite
mov rcx, qword [rbp + 8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1401a0338], rax
cmp qword [0x1401a0338], 0
jne 0x14007c3da
mov eax, dword [0x14019f008]
add eax, 0x48
lea r9, str.main
mov r8d, eax
lea rdx, str.C:Userskm.choiDownloadslibMPSSE__0.6_samplesSPISPI_sample_dynamic.c
lea rcx, str._s:_d:_s__:__NULL_expression_encountered__n
call fcn.140076801
mov ecx, 1
call fcn.1400753f7
lea rcx, [rbp + 0x124]
call qword [0x1401a0908]
mov dword [rbp + 0x24], eax
cmp dword [rbp + 0x24], 0
je 0x14007c427
mov eax, dword [0x14019f008]
add eax, 0x4b
mov ecx, dword [rbp + 0x24]
mov dword [rsp + 0x20], ecx
lea r9, str.main
mov r8d, eax
lea rdx, str.C:Userskm.choiDownloadslibMPSSE__0.6_samplesSPISPI_sample_dynamic.c
lea rcx, str._s:_d:_s__:_status_0x_x____FT_OK_n
call fcn.140076801
mov ecx, 1
call fcn.1400753f7
mov edx, dword [rbp + 0x124]
lea rcx, str.Number_of_available_SPI_channels___d_n
call fcn.140076801
cmp dword [rbp + 0x124], 0
jbe 0x14007c6d3
mov byte [rbp + 0x164], 0
jmp 0x14007c45e
movzx eax, byte [rbp + 0x164]
inc al
mov byte [rbp + 0x164], al
movzx eax, byte [rbp + 0x164]
cmp eax, dword [rbp + 0x124]
jae 0x14007c54c
movzx eax, byte [rbp + 0x164]
lea rdx, [rbp + 0x50]
mov ecx, eax
call qword [0x1401a0900]
mov dword [rbp + 0x24], eax
cmp dword [rbp + 0x24], 0
je 0x14007c4c4
mov eax, dword [0x14019f008]
add eax, 0x53
mov ecx, dword [rbp + 0x24]
mov dword [rsp + 0x20], ecx
lea r9, str.main
mov r8d, eax
lea rdx, str.C:Userskm.choiDownloadslibMPSSE__0.6_samplesSPISPI_sample_dynamic.c
lea rcx, str._s:_d:_s__:_status_0x_x____FT_OK_n
call fcn.140076801
mov ecx, 1
call fcn.1400753f7
movzx eax, byte [rbp + 0x164]
mov edx, eax
lea rcx, str.Information_on_channel_number__d:_n
call fcn.140076801
mov edx, dword [rbp + 0x50]
lea rcx, str._t_tFlags0x_x_n
call fcn.140076801
mov edx, dword [rbp + 0x54]
lea rcx, str._t_tType0x_x_n
call fcn.140076801
mov edx, dword [rbp + 0x58]
lea rcx, str._t_tID0x_x_n
call fcn.140076801
mov edx, dword [rbp + 0x5c]
lea rcx, str._t_tLocId0x_x_n
call fcn.140076801
lea rdx, [rbp + 0x60]
lea rcx, str._t_tSerialNumber_s_n
call fcn.140076801
lea rdx, [rbp + 0x70]
lea rcx, str._t_tDescription_s_n
call fcn.140076801
mov edx, dword [rbp + 0xb0]
lea rcx, str._t_tftHandle0x_x_n
call fcn.140076801
jmp 0x14007c44f
lea rdx, [0x1401a0220]
xor ecx, ecx
call qword [0x1401a0388]
mov dword [rbp + 0x24], eax
cmp dword [rbp + 0x24], 0
je 0x14007c59b
mov eax, dword [0x14019f008]
add eax, 0x61
mov ecx, dword [rbp + 0x24]
mov dword [rsp + 0x20], ecx
lea r9, str.main
mov r8d, eax
lea rdx, str.C:Userskm.choiDownloadslibMPSSE__0.6_samplesSPISPI_sample_dynamic.c
lea rcx, str._s:_d:_s__:_status_0x_x____FT_OK_n
call fcn.140076801
mov ecx, 1
call fcn.1400753f7
mov r8d, dword [rbp + 0x24]
mov edx, dword [0x1401a0220]
lea rcx, str._nhandle0x_x_status0x_x_n
call fcn.140076801
lea rdx, [rbp + 0xd8]
mov rcx, qword [0x1401a0220]
call qword [0x1401a0370]
mov dword [rbp + 0x24], eax
cmp dword [rbp + 0x24], 0
je 0x14007c605
mov eax, dword [0x14019f008]
add eax, 0x64
mov ecx, dword [rbp + 0x24]
mov dword [rsp + 0x20], ecx
lea r9, str.main
mov r8d, eax
lea rdx, str.C:Userskm.choiDownloadslibMPSSE__0.6_samplesSPISPI_sample_dynamic.c
lea rcx, str._s:_d:_s__:_status_0x_x____FT_OK_n
call fcn.140076801
mov ecx, 1
call fcn.1400753f7
mov byte [rbp + 0x104], 0
jmp 0x14007c61d
movzx eax, byte [rbp + 0x104]
inc al
mov byte [rbp + 0x104], al
movzx eax, byte [rbp + 0x104]
cmp eax, 0x10
jge 0x14007c669
movzx eax, byte [rbp + 0x104]
add eax, 4
movzx ecx, byte [rbp + 0x104]
mov r8d, eax
mov edx, ecx
lea rcx, str.writing_address___02d_data___d_n
call fcn.140076801
movzx eax, byte [rbp + 0x104]
add eax, 4
movzx r8d, ax
movzx edx, byte [rbp + 0x104]
xor ecx, ecx
call fcn.14007cd00
jmp 0x14007c60e
mov byte [rbp + 0x104], 0
jmp 0x14007c681
movzx eax, byte [rbp + 0x104]
inc al
mov byte [rbp + 0x104], al
movzx eax, byte [rbp + 0x104]
cmp eax, 0x10
jge 0x14007c6c3
lea r8, [rbp + 0x144]
movzx edx, byte [rbp + 0x104]
xor ecx, ecx
call fcn.14007c9a0
movzx eax, word [rbp + 0x144]
movzx ecx, byte [rbp + 0x104]
mov r8d, eax
mov edx, ecx
lea rcx, str.reading_address___02d_data___d_n
call fcn.140076801
jmp 0x14007c672
mov rcx, qword [0x1401a0220]
call qword [0x1401a0358]
mov dword [rbp + 0x24], eax
lea rcx, str.pause
call fcn.1400767a7
xor eax, eax
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x14016b1d0]
call fcn.1400779a9
mov rax, rdi
mov rcx, qword [rbp + 0x258]
xor rcx, rbp
call fcn.14007688d
lea rsp, [rbp + 0x268]
pop rdi
pop rbp
ret