Function at 0x42cb50
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov rbx, rdx
mov rdi, rcx
mov edx, 0x200
mov rcx, rbx
call fcn.0077d6b8
mov r8, qword [rdi + 0x90]
lea rcx, [rdi + 0xa8]
cmp r8, 0xffffffffffffffff
je 0x42cbc5
mov rdx, qword [rdi + 0xa8]
cmp rcx, rdx
lea r10, [rdx + 0x10]
je 0x42cbc5
mov rax, rdx
mov r9, qword [rdx + 0x128]
cmp r8, r9
je 0x42d460
jmp 0x42cbbd
cmp r8, qword [rax + 0x128]
je 0x42d2d0
mov rax, qword [rax]
cmp rax, rcx
jne 0x42cbb0
xor r13d, r13d
mov r8d, 0x12
lea rdx, str.CONNECTION_REPORT_n
mov rcx, rbx
movabs rbp, 0x7fffffffffffffff
mov r11, rbp
sub r11, qword [rbx + 8]
mov r12, rbp
cmp r11, 0x11
jbe 0x42ced7
call fcn.0077d6a8
sub r12, qword [rbx + 8]
mov r8d, 0x12
mov rcx, rbx
lea rdx, str.Rig_ID__________:
cmp r12, 0x11
jbe 0x42ced7
call fcn.0077d6a8
test r13, r13
je 0x42d320
mov rdx, qword [r13 + 0xb8]
mov r11, rdx
mov r8, rdx
and r11d, 3
jne 0x42cef0
mov r12d, dword [r8]
add r8, 4
lea r14d, [r12 - 0x1010101]
not r12d
and r14d, r12d
mov r15d, r14d
and r15d, 0x80808080
je 0x42cc3e
mov r10d, r15d
lea r9, [r8 + 2]
shr r10d, 0x10
and r14d, 0x8080
cmovne r10d, r15d
cmove r8, r9
mov esi, r10d
add sil, r10b
sbb r8, 3
movabs rbp, 0x7fffffffffffffff
sub r8, rdx
mov rcx, rbp
sub rcx, qword [rax + 8]
cmp r8, rcx
ja 0x42ced7
mov rcx, rax
call fcn.0077d6a8
xor r8d, r8d
mov r9d, 1
mov rdx, qword [rax + 8]
mov dword [rsp + 0x20], 0xa
mov rcx, rax
call fcn.0077d700
sub rbp, qword [rbx + 8]
mov r8d, 0x12
mov rcx, rbx
lea rdx, str.Pool_address____:
cmp rbp, 0x11
jbe 0x42ced7
call fcn.0077d6a8
mov rdx, qword [r13 + 0x78]
mov r11, rdx
mov r8, rdx
and r11d, 3
jne 0x42cf70
mov r12d, dword [r8]
add r8, 4
lea r14d, [r12 - 0x1010101]
not r12d
and r14d, r12d
mov r15d, r14d
and r15d, 0x80808080
je 0x42ccfc
mov r10d, r15d
lea r9, [r8 + 2]
shr r10d, 0x10
and r14d, 0x8080
cmove r15d, r10d
cmove r8, r9
mov esi, r15d
add sil, r15b
sbb r8, 3
movabs rbp, 0x7fffffffffffffff
sub r8, rdx
mov rcx, rbp
sub rcx, qword [rax + 8]
cmp rcx, r8
jb 0x42ced7
mov rcx, rax
call fcn.0077d6a8
xor r8d, r8d
mov r9d, 1
mov rdx, qword [rax + 8]
mov dword [rsp + 0x20], 0xa
mov rcx, rax
call fcn.0077d700
sub rbp, qword [rbx + 8]
mov r8d, 0x12
mov rcx, rbx
lea rdx, str.Actual_address__:
cmp rbp, 0x11
jbe 0x42ced7
call fcn.0077d6a8
mov rdx, r13
mov r8, r13
and edx, 3
jne 0x42cf30
mov r11d, dword [r8]
add r8, 4
lea r12d, [r11 - 0x1010101]
not r11d
and r12d, r11d
mov r14d, r12d
and r14d, 0x80808080
je 0x42cdb5
mov r15d, r14d
lea r10, [r8 + 2]
shr r15d, 0x10
and r12d, 0x8080
cmove r14d, r15d
cmove r8, r10
mov ecx, r14d
add cl, r14b
sbb r8, 3
movabs rsi, 0x7fffffffffffffff
sub r8, r13
mov rdx, r13
mov rcx, rax
mov r9, rsi
sub r9, qword [rax + 8]
cmp r9, r8
jb 0x42ced7
call fcn.0077d6a8
mov r9d, 1
xor r8d, r8d
mov rdx, qword [rax + 8]
mov dword [rsp + 0x20], 0xa
mov rcx, rax
call fcn.0077d700
mov r8, rsi
lea rdx, str.Connected_since_:__not_connected__n
mov rcx, rbx
movzx eax, byte [r13 + 0x170]
test al, al
jne 0x42cfb0
sub r8, qword [rbx + 8]
cmp r8, 0x21
jbe 0x42ced7
mov r8d, 0x22
call fcn.0077d6a8
mov r8, qword [rdi + 0x188]
mov rcx, qword [rdi + 0x180]
mov r9d, 0x3f
mov r13, r8
sub r13, rcx
sar r13, 1
mov rbp, r13
cmp r13, 1
jbe 0x42d250
and rbp, 0xfffffffffffffffe
lea rdx, [rcx + rbp]
cmp r8, rdx
je 0x42d03f
cmp r8, rcx
je 0x42d03f
bsr rax, r13
xor rax, 0x3f
cdqe
sub r9, rax
add r9, r9
call fcn.004097b0
sub rsi, qword [rbx + 8]
cmp rsi, 0x11
ja 0x42d057
lea rcx, str.basic_string::append
call fcn.0077d5c0
nop dword [rax]
nop word cs:[rax + rax]
cmp r11, 2
je 0x42cf05
ja 0x42cf13
cmp byte [rdx], 0
je 0x42cc83
lea r8, [rdx + 1]
cmp byte [r8], 0
je 0x42cc83
add r8, 1
cmp byte [r8], 0
je 0x42cc83
add r8, 1
jmp 0x42cc3e
cmp rdx, 2
je 0x42cf47
ja 0x42cf55
cmp byte [r13], 0
je 0x42cdf9
lea r8, [r13 + 1]
cmp byte [r8], 0
je 0x42cdf9
add r8, 1
cmp byte [r8], 0
je 0x42cdf9
add r8, 1
jmp 0x42cdb5
cmp r11, 2
je 0x42cf85
ja 0x42cf93
cmp byte [rdx], 0
je 0x42cd41
lea r8, [rdx + 1]
cmp byte [r8], 0
je 0x42cd41
add r8, 1
cmp byte [r8], 0
je 0x42cd41
add r8, 1
jmp 0x42ccfc
movzx r11d, byte [r13 + 0x171]
test r11b, r11b
jne 0x42d471
mov r8d, 0x22
lea rdx, str.Connected_since_:__not_connected__n
mov rcx, rbx
movabs r12, 0x7fffffffffffffff
sub r12, qword [rbx + 8]
cmp r12, 0x21
jbe 0x42ced7
call fcn.0077d6a8
mov r8, qword [rdi + 0x188]
mov rcx, qword [rdi + 0x180]
mov r9d, 0x3f
mov r13, r8
sub r13, rcx
sar r13, 1
mov rbp, r13
cmp r13, 1
jbe 0x42d250
and rbp, 0xfffffffffffffffe
lea rdx, [rcx + rbp]
cmp r8, rdx
je 0x42d03f
cmp rcx, r8
je 0x42d03f
bsr rax, r13
xor rax, 0x3f
cdqe
sub r9, rax
add r9, r9
call fcn.004097b0
movabs r11, 0x7fffffffffffffff
sub r11, qword [rbx + 8]
cmp r11, 0x11
jbe 0x42ced7
mov rcx, rbx
mov r8d, 0x12
lea rsi, [rsp + 0x50]
lea rdx, str.Pool_ping_time__:
call fcn.0077d6a8
mov r14, qword [rdi + 0x180]
mov rcx, rsi
lea r9, [0x0078ec79]
mov r8d, 0x10
lea rdx, [0x00409720]
mov r12, rax
movzx ebp, word [r14 + rbp]
mov dword [rsp + 0x20], ebp
call fcn.00409730
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov rcx, r12
call fcn.0077d6a8
mov r8d, 4
movabs r15, 0x7fffffffffffffff
lea rdx, str._ms_n
sub r15, qword [rax + 8]
mov rcx, rax
cmp r15, 3
jbe 0x42d581
call fcn.0077d6a8
mov rcx, qword [rsp + 0x50]
add rsi, 0x10
cmp rcx, rsi
je 0x42d0f2
call sub.libstdc_6.dll_operator_delete_void_
lea rdx, str._nNetwork_error_log:_n
mov rcx, rbx
mov r8d, 0x14
movabs r10, 0x7fffffffffffffff
sub r10, qword [rbx + 8]
cmp r10, 0x13
jbe 0x42ced7
call fcn.0077d6a8
mov rsi, qword [rdi + 0xf0]
mov rdx, qword [rdi + 0xe8]
movabs rcx, 0xcccccccccccccccd
mov rbp, rsi
sub rbp, rdx
sar rbp, 3
imul rbp, rcx
cmp rdx, rsi
je 0x42d290
mov r8d, 0x51
lea r14, [rsp + 0x30]
lea rsi, [rsp + 0x50]
mov rcx, rbx
movabs r12, 0x7fffffffffffffff
lea rdx, str._Date_________________Error_text______________________________________________n
mov r9, r12
sub r9, qword [rbx + 8]
cmp r9, 0x50
jbe 0x42ced7
xor r15d, r15d
call fcn.0077d6a8
nop dword [rax + rax]
mov r8, qword [rdi + 0xe8]
lea r13, [r15 + r15*4]
mov rcx, r14
lea rax, [r8 + r13*8]
mov r13, qword [rax + 8]
mov rdx, qword [rax]
call fcn.004079f0
mov qword [rsp + 0x20], r13
mov edx, pe_nt_image_headers64
mov rcx, rsi
mov r9, rax
lea r8, str.__s____54.54s__n
call fcn.00409790
mov r11, rsi
mov r10d, dword [r11]
add r11, 4
lea eax, [r10 - 0x1010101]
not r10d
and eax, r10d
mov ecx, eax
and ecx, 0x80808080
je 0x42d1cd
mov edx, ecx
lea r8, [r11 + 2]
mov r9, r12
shr edx, 0x10
test eax, 0x8080
mov eax, ecx
cmove eax, edx
cmovne r8, r11
mov rdx, rsi
mov ecx, eax
add cl, al
mov rcx, rbx
sbb r8, 3
sub r9, qword [rbx + 8]
sub r8, rsi
cmp r8, r9
ja 0x42ced7
add r15, 1
call fcn.0077d6a8
cmp r15, rbp
jne 0x42d190
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movabs r8, 0x7fffffffffffffff
sub r8, qword [rbx + 8]
lea rdx, str.Pool_ping_time__:__n_a__n
mov rcx, rbx
cmp r8, 0x17
jbe 0x42ced7
mov r8d, 0x18
call fcn.0077d6a8
jmp 0x42d0f2
mov r8d, 0x10
lea rdx, str.Yay__No_errors._n
mov rcx, rbx
movabs rdi, 0x7fffffffffffffff
sub rdi, qword [rbx + 8]
cmp rdi, 0xf
jbe 0x42ced7
call fcn.0077d6a8
jmp 0x42d235
lea r13, [rax + 0x10]
cmp byte [r13 + 0x128], 0
je 0x42cbc8
mov rsi, qword [rdi + 0x98]
cmp rsi, 0xffffffffffffffff
je 0x42cbc5
cmp rsi, r9
jne 0x42d30d
jmp 0x42d579
cmp rsi, qword [rdx + 0x128]
je 0x42d570
mov rdx, qword [rdx]
cmp rcx, rdx
jne 0x42d300
jmp 0x42cbc5
xor r8d, r8d
lea rdx, [0x0078e337]
mov rcx, rax
mov r14, rbp
call fcn.0077d6a8
mov r9d, 1
xor r8d, r8d
mov r15, rbp
mov rdx, qword [rax + 8]
mov dword [rsp + 0x20], 0xa
mov rcx, rax
call fcn.0077d700
sub r14, qword [rbx + 8]
mov r8d, 0x12
mov rcx, rbx
lea rdx, str.Pool_address____:
cmp r14, 0x11
jbe 0x42ced7
call fcn.0077d6a8
mov r8d, 0xf
lea rdx, str._not_connected_
sub r15, qword [rax + 8]
mov rcx, rax
cmp r15, 0xe
jbe 0x42ced7
call fcn.0077d6a8
mov r9d, 1
xor r8d, r8d
mov rdx, qword [rax + 8]
mov dword [rsp + 0x20], 0xa
mov rcx, rax
call fcn.0077d700
sub rbp, qword [rbx + 8]
mov r8d, 0x12
mov rcx, rbx
lea rdx, str.Actual_address__:
cmp rbp, 0x11
jbe 0x42ced7
call fcn.0077d6a8
xor r9d, r9d
mov r8d, dword [r9]
add r9, 4
lea r10d, [r8 - 0x1010101]
not r8d
and r10d, r8d
mov edx, r10d
and edx, 0x80808080
je 0x42d3de
mov esi, edx
lea r8, [r9 + 2]
mov rcx, rax
movabs r13, 0x7fffffffffffffff
shr esi, 0x10
and r10d, 0x8080
cmove edx, esi
cmovne r8, r9
mov ebp, edx
add bpl, dl
sbb r8, 3
sub r13, qword [rax + 8]
cmp r8, r13
ja 0x42ced7
xor edx, edx
call fcn.0077d6a8
mov r9d, 1
xor r8d, r8d
mov rdx, qword [rax + 8]
mov dword [rsp + 0x20], 0xa
mov rcx, rax
call fcn.0077d700
jmp 0x42cfc1
test r10, r10
je 0x42cbc5
mov r13, r10
jmp 0x42d2d4
sub rsi, qword [rbx + 8]
mov r8d, 0x12
lea rdx, str.Connected_since_:
mov rcx, rbx
cmp rsi, 0x11
jbe 0x42ced7
call fcn.0077d6a8
mov rdx, qword [rdi + 0x168]
lea rcx, [rsp + 0x30]
mov r14, rax
call fcn.004079f0
mov r15, rax
mov r8, rax
and r15d, 3
je 0x42d4e0
cmp r15, 2
je 0x42d4c5
ja 0x42d4cf
cmp byte [rax], 0
je 0x42d51d
lea r8, [rax + 1]
cmp byte [r8], 0
je 0x42d51d
add r8, 1
cmp byte [r8], 0
je 0x42d51d
add r8, 1
nop dword [rax]
mov edx, dword [r8]
add r8, 4
lea r10d, [rdx - 0x1010101]
not edx
and r10d, edx
mov ecx, r10d
and ecx, 0x80808080
je 0x42d4e0
mov edx, ecx
lea rsi, [r8 + 2]
shr edx, 0x10
and r10d, 0x8080
cmovne edx, ecx
cmove r8, rsi
mov ecx, edx
add cl, dl
sbb r8, 3
sub r8, rax
mov rcx, r14
mov rdx, rax
movabs r9, 0x7fffffffffffffff
sub r9, qword [r14 + 8]
cmp r8, r9
ja 0x42ced7
call fcn.0077d6a8
mov r9d, 1
xor r8d, r8d
mov rdx, qword [rax + 8]
mov dword [rsp + 0x20], 0xa
mov rcx, rax
call fcn.0077d700
jmp 0x42cfee
lea r13, [rdx + 0x10]
jmp 0x42cbc8
mov r13, r10
jmp 0x42cbc8
lea rcx, str.basic_string::append
call fcn.0077d5c0
mov rcx, qword [rsp + 0x50]
add rsi, 0x10
mov rbx, rax
cmp rcx, rsi
je 0x42d5a3
call sub.libstdc_6.dll_operator_delete_void_
mov rcx, rbx
call sub.libgcc_s_seh_1.dll__Unwind_Resume
nop
nop dword [rax]