Function at 0x14000bd40
Capabilities:
Encode data using xor

Disassembly:
add rcx, 0xfffffffffffffd08
jmp 0x14000bd40
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x150
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x1400a1090]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov r15, r8
mov r14, rdx
mov rsi, rcx
mov qword [rbp - 0x78], rcx
xor r12d, r12d
mov qword [rcx + 0x360], r12
mov eax, dword [rcx + 0x328]
shr eax, 4
and al, 1
jne 0x14000bdab
cmp dword [rcx + 0x254], r12d
jle 0x14000bdad
mov al, 1
test al, al
je 0x14000be15
mov ecx, dword [rcx + 0x254]
mov eax, 0x3c
test ecx, ecx
cmovg eax, ecx
imul rdi, rax, 0x3e8
call fcn.140052354
mov rbx, rax
call fcn.140052338
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rax, rdx
add rax, rdi
mov qword [rsi + 0x370], rax
cmp r15, 0x20
jb 0x14000c5a6
cmp byte [r14], 0x7b
jne 0x14000c5a6
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov word [rbp - 0x42], r12w
movdqa xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x30], xmm1
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], 0x400
mov dword [rbp], r12d
mov qword [rbp + 8], r12
mov ecx, 0x28
call fcn.1400535c0
mov qword [rsp + 0x28], rax
mov qword [rax], r12
mov qword [rax + 8], 0x10000
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], r12
mov qword [rax + 0x20], r12
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x60], r14
mov rax, qword [rbp - 0x30]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r12
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], 0x100
mov dword [rsp + 0x70], 2
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x60], r12d
mov qword [rsp + 0x68], r12
lea rax, [rsp + 0x30]
mov qword [rbp - 0x80], rax
mov rcx, r14
call fcn.140005150
mov qword [rbp - 0x70], rax
mov ecx, dword [rsp + 0x60]
test ecx, ecx
jne 0x14000bf7c
cmp byte [rax], cl
jne 0x14000bf23
sub rax, qword [rbp - 0x60]
mov dword [rsp + 0x60], 1
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rbp], xmm0
jmp 0x14000bfb4
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x30]
call fcn.14000e3c0
mov ecx, dword [rsp + 0x60]
test ecx, ecx
jne 0x14000bf7c
mov rcx, qword [rbp - 0x70]
call fcn.140005150
mov qword [rbp - 0x70], rax
mov ecx, dword [rsp + 0x60]
test ecx, ecx
jne 0x14000bf7c
cmp byte [rax], cl
je 0x14000bf7c
sub rax, qword [rbp - 0x60]
mov dword [rsp + 0x60], 2
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rbp], xmm0
jmp 0x14000bfb4
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rbp], xmm0
test ecx, ecx
jne 0x14000bfb4
mov rax, qword [rbp - 0x18]
add rax, 0xfffffffffffffff0
mov qword [rbp - 0x18], rax
lea rcx, [rbp - 0x50]
cmp rcx, rax
je 0x14000bfb4
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x50], xmm0
mov word [rax + 0xe], r12w
mov rcx, qword [rbp - 0x20]
mov qword [rbp - 0x18], rcx
call fcn.14005f95c
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r12
mov rcx, qword [rsp + 0x40]
call fcn.14005f95c
mov edx, 1
mov rcx, qword [rsp + 0x38]
call fcn.140053604
cmp dword [rbp], 0
je 0x14000c046
cmp byte [rsi + 8], 0
jne 0x14000c009
movsxd rax, dword [rsi + 0x1c]
cmp qword [rsi + 0x20], rax
jge 0x14000c009
lea rcx, str.Failed_to_decode_message._Stage_2_parse_error.__n
call fcn.140008870
nop
mov rdi, qword [rbp - 0x38]
test rdi, rdi
je 0x14000c58d
cmp qword [rdi], 0
je 0x14000c560
mov rbx, qword [rdi]
mov rcx, rbx
cmp rbx, qword [rdi + 0x10]
je 0x14000c560
mov rbx, qword [rbx + 0x10]
call fcn.14005f95c
mov qword [rdi], rbx
test rbx, rbx
jne 0x14000c023
jmp 0x14000c560
cmp word [rbp - 0x42], 3
jne 0x14000c009
mov ebx, 0xc
mov rax, qword gs:[0x58]
add rbx, qword [rax]
mov eax, dword [rbx]
cmp dword [0x140333c60], eax
jle 0x14000c09f
lea rcx, [0x140333c60]
call fcn.1400539e0
cmp dword [0x140333c60], 0xffffffff
jne 0x14000c09f
mov dword [0x1400a243c], 0x19b4f30
lea rcx, [0x14007ea30]
call fcn.140053870
lea rcx, [0x140333c60]
call fcn.140053980
cmp byte [0x1400a243f], 0
je 0x14000c0c4
xor byte [0x1400a243c], 0x59
xor byte [0x1400a243d], 0x2b
xor byte [0x1400a243e], 0x9b
mov byte [0x1400a243f], 0
lea rdx, [0x1400a243c]
lea rcx, [rbp - 0x50]
call fcn.1400047c0
mov rdi, rax
mov ecx, dword [rbx]
cmp dword [0x140333c90], ecx
jle 0x14000c128
lea rcx, [0x140333c90]
call fcn.1400539e0
cmp dword [0x140333c90], 0xffffffff
jne 0x14000c128
mov word [0x1400a2445], 0x1d2
mov dword [0x1400a2440], 0xbbe9593c
mov byte [0x1400a2444], 0xc6
lea rcx, [0x14007ea10]
call fcn.140053870
lea rcx, [0x140333c90]
call fcn.140053980
cmp byte [0x1400a2446], 0
je 0x14000c162
xor byte [0x1400a2440], 0x59
xor byte [0x1400a2441], 0x2b
xor byte [0x1400a2442], 0x9b
xor byte [0x1400a2443], 0xd4
xor byte [0x1400a2444], 0xb4
xor byte [0x1400a2445], 0xd2
mov byte [0x1400a2446], 0
lea rdx, [0x1400a2440]
lea rcx, [rbp - 0x50]
call fcn.1400047c0
mov r13, rax
mov edx, dword [rbx]
movzx ecx, byte [rdi + 0xe]
shr cl, 7
test cl, 1
je 0x14000c273
cmp dword [0x140333c64], edx
jle 0x14000c1d0
lea rcx, [0x140333c64]
call fcn.1400539e0
cmp dword [0x140333c64], 0xffffffff
jne 0x14000c1d0
mov dword [0x1400a2494], 0x1a5a6d8
mov dword [0x1400a2490], 0xa1e84e2b
lea rcx, [0x14007e9f0]
call fcn.140053870
lea rcx, [0x140333c64]
call fcn.140053980
cmp byte [0x1400a2497], 0
je 0x14000c211
xor byte [0x1400a2490], 0x59
xor byte [0x1400a2491], 0x2b
xor byte [0x1400a2492], 0x9b
xor byte [0x1400a2493], 0xd4
xor byte [0x1400a2494], 0xb4
xor byte [0x1400a2495], 0xd2
xor byte [0x1400a2496], 0xa5
mov byte [0x1400a2497], 0
lea rdx, [0x1400a2490]
lea rcx, [rbp - 0x50]
call fcn.1400047c0
mov r9, r13
mov r8, rax
mov rdx, qword [rdi]
mov rcx, rsi
call fcn.14000c990
nop
mov rdi, qword [rbp - 0x38]
test rdi, rdi
je 0x14000c58d
cmp qword [rdi], 0
je 0x14000c560
mov rbx, qword [rdi]
nop dword [rax]
mov rcx, rbx
cmp rbx, qword [rdi + 0x10]
je 0x14000c560
mov rbx, qword [rbx + 0x10]
call fcn.14005f95c
mov qword [rdi], rbx
test rbx, rbx
jne 0x14000c250
jmp 0x14000c560
cmp dword [0x140333c88], edx
jle 0x14000c2bc
lea rcx, [0x140333c88]
call fcn.1400539e0
cmp dword [0x140333c88], 0xffffffff
jne 0x14000c2bc
mov dword [0x1400a242c], 0x1a5b6db
mov dword [0x1400a2428], 0xbcef4e34
lea rcx, [0x14007e9d0]
call fcn.140053870
lea rcx, [0x140333c88]
call fcn.140053980
cmp byte [0x1400a242f], 0
je 0x14000c2fd
xor byte [reloc.WS2_32.dll_gethostbyname], 0x59
xor byte [0x1400a2429], 0x2b
xor byte [0x1400a242a], 0x9b
xor byte [0x1400a242b], 0xd4
xor byte [0x1400a242c], 0xb4
xor byte [0x1400a242d], 0xd2
xor byte [0x1400a242e], 0xa5
mov byte [0x1400a242f], 0
lea rdx, [0x1400a2428]
lea rcx, [rbp - 0x50]
call fcn.1400046d0
mov rcx, rax
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14000c009
cmp word [r13 + 0xe], 3
jne 0x14000c3fb
cmp byte [rsi + 8], 0
jne 0x14000c009
movsxd rax, dword [rsi + 0x1c]
cmp qword [rsi + 0x20], rax
jge 0x14000c009
movdqa xmm6, xmmword [0x140093430]
movdqa xmm7, xmmword [0x140093490]
movdqa xmm8, xmmword [0x140093470]
mov eax, dword [rbx]
cmp dword [0x140333c68], eax
jle 0x14000c3b0
lea rcx, [0x140333c68]
call fcn.1400539e0
cmp dword [0x140333c68], 0xffffffff
jne 0x14000c3b0
mov word [0x1400a2420], 0x159
movaps xmmword [0x1400a23f0], xmm6
movaps xmmword [0x1400a2400], xmm7
movaps xmmword [0x1400a2410], xmm8
lea rcx, [0x14007e9a0]
call fcn.140053870
lea rcx, [0x140333c68]
call fcn.140053980
lea r8, [0x1400a23f0]
cmp byte [0x1400a2421], 0
je 0x14000c3f3
mov rdx, r12
movabs r9, 0x5aa5d2b4d49b2b59
nop dword [rax]
movzx ecx, dl
and cl, 7
shl cl, 3
mov rax, r9
shr rax, cl
xor byte [rdx + r8], al
inc rdx
cmp rdx, 0x31
jb 0x14000c3d0
mov byte [0x1400a2421], 0
mov rcx, r8
jmp 0x14000c003
mov rax, qword [rsi]
mov r10, qword [rax + 0xe0]
mov qword [rsp + 0x28], r10
cmp word [rbp - 0x42], 3
jne 0x14000c520
mov eax, dword [rbp - 0x50]
test eax, eax
je 0x14000c520
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov edx, 0x405
mov word [rbp - 0x62], dx
mov r15, qword [rbp - 0x68]
movabs rdx, 0xffff000000000000
and r15, rdx
lea rdx, str.params
or r15, rdx
mov qword [rbp - 0x68], r15
mov r14, r15
shr r14, 0x30
mov dword [rbp - 0x70], 6
movabs r9, 0xffffffffffff
mov rbx, qword [rbp - 0x48]
and rbx, r9
mov edi, eax
shl rdi, 5
add rdi, rbx
cmp rbx, rdi
je 0x14000c520
mov esi, 0x1000
and r14w, si
movsx r12d, byte [rbp - 0x63]
nop
test r14w, r14w
je 0x14000c4a1
mov r8d, select
sub r8d, r12d
jmp 0x14000c4a7
mov r8d, 6
mov edx, esi
and dx, word [rbx + 0xe]
je 0x14000c4bc
movsx eax, byte [rbx + 0xd]
mov ecx, 0xd
sub ecx, eax
jmp 0x14000c4be
mov ecx, dword [rbx]
cmp r8d, ecx
jne 0x14000c4fe
test r14w, r14w
je 0x14000c4cf
lea rcx, [rbp - 0x70]
jmp 0x14000c4d5
mov rcx, r15
and rcx, r9
test dx, dx
je 0x14000c4df
mov rdx, rbx
jmp 0x14000c4e6
mov rdx, qword [rbx + 8]
and rdx, r9
cmp rcx, rdx
je 0x14000c507
call fcn.140056420
test eax, eax
je 0x14000c507
movabs r9, 0xffffffffffff
add rbx, 0x20
cmp rbx, rdi
jne 0x14000c490
mov rsi, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x80]
mov r10, qword [rsp + 0x28]
xor r12d, r12d
cmp rbx, rdi
lea r8, [rbx + 0x10]
jne 0x14000c527
lea r8, [0x140331710]
mov r9, r13
mov rdx, rcx
mov rcx, rsi
call r10
nop
mov rdi, qword [rbp - 0x38]
test rdi, rdi
je 0x14000c58d
cmp qword [rdi], 0
je 0x14000c560
mov rbx, qword [rdi]
mov rcx, rbx
cmp rbx, qword [rdi + 0x10]
je 0x14000c560
mov rbx, qword [rbx + 0x10]
call fcn.14005f95c
mov qword [rdi], rbx
test rbx, rbx
jne 0x14000c546
mov rax, qword [rdi]
test rax, rax
je 0x14000c572
cmp rax, qword [rdi + 0x10]
jne 0x14000c572
mov qword [rax + 8], r12
mov edx, 1
mov rcx, qword [rdi + 0x20]
call fcn.140053604
mov edx, 0x28
mov rcx, rdi
call fcn.140053604
mov rcx, qword [rbp - 0x20]
call fcn.14005f95c
mov edx, 1
mov rcx, qword [rbp - 0x28]
call fcn.140053604
jmp 0x14000c5c2
cmp byte [rsi + 8], 0
jne 0x14000c5c2
movsxd rax, dword [rsi + 0x1c]
cmp qword [rsi + 0x20], rax
jge 0x14000c5c2
lea rcx, str.Failed_to_decode_message._Stage_1_parse_error.__n
call fcn.140008870
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.1400535a0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret