Function at 0x140043d48
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov r13, rdx
test rdx, rdx
jne 0x140043df3
and dword [rbp + 0x48], edx
mov dword [rbp + 0x48], 0xe24b6ddd
mov eax, 0xd428206e
sub eax, dword [0x140336058]
sub eax, dword [0x140336050]
xor eax, 0x38b01882
sub eax, dword [0x140336048]
mov rcx, qword [0x140336040]
add eax, 0x69a99a6c
add eax, ecx
xor eax, 0xdc246edd
sub eax, 0x699d14b0
xor eax, 0xa3a510d7
lea edx, [rcx + 0x79cdaa3]
add edx, eax
not edx
mov eax, dword [0x140336038]
xor eax, 0xc15e2f93
sub edx, eax
mov ecx, dword [0x140336030]
xor ecx, 0x3ea1d06c
add ecx, 0x7642e96
add ecx, edx
xor ecx, 0x9fd68204
mov dword [rbp + 0x48], ecx
setne al
and dword [rbp + 0x48], 0
jmp 0x1400443be
movabs rsi, 0x34dee15df9d46baf
xor ebx, ebx
movabs rax, 0x72b008d6695f2324
movabs r14, 0xfe759d0a5f45f0f0
movabs r11, 0xb0a33f6af63cbf61
mov rdi, qword [0x140336070]
imul rdi, rax
not rdi
movabs rcx, 0x4f5cc0951feb3c97
mov r12, qword [0x140336060]
mov rax, r12
xor rax, rcx
and rdi, rax
ror rdi, 0x3a
shr rdi, 8
movabs rax, 0xf4a7ef4da55cf0b8
mov r9, r12
imul r9, rax
add r9, rsi
movabs rax, 0x2fa6595600000000
xor r9, rax
shr r9, 0x1f
not r9
movabs r8, 0xcb211ea2062b9451
lea rcx, [r9 + r8]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rdx, [0x140336060]
movzx eax, r9b
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xb5
and ecx, 0x8000003f
jge 0x140043ec8
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r9
ror rax, cl
not rax
movabs rcx, 0xed08049cb7c58a36
mov r15, rax
imul r15, rcx
add r8, r15
mov r10, r9
imul r10, rdi
sub r10, r8
xor r10, r14
mov cl, r8b
xor cl, 0xfa
and cl, 0xf
rol r10, cl
movabs rcx, 0xd700a6942b860cea
imul rax, rcx
movabs rcx, 0x470d3b1d0adc3e5f
add rax, rcx
xor r10, rax
mov rax, r8
sub rax, qword [0x140336078]
xor r10, rax
xor r10, r11
mov rax, r10
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x14004420b
sub rax, 1
movabs r12, 0xaaaaaaaaaaaaaaab
je 0x140044119
sub rax, 1
je 0x14004404e
cmp rax, 1
jne 0x14004428b
mov r14, r8
imul r14, r9
movabs rax, 0xd7e63b5d9c201615
add rax, r10
xor r14, rax
ror r14, 2
shr r14, 0xc
not r14
movabs rcx, 0x83572a7f27a2
mov rdx, qword [0x140336088]
add rdx, rcx
movabs rax, 0xcba39bda674f9375
xor rdx, rax
movzx eax, r10b
movzx ecx, r14b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db9729fcb5d
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rsi
mov eax, 0xa34419b7
add rcx, rax
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x140336060]
mov cl, byte [rax + rcx*8]
and cl, 0xf
movabs rsi, 0xcdae3c176de97e78
sub rsi, r14
shr rsi, cl
movabs rcx, 0xcb29432a57ebfdcd
add rcx, r15
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
lea rdx, [0x140336060]
imul rax, qword [rdx + rcx*8]
imul rax, r10
sub rax, rdi
xor rsi, rax
jmp 0x14004428b
movabs rcx, 0xaaaaaa1aa35de489
mov r9, r10
xor r9, rcx
movabs rcx, 0x1206ed615038c5
imul r9, rcx
movabs rcx, 0xffff7e8a854dd655
imul r15, rcx
movabs rcx, 0x686528902f1b5da6
add r9, rcx
add r9, r15
movabs rax, 0x277cd7be718d33e9
mov rcx, r9
xor rcx, rax
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r9
not r8
lea rax, [0x140336060]
imul r8, qword [rax + rcx*8]
xor r8, 0xfffffffff6083259
lea ecx, [r10 + 0xb]
and cl, 0x3f
rol r8, cl
movabs rax, 0x341241c080000000
imul r8, rax
mov rcx, r8
ror rcx, 0x24
not rcx
movabs rax, 0x9b2de6b2f986c738
imul rcx, rax
mov rax, r9
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, dil
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x14004428b
movabs rax, 0x657dd1b6e6b3c539
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x18a62f5a0ba0f0f
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov cl, r8b
and cl, 0x3f
rol r11, cl
movabs rcx, 0xcb211ea2062b9451
add rcx, r10
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffe15df9d46baf
lea rax, [0x140336060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7ff9992a4
or r11, rax
mov rsi, qword [0x140336070]
imul rsi, r14
sub rsi, r8
mov rax, rdi
sub rax, r11
xor rsi, rax
movabs rax, 0xc7a7c6a6ae9192a9
xor rsi, rax
mov rax, r10
imul rax, r8
imul rax, rsi
mov rbx, r9
sub rbx, rax
movabs rax, 0x789589461c3deb3
add rbx, rax
xor rbx, rdi
mov al, r9b
add al, al
lea ecx, [rax + r9]
shl cl, 2
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x14004428b
mov rcx, r10
imul rcx, qword [0x140336080]
mov rdx, qword [0x140336068]
and rcx, rdx
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x21
imul r11, r8
mov rbx, rdi
not rbx
imul rbx, r9
movabs rax, 0x7cd8a7de7360c348
imul rbx, rax
imul rdi, r12, 0xffffffffe9d783f6
sub rdi, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14004426e
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rdi, cl
movabs rax, 0xcb211ea2062b9451
add rdi, rax
add rdi, r15
movabs r12, 0xaaaaaaaaaaaaaaab
movabs rcx, 0xff055d7b832bc985
xor r14, rcx
mov rax, r12
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r11, rbx
lea rax, [0x140336060]
imul r11, qword [rax + r14*8]
not r8
imul r8, r10
imul r8, rdi
imul r8, rsi
movabs rcx, 0xf5ed7e8784988359
xor rcx, r9
not rcx
xor rcx, r8
sub rcx, r11
call fcn.14002eb94
mov qword [0x14033ff50], rax
mov ecx, dword [0x140340620]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x1403400d8], eax
jg 0x140044467
mov rbx, qword [rbp + 0x40]
mov r8, qword [0x1403400d0]
test r8, r8
jne 0x1400443b1
and dword [rbp + 0x48], r8d
mov dword [rbp + 0x48], 0x87121ec3
mov eax, 0x8c66542
sub eax, dword [0x140336058]
sub eax, dword [0x140336050]
xor eax, 0xfc363d23
sub eax, dword [0x140336048]
mov r8, qword [0x140336040]
lea ecx, [r8 - 0x2e8cf49f]
add ecx, eax
xor ecx, 0x7ca764cd
sub ecx, 0x43751a0
xor ecx, 0x6b4f9548
mov edx, dword [0x140336030]
xor edx, 0x1a416a96
sub edx, ecx
mov eax, dword [0x140336038]
xor eax, 0xe5be9569
sub edx, eax
sub edx, r8d
sub edx, 0x633fad41
xor edx, 0x21320586
mov dword [rbp + 0x48], edx
setne al
jmp 0x140043dea
inc r15
cmp byte [rax + r15], 0
je 0x1400443f8
jmp 0x1400443a5
mov r9, r13
xor edx, edx
mov rcx, rbx
call fcn.14002a3fc
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movdqa xmm0, xmmword [0x14030fbf0]
movdqu xmmword [rbp - 0x18], xmm0
mov byte [rbp - 0x28], 0
lea rcx, [0x1403400d8]
call fcn.140290b5c
jmp 0x140044317
mov r8, r15
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x28]
call fcn.14002d678
nop
lea r8, [rbp - 0x28]
mov rdx, qword [0x140340038]
mov rbx, qword [rbp + 0x40]
mov rcx, rbx
call fcn.14004be68
mov qword [0x1403400d0], rax
mov rdx, qword [rbp - 0x10]
cmp rdx, 0xf
jbe 0x1400443d6
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004461d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004461d
call fcn.140297de8
nop
lea rcx, [0x1403400d8]
call fcn.140290bc8
or r15, 0xffffffffffffffff
cmp dword [0x1403400d8], r15d
jne 0x140044313
movdqa xmm0, xmmword [0x14030fc70]
movdqu xmmword [rbp - 0x40], xmm0
mov dword [rbp - 0x30], 0x4c2bbf4a
mov word [rbp - 0x2c], 0xdf28
xor r12d, r12d
xor edx, edx
mov rax, r12
movabs rcx, 0x13cce94adb9fb9bf
div rcx
add dl, 0x39
mov r14b, dl
sar r14b, 7
or r14b, dl
mov al, r14b
sar al, 2
mov dil, r14b
shl dil, 6
mov sil, dil
or sil, al
movsx rcx, r14b
or dil, al
mov r9b, r14b
sar r9b, 5
mov al, r14b
shl al, 3
or r9b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov r8b, r14b
sar r8b, 4
mov al, r14b
shl al, 4
or r8b, al
mov r11b, r14b
not r11b
mov bl, r14b
ror bl, 7
lea eax, [r10 - 0x50]
add bl, al
mov dl, byte [rbp + r12 - 0x40]
sub dl, sil
sub dl, 2
mov eax, 4
sub al, dil
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x140336058]
sub dl, byte [0x140336050]
sub dl, 0x3f
add dl, dil
add dl, r14b
lea eax, [rsi + 7]
add al, r14b
xor dl, al
sub dl, byte [0x140336048]
sub dl, r9b
sub dl, r14b
sub dl, 0x50
mov rcx, qword [0x140336040]
add dl, dil
add dl, cl
mov al, r8b
sub al, r9b
add al, sil
add al, r14b
xor dl, al
mov al, r14b
sub al, r8b
xor al, r14b
sub dl, al
sub dl, r10b
add dl, 0x30
add dl, r14b
xor bl, dl
mov al, r14b
add al, al
sub bl, al
add bl, dil
add cl, 0x51
add bl, cl
add bl, sil
not bl
mov al, r14b
sar al, 7
or al, r14b
sub bl, al
mov al, byte [0x140336038]
xor al, r11b
sub bl, al
mov al, r14b
xor al, 0x40
sub bl, al
mov al, byte [0x140336030]
xor al, r14b
add bl, al
movsx eax, r14b
movsx ecx, r11b
imul ecx, eax
xor bl, cl
mov byte [rbp + r12 - 0x40], bl
inc r12
cmp r12, 0x16
jb 0x1400444a1
lea rax, [rbp - 0x40]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 0x16
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
lea rax, [rbp - 0x40]
jmp 0x1400443a5
call fcn.140290aa8
nop
jmp 0x1400443d6