Function at 0x1401dfd20
Capabilities:
Encode data using base64

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb8]
sub rsp, 0x1b8
movaps xmmword [rsp + 0x1a0], xmm6
mov rax, qword [0x14064e8e8]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov r10d, r8d
mov dword [rsp + 0x78], r8d
mov rbx, rdx
mov qword [rbp - 0x50], rdx
mov rdi, rcx
mov qword [rsp + 0x70], rcx
mov qword [rbp - 0x68], rcx
mov rsi, qword [r9]
mov rax, rsi
mov r12, qword [r9 + 8]
lea r13, [rsi + r12*8]
cmp rsi, r13
je 0x1401dfd96
cmp qword [rax], 0
je 0x1401dfe38
add rax, 8
cmp rax, r13
jne 0x1401dfd83
xor dl, dl
mov qword [rbp - 0x80], rdx
cmp byte [rbp + 0x120], dl
je 0x1401dff36
cmp r8d, 8
jae 0x1401dfea3
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140152760
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
xor r14d, r14d
mov qword [rbp - 0x68], r14
lea ecx, [r14 + 0x2f]
call fcn.14034726c
movsd qword [rax], xmm6
mov dword [rax + 8], ebx
movups xmm0, xmmword [str.Not_enough_data_for_a_special_cell]
movups xmmword [rax + 0xc], xmm0
movups xmm1, xmmword [0x1403826b8]
movups xmmword [rax + 0x1c], xmm1
movzx ecx, word [0x1403826c8]
mov word [rax + 0x2c], cx
mov byte [rax + 0x2e], r14b
mov qword [rdi], rax
mov rax, rdi
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.140347220
movaps xmm6, xmmword [rsp + 0x1a0]
add rsp, 0x1b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140152760
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
xor r14d, r14d
mov qword [rbp - 0x68], r14
lea ecx, [r14 + 0x24]
call fcn.14034726c
mov r8, rax
movsd qword [rax], xmm6
mov dword [rax + 8], ebx
movups xmm0, xmmword [str.Has_null_cell_reference]
movups xmmword [rax + 0xc], xmm0
mov eax, dword [0x1403826a0]
mov dword [r8 + 0x1c], eax
movzx ecx, word [0x1403826a4]
mov word [r8 + 0x20], cx
movzx ecx, byte [0x1403826a6]
mov byte [r8 + 0x22], cl
mov byte [r8 + 0x23], r14b
mov qword [rdi], r8
jmp 0x1401dfe0a
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x60], xmm0
mov edx, 8
lea rcx, [rsp + 0x60]
call fcn.1401ce340
mov rdx, rax
mov qword [rbp - 0x80], rax
test al, al
jne 0x1401dff31
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140152760
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
xor r14d, r14d
mov qword [rbp - 0x68], r14
lea ecx, [r14 + 0x2b]
call fcn.14034726c
mov r8, rax
movsd qword [rax], xmm6
mov dword [rax + 8], ebx
movups xmm0, xmmword [str.Special_cell_has_Ordinary_type]
movups xmmword [rax + 0xc], xmm0
movsd xmm1, qword [0x1403826e0]
movsd qword [rax + 0x1c], xmm1
mov ecx, dword [0x1403826e8]
mov dword [rax + 0x24], ecx
movzx eax, word [0x1403826ec]
mov word [r8 + 0x28], ax
mov byte [r8 + 0x2a], r14b
mov qword [rdi], r8
jmp 0x1401dfe0a
mov r10d, dword [rsp + 0x78]
xor r14d, r14d
mov edi, r14d
mov dword [rbp - 0x74], r14d
mov r15d, r14d
movzx ecx, dl
test dl, dl
je 0x1401e0afa
sub ecx, 1
je 0x1401e07fe
sub ecx, 1
je 0x1401e0703
sub ecx, 1
je 0x1401e0461
cmp ecx, 1
je 0x1401dffc3
lea rax, str.Unknown_special_cell_type
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0x19
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140142090
nop
lea rdx, [rsp + 0x30]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140187500
nop
jmp 0x1401e0439
cmp r10d, 0x228
je 0x1401e0021
lea rax, str.Not_enouch_data_for_a_MerkleUpdate_special_cell
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], gethostbyname
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140142090
nop
lea rdx, [rsp + 0x30]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140187500
nop
jmp 0x1401e0439
cmp r12, 2
je 0x1401e007c
lea rax, str.Wrong_references_count_for_a_MerkleUpdate_special_cell
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], getservbyport
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140142090
nop
lea rdx, [rsp + 0x30]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140187500
nop
jmp 0x1401e0439
mov rcx, rsi
call fcn.140143000
mov rcx, qword [rax]
mov r9, qword [rcx + 0x48]
xor r8d, r8d
lea rdx, [rbp + 0x48]
mov rcx, rax
call r9
mov qword [rbp - 0x10], r14
lea rax, [rbp + 0x48]
mov qword [rbp - 8], rax
mov dword [rbp], r14d
mov dword [rbp + 4], 0x100
lea rax, [rbp + 0x48]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], r14d
mov r15d, dword [rbx + 8]
mov rdi, qword [rbx]
mov qword [rsp + 0x40], rdi
lea eax, [r15 + 8]
mov dword [rsp + 0x48], eax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm1, xmmword [rsp + 0x40]
movdqa xmmword [rbp - 0x20], xmm1
xor r9d, r9d
mov r8d, 0x100
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x20]
call fcn.1401ce640
nop
test eax, eax
je 0x1401e0157
lea rax, str.First_hash_mismatch_in_a_MerkleProof_special_cell
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], getservbyport
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140142090
nop
lea rdx, [rsp + 0x30]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140187500
nop
jmp 0x1401e0439
lea rcx, [rsi + 8]
call fcn.140143000
mov rcx, qword [rax]
mov r9, qword [rcx + 0x48]
xor r8d, r8d
lea rdx, [rbp + 0x48]
mov rcx, rax
call r9
mov qword [rbp - 0x10], r14
lea rax, [rbp + 0x48]
mov qword [rbp - 8], rax
mov dword [rbp], r14d
mov dword [rbp + 4], 0x100
lea rax, [rbp + 0x48]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], r14d
mov qword [rsp + 0x40], rdi
lea eax, [r15 + 0x108]
mov dword [rsp + 0x48], eax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm1, xmmword [rsp + 0x40]
movdqa xmmword [rbp - 0x20], xmm1
xor r9d, r9d
mov r8d, 0x100
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x20]
call fcn.1401ce640
nop
test eax, eax
je 0x1401e022f
lea rax, str.Second_hash_mismatch_in_a_MerkleProof_special_cell
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], getservbyport
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140142090
nop
lea rdx, [rsp + 0x30]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140187500
nop
jmp 0x1401e0439
mov rcx, rsi
call fcn.140143000
add r15d, 0x208
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x58], r15d
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
mov rcx, qword [rax]
mov r8, qword [rcx + 0x40]
xor edx, edx
mov rcx, rax
call r8
movzx ebx, ax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x60]
call fcn.1401ce340
cmp rax, rbx
je 0x1401e02ce
lea rax, str.First_depth_mismatch_in_a_MerkleProof_special_cell
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], getservbyport
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140142090
nop
lea rdx, [rsp + 0x30]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140187500
nop
jmp 0x1401e0439
lea rcx, [rsi + 8]
call fcn.140143000
lea ecx, [r15 + 0x10]
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x58], ecx
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
mov rcx, qword [rax]
mov r8, qword [rcx + 0x40]
xor edx, edx
mov rcx, rax
call r8
movzx ebx, ax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x60]
call fcn.1401ce340
cmp rax, rbx
je 0x1401e036a
lea rax, str.Second_depth_mismatch_in_a_MerkleProof_special_cell
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], reloc.WS2_32.dll_gethostbyaddr
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140142090
nop
lea rdx, [rsp + 0x30]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140187500
nop
jmp 0x1401e0439
mov rcx, rsi
call fcn.140143000
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
lea rdx, [rbp + 0x40]
mov rcx, rax
call r8
mov rbx, rax
lea rcx, [rsi + 8]
call fcn.140143000
mov rdx, qword [rax]
mov r8, qword [rdx + 0x38]
lea rdx, [rbp + 0x30]
mov rcx, rax
call r8
mov edi, dword [rax]
or edi, dword [rbx]
shr edi, 1
mov dword [rbp - 0x74], edi
lea rcx, [rsi + 8]
call fcn.140143000
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov ebx, eax
mov rcx, rsi
call fcn.140143000
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov r15d, eax
cmp eax, ebx
cmovb r15d, ebx
mov r8d, edi
mov r10d, dword [rsp + 0x78]
cmp r15d, 7
jbe 0x1401e0bc6
lea rax, str.Too_big_virtualization
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], reloc.WS2_32.dll_shutdown
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140142090
nop
lea rdx, [rsp + 0x30]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140187500
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1401e0459
movsd xmm0, qword [rcx]
movsd qword [rsp + 0x40], xmm0
test byte [rsp + 0x40], 1
jne 0x1401e0459
call fcn.140346eb8
mov rax, rbx
jmp 0x1401dfe0d
cmp r10d, 0x118
je 0x1401e04f9
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140152760
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
mov qword [rbp - 0x80], r14
mov ecx, 0x3b
call fcn.14034726c
mov qword [rbp - 0x80], rax
movsd qword [rax], xmm6
mov dword [rax + 8], ebx
lea rcx, [rax + 0xc]
movups xmm0, xmmword [str.Not_enouch_data_for_a_MerkleProof_special_cell]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x140382828]
movups xmmword [rcx + 0x10], xmm1
movsd xmm0, qword [0x140382838]
movsd qword [rcx + 0x20], xmm0
mov eax, dword [0x140382840]
mov dword [rcx + 0x28], eax
movzx eax, word [0x140382844]
mov word [rcx + 0x2c], ax
mov byte [rcx + 0x2e], 0
lea rdx, [rbp - 0x80]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140187500
nop
mov rcx, qword [rbp - 0x80]
jmp 0x1401e043e
cmp r12, 1
je 0x1401e0554
lea rax, str.Wrong_references_count_for_a_MerkleProof_special_cell
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], getservbyport
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140142090
nop
lea rdx, [rsp + 0x30]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140187500
nop
jmp 0x1401e0439
mov rcx, rsi
call fcn.140143000
mov rcx, qword [rax]
mov r9, qword [rcx + 0x48]
xor r8d, r8d
lea rdx, [rbp + 0x48]
mov rcx, rax
call r9
mov qword [rbp - 0x10], r14
lea rax, [rbp + 0x48]
mov qword [rbp - 8], rax
mov dword [rbp], r14d
mov dword [rbp + 4], 0x100
lea rax, [rbp + 0x48]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], r14d
mov edi, dword [rbx + 8]
add edi, 8
mov rbx, qword [rbx]
mov qword [rsp + 0x40], rbx
mov dword [rsp + 0x48], edi
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm1, xmmword [rsp + 0x40]
movdqa xmmword [rbp - 0x20], xmm1
xor r9d, r9d
mov r8d, 0x100
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x20]
call fcn.1401ce640
nop
test eax, eax
je 0x1401e062d
lea rax, str.Hash_mismatch_in_a_MerkleProof_special_cell
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], gethostbyaddr
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140142090
nop
lea rdx, [rsp + 0x30]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140187500
nop
jmp 0x1401e0439
mov rcx, rsi
call fcn.140143000
lea ecx, [rdi + 0x100]
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x58], ecx
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
mov rcx, qword [rax]
mov r8, qword [rcx + 0x40]
xor edx, edx
mov rcx, rax
call r8
movzx ebx, ax
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x60]
call fcn.1401ce340
cmp rax, rbx
je 0x1401e06ca
lea rax, str.Depth_mismatch_in_a_MerkleProof_special_cell
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], gethostbyname
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140142090
nop
lea rdx, [rsp + 0x30]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140187500
nop
jmp 0x1401e0439
mov rcx, rsi
call fcn.140143000
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
lea rdx, [rbp + 8]
mov rcx, rax
call r8
mov edi, dword [rax]
shr edi, 1
mov dword [rbp - 0x74], edi
mov rcx, rsi
call fcn.140143000
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x20]
mov r15d, eax
jmp 0x1401e03d7
cmp r10d, 0x108
je 0x1401e077f
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140152760
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
mov qword [rbp - 0x68], r14
mov ecx, reloc.WS2_32.dll_getservbyname
call fcn.14034726c
mov rdx, rax
movsd qword [rax], xmm6
mov dword [rax + 8], ebx
movups xmm0, xmmword [str.Not_enouch_data_for_a_Library_special_cell]
movups xmmword [rax + 0xc], xmm0
movups xmm1, xmmword [0x1403827c8]
movups xmmword [rax + 0x1c], xmm1
movsd xmm0, qword [0x1403827d8]
movsd qword [rax + 0x2c], xmm0
movzx eax, word [0x1403827e0]
mov word [rdx + 0x34], ax
mov byte [rdx + 0x36], 0
mov rbx, qword [rsp + 0x70]
mov qword [rbx], rdx
mov rax, rbx
jmp 0x1401dfe0d
test r12, r12
je 0x1401e07f6
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140152760
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
mov qword [rbp - 0x68], r14
mov ecx, getservbyport
call fcn.14034726c
mov rdx, rax
movsd qword [rax], xmm6
mov dword [rax + 8], ebx
movups xmm0, xmmword [str.Library_special_cell_has_a_cell_reference]
movups xmmword [rax + 0xc], xmm0
movups xmm1, xmmword [0x1403827f8]
movups xmmword [rax + 0x1c], xmm1
movsd xmm0, qword [0x140382808]
movsd qword [rax + 0x2c], xmm0
movzx eax, byte [0x140382810]
mov byte [rdx + 0x34], al
mov byte [rdx + 0x35], 0
mov rbx, qword [rsp + 0x70]
mov qword [rbx], rdx
mov rax, rbx
jmp 0x1401dfe0d
mov r8d, r14d
jmp 0x1401e0bca
test r12, r12
je 0x1401e088d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140152760
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
mov qword [rbp - 0x68], r14
mov ecx, 0x3c
call fcn.14034726c
mov rdx, rax
movsd qword [rax], xmm6
mov dword [rax + 8], ebx
movups xmm0, xmmword [str.PrunnedBranch_special_cell_has_a_cell_reference]
movups xmmword [rax + 0xc], xmm0
movups xmm1, xmmword [0x140382700]
movups xmmword [rax + 0x1c], xmm1
movsd xmm0, qword [0x140382710]
movsd qword [rax + 0x2c], xmm0
mov eax, dword [0x140382718]
mov dword [rdx + 0x34], eax
movzx eax, word [0x14038271c]
mov word [rdx + 0x38], ax
movzx eax, byte [0x14038271e]
mov byte [rdx + 0x3a], al
mov byte [rdx + 0x3b], 0
mov rbx, qword [rsp + 0x70]
mov qword [rbx], rdx
mov rax, rbx
jmp 0x1401dfe0d
cmp r10d, 0x10
jae 0x1401e08f6
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140152760
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
mov qword [rbp - 0x68], r14
mov ecx, 0x3d
call fcn.14034726c
movsd qword [rax], xmm6
mov dword [rax + 8], ebx
movups xmm0, xmmword [str.Not_enough_data_for_a_PrunnedBranch_special_cell]
movups xmmword [rax + 0xc], xmm0
movups xmm1, xmmword [0x140382730]
movups xmmword [rax + 0x1c], xmm1
movups xmm0, xmmword [0x140382740]
movups xmmword [rax + 0x2c], xmm0
mov byte [rax + 0x3c], 0
mov rbx, qword [rsp + 0x70]
mov qword [rbx], rax
mov rax, rbx
jmp 0x1401dfe0d
mov ecx, dword [rbx + 8]
add ecx, 8
mov rax, qword [rbx]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x58], ecx
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
mov edx, 8
lea rcx, [rsp + 0x60]
call fcn.1401ce340
movzx edi, al
mov dword [rbp - 0x74], edi
mov dword [rbp + 8], r14d
bsr ecx, edi
je 0x1401e0a7b
cmp ecx, 2
ja 0x1401e0a7b
mov edx, 1
shl edx, cl
dec edx
and edx, edi
mov eax, edx
shr eax, 1
and eax, 0x55555555
sub edx, eax
mov eax, edx
shr eax, 2
and eax, 0x33333333
and edx, 0x33333333
add eax, edx
mov ecx, eax
shr ecx, 4
add ecx, eax
and ecx, 0xf0f0f0f
mov eax, ecx
shr eax, 8
add ecx, eax
mov eax, ecx
shr eax, 0x10
add eax, ecx
and eax, 0x3f
imul eax, eax, 0x110
add eax, 0x120
mov r10d, dword [rsp + 0x78]
cmp r10d, eax
je 0x1401e0a0b
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140152760
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
mov qword [rbp - 0x80], r14
mov ecx, 0x3d
call fcn.14034726c
mov qword [rbp - 0x80], rax
movsd qword [rax], xmm6
mov dword [rax + 8], ebx
movups xmm0, xmmword [str.Not_enouch_data_for_a_PrunnedBranch_special_cell]
movups xmmword [rax + 0xc], xmm0
movups xmm1, xmmword [0x140382790]
movups xmmword [rax + 0x1c], xmm1
movups xmm0, xmmword [0x1403827a0]
movups xmmword [rax + 0x2c], xmm0
mov byte [rax + 0x3c], 0
lea rdx, [rbp - 0x80]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140187500
nop
mov rcx, qword [rbp - 0x80]
jmp 0x1401e043e
mov r8d, edi
cmp r10d, 0x3ff
jbe 0x1401e0b5c
lea rax, str.Too_many_bits
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], setsockopt
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140142090
nop
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], r14
mov rbx, qword [rsp + 0x70]
mov qword [rbx], rax
test rax, rax
je 0x1401e12f6
mov rax, rbx
jmp 0x1401dfe0d
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140152760
movsd xmm6, qword [rax]
mov ebx, dword [rax + 8]
mov qword [rbp - 0x80], r14
mov ecx, gethostbyname
call fcn.14034726c
mov qword [rbp - 0x80], rax
movsd qword [rax], xmm6
mov dword [rax + 8], ebx
lea rcx, [rax + 0xc]
movups xmm0, xmmword [str.Prunned_Branch_has_an_invalid_level]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x140382768]
movups xmmword [rcx + 0x10], xmm1
movzx eax, word [0x140382778]
mov word [rcx + 0x20], ax
movzx eax, byte [0x14038277a]
mov byte [rcx + 0x22], al
mov byte [rcx + 0x23], 0
lea rdx, [rbp - 0x80]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140187500
nop
mov rcx, qword [rbp - 0x80]
jmp 0x1401e043e
mov rbx, rsi
mov r8d, r14d
cmp rsi, r13
je 0x1401e0a0e
nop dword [rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1401e132a
mov rax, qword [rcx]
lea rdx, [rbp + 0x44]
call qword [rax + reloc.WS2_32.dll_getservbyport]
mov eax, dword [rax]
or edi, eax
mov dword [rbp - 0x74], edi
mov rcx, qword [rbx]
test rcx, rcx
je 0x1401e1310
mov rax, qword [rcx]
call qword [rax + 0x20]
cmp r15d, eax
cmovb r15d, eax
add rbx, 8
cmp rbx, r13
jne 0x1401e0b10
mov r8d, edi
mov r10d, dword [rsp + 0x78]
jmp 0x1401e0a0e
cmp r12, 4
jbe 0x1401e03df
lea rax, str.Too_many_cell_references
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0x18
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x60], xmm0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.140142090
nop
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], r14
mov rbx, qword [rsp + 0x70]
mov qword [rbx], rax
test rax, rax
je 0x1401e1344
mov rax, rbx
jmp 0x1401dfe0d
mov rdx, qword [rbp - 0x80]
mov dword [rbp - 0x60], r14d
bsr eax, r8d
je 0x1401e0bdf
inc eax
cmp eax, 3
ja 0x1401e135e
cmp dl, 1
jne 0x1401e0bec
mov r13d, 1
jmp 0x1401e0c32
mov eax, r8d
shr eax, 1
and eax, 0x55555555
mov ecx, r8d
sub ecx, eax
mov eax, ecx
shr eax, 2
and eax, 0x33333333
and ecx, 0x33333333
add eax, ecx
mov ecx, eax
shr ecx, 4
add ecx, eax
and ecx, 0xf0f0f0f
mov eax, ecx
shr eax, 8
add ecx, eax
mov r13d, ecx
shr r13d, 0x10
add r13d, ecx
and r13d, 0x3f
inc r13d
mov dword [rbp - 0x60], r10d
and r8b, 7
add r8b, r8b
or r8b, byte [rbp + 0x120]
shl r8b, 3
movzx eax, r12b
and al, 7
or r8b, al
movzx eax, byte [rbp - 0x5c]
and al, 0x80
or r8b, al
mov dword [rbp - 0x38], r8d
mov byte [rbp - 0x5c], r8b
and r15b, 7
shl r15b, 3
movzx eax, byte [rbp - 0x5b]
and al, 0xc0
or r15b, al
movzx eax, r13b
and al, 7
or r15b, al
mov byte [rbp - 0x5b], r15b
mov rbx, qword [rbp - 0x60]
mov rax, rbx
shr rax, 0x28
movzx ecx, al
lea r8d, [r10 + 7]
shr r8, 3
mov qword [rbp + 0x38], r8
mov rdx, rbx
shr rdx, 0x20
and edx, 7
and ecx, 7
imul rcx, rcx, 0x22
add rcx, r8
lea rax, [rcx + rdx*8]
mov qword [rsp + 0x30], rax
mov ecx, 0x20
call fcn.140346e7c
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x68], rax
test rax, rax
je 0x1401e0d40
mov dword [rax + 8], 1
lea rcx, vtable.vm::DataCell.0
mov qword [rax], rcx
mov qword [rax + 0x10], rbx
lea rcx, [rbp - 0x10]
call fcn.1401e16c0
mov edx, 1
mov rcx, rax
call fcn.1401d5a90
nop
lea rax, vtable.vm::detail::CellWithUniquePtrStorage_class_vm::DataCell_.0
mov rcx, qword [rbp - 0x40]
mov qword [rcx], rax
lea rax, [rcx + 0x18]
mov qword [rbp + 0x28], rax
mov rcx, qword [rsp + 0x30]
call fcn.14034726c
mov rbx, rax
test rax, rax
je 0x1401e0d33
mov r8, qword [rsp + 0x30]
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
jmp 0x1401e0d36
mov rbx, r14
mov rcx, qword [rbp - 0x40]
mov qword [rcx + 0x18], rbx
jmp 0x1401e0d47
mov rcx, r14
mov qword [rbp - 0x40], rcx
mov qword [rsp + 0x40], rcx
mov rax, qword [rcx]
call qword [rax + 0x58]
mov rdx, rax
mov qword [rsp + 0x30], rax
movzx eax, byte [rbp - 0x38]
and eax, 7
mov qword [rbp + 0x20], rax
movzx ecx, r15b
and ecx, 7
mov ebx, ecx
shl rbx, 5
lea rcx, [rcx + rax*4]
lea r15, [rdx + rcx*2]
add r15, rbx
mov qword [rsp + 0x50], r15
mov dword [rsp + 0x58], r14d
mov rax, qword [rbp - 0x50]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm1, xmmword [rsp + 0x50]
movdqa xmmword [rbp - 0x20], xmm1
mov r8d, dword [rsp + 0x78]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x20]
call fcn.1401ce8e0
mov r10d, dword [rsp + 0x78]
mov r11d, r10d
and r11d, 7
mov dword [rbp + 0x18], r11d
je 0x1401e0de1
mov edx, pe_nt_image_headers64
mov ecx, r11d
sar edx, cl
mov ecx, r10d
shr ecx, 3
movzx eax, dl
neg al
and al, byte [rcx + r15]
or al, dl
mov byte [rcx + r15], al
mov rdx, qword [rsp + 0x30]
lea rax, [rdx + rbx]
mov qword [rbp - 0x50], rax
test r12, r12
je 0x1401e0e14
mov rcx, rax
sub rcx, rsi
nop dword [rax]
mov rax, qword [rsi]
mov qword [rsi], r14
mov qword [rcx + rsi], rax
lea rsi, [rsi + 8]
sub r12, 1
jne 0x1401e0e00
mov rax, qword [rbp + 0x20]
lea rax, [rdx + rax*8]
add rax, rbx
mov qword [rbp + 0x28], rax
mov eax, edi
shr eax, 1
and eax, 0x55555555
mov ecx, edi
sub ecx, eax
mov eax, ecx
shr eax, 2
and eax, 0x33333333
and ecx, 0x33333333
add eax, ecx
mov ecx, eax
shr ecx, 4
add ecx, eax
and ecx, 0xf0f0f0f
mov eax, ecx
shr eax, 8
add ecx, eax
mov r15d, ecx
shr r15d, 0x10
add r15d, ecx
and r15d, 0x3f
inc r15d
sub r15d, r13d
mov dword [rbp + 0x1c], r15d
mov r13d, r14d
mov r8d, r14d
mov dword [rsp + 0x7c], r14d
mov dword [rbp - 0x60], r14d
bsr ecx, edi
je 0x1401e0e8b
mov eax, 0x1f
sub eax, ecx
jmp 0x1401e0e90
mov eax, 0x20
mov ecx, 0x20
sub ecx, eax
mov dword [rbp - 0x60], ecx
mov ecx, dword [0x140803d78]
mov rax, qword gs:[0x58]
lea rbx, [rax + rcx*8]
mov qword [rbp - 0x68], rbx
lea rsi, vtable.td::LambdaGuard_class__lambda_5a018e029e3906a23d1067a0dea37257__.0
mov r12d, 0x18
nop
test r13d, r13d
je 0x1401e0ed6
lea ecx, [r13 - 1]
mov eax, edi
shr eax, cl
test al, 1
jne 0x1401e0ed6
xor r9b, r9b
jmp 0x1401e0ed9
mov r9b, 1
mov ecx, r13d
mov edx, 1
shl edx, cl
dec edx
and edx, edi
mov dword [rbp - 0x30], r14d
bsr eax, edx
je 0x1401e0ef5
add eax, 0xffffffe1
jmp 0x1401e0efa
mov eax, 0xffffffe0
add eax, 0x20
mov ecx, r14d
cmp eax, r13d
sete cl
movzx eax, r9b
cmp eax, ecx
jne 0x1401e12dc
test r9b, r9b
je 0x1401e1217
mov qword [rbp + 0x48], rsi
lea rax, [rsp + 0x7c]
mov qword [rbp + 0x50], rax
mov byte [rbp + 0x58], 0
cmp r8d, r15d
jae 0x1401e0f36
jmp 0x1401e120f
mov esi, dword [rbp - 0x38]
movzx ecx, sil
and cl, 7
mov byte [rbp - 0x78], cl
movzx eax, sil
shr al, 3
and al, 1
shl dl, 2
add al, dl
shl al, 3
add al, cl
mov byte [rbp - 0x70], al
mov eax, r10d
shr eax, 3
add al, al
movzx edx, al
lea eax, [rdx + 1]
movzx ecx, al
test r11d, r11d
cmove ecx, edx
mov byte [rbp - 0x6f], cl
add r12, qword [rbx]
mov rbx, qword [r12]
test rbx, rbx
jne 0x1401e102f
lea ecx, [rbx + 8]
call fcn.140346e7c
mov rbx, rax
mov qword [rbp - 0x48], rax
test rax, rax
je 0x1401e0fb7
mov qword [rax], r14
call fcn.1401ec8e0
mov qword [rbx], rax
call fcn.1401ee050
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbx]
call fcn.1401ec170
jmp 0x1401e0fba
mov rbx, r14
mov qword [r12], rbx
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], r12
mov ecx, 0x18
call fcn.140346e7c
mov qword [rbp + 0x10], rax
test rax, rax
je 0x1401e0ff8
lea rcx, vtable.td::LambdaDestructor_class__lambda_1d64b98e2f3cceb545607c5ab38e1326__.0
mov qword [rax], rcx
mov qword [rbp - 0x20], r14
mov qword [rax + 8], rbx
mov qword [rax + 0x10], r12
mov rbx, r14
jmp 0x1401e0ffb
mov rax, r14
mov qword [rbp - 0x30], r14
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
call fcn.1401e9ce0
nop
test rbx, rbx
je 0x1401e102b
mov rcx, qword [rbx]
call fcn.1401ec830
mov qword [rbx], r14
mov edx, 8
mov rcx, rbx
call fcn.140346eb8
nop
mov rbx, qword [r12]
call fcn.1401ee050
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rbx]
call fcn.1401ec170
mov rcx, qword [r12]
mov r8d, 2
lea rdx, [rbp - 0x70]
mov rcx, qword [rcx]
call fcn.1401ec1b0
mov rcx, qword [r12]
mov eax, dword [rsp + 0x7c]
cmp eax, r15d
jne 0x1401e107c
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x1401e1378
mov r8, qword [rbp + 0x38]
mov rdx, rax
jmp 0x1401e1099
sub eax, r15d
dec eax
shl rax, 5
mov rdx, qword [rsp + 0x30]
add rdx, rax
je 0x1401e12c2
mov r8d, 0x20
mov rcx, qword [rcx]
call fcn.1401ec1b0
mov ecx, dword [rsp + 0x7c]
sub ecx, r15d
mov dword [rbp - 0x30], ecx
movzx ebx, r14w
mov r15, r14
movzx eax, sil
and eax, 7
jbe 0x1401e1144
mov qword [rbp - 0x48], rax
mov rdi, qword [rbp - 0x50]
nop word [rax + rax]
movzx eax, byte [rbp - 0x80]
sub al, 3
mov rcx, qword [rdi + r15*8]
cmp al, 1
mov rax, qword [rcx]
mov edx, r13d
ja 0x1401e10e8
lea edx, [r13 + 1]
call qword [rax + 0x40]
movzx esi, ax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x68], r14d
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rbp + 0x70], xmm0
movzx edx, si
mov r8d, reloc.WS2_32.dll_recv
lea rcx, [rbp + 0x70]
call fcn.1401cec20
mov rcx, qword [r12]
mov r8d, 2
lea rdx, [rbp - 0x58]
mov rcx, qword [rcx]
call fcn.1401ec1b0
cmp bx, si
cmovb bx, si
inc r15
cmp r15, qword [rbp - 0x48]
jl 0x1401e10d0
mov edi, dword [rbp - 0x74]
mov ecx, dword [rbp - 0x30]
cmp byte [rbp - 0x78], 0
je 0x1401e115b
mov eax, 0x400
cmp bx, ax
jae 0x1401e123c
inc bx
mov r15d, ecx
mov qword [rbp - 0x48], r15
mov rax, qword [rbp + 0x28]
mov word [rax + r15*2], bx
mov rsi, r14
cmp qword [rbp + 0x20], 0
jbe 0x1401e11c5
mov r14, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x80]
mov r15, qword [rbp + 0x20]
lea eax, [rdi - 3]
mov rbx, qword [r12]
mov rcx, qword [r14 + rsi*8]
lea rdx, [rbp + 0x70]
cmp al, 1
mov rax, qword [rcx]
mov r8d, r13d
ja 0x1401e119e
lea r8d, [r13 + 1]
call qword [rax + 0x48]
mov r8d, 0x20
lea rdx, [rbp + 0x70]
mov rcx, qword [rbx]
call fcn.1401ec1b0
inc rsi
cmp rsi, r15
jl 0x1401e1181
mov edi, dword [rbp - 0x74]
xor r14d, r14d
mov r15, qword [rbp - 0x48]
mov rcx, qword [r12]
shl r15, 5
add r15, qword [rsp + 0x30]
je 0x1401e12c2
mov dword [rbp - 0x30], r14d
lea r8, [rbp - 0x30]
mov rdx, r15
mov rcx, qword [rcx]
call fcn.1401ebfd0
nop
mov r8d, dword [rsp + 0x7c]
mov r15d, dword [rbp + 0x1c]
mov r10d, dword [rsp + 0x78]
mov r11d, dword [rbp + 0x18]
mov rbx, qword [rbp - 0x68]
lea rsi, vtable.td::LambdaGuard_class__lambda_5a018e029e3906a23d1067a0dea37257__.0
mov r12d, 0x18
inc r8d
mov dword [rsp + 0x7c], r8d
inc r13d
cmp r13d, dword [rbp - 0x60]
jbe 0x1401e0ec0
mov rbx, qword [rsp + 0x70]
mov qword [rbx], r14
mov rcx, qword [rbp - 0x40]
mov qword [rbx + 8], rcx
mov rax, rbx
jmp 0x1401dfe0d
lea rax, str.Depth_is_too_big
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], reloc.WS2_32.dll_recv
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rbp + 0x70], xmm0
lea rax, [rbp + 0x70]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x50]
call fcn.140142090
nop
lea rdx, [rbp - 0x50]
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140187500
nop
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x1401e12a8
movsd xmm0, qword [rcx]
movsd qword [rsp + 0x40], xmm0
test byte [rsp + 0x40], 1
jne 0x1401e12a8
call fcn.140346eb8
nop
inc dword [rsp + 0x7c]
mov rcx, qword [rbp - 0x40]
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rax, rbx
jmp 0x1401dfe0d
mov r8d, 0x25
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Slice.h
lea rcx, str.s____nullptr
call fcn.1401e25f0
nop
mov r8d, 0x3c
lea rdx, [0x1403817f0]
lea rcx, str.res___apply_level_.get_level____level_
call fcn.1401e25f0
nop
mov r8d, 0x1cc
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Status.h
lea rcx, str.status_.is_error__
call fcn.1401e25f0
nop
mov r8d, 0x120
lea rdx, str.D:_a_ton_toncryptocommon_refcnt.hpp
lea rcx, str.ptr___deferencing_null_Ref_
call fcn.1401e25f0
int3
mov r8d, 0x120
lea rdx, str.D:_a_ton_toncryptocommon_refcnt.hpp
lea rcx, str.ptr___deferencing_null_Ref_
call fcn.1401e25f0
nop
mov r8d, 0x1cc
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Status.h
lea rcx, str.status_.is_error__
call fcn.1401e25f0
nop
mov r8d, 0xb6
lea rdx, str.D:_a_ton_toncrypto_vmcellsDataCell.cpp
lea rcx, str.level_mask.get_level_____max_level
call fcn.1401e25f0
nop
mov r8d, 0xa2
lea rdx, str.D:_a_ton_ton_tdutils_td_utils_Slice.h
lea rcx, str.s____nullptr
call fcn.1401e25f0
int3