Function at 0x14017de40
Capabilities:
Create thread
Encode data using xor
Hash data using fnv
Read file on windows
Resume thread
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x1404af540]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov r12, rcx
mov qword [rbp - 0x38], rcx
xor edi, edi
mov dword [rbp - 0x28], edi
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
mov r9d, dword [0x1404c5708]
lea r8, str.COM_d
mov r15, 0xffffffffffffffff
mov rdx, r15
lea rcx, [rbp + 0x80]
call fcn.1400d0a80
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc0000000
lea rcx, [rbp + 0x80]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [0x1404af5e8], rax
cmp rax, r15
je 0x14017f243
mov edx, 0x400
mov r8d, 0x200
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetupComm]
mov qword [rbp + 0x20], rdi
mov dword [rbp + 0x28], 0x96
mov eax, 0x4b00
cdq
idiv dword [0x1404c570c]
mov dword [rbp + 0x2c], eax
mov dword [rbp + 0x30], reloc.SinoSPE.dll_Ordinal_25
lea rdx, [rbp + 0x20]
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_SetCommTimeouts]
test eax, eax
je 0x14017f039
xorps xmm0, xmm0
movdqu xmmword [rbp + 4], xmm0
mov qword [rbp + 0x14], rdi
mov dword [rbp], Ordinal_32
lea rdx, [rbp]
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_GetCommState]
mov eax, dword [0x1404c570c]
mov dword [rbp + 4], eax
movzx eax, byte [0x1404c5710]
mov byte [rbp + 0x12], al
movzx eax, byte [0x1404c5714]
mov byte [rbp + 0x14], al
movzx eax, byte [0x1404c5718]
mov byte [rbp + 0x13], al
mov ecx, dword [0x1404c5720]
and ecx, 3
shl ecx, 8
mov eax, dword [0x1404c571c]
and eax, 3
or ecx, eax
shl ecx, 4
mov eax, dword [rbp + 8]
and eax, 0xffffcfcf
or ecx, eax
or ecx, 3
mov dword [rbp + 8], ecx
lea rdx, [rbp]
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_SetCommState]
test eax, eax
je 0x14017eef7
mov dword [rbp - 0x2c], edi
mov dword [rbp - 0x30], edi
mov dword [rbp + 0x38], 0x15528080
mov dword [rbp + 0x3c], 0x15520000
xor eax, eax
mov qword [rbp + 0x70], rax
mov word [rbp + 0x78], ax
mov r13b, 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rdi
mov r8d, reloc.SinoSPE.dll_Ordinal_24
lea rdx, str.TEMP_METER_NOT_SUPPORTED
lea rcx, [rsp + 0x60]
call fcn.140006340
nop
call fcn.1401d56e0
mov rsi, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], rdi
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rbp - 0x20]
call fcn.140006340
nop
mov dword [rbp - 0x28], 8
mov rbx, qword [rsp + 0x78]
mov r14, qword [rsp + 0x60]
mov r8, qword [rsp + 0x70]
test r8, r8
je 0x14017e0f1
lea rdx, [rsp + 0x60]
cmp rbx, 7
cmova rdx, r14
xor ecx, ecx
movabs r9, 0xcbf29ce484222325
add r8, r8
je 0x14017e0a3
movabs r10, 0x100000001b3
nop dword [rax + rax]
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x14017e090
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x58]
lea rcx, [rsi + 8]
call fcn.140125c20
mov r8, qword [rax + 8]
test r8, r8
jne 0x14017e0c2
mov r8, qword [rsi + 0x10]
cmp r8, qword [rsi + 0x10]
je 0x14017e0ef
add r8, 0x30
lea rax, [rbp - 0x20]
cmp rax, r8
je 0x14017e0ef
mov rdx, r8
cmp qword [r8 + 0x18], 7
jbe 0x14017e0e2
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
lea rcx, [rbp - 0x20]
call fcn.1400050d0
xor edi, edi
mov eax, 4
mov dword [rbp - 0x60], eax
mov dword [rbp - 0x28], eax
cmp rbx, 7
jbe 0x14017e10d
mov r8, rbx
mov rdx, r14
call fcn.140006010
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], di
mov edx, reloc.SinoSPE.dll_Ordinal_15
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_PurgeComm]
mov r14d, edi
mov eax, dword [0x1404c5704]
test eax, eax
jle 0x14017e6af
lea rsi, str.UNIT_NONE
lea rcx, [0x1404af770]
mov dword [rbp - 0x2c], edi
mov dword [rbp - 0x30], edi
movsxd rax, r14d
lea rbx, [rcx + rax*4]
mov dword [rbx], r15d
lea eax, [r14 + 0x80]
mov byte [rbp + 0x38], al
mov byte [rbp + 0x39], al
lea eax, [r14 + 0x52]
mov byte [rbp + 0x3e], al
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_PurgeComm]
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x30]
mov r8d, 8
lea rdx, [rbp + 0x38]
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14017e42e
cmp dword [rbp - 0x30], 8
jne 0x14017e42e
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x2c]
mov r8d, 0xa
lea rdx, [rbp + 0x70]
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14017e42e
cmp dword [rbp - 0x2c], 0xa
jne 0x14017e42e
movzx r12d, word [rbp + 0x76]
mov ecx, edi
lea rax, [0x140410b70]
nop dword [rax]
cmp dword [rax], r12d
je 0x14017e212
inc ecx
add rax, 4
cmp rax, rsi
jl 0x14017e200
jmp 0x14017e214
mov dword [rbx], ecx
cmp dword [rbx], 0
jge 0x14017e42e
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
cmp rcx, rdx
jae 0x14017e248
lea rax, [rcx + 1]
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x20]
cmp rdx, 7
cmova rax, qword [rbp - 0x20]
mov dword [rax + rcx*2], 0xa
jmp 0x14017e257
mov r9d, 0xa
lea rcx, [rbp - 0x20]
call fcn.140003990
mov edx, r14d
lea rcx, [rsp + 0x60]
call fcn.140003cb0
nop
mov r9, rax
cmp qword [rax + 0x18], 7
jbe 0x14017e272
mov r9, qword [rax]
mov rdi, qword [rax + 0x10]
mov rsi, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
mov rax, rcx
sub rax, rsi
cmp rdi, rax
ja 0x14017e2ba
lea rax, [rdi + rsi]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rcx, 7
cmova rbx, qword [rbp - 0x20]
lea rcx, [rbx + rsi*2]
lea r8, [rdi + rdi]
mov rdx, r9
call sub.VCRUNTIME140.dll_memmove
lea rax, [rsi + rdi]
xor esi, esi
mov word [rbx + rax*2], si
jmp 0x14017e2cd
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.140003d80
xor esi, esi
mov r8, qword [rsp + 0x78]
cmp r8, 7
jbe 0x14017e2e2
mov rdx, qword [rsp + 0x60]
call fcn.140006010
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], si
mov rdi, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
mov rax, rcx
sub rax, rdi
cmp rax, 3
jb 0x14017e33b
lea rax, [rdi + 3]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rcx, 7
cmova rbx, qword [rbp - 0x20]
lea rcx, [rbx + rdi*2]
mov r8d, 6
lea rdx, [0x14041d100]
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + rdi*2 + 6], si
jmp 0x14017e359
mov qword [rsp + 0x20], 3
lea r9, [0x14041d100]
mov edx, 3
lea rcx, [rbp - 0x20]
call fcn.140003d80
mov edx, r12d
lea rcx, [rsp + 0x60]
call fcn.140003cb0
nop
mov r9, rax
cmp qword [rax + 0x18], 7
jbe 0x14017e374
mov r9, qword [rax]
mov rdi, qword [rax + 0x10]
mov rsi, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
mov rax, rcx
sub rax, rsi
cmp rdi, rax
ja 0x14017e3bc
lea rax, [rsi + rdi]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rcx, 7
cmova rbx, qword [rbp - 0x20]
lea rcx, [rbx + rsi*2]
lea r8, [rdi + rdi]
mov rdx, r9
call sub.VCRUNTIME140.dll_memmove
lea rax, [rsi + rdi]
xor edi, edi
mov word [rbx + rax*2], di
jmp 0x14017e3cf
mov qword [rsp + 0x20], rdi
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.140003d80
xor edi, edi
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x14017e411
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017e40c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14017e58b
call fcn.1403ca488
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], di
xor r13b, r13b
lea rsi, str.UNIT_NONE
inc r14d
mov eax, dword [0x1404c5704]
cmp r14d, eax
jl 0x14017e14a
test r13b, r13b
jne 0x14017e6ab
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x1404af5e8], r15
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rbp + 0x40]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
mov r8d, 9
lea rdx, str.MSGBOX_OK
lea rcx, [rbp - 0x80]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x48], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rbp - 0x58]
call fcn.140006340
nop
lea rdx, [rbp - 0x20]
cmp qword [rbp - 8], 7
cmova rdx, qword [rbp - 0x20]
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
nop dword [rax + rax]
inc r15
cmp word [rdx + r15*2], 0
jne 0x14017e4f0
mov r8, r15
lea rcx, [rsp + 0x60]
call fcn.140006340
nop
mov dword [rsp + 0x50], reloc.SinoSPE.dll_Ordinal_48
mov byte [rsp + 0x48], 1
lea rax, [rbp + 0x40]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
lea rax, [rbp - 0x58]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x60]
mov rcx, qword [rbp - 0x38]
call fcn.140120d20
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x14017e598
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017e592
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017e592
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1403ca488
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 7
jbe 0x14017e5dc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017e5d6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017e5d6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x14017e620
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017e61a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017e61a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 7
jbe 0x14017e661
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017e65b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14017ea55
call fcn.1403ca488
nop
mov rdx, qword [rbp - 8]
cmp rdx, 7
jbe 0x14017f432
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017f42d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017f42d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov r12, qword [rbp - 0x38]
mov r14d, r15d
mov edi, r15d
xor r13d, r13d
mov esi, r13d
mov ebx, 1
test eax, eax
jle 0x14017ea99
nop dword [rax + rax]
mov dword [rbp - 0x2c], r13d
mov dword [rbp - 0x30], r13d
lea eax, [rsi + 0x80]
mov byte [rbp + 0x38], al
mov byte [rbp + 0x39], al
lea eax, [rsi + 0x52]
mov byte [rbp + 0x3e], al
mov byte [rbp + 0x3b], VariantTimeToDosDateTime
mov byte [rbp + 0x3f], VariantTimeToDosDateTime
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_PurgeComm]
mov qword [rsp + 0x20], r13
lea r9, [rbp - 0x30]
mov r8d, 8
lea rdx, [rbp + 0x38]
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14017e75d
cmp dword [rbp - 0x30], 8
jne 0x14017e75d
mov qword [rsp + 0x20], r13
lea r9, [rbp - 0x2c]
mov r8d, 0xa
lea rdx, [rbp + 0x70]
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14017e75d
cmp dword [rbp - 0x2c], 0xa
jne 0x14017e75d
movzx r14d, word [rbp + 0x76]
test r14d, r14d
je 0x14017e7eb
mov dword [rbp - 0x2c], r13d
mov dword [rbp - 0x30], r13d
mov byte [rbp + 0x3b], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov byte [rbp + 0x3f], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_PurgeComm]
mov qword [rsp + 0x20], r13
lea r9, [rbp - 0x30]
mov r8d, 8
lea rdx, [rbp + 0x38]
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14017e7eb
cmp dword [rbp - 0x30], 8
jne 0x14017e7eb
mov qword [rsp + 0x20], r13
lea r9, [rbp - 0x2c]
mov r8d, 0xa
lea rdx, [rbp + 0x70]
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14017e7eb
cmp dword [rbp - 0x2c], 0xa
jne 0x14017e7eb
movzx ebx, word [rbp + 0x76]
cmp ebx, 3
mov eax, 1
cmova ebx, eax
test edi, edi
js 0x14017e927
cmp ebx, edi
je 0x14017e929
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x1404af5e8], r15
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x48], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rbp - 0x58]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
mov r8d, 9
lea rdx, str.MSGBOX_OK
lea rcx, [rsp + 0x60]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rbp - 0x80]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
mov r8d, Ordinal_23
lea rdx, str.TEMP_METER_DPT_ERROR
lea rcx, [rbp + 0x40]
call fcn.140006340
nop
mov dword [rsp + 0x50], reloc.SinoSPE.dll_Ordinal_48
mov byte [rsp + 0x48], 1
lea rax, [rbp - 0x58]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8b, 1
lea rdx, [rbp + 0x40]
mov rcx, r12
call fcn.140120d20
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 7
jbe 0x14017e988
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017e982
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017e982
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov edi, ebx
inc esi
mov ebx, 1
cmp esi, dword [0x1404c5704]
jl 0x14017e6d0
test edi, edi
je 0x14017ea86
sub edi, 2
je 0x14017ea5c
cmp edi, ebx
jne 0x14017ea99
mov dword [reloc.SinoSPE.dll_Ordinal_10], 0x3e8
mov dword [reloc.SinoSPE.dll_Ordinal_10], 0x3e8
mov dword [reloc.SinoSPE.dll_Ordinal_1], 3
mov dword [reloc.SinoSPE.dll_Ordinal_1], 3
jmp 0x14017ea99
call fcn.1403ca488
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x14017e9cc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017e9c6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017e9c6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x14017ea12
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017ea0c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017ea0c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 7
jbe 0x14017e661
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017e65b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017e65b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov dword [reloc.SinoSPE.dll_Ordinal_10], 0x64
mov dword [reloc.SinoSPE.dll_Ordinal_10], 0x64
mov dword [reloc.SinoSPE.dll_Ordinal_1], 2
mov dword [reloc.SinoSPE.dll_Ordinal_1], 2
jmp 0x14017ea99
mov dword [reloc.SinoSPE.dll_Ordinal_10], ebx
mov dword [reloc.SinoSPE.dll_Ordinal_10], ebx
mov qword [0x1404af730], r13
mov dword [rbp - 0x28], r13d
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
mov edi, 4
mov dword [rsp + 0x20], edi
xor r9d, r9d
lea r8, [0x140183c50]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [0x1404c4898], rax
test rax, rax
je 0x14017ecce
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov dword [reloc.SinoSPE.dll_Ordinal_1], r13d
mov ebx, r13d
cmp dword [0x1404c5704], r13d
jle 0x14017ecaa
mov r14d, 0x5d
nop dword [rax + rax]
lea ecx, [rbx + 0x2100]
call qword [sym.imp.calcbase64.dll_GetChannelById]
mov rsi, rax
mov dword [rax + 0xec], 2
lea rcx, [rax + 0x60]
mov rdx, qword [rcx + 0x18]
cmp rdx, 3
jb 0x14017eb5a
mov rdi, rcx
cmp rdx, 7
jbe 0x14017eb33
mov rdi, qword [rcx]
mov qword [rcx + 0x10], 3
mov r8d, 6
lea rdx, [0x1404282f0]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + 6], r13w
mov edi, dword [rbp - 0x60]
jmp 0x14017eb6b
lea r9, [0x1404282f0]
mov edx, 3
call fcn.140004f70
lea r9, [rbp + 0x6a]
mov r8d, ebx
test ebx, ebx
jns 0x14017ebc0
neg r8d
nop dword [rax]
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x14017eb80
add r9, 0xfffffffffffffffe
mov word [r9], Ordinal_48
jmp 0x14017ebf0
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x14017ebc0
lea r8, [rbp + 0x6a]
mov rdx, r9
lea rcx, [rsp + 0x60]
call fcn.140003b60
or edi, 3
mov dword [rbp - 0x60], edi
lea rdx, [rsp + 0x60]
cmp qword [rsp + 0x78], 7
cmova rdx, qword [rsp + 0x60]
lea rcx, [rsi + 0x60]
mov r8, qword [rsp + 0x70]
call fcn.140003f40
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x14017ec69
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017ec64
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14017eef0
call fcn.1403ca488
lea rcx, [rsi + 0x60]
mov rdx, qword [rcx + 0x10]
mov r8, qword [rcx + 0x18]
cmp rdx, r8
jae 0x14017ec94
lea rax, [rdx + 1]
mov qword [rcx + 0x10], rax
cmp r8, 7
jbe 0x14017ec8b
mov rcx, qword [rcx]
mov dword [rcx + rdx*2], 0x5d
jmp 0x14017ec9c
mov r9d, r14d
call fcn.140003990
inc ebx
cmp ebx, dword [0x1404c5704]
jl 0x14017eb00
mov edx, reloc.SinoSPE.dll_Ordinal_15
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_PurgeComm]
mov rcx, qword [0x1404c4898]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
jmp 0x14017e661
mov dword [reloc.SinoSPE.dll_Ordinal_1], ebx
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x1404af5e8], r15
mov dword [rsp + 0x28], ebx
xor r9d, r9d
lea r8, str.Create_thread_failed.
lea rdx, [0x1404397d8]
lea rcx, str.TempMeter
call fcn.14016ca80
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x48], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rbp - 0x58]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
mov r8d, 9
lea rdx, str.MSGBOX_OK
lea rcx, [rsp + 0x60]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rbp - 0x80]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
mov r8d, reloc.SinoSPE.dll_Ordinal_21
lea rdx, str.TEMP_METER_RUN_FAILED
lea rcx, [rbp + 0x40]
call fcn.140006340
nop
mov dword [rsp + 0x50], reloc.SinoSPE.dll_Ordinal_48
mov byte [rsp + 0x48], 1
lea rax, [rbp - 0x58]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8b, 1
lea rdx, [rbp + 0x40]
mov rcx, r12
call fcn.140120d20
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 7
jbe 0x14017ee23
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017ee1d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017ee1d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x14017ee67
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017ee61
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017ee61
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x14017eead
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017eea7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017eea7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp - 0x40]
cmp rdx, 7
jbe 0x14017e661
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017e65b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017e65b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x1404af5e8], r15
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rsp + 0x60]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
mov r8d, 9
lea rdx, str.MSGBOX_OK
lea rcx, [rbp - 0x80]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rbp + 0x40]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x48], xmm1
mov r8d, Ordinal_32
lea rdx, str.TEMP_METER_SET_PARAM_FAILED
lea rcx, [rbp - 0x58]
call fcn.140006340
nop
mov dword [rsp + 0x50], reloc.SinoSPE.dll_Ordinal_48
mov byte [rsp + 0x48], 1
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov r8b, 1
lea rdx, [rbp - 0x58]
mov rcx, r12
call fcn.140120d20
nop
lea rcx, [rbp - 0x58]
call fcn.140006060
nop
mov r8, qword [rbp + 0x58]
cmp r8, 7
jbe 0x14017f007
mov rdx, qword [rbp + 0x40]
call fcn.140006010
nop
mov r8, qword [rbp - 0x68]
cmp r8, 7
jbe 0x14017f01b
mov rdx, qword [rbp - 0x80]
call fcn.140006010
nop
mov r8, qword [rsp + 0x78]
cmp r8, 7
jbe 0x14017f432
mov rdx, qword [rsp + 0x60]
call fcn.140006010
jmp 0x14017f432
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rcx, qword [0x1404af5e8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x1404af5e8], r15
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rbp]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
mov r8d, 9
lea rdx, str.MSGBOX_OK
lea rcx, [rsp + 0x60]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rbp - 0x80]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
mov r8d, Ordinal_32
lea rdx, str.TEMP_METER_SET_PARAM_FAILED
lea rcx, [rbp + 0x40]
call fcn.140006340
nop
mov dword [rsp + 0x50], reloc.SinoSPE.dll_Ordinal_48
mov byte [rsp + 0x48], 1
lea rax, [rbp]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov r8b, 1
lea rdx, [rbp + 0x40]
mov rcx, r12
call fcn.140120d20
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 7
jbe 0x14017f16f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017f169
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017f169
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x14017f1b3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017f1ad
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017f1ad
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x14017f1f9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017f1f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017f1f3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 7
jbe 0x14017f432
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017f42d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017f42d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rbp]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
mov r8d, 9
lea rdx, str.MSGBOX_OK
lea rcx, [rsp + 0x60]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
xor r8d, r8d
lea rdx, [0x140419d94]
lea rcx, [rbp - 0x80]
call fcn.140006340
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
mov r8d, Ordinal_23
lea rdx, str.TEMP_METER_OPEN_FAILED
lea rcx, [rbp + 0x40]
call fcn.140006340
nop
mov dword [rsp + 0x50], reloc.SinoSPE.dll_Ordinal_48
mov byte [rsp + 0x48], 1
lea rax, [rbp]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov r8b, 1
lea rdx, [rbp + 0x40]
mov rcx, r12
call fcn.140120d20
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 7
jbe 0x14017f365
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017f35f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017f35f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x14017f3a9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017f3a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017f3a3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x14017f3ef
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017f3e9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017f3e9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 7
jbe 0x14017f432
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14017f42d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14017f42d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403ca488
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1403ca460
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret