Function at 0x14000bd30
Capabilities:
Encode data using xor

Disassembly:
add rcx, 0xfffffffffffffd08
jmp 0x14000bd30
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 [0x14009d090]
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 0x14000bd9b
cmp dword [rcx + 0x254], r12d
jle 0x14000bd9d
mov al, 1
test al, al
je 0x14000be05
mov ecx, dword [rcx + 0x254]
mov eax, 0x3c
test ecx, ecx
cmovg eax, ecx
imul rdi, rax, 0x3e8
call fcn.1400514dc
mov rbx, rax
call fcn.1400514c0
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 0x14000c596
cmp byte [r14], 0x7b
jne 0x14000c596
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.140052740
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.140005140
mov qword [rbp - 0x70], rax
mov ecx, dword [rsp + 0x60]
test ecx, ecx
jne 0x14000bf6c
cmp byte [rax], cl
jne 0x14000bf13
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 0x14000bfa4
lea r8, [rbp - 0x50]
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x30]
call fcn.14000e3b0
mov ecx, dword [rsp + 0x60]
test ecx, ecx
jne 0x14000bf6c
mov rcx, qword [rbp - 0x70]
call fcn.140005140
mov qword [rbp - 0x70], rax
mov ecx, dword [rsp + 0x60]
test ecx, ecx
jne 0x14000bf6c
cmp byte [rax], cl
je 0x14000bf6c
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 0x14000bfa4
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x60]
movaps xmmword [rbp], xmm0
test ecx, ecx
jne 0x14000bfa4
mov rax, qword [rbp - 0x18]
add rax, 0xfffffffffffffff0
mov qword [rbp - 0x18], rax
lea rcx, [rbp - 0x50]
cmp rcx, rax
je 0x14000bfa4
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.14005eadc
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r12
mov rcx, qword [rsp + 0x40]
call fcn.14005eadc
mov edx, 1
mov rcx, qword [rsp + 0x38]
call fcn.140052784
cmp dword [rbp], 0
je 0x14000c036
cmp byte [rsi + 8], 0
jne 0x14000bff9
movsxd rax, dword [rsi + 0x1c]
cmp qword [rsi + 0x20], rax
jge 0x14000bff9
lea rcx, str.Failed_to_decode_message._Stage_2_parse_error.__n
call fcn.140008860
nop
mov rdi, qword [rbp - 0x38]
test rdi, rdi
je 0x14000c57d
cmp qword [rdi], 0
je 0x14000c550
mov rbx, qword [rdi]
mov rcx, rbx
cmp rbx, qword [rdi + 0x10]
je 0x14000c550
mov rbx, qword [rbx + 0x10]
call fcn.14005eadc
mov qword [rdi], rbx
test rbx, rbx
jne 0x14000c013
jmp 0x14000c550
cmp word [rbp - 0x42], 3
jne 0x14000bff9
mov ebx, 0xc
mov rax, qword gs:[0x58]
add rbx, qword [rax]
mov eax, dword [rbx]
cmp dword [0x14032fc00], eax
jle 0x14000c08f
lea rcx, [0x14032fc00]
call fcn.140052b60
cmp dword [0x14032fc00], 0xffffffff
jne 0x14000c08f
mov dword [0x14009e43c], 0x19b4f30
lea rcx, [0x14007aaa0]
call fcn.1400529f0
lea rcx, [0x14032fc00]
call fcn.140052b00
cmp byte [0x14009e43f], 0
je 0x14000c0b4
xor byte [0x14009e43c], 0x59
xor byte [0x14009e43d], 0x2b
xor byte [0x14009e43e], 0x9b
mov byte [0x14009e43f], 0
lea rdx, [0x14009e43c]
lea rcx, [rbp - 0x50]
call fcn.1400047b0
mov rdi, rax
mov ecx, dword [rbx]
cmp dword [0x14032fc30], ecx
jle 0x14000c118
lea rcx, [0x14032fc30]
call fcn.140052b60
cmp dword [0x14032fc30], 0xffffffff
jne 0x14000c118
mov word [0x14009e445], 0x1d2
mov dword [0x14009e440], 0xbbe9593c
mov byte [0x14009e444], 0xc6
lea rcx, [0x14007aa80]
call fcn.1400529f0
lea rcx, [0x14032fc30]
call fcn.140052b00
cmp byte [0x14009e446], 0
je 0x14000c152
xor byte [0x14009e440], 0x59
xor byte [0x14009e441], 0x2b
xor byte [0x14009e442], 0x9b
xor byte [0x14009e443], 0xd4
xor byte [0x14009e444], 0xb4
xor byte [0x14009e445], 0xd2
mov byte [0x14009e446], 0
lea rdx, [0x14009e440]
lea rcx, [rbp - 0x50]
call fcn.1400047b0
mov r13, rax
mov edx, dword [rbx]
movzx ecx, byte [rdi + 0xe]
shr cl, 7
test cl, 1
je 0x14000c263
cmp dword [0x14032fc04], edx
jle 0x14000c1c0
lea rcx, [0x14032fc04]
call fcn.140052b60
cmp dword [0x14032fc04], 0xffffffff
jne 0x14000c1c0
mov dword [0x14009e494], 0x1a5a6d8
mov dword [0x14009e490], 0xa1e84e2b
lea rcx, [0x14007aa60]
call fcn.1400529f0
lea rcx, [0x14032fc04]
call fcn.140052b00
cmp byte [0x14009e497], 0
je 0x14000c201
xor byte [0x14009e490], 0x59
xor byte [0x14009e491], 0x2b
xor byte [0x14009e492], 0x9b
xor byte [0x14009e493], 0xd4
xor byte [0x14009e494], 0xb4
xor byte [0x14009e495], 0xd2
xor byte [0x14009e496], 0xa5
mov byte [0x14009e497], 0
lea rdx, [0x14009e490]
lea rcx, [rbp - 0x50]
call fcn.1400047b0
mov r9, r13
mov r8, rax
mov rdx, qword [rdi]
mov rcx, rsi
call fcn.14000c980
nop
mov rdi, qword [rbp - 0x38]
test rdi, rdi
je 0x14000c57d
cmp qword [rdi], 0
je 0x14000c550
mov rbx, qword [rdi]
nop dword [rax]
mov rcx, rbx
cmp rbx, qword [rdi + 0x10]
je 0x14000c550
mov rbx, qword [rbx + 0x10]
call fcn.14005eadc
mov qword [rdi], rbx
test rbx, rbx
jne 0x14000c240
jmp 0x14000c550
cmp dword [0x14032fc28], edx
jle 0x14000c2ac
lea rcx, [0x14032fc28]
call fcn.140052b60
cmp dword [0x14032fc28], 0xffffffff
jne 0x14000c2ac
mov dword [0x14009e42c], 0x1a5b6db
mov dword [0x14009e428], 0xbcef4e34
lea rcx, [0x14007aa40]
call fcn.1400529f0
lea rcx, [0x14032fc28]
call fcn.140052b00
cmp byte [0x14009e42f], 0
je 0x14000c2ed
xor byte [reloc.WS2_32.dll_gethostbyname], 0x59
xor byte [0x14009e429], 0x2b
xor byte [0x14009e42a], 0x9b
xor byte [0x14009e42b], 0xd4
xor byte [0x14009e42c], 0xb4
xor byte [0x14009e42d], 0xd2
xor byte [0x14009e42e], 0xa5
mov byte [0x14009e42f], 0
lea rdx, [0x14009e428]
lea rcx, [rbp - 0x50]
call fcn.1400046c0
mov rcx, rax
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14000bff9
cmp word [r13 + 0xe], 3
jne 0x14000c3eb
cmp byte [rsi + 8], 0
jne 0x14000bff9
movsxd rax, dword [rsi + 0x1c]
cmp qword [rsi + 0x20], rax
jge 0x14000bff9
movdqa xmm6, xmmword [0x14008f350]
movdqa xmm7, xmmword [0x14008f3b0]
movdqa xmm8, xmmword [0x14008f390]
mov eax, dword [rbx]
cmp dword [0x14032fc08], eax
jle 0x14000c3a0
lea rcx, [0x14032fc08]
call fcn.140052b60
cmp dword [0x14032fc08], 0xffffffff
jne 0x14000c3a0
mov word [0x14009e420], 0x159
movaps xmmword [0x14009e3f0], xmm6
movaps xmmword [0x14009e400], xmm7
movaps xmmword [0x14009e410], xmm8
lea rcx, [0x14007aa10]
call fcn.1400529f0
lea rcx, [0x14032fc08]
call fcn.140052b00
lea r8, [0x14009e3f0]
cmp byte [0x14009e421], 0
je 0x14000c3e3
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 0x14000c3c0
mov byte [0x14009e421], 0
mov rcx, r8
jmp 0x14000bff3
mov rax, qword [rsi]
mov r10, qword [rax + 0xe0]
mov qword [rsp + 0x28], r10
cmp word [rbp - 0x42], 3
jne 0x14000c510
mov eax, dword [rbp - 0x50]
test eax, eax
je 0x14000c510
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 0x14000c510
mov esi, 0x1000
and r14w, si
movsx r12d, byte [rbp - 0x63]
nop
test r14w, r14w
je 0x14000c491
mov r8d, select
sub r8d, r12d
jmp 0x14000c497
mov r8d, 6
mov edx, esi
and dx, word [rbx + 0xe]
je 0x14000c4ac
movsx eax, byte [rbx + 0xd]
mov ecx, 0xd
sub ecx, eax
jmp 0x14000c4ae
mov ecx, dword [rbx]
cmp r8d, ecx
jne 0x14000c4ee
test r14w, r14w
je 0x14000c4bf
lea rcx, [rbp - 0x70]
jmp 0x14000c4c5
mov rcx, r15
and rcx, r9
test dx, dx
je 0x14000c4cf
mov rdx, rbx
jmp 0x14000c4d6
mov rdx, qword [rbx + 8]
and rdx, r9
cmp rcx, rdx
je 0x14000c4f7
call fcn.1400555a0
test eax, eax
je 0x14000c4f7
movabs r9, 0xffffffffffff
add rbx, 0x20
cmp rbx, rdi
jne 0x14000c480
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 0x14000c517
lea r8, [0x14032d6d0]
mov r9, r13
mov rdx, rcx
mov rcx, rsi
call r10
nop
mov rdi, qword [rbp - 0x38]
test rdi, rdi
je 0x14000c57d
cmp qword [rdi], 0
je 0x14000c550
mov rbx, qword [rdi]
mov rcx, rbx
cmp rbx, qword [rdi + 0x10]
je 0x14000c550
mov rbx, qword [rbx + 0x10]
call fcn.14005eadc
mov qword [rdi], rbx
test rbx, rbx
jne 0x14000c536
mov rax, qword [rdi]
test rax, rax
je 0x14000c562
cmp rax, qword [rdi + 0x10]
jne 0x14000c562
mov qword [rax + 8], r12
mov edx, 1
mov rcx, qword [rdi + 0x20]
call fcn.140052784
mov edx, 0x28
mov rcx, rdi
call fcn.140052784
mov rcx, qword [rbp - 0x20]
call fcn.14005eadc
mov edx, 1
mov rcx, qword [rbp - 0x28]
call fcn.140052784
jmp 0x14000c5b2
cmp byte [rsi + 8], 0
jne 0x14000c5b2
movsxd rax, dword [rsi + 0x1c]
cmp qword [rsi + 0x20], rax
jge 0x14000c5b2
lea rcx, str.Failed_to_decode_message._Stage_1_parse_error.__n
call fcn.140008860
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.140052720
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