Function at 0x1400089e0
Capabilities:
Encode data using base64

Disassembly:
sub rsp, 0x108
mov qword [rsp + 0xe0], r9
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], rcx
mov ecx, dword [0x1401f3620]
xor ecx, 0xcea7a7d5
mov edx, dword [0x1401f3624]
mov r8d, 0x6eaf5ebc
xor r8d, 0x9150a143
mov eax, ecx
xor eax, r8d
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
xor ecx, 0xffffffff
mov r8d, 0x4f7e679a
xor r8d, 0xb0819865
xor edx, r8d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
xor ecx, ecx
sub ecx, 0xbaa34a5
sub eax, ecx
mov ecx, 0xb933fcd3
xor ecx, 0x475dd42
and eax, ecx
xor ecx, ecx
sub ecx, 0x1442dc5f
add eax, ecx
cmp eax, 0x8ce1aafe
jae 0x140009738
mov eax, dword [0x1401f3628]
xor eax, dword [0x1401f362c]
or eax, 0xf3af05b2
mov ecx, 0xba91872a
xor ecx, 0x380a0f9d
xor edx, edx
div ecx
mov ecx, eax
mov edx, ecx
xor edx, 0xffffffff
mov eax, 0xab54bb22
xor eax, 0x84dbbaf2
and eax, edx
mov edx, 0xffffffff
xor edx, 0x2f8f01d0
and ecx, edx
or eax, ecx
mov dword [rsp + 0xc4], eax
call fcn.14000841f
mov r9, qword [rsp + 0xe8]
mov rcx, rax
mov eax, dword [rsp + 0xc4]
mov qword [rsp + 0xc8], rcx
mov rdx, r9
sar rdx, 2
mov r8, rdx
add r8, r9
mov qword [rsp + 0xd0], r8
mov rcx, r8
xor rcx, 0xffffffffffffffff
mov r10, r8
xor r10, 0xffffffffffffffff
or rcx, r10
xor rcx, 0xffffffffffffffff
mov r10, r9
xor r10, 0xffffffffffffffff
or rcx, r10
movabs r11, 0x981b8261d5f307d1
movabs r10, 0x67e47d9e2a0cf82e
xor r11, r10
mov r10, r9
xor r10, r11
xor r9, 0xffffffffffffffff
or r10, r9
mov r9, r8
and r9, r10
xor r9, 0xffffffffffffffff
and rcx, r9
xor rcx, 0xffffffffffffffff
xor r8, rdx
mov rdx, rcx
add rdx, 1
xor rcx, 0xffffffffffffffff
or rcx, r8
add rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0xdf], cl
cmp eax, 0xf06f8477
je 0x140008a83
mov al, byte [rsp + 0xdf]
test al, 1
jne 0x140008b95
jmp 0x140008c82
mov eax, dword [0x1401f3630]
xor eax, 0x5800bb47
mov r8d, dword [0x1401f3634]
mov ecx, 0xc0c16a3c
xor ecx, 0xc7af7fdd
xor r8d, ecx
mov edx, 0xc1a9e05
xor edx, 0xf3e561fa
mov ecx, eax
xor ecx, edx
mov edx, r8d
and edx, ecx
mov ecx, 0x8a8cee6e
xor ecx, 0x75731191
mov r9d, r8d
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xaa189d6f
xor ecx, 0xffffffff
and ecx, 0xaa189d6f
shl ecx, 1
sub ecx, 0xaa189d6f
sub eax, ecx
mov ecx, 0xf4c4b111
xor ecx, 0x5ce0576d
add eax, ecx
mov ecx, 0xdce3c41f
xor edx, edx
div ecx
mov ecx, 0x4f0ed335
xor ecx, 0x1004b673
cmp eax, ecx
jae 0x140009741
mov eax, dword [0x1401f3638]
imul eax, dword [0x1401f363c]
mov ecx, 0xf171223a
xor ecx, 0xbf22927e
xor edx, edx
div ecx
imul eax, eax, 0xb02df83b
mov ecx, 0x8229f5a9
xor edx, edx
div ecx
mov dword [rsp + 0xc0], eax
call fcn.140009cc0
mov eax, dword [rsp + 0xc0]
cmp eax, 0xf2ddec76
jae 0x140008c34
jmp 0x140009728
mov rax, qword [rsp + 0xd0]
cmp rax, 0
jge 0x140008cb4
mov rcx, qword [rsp + 0xd0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000e57e
jmp 0x140009728
mov eax, dword [0x1401f3640]
mov edx, dword [0x1401f3644]
and eax, eax
xor eax, 0xffffffff
mov r8d, 0x79ecc156
xor r8d, 0x86133ea9
mov ecx, edx
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
and ecx, 0xc1800c95
xor ecx, 0xffffffff
add eax, 0xc1800c95
mov edx, 0xfa02f07e
xor edx, 0xfa02f07f
add eax, edx
add eax, ecx
mov ecx, 0xcd27108
xor ecx, 0x57f8520b
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x3c411ada
add eax, ecx
mov ecx, 0x4dd66c01
xor ecx, 0x4dd66c00
add eax, ecx
cmp eax, 0x92795c58
ja 0x14000974a
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xf8]
mov eax, dword [0x1401f3648]
xor eax, 0x2498a27c
mov r8d, dword [0x1401f364c]
xor r8d, 0x962a7680
or eax, r8d
mov r8d, eax
xor r8d, 0x4610a0a0
xor r8d, 0xffffffff
mov r9d, 0x8b66c43a
xor r9d, 0xcd76649a
or eax, r9d
and eax, r8d
xor r8d, r8d
sub r8d, 0xcc349a89
add eax, r8d
mov r8d, 0x2bd52983
xor r8d, 0x126c6f62
imul eax, r8d
mov dword [rsp + 0xbc], eax
call fcn.140019c50
mov eax, dword [rsp + 0xbc]
cmp eax, 0x90ba7f12
je 0x140008d35
xor eax, eax
mov qword [rsp + 0xb0], rax
jmp 0x140008dcd
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0xa0], rcx
mov ax, word [rax + rcx*2]
mov word [rsp + 0xae], ax
cmp ax, 0
je 0x140009728
mov rax, qword [rsp + 0xc8]
mov cx, word [rsp + 0xae]
movzx ecx, cx
mov qword [rsp + 0x98], rcx
cmp byte [rax], 0
jne 0x140009728
mov rdx, qword [rsp + 0xa0]
xor eax, eax
mov ecx, eax
sub rcx, rdx
movabs rax, 0xd066cb3c0f1a5ab2
movabs r8, 0xd066cb3c0f1a5ab2
xor rax, r8
movabs r8, 0x88a3583bdee54973
movabs r9, 0x88a3583bdee54972
xor r8, r9
sub rax, r8
add rcx, rax
movabs rax, 0xbea0d168c2036445
movabs r8, 0xbea0d168c2036445
xor rax, r8
sub rax, rcx
mov qword [rsp + 0x90], rax
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r9, 0xf8beb68a420ad75c
movabs r8, 0x7414975bdf528a3
xor r9, r8
mov r8, rdx
xor r8, r9
or rcx, r8
and rcx, 0xffffffffffffffff
movabs r8, 0x465dbd0d8f6d5494
movabs r9, 0xb9a242f27092ab6b
xor r8, r9
xor rcx, r8
mov r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
movabs r8, 0xbdec57a18c4a98b8
movabs r9, 0x4213a85e73b56747
xor r8, r9
xor rdx, r8
movabs r8, 0x9f6c80fd724ce871
movabs r9, 0x60937f028db3178e
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140008f2d
call fcn.140009cc0
jmp 0x140009728
mov ecx, dword [0x1401f3650]
xor ecx, 0x9a3fb928
imul ecx, dword [0x1401f3654]
mov eax, 0x3f5fba63
xor eax, 0x93092c1
or ecx, eax
mov eax, 0x321bbcbb
xor eax, 0x6237944c
and ecx, eax
mov eax, ecx
and eax, 0xfdf79d8c
xor ecx, 0xfdf79d8c
or eax, ecx
cmp eax, 0xeeeb2147
jbe 0x140009753
mov cx, word [rsp + 0xae]
mov edx, dword [0x1401f3658]
mov r8d, dword [0x1401f365c]
xor r8d, 0xd07cc9ba
mov eax, edx
xor eax, 0xffffffff
mov r10d, 0x4c1cfac0
xor r10d, 0xb3e3053f
mov r9d, r8d
xor r9d, r10d
and eax, r9d
xor edx, 0xffffffff
mov r9d, 0x3884c72d
xor r9d, 0xc77b38d2
xor r8d, r9d
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, eax
and edx, 0x47d42fb2
xor edx, 0xffffffff
xor eax, 0xffffffff
mov r8d, 0x6afd405
xor r8d, 0x417bfbb7
mov r9d, 0x3824b985
xor r9d, 0xc7db467a
xor r8d, r9d
or eax, r8d
xor edx, 0xffffffff
mov r8d, 0x9c0d3f1b
xor r8d, 0x63f2c0e4
xor eax, r8d
or edx, eax
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, 0xffffffff
xor edx, 0x30422b70
mov r8d, 0xffffffff
xor r8d, 0x30422b70
or edx, r8d
and eax, edx
mov edx, 0xff20719f
xor edx, 0xdf8e60
xor eax, edx
mov r9d, 0xffffffff
xor r9d, 0x79b80b0d
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x8a26666f
xor r9d, 0x75d99990
xor edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x79b80b0d
or eax, 0x79b80b0d
imul eax, r8d
add eax, edx
mov dx, 0x1fdb
xor dx, 0xe3db
and cx, dx
mov word [rsp + 0x8c], cx
cmp cx, 0xd800
sete cl
mov byte [rsp + 0x8f], cl
cmp eax, 0x80df763f
je 0x140009753
mov al, byte [rsp + 0x8f]
test al, 1
jne 0x1400090c1
jmp 0x140009304
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0x90]
mov cx, word [rcx + rdx*2]
mov word [rsp + 0x7e], cx
mov dx, cx
add dx, 1
xor cx, 0xffff
or cx, 0xfc00
add cx, dx
mov dx, 0xf1a3
xor dx, 0x2da3
cmp cx, dx
mov qword [rsp + 0x80], rax
jne 0x140009337
mov eax, dword [0x1401f3660]
mov edx, dword [0x1401f3664]
and eax, eax
xor eax, 0xffffffff
mov r8d, 0xaf266058
xor r8d, 0x50d99fa7
mov ecx, edx
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
mov edx, 0x3141fd6e
xor edx, 0xcebe0291
xor eax, edx
mov edx, 0x17de0c0b
xor edx, 0xe821f3f4
xor ecx, edx
or eax, ecx
mov ecx, 0x19487be5
xor ecx, 0xd30e1428
xor edx, edx
div ecx
mov ecx, 0xb3867e85
xor edx, edx
div ecx
mov ecx, 0x484d20dd
xor ecx, 0x42b8b76e
xor eax, ecx
cmp eax, 0x6e679fba
ja 0x14000975c
mov r8, qword [rsp + 0xa0]
mov dx, word [rsp + 0x7e]
mov rcx, qword [rsp + 0x98]
mov r11d, dword [0x1401f3668]
xor r11d, 0x102dcc6e
xor r11d, dword [0x1401f366c]
mov eax, r11d
xor eax, 0xffffffff
and eax, 0x60a5ca92
mov r10d, 0xffffffff
xor r10d, 0x60a5ca92
and r11d, r10d
mov r9d, 0xffffffff
xor r9d, 0x27b56184
and r9d, 0x60a5ca92
and r10d, 0x27b56184
or eax, r11d
or r9d, r10d
xor eax, r9d
sub eax, 0xdf0d8e98
or eax, 0x5a920d2c
shl rcx, 0xa
and rcx, 0xffc00
xor dx, 0xffff
mov r10w, 0xffff
xor r10w, 0x3ff
mov r9w, 0x73a1
xor r9w, 0xb667
mov r11w, 0x9c26
xor r11w, 0x63d9
xor r9w, r11w
or dx, r10w
or r9w, 0xc5c6
mov r10w, 0xe3dd
xor r10w, 0x1c22
xor dx, r10w
and dx, r9w
movzx edx, dx
mov r9d, edx
mov rdx, r9
and rdx, rcx
xor rdx, 0xffffffffffffffff
add rcx, r9
add rcx, 1
add rcx, rdx
mov rdx, 0xffffffffffffffff
xor rdx, 0x10000
xor r9d, r9d
sub r9, 1
sub rdx, r9
sub rcx, rdx
mov qword [rsp + 0x68], rcx
mov rdx, r8
and rdx, 2
shl rdx, 1
movabs r9, 0x7383cd3e2e85a6f2
movabs rcx, 0x7383cd3e2e85a6f0
xor r9, rcx
mov rcx, r8
xor rcx, r9
add rcx, rdx
mov qword [rsp + 0x70], rcx
mov rdx, 0xfffffffffffffffe
sub rdx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x7d], cl
cmp eax, 0x77e0fc8a
je 0x140009183
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov dl, byte [rsp + 0x7d]
test dl, 1
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
jne 0x1400092fa
jmp 0x1400095ef
call fcn.140009cc0
jmp 0x140009728
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0x98]
mov dx, word [rsp + 0x8c]
mov r8w, 0x11b0
xor r8w, 0xcdb0
cmp dx, r8w
cmove rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x50], rax
cmp rax, 0x80
jge 0x1400093b7
mov rax, qword [rsp + 0x50]
cmp rax, 0
jge 0x14000939c
mov rcx, qword [rsp + 0x50]
movabs rdx, 0x223273295fe7d37e
movabs rax, 0x223273295fe7d37e
xor rdx, rax
movabs r8, 0x7980729eaf2dd004
movabs rax, 0x7980729eaf2dd0fb
xor r8, rax
call fcn.14000e57e
jmp 0x140009728
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x50]
mov byte [rsp + 0x47], cl
mov qword [rsp + 0x48], rax
jmp 0x1400096fb
mov rax, qword [rsp + 0x50]
cmp rax, 0x800
jae 0x140009433
mov rax, qword [rsp + 0x50]
movabs rcx, 0x4bb65819be586db8
movabs rdx, 0x4bb65819be586dbe
xor rcx, rdx
shr rax, cl
mov rcx, qword [rsp + 0xf8]
mov dl, al
mov r8b, 0xff
xor r8b, 0xc0
mov al, dl
and al, r8b
mov r8b, dl
xor r8b, 0xc0
add dl, r8b
sub dl, al
call fcn.14000976e
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x90]
and cl, 0x3f
mov dl, 0x29
xor dl, 0xa9
or cl, dl
mov byte [rsp + 0x47], cl
mov qword [rsp + 0x48], rax
jmp 0x1400096fb
mov rax, qword [rsp + 0x50]
cmp rax, 0x10000
jae 0x1400094fa
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xf8]
shr rax, 0xc
mov dl, al
mov r8b, 0xff
xor r8b, 0xe0
mov al, dl
and al, r8b
mov r9b, 0x15
xor r9b, 0xf5
mov r8b, dl
xor r8b, r9b
add dl, r8b
sub dl, al
call fcn.14000976e
mov rcx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x50]
shr rax, 6
mov dl, al
mov al, dl
xor al, 0xff
xor dl, 0xff
and al, dl
mov dl, 0xfa
xor dl, 0xc5
mov r8b, 0xf1
xor r8b, 0xce
or dl, r8b
mov r8b, 0x55
xor r8b, 0xaa
xor dl, r8b
xor al, 0xff
xor dl, 0xff
and al, dl
mov dl, al
and dl, 0x80
xor al, 0x80
or dl, al
call fcn.14000976e
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x90]
mov dl, cl
mov r8b, 0x6e
xor r8b, 0x51
mov cl, 0xfd
xor cl, 2
xor r8b, cl
mov cl, dl
xor cl, r8b
and cl, dl
or cl, 0x80
mov byte [rsp + 0x47], cl
mov qword [rsp + 0x48], rax
jmp 0x1400096fb
mov eax, dword [0x1401f3670]
xor eax, 0xa3e6bedd
add eax, dword [0x1401f3674]
mov ecx, 0x51de9b06
xor ecx, 0xbae20a82
xor edx, edx
div ecx
add eax, 0x75086eaa
add eax, 0x1acea63c
add eax, 0x12eb68ec
sub eax, 0x1acea63c
cmp eax, 0x2b13a68c
je 0x140009765
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x1401f3678]
mov r9d, dword [0x1401f367c]
mov edx, 0x543f558c
xor edx, 0xabc0aa73
mov r10d, r9d
xor r10d, edx
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov edx, 0x2e043bb
xor edx, 0x6ab36f39
and eax, edx
or eax, 0x250c8d93
mov r8d, 0x5ada5410
xor edx, edx
div r8d
movabs rdx, 0xa41261914e105e0b
movabs r8, 0xa41261914e015e0b
xor rdx, r8
cmp rcx, rdx
setb cl
mov byte [rsp + 0x46], cl
cmp eax, 0xe906087f
ja 0x140009765
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x90]
mov dl, byte [rsp + 0x46]
test dl, 1
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
jne 0x1400095ef
jmp 0x1400096c4
mov rcx, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rdx
shr rax, 0x12
mov dl, al
or dl, 0xf0
call fcn.14000976e
mov rcx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x30]
shr rax, 0xc
xor al, 0xff
mov r8b, 0xff
xor r8b, 0x3f
mov dl, 0xff
xor dl, 0x3d
or al, r8b
or dl, 0x3d
xor al, 0xff
and al, dl
mov dl, al
or dl, 0x80
mov r8b, 0x15
xor r8b, 0xea
xor dl, r8b
xor al, 0xff
mov r8b, 0xff
xor r8b, 0x80
and al, r8b
xor dl, 0xff
mov r8b, 0x4d
xor r8b, 0xb2
xor al, r8b
and dl, al
call fcn.14000976e
mov rcx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x30]
shr rax, 6
mov dl, al
mov al, dl
xor al, 0x3f
mov r8b, 0xa7
xor r8b, 0x58
xor al, r8b
or dl, 0x3f
and dl, al
mov al, 0x45
xor al, 0xc5
or dl, al
call fcn.14000976e
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
and cl, 0x3f
mov dl, 0x2b
xor dl, 0xab
or cl, dl
mov byte [rsp + 0x47], cl
mov qword [rsp + 0x48], rax
jmp 0x1400096fb
mov rcx, qword [rsp + 0xf8]
mov edx, 0xef
call fcn.14000976e
mov rcx, qword [rsp + 0xf8]
mov edx, 0xbf
call fcn.14000976e
mov rax, qword [rsp + 0x90]
mov cl, 0xbd
mov byte [rsp + 0x47], cl
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0xf8]
mov dl, byte [rsp + 0x47]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x28], rax
call fcn.14000976e
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0xb0], rax
jmp 0x140008dcd
mov rax, qword [rsp + 0x100]
add rsp, 0x108
ret
ficom dword [rbp + 0x56]
invalid
cld
and r11b, byte [rax]
jmp 0x140008c34
invalid
or byte [rsi], dl
popfq
js 0x140009738
loop 0x140009746
invalid
jae 0x1400097cb
in al, dx
jmp 0x140008f72
pop rcx
mov cl, 0x93
jmp 0x140009183
rcl dword [rbp - 0x2341604], 0xff
dec dword [rax - 0x7d]
sub rsp, 0x48
mov byte [rsp + 0x2f], dl