Function at 0x1400ad450
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x60
movzx ebx, word [rdx + 0x10]
mov rdi, rdx
mov rsi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dd3c18]
xor edx, edx
div dword [0x141dd3c1c]
xor eax, 0x6aaba936
imul eax, eax, 0xd7b73b0c
or eax, 0x9a64c871
cmp eax, 0xc46081a4
jb 0x1400ad470
test bx, bx
je 0x1400ad4c0
mov eax, dword [0x141dd3c88]
xor edx, edx
div dword [0x141dd3c8c]
or eax, 0xb51c5ab3
cmp eax, 0x6ce0686e
jne 0x1400ad925
jmp 0x1400ad931
mov eax, dword [0x141dd3c20]
or eax, dword [0x141dd3c24]
and eax, 0xa76b86ca
add eax, 0x43a54fb8
or eax, 0x77d39be
cmp eax, 0xc7d1aa03
jb 0x1400ad4c0
mov r9, qword [rdi]
mov rcx, qword [rdi + 8]
nop dword [rax]
mov eax, dword [0x141dd3c28]
sub eax, dword [0x141dd3c2c]
imul rax, rax, 0x5a516275
shr rax, 0x3e
add eax, 0xa5559f13
xor eax, 0x82874768
cmp eax, 0x2325b907
jb 0x1400ad4f0
cmp r9, rcx
je 0x1400ad60c
lea r8, [r9 + 1]
nop word cs:[rax + rax]
mov eax, dword [0x141dd3c30]
or eax, dword [0x141dd3c34]
add eax, 0x22492733
or eax, 0xae72210
and eax, 0x2ae7625c
cmp eax, 0xf3b19b2f
ja 0x1400ad530
mov eax, dword [0x141dd3c38]
xor eax, dword [0x141dd3c3c]
imul eax, eax, 0xffd876a8
cmp eax, 0x4f9e1a4b
jne 0x1400ad570
mov qword [rdi], r8
nop
mov eax, dword [0x141dd3c40]
or eax, dword [0x141dd3c44]
imul eax, eax, 0xb6d15f3b
imul rax, rax, 0x31bf384d
shr rax, 0x38
and eax, 0xffffffee
mov qword [rdi], r8
cmp eax, 0xc8a029ec
ja 0x1400ad570
movzx r11d, byte [r9]
nop
mov eax, dword [0x141dd3c48]
xor edx, edx
div dword [0x141dd3c4c]
add eax, 0xcf50185d
imul rdx, rax, 0x74c5f3
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
xor eax, 0xc1d54335
cmp eax, 0xf9aecba7
ja 0x1400ad5a0
test r11b, r11b
js 0x1400ad693
nop dword [rax]
mov eax, dword [0x141dd3c70]
xor edx, edx
div dword [0x141dd3c74]
add eax, 0x9a49108e
and eax, 0x45432ee1
add eax, 0x8573a5a7
cmp eax, 0xc271b57e
jae 0x1400ad5e0
mov r10d, r11d
jmp 0x1400ad8f6
mov qword [rsi], 0
mov eax, dword [0x141dd3cb8]
xor eax, dword [0x141dd3cbc]
mov ecx, 0xd78acd03
imul rcx, rax
shr rcx, 0x3e
or ecx, 0x978bf534
cmp ecx, 0xf25bc113
jbe 0x1400ad64a
mov qword [rsi + 8], 2
mov qword [rsi + 0x10], 0
xor eax, eax
nop dword [rax]
mov qword [rsi + 8], 2
mov qword [rsi + 0x10], 0
test al, al
jne 0x1400ad650
nop word cs:[rax + rax]
mov eax, dword [0x141dd3cc0]
add eax, dword [0x141dd3cc4]
or eax, 0xfcd363f8
imul eax, eax, 0x5506dfd7
cmp eax, 0xa670592c
je 0x1400ad670
jmp 0x1400adbb7
mov eax, dword [0x141dd3c50]
add eax, dword [str.h:]
imul eax, eax, 0xe02c1356
cmp eax, 0xa31980f9
jne 0x1400ad6b3
lea rax, [r9 + 2]
mov qword [rdi], rax
mov ebx, r11d
and ebx, 0x1f
lea r8, [r9 + 2]
mov r10d, ebx
shl r10d, 6
nop word cs:[rax + rax]
mov eax, dword [0x141dd3c58]
add eax, dword [0x141dd3c5c]
imul eax, eax, 0xb52ee705
and eax, 0xbef7f19d
add eax, 0x6c24e252
mov qword [rdi], r8
cmp eax, 0xa7b340af
ja 0x1400ad6d0
movzx ebp, byte [r9 + 1]
and ebp, 0x3f
or r10d, ebp
nop word cs:[rax + rax]
mov eax, dword [0x141dd3c60]
xor edx, edx
div dword [0x141dd3c64]
add eax, 0xf47e82ef
or eax, 0x6f3c24c2
add eax, 0x331a2008
cmp eax, 0xb368c287
ja 0x1400ad710
nop word cs:[rax + rax]
mov eax, dword [0x141dd3c68]
sub eax, dword [0x141dd3c6c]
imul eax, eax, 0xfb5d1ce4
add eax, 0xbb0b87a4
xor eax, 0x5f437bf5
cmp eax, 0x1c3f49eb
jb 0x1400ad740
cmp r11b, 0xdf
jbe 0x1400ad8f6
xor eax, eax
test al, al
jne 0x1400ad7a2
mov eax, dword [0x141dd3c78]
and eax, dword [0x141dd3c7c]
xor eax, 0xa1d29c8
imul rax, rax, 0x373dc073
shr rax, 0x3d
xor eax, 0x7ac6916b
lea r8, [r9 + 3]
mov qword [rdi], r8
cmp eax, 0x8347ccc5
jbe 0x1400ad7ab
lea rax, [r9 + 3]
mov qword [rdi], rax
jmp 0x1400ad773
movzx eax, byte [r9 + 2]
shl ebp, 6
and eax, 0x3f
or eax, ebp
mov r10d, ebx
shl r10d, 0xc
or r10d, eax
mov edx, 0x853caf31
nop word [rax + rax]
mov r14d, dword [0x141dd3c80]
xor r14d, dword [0x141dd3c84]
imul r14, r14, 0x48b920b
shr r14, 0x3a
or r14d, 0x440c9272
imul r14, rdx
shr r14, 0x3d
cmp r14d, 0x48ef2784
ja 0x1400ad7d0
cmp r11b, 0xf0
jb 0x1400ad850
add r9, 4
mov qword [rdi], r9
shl ebx, 0x12
xor edx, edx
nop word cs:[rax + rax]
test dl, dl
jne 0x1400ad820
movzx r10d, byte [r8]
and ebx, 0x1c0000
shl eax, 6
and r10d, 0x3f
or r10d, eax
or r10d, ebx
xor eax, eax
nop dword [rax]
test al, al
jne 0x1400ad840
mov r8, r9
nop word [rax + rax]
mov eax, dword [0x141dd3c98]
or eax, dword [0x141dd3c9c]
xor eax, 0x402802
or eax, 0xc0885618
and eax, 0xe0ec7e5a
cmp eax, 0x7fdff13c
jb 0x1400ad850
cmp r10d, 0xffff
jbe 0x1400ad8f6
lea ebx, [r10 + 0xff0000]
shr ebx, 0xa
or ebx, 0xd800
and r10d, 0x3ff
or r10d, 0xdc00
mov eax, dword [0x141dd3ca8]
imul eax, dword [0x141dd3cac]
add eax, 0x57822643
imul rax, rax, 0x18f3a43b
shr rax, 0x3c
cmp eax, 0x387ce25a
jne 0x1400ad8d0
mov word [rdi + 0x10], r10w
nop word cs:[rax + rax]
mov eax, dword [0x141dd3cb0]
xor eax, dword [0x141dd3cb4]
mov word [rdi + 0x10], r10w
cmp eax, 0x7d1c80d5
je 0x1400ad8d0
mov dl, 1
mov eax, 1
nop
test dl, dl
je 0x1400ad8f0
jmp 0x1400ad969
xor eax, eax
nop dword [rax + rax]
mov edx, dword [0x141dd3ca0]
and edx, dword [0x141dd3ca4]
or edx, 0x88ebfeff
and edx, 0x8cfffeff
cmp edx, 0x23732079
jbe 0x1400ad900
mov ebx, r10d
jmp 0x1400ad969
mov word [rdi + 0x10], 0
xor eax, eax
test al, al
je 0x1400ad939
mov word [rdi + 0x10], 0
jmp 0x1400ad925
mov rcx, qword [rdi + 8]
xor eax, eax
nop
mov edx, dword [0x141dd3c90]
or edx, dword [0x141dd3c94]
imul edx, edx, 0x7433679f
add edx, 0xe6747f12
and edx, 0xc8a60ddb
cmp edx, 0x58db6ce6
jb 0x1400ad940
mov r8, qword [rdi]
movabs rdx, 0x3fffffffffffffff
sub rcx, r8
mov r8, 0xffffffffffffffff
mov r9d, 4
nop word cs:[rax + rax]
mov r10d, dword [0x141dd3cc8]
or r10d, dword [0x141dd3ccc]
and r10d, 0x90515243
or r10d, 0xb2e8db8
imul r10d, r10d, 0xaefc8545
mov r11, rcx
add r11, 3
cmovb r11, r8
shr r11, 2
lea r14, [r11 + rax]
inc r14
add r11, rax
cmp r11, 3
cmovb r14, r9
cmp r10d, 0x3b236007
je 0x1400ad990
cmp r14, rdx
ja 0x1400ada82
lea r8, [r14 + r14]
nop word [rax + rax]
mov eax, dword [0x141dd3cd8]
xor edx, edx
div dword [0x141dd3cdc]
xor eax, 0x922668b9
imul eax, eax, 0xc5681e23
add eax, 0x6587fa42
cmp eax, 0x55cd47fa
jb 0x1400ad9f0
movzx eax, byte [0x141ddc4f8]
xor ecx, ecx
mov rdx, r8
call fcn.1400c0a10
mov rcx, rax
nop dword [rax]
mov eax, dword [0x141dd3ce0]
xor edx, edx
div dword [0x141dd3ce4]
imul eax, eax, 0x4e5be9fa
xor eax, 0x22100110
and eax, 0xe3336338
cmp eax, 0x246ba3a
jb 0x1400ada30
test rcx, rcx
je 0x1400adab5
mov eax, dword [0x141dd3cf0]
imul eax, dword [0x141dd3cf4]
add eax, 0xfe34c8dc
and eax, 0xfb91043b
add eax, 0xcae98839
cmp eax, 0xa0730a37
jae 0x1400adaeb
jmp 0x1400adb1b
ud2
mov eax, dword [0x141dd3ce8]
xor eax, dword [0x141dd3cec]
or eax, 0xe3132a74
mov ecx, 0xb34367e5
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x935d808
jne 0x1400adadf
jmp 0x1400adae7
ud2
ud2
mov eax, dword [0x141dd3cf8]
imul eax, dword [0x141dd3cfc]
xor eax, 0x2946180
and eax, 0xafb469b8
add eax, 0xb9a43e6f
mov word [rcx], bx
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], rcx
cmp eax, 0x39589630
jae 0x1400adb2a
mov word [rcx], bx
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], rcx
jmp 0x1400adaeb
mov eax, dword [0x141dd3d00]
sub eax, dword [0x141dd3d04]
imul eax, eax, 0x158558a1
add eax, 0xe2a679bc
xor eax, 0xa89aa4af
cmp eax, 0xa104515e
jae 0x1400adb60
mov qword [rsp + 0x38], 1
nop word cs:[rax + rax]
mov eax, dword [0x141dd3d08]
and eax, dword [0x141dd3d0c]
xor eax, 0x1817a3
or eax, 0xbfa5e858
mov qword [rsp + 0x38], 1
cmp eax, 0x1fb0d7f
je 0x1400adb60
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0x40]
call fcn.140091f80
mov rax, qword [rsp + 0x38]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rsi], xmm0
add rsp, 0x60
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret