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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov r15, r9
mov r13, r8
mov rbx, rdx
mov qword [rbp - 0x58], rcx
mov eax, dword [0x141dc8638]
and eax, dword [0x141dc863c]
imul eax, eax, 0x92b50874
add eax, 0x247966d1
and eax, 0x3c69476d
cmp eax, 0x9ab30486
ja 0x14003d5c9
mov eax, dword [0x141dc8640]
xor eax, dword [0x141dc8644]
add eax, 0x3b91540d
imul rcx, rax, 0x61d0bd5f
shr rcx, 0x3c
mov eax, 0x80
call fcn.1400f1350
sub rsp, rax
mov rsi, rsp
mov eax, 0x50
call fcn.1400f1350
sub rsp, rax
mov rdx, rsp
cmp ecx, 0x31dcf1fb
jbe 0x14003d5e5
mov eax, 0x80
call fcn.1400f1350
sub rsp, rax
mov eax, 0x50
call fcn.1400f1350
sub rsp, rax
jmp 0x14003d585
mov eax, 0xe0
call fcn.1400f1350
sub rsp, rax
mov r14, rsp
mov rcx, qword [0x141dde6e8]
test rcx, rcx
mov qword [rbp], rdx
je 0x14003d660
nop word cs:[rax + rax]
mov eax, dword [0x141dc8658]
or eax, dword [0x141dc865c]
imul eax, eax, 0xcaa00d21
cmp eax, 0x82ff7141
je 0x14003d610
and ecx, 0x8000
mov eax, dword [0x141dc8660]
xor r8d, r8d
xor edx, edx
div dword [0x141dc8664]
mov eax, dword [0x141dc8668]
imul eax, dword [0x141dc866c]
xor eax, 0xc1c4266d
add eax, 0x1f24f652
cmp eax, 0xf8562a98
ja 0x14003d640
jmp 0x14003d6c0
mov eax, dword [0x141dc8648]
and eax, dword [0x141dc864c]
or eax, 0x2a5b9252
add eax, 0x284c6e75
or eax, 0x8540c1b9
cmp eax, 0xa7180d97
jb 0x14003dd56
mov edi, dword [0x141dc8650]
sub edi, dword [0x141dc8654]
xor edi, 0xcbd4a342
sub rsp, 0x20
call fcn.1400fe270
add rsp, 0x20
cmp edi, 0x9cacfff9
ja 0x14003d686
mov rcx, rax
and ecx, 0x8000
xor r8d, r8d
nop dword [rax]
mov eax, dword [0x141dc8670]
xor eax, dword [0x141dc8674]
and eax, 0xf6bee882
imul eax, eax, 0x2f11c5ae
and eax, 0x998a88e0
cmp eax, 0xc14a6298
ja 0x14003d6c0
mov dl, 2
or rcx, r8
jne 0x14003d793
mov rax, qword [0x141dde6e8]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc8678]
add ecx, dword [0x141dc867c]
and ecx, 0xa1996ff7
xor ecx, 0xc371f857
cmp ecx, 0x181ae716
jb 0x14003d700
test rax, rax
je 0x14003dd68
and eax, 0x400
xor ecx, ecx
mov edx, dword [0x141dc8688]
or edx, dword [0x141dc868c]
imul rdx, rdx, 0x5d21c52d
shr rdx, 0x3e
xor edx, 0x16800601
or edx, 0x6045f146
cmp edx, 0x226c4f82
jb 0x14003d730
nop dword [rax + rax]
mov edx, dword [0x141dc8690]
imul edx, dword [0x141dc8694]
and edx, 0x3f8f05b2
imul r8d, edx, 0xfa931ea
add r8d, 0x9a57e02c
mov rdx, rax
or rdx, rcx
setne dl
cmp r8d, 0xee1c5874
ja 0x14003d760
lea rax, [rbx - 1]
cmp rax, 0x40
jae 0x14003ddc8
nop word cs:[rax + rax]
mov eax, dword [0x141dc86a8]
sub eax, dword [0x141dc86ac]
cmp eax, 0x62c831f4
je 0x14003d7b0
movzx eax, bl
xorps xmm0, xmm0
movaps xmmword [rsi + 0x70], xmm0
movaps xmmword [rsi + 0x60], xmm0
movaps xmmword [rsi + 0x50], xmm0
movaps xmmword [rsi + 0x40], xmm0
movaps xmmword [rsi + 0x30], xmm0
movaps xmmword [rsi + 0x20], xmm0
movaps xmmword [rsi + 0x10], xmm0
movaps xmmword [rsi], xmm0
movabs rcx, 0x6a09e667f2bdc908
xor rcx, rax
movaps xmmword [r14 + 0x70], xmm0
movaps xmmword [r14 + 0x60], xmm0
movaps xmmword [r14 + 0x50], xmm0
movaps xmmword [r14 + 0x40], xmm0
movaps xmmword [r14 + 0x30], xmm0
movaps xmmword [r14 + 0x20], xmm0
movaps xmmword [r14 + 0x10], xmm0
movaps xmmword [r14], xmm0
mov qword [r14 + 0x80], rcx
movabs rax, 0xbb67ae8584caa73b
mov qword [r14 + 0x88], rax
movabs rax, 0x3c6ef372fe94f82b
mov qword [r14 + 0x90], rax
movabs rax, 0xa54ff53a5f1d36f1
mov qword [r14 + 0x98], rax
movabs rax, 0x9b05688c2b3e6c1f
movabs rcx, 0x5be0cd19137e2179
movabs r8, 0x510e527fade682d1
movabs r9, 0x1f83d9abfb41bd6b
mov r10d, dword [0x141dc86b0]
imul r10d, dword [0x141dc86b4]
imul r10d, r10d, 0x84a00922
imul r10, r10, 0x1399b2e7
shr r10, 0x3c
cmp r10d, 0x26c1546d
jne 0x14003d8ec
mov qword [r14 + 0xa0], r8
mov qword [r14 + 0xa8], rax
mov qword [r14 + 0xb0], r9
mov qword [r14 + 0xb8], rcx
movaps xmmword [r14 + 0xc0], xmm0
mov byte [r14 + 0xd0], 0
mov byte [r14 + 0xd1], bl
mov byte [r14 + 0xd2], dl
mov word [r14 + 0xd3], 1
lea r10, [r14 + 0x80]
mov qword [rbp - 8], r10
mov r10d, 0x9a9364e1
shl r15, 4
add r15, r13
mov qword [rbp - 0x68], r15
nop dword [rax + rax]
mov r11d, dword [0x141dc86b8]
xor r11d, dword [0x141dc86bc]
imul r11, r10
shr r11, 0x3f
or r11d, 0xc813a82a
xor r11d, 0xcb9c2d9a
mov qword [r14 + 0xa0], r8
mov qword [r14 + 0xa8], rax
mov qword [r14 + 0xb0], r9
mov qword [r14 + 0xb8], rcx
movaps xmmword [r14 + 0xc0], xmm0
mov byte [r14 + 0xd0], 0
mov byte [r14 + 0xd1], bl
mov byte [r14 + 0xd2], dl
mov word [r14 + 0xd3], 1
cmp r11d, 0xee04001f
ja 0x14003d910
mov qword [rbp - 0x60], rbx
xor r15d, r15d
xor esi, esi
nop word [rax + rax]
mov rdi, qword [r13]
mov rbx, qword [r13 + 8]
test sil, sil
je 0x14003db00
mov eax, dword [0x141dc8728]
imul eax, dword [0x141dc872c]
imul eax, eax, 0x6bae921c
and eax, 0x58ff9e1c
xor eax, 0x22f0e251
cmp eax, 0xecee451f
ja 0x14003d9a1
movzx ecx, sil
mov r12d, 0x80
sub r12, rcx
cmp r12, rbx
mov rsi, rbx
cmovb rsi, r12
mov rax, rsi
add rax, rcx
jb 0x14003dce4
nop dword [rax + rax]
test r15b, r15b
jne 0x14003d9f0
cmp rax, 0x80
ja 0x14003dd1d
mov qword [rbp - 0x10], r13
mov edx, 0xaca37d6f
mov eax, dword [0x141dc8740]
or eax, dword [0x141dc8744]
add eax, 0xe7913c4a
or eax, 0x1cb6978e
imul rax, rdx
shr rax, 0x3f
cmp eax, 0x7edd32c5
ja 0x14003da0a
add rcx, r14
sub rsp, 0x20
mov rdx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
movzx eax, byte [r14 + 0xd0]
add al, sil
mov byte [r14 + 0xd0], al
mov r13, rbx
sub r13, rsi
add rdi, rsi
cmp r12, rbx
jae 0x14003daf0
mov eax, dword [0x141dc8748]
and eax, dword [0x141dc874c]
xor eax, 0x2603cc6f
imul eax, eax, 0x77d8c28b
cmp eax, 0x81b1db68
je 0x14003da69
mov rax, qword [r14 + 0xc0]
mov rdx, qword [r14 + 0xc8]
movzx r8d, byte [r14 + 0xd3]
movzx ecx, byte [r14 + 0xd2]
sub rsp, 0x40
mov byte [rsp + 0x30], r8b
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x38], 1
mov r8d, 0x80
mov rdx, r14
mov r9, qword [rbp - 8]
call fcn.14003fe10
add rsp, 0x40
add qword [r14 + 0xc0], 0x80
adc qword [r14 + 0xc8], 0
mov byte [r14 + 0xd0], 0
xor eax, eax
mov rbx, r13
mov r13, qword [rbp - 0x10]
jmp 0x14003db02
xor eax, eax
mov rcx, rbx
sub rcx, 1
mov esi, 0
cmovae rsi, rcx
and rsi, 0xffffffffffffff80
je 0x14003dbd9
nop dword [rax]
mov eax, dword [0x141dc8750]
imul eax, dword [0x141dc8754]
imul rcx, rax, 0x191241df
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0x803dac40
cmp eax, 0x7b8150ba
je 0x14003db20
sub rbx, rsi
jb 0x14003de1f
mov eax, dword [0x141dc8768]
xor edx, edx
div dword [0x141dc876c]
xor eax, 0x80241000
and eax, 0x8425b450
cmp eax, 0x850fe5bb
je 0x14003db57
mov rax, qword [r14 + 0xc0]
mov rdx, qword [r14 + 0xc8]
movzx ecx, byte [r14 + 0xd2]
movzx r8d, byte [r14 + 0xd3]
sub rsp, 0x40
mov byte [rsp + 0x30], r8b
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x38], 1
mov rdx, rdi
mov r8, rsi
mov r9, qword [rbp - 8]
call fcn.14003fe10
add rsp, 0x40
add qword [r14 + 0xc0], rsi
adc qword [r14 + 0xc8], 0
add rdi, rsi
movzx eax, byte [r14 + 0xd0]
movzx r12d, al
mov esi, 0x80
sub rsi, r12
cmp rsi, rbx
cmovae rsi, rbx
mov rax, rsi
add rax, r12
jb 0x14003dcbb
cmp rax, 0x80
ja 0x14003dda5
mov eax, dword [0x141dc8770]
imul eax, dword [0x141dc8774]
xor eax, 0x7c4860c3
imul eax, eax, 0x31aa2ffb
cmp eax, 0x26958d67
jne 0x14003dc3a
lea rcx, [r14 + r12]
sub rsp, 0x20
mov rdx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
add r13, 0x10
nop
mov ebx, dword [0x141dc8778]
and ebx, dword [0x141dc877c]
add ebx, 0xa62656cf
or ebx, 0xe7ffffff
lea rcx, [r14 + r12]
sub rsp, 0x20
mov rdx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
cmp ebx, 0x88c6eff7
jb 0x14003dc40
add sil, byte [r14 + 0xd0]
mov byte [r14 + 0xd0], sil
cmp r13, qword [rbp - 0x68]
jne 0x14003d990
mov eax, dword [0x141dc86c0]
xor edx, edx
div dword [str.YmS]
or eax, 0xf75757ca
xor eax, 0x4428f8c4
cmp eax, 0x8ef47431
mov rcx, qword [rbp - 8]
jae 0x14003de21
jmp 0x14003de63
ud2
ud2
ud2
sub rsp, 0x20
call fcn.1400fe270
add rsp, 0x20
jmp 0x14003d686
sub rsp, 0x20
call fcn.1400fe270
add rsp, 0x20
and eax, 0x400
xor ecx, ecx
nop dword [rax]
mov edx, dword [0x141dc8680]
add edx, dword [0x141dc8684]
imul edx, edx, 0xca2e8f52
add edx, 0x1158a0d8
cmp edx, 0x1c89d5d2
jbe 0x14003dd80
jmp 0x14003d760
mov eax, dword [0x141dc8760]
sub eax, dword [0x141dc8764]
cmp eax, 0xb8ddbdb2
jne 0x14003ddba
ud2
xor eax, eax
nop dword [rax]
ud2
mov eax, dword [0x141dc8698]
imul eax, dword [0x141dc869c]
add eax, 0x28006294
shr eax, 1
mov ecx, 0x82ee7b4b
imul rcx, rax
shr rcx, 0x3d
or ecx, 0x7af73bc1
cmp ecx, 0xaeb1d9c6
jne 0x14003de00
ud2
mov eax, dword [0x141dc86a0]
add eax, dword [0x141dc86a4]
xor eax, 0xaf415d58
add eax, 0xb96f2de5
ud2
ud2
mov eax, dword [0x141dc86c8]
xor eax, dword [0x141dc86cc]
add eax, 0x70fc32d4
imul rax, rax, 0x28108cdf
shr rax, 0x3d
movaps xmm0, xmmword [rcx]
movaps xmm1, xmmword [rcx + 0x10]
movaps xmm2, xmmword [rcx + 0x20]
movaps xmm3, xmmword [rcx + 0x30]
movaps xmmword [rbp - 0x20], xmm3
movaps xmmword [rbp - 0x30], xmm2
movaps xmmword [rbp - 0x40], xmm1
movaps xmmword [rbp - 0x50], xmm0
cmp eax, 0xaf329a0c
jne 0x14003de84
movaps xmm0, xmmword [rcx]
movaps xmm1, xmmword [rcx + 0x10]
movaps xmm2, xmmword [rcx + 0x20]
movaps xmm3, xmmword [rcx + 0x30]
movaps xmmword [rbp - 0x20], xmm3
movaps xmmword [rbp - 0x30], xmm2
movaps xmmword [rbp - 0x40], xmm1
movaps xmmword [rbp - 0x50], xmm0
jmp 0x14003de21
cmp sil, 0x81
jae 0x14003e10c
movzx esi, sil
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14003dea0
mov rbx, qword [r14 + 0xc0]
mov r15, qword [r14 + 0xc8]
movzx r12d, byte [r14 + 0xd3]
mov eax, dword [0x141dc86d8]
imul eax, dword [0x141dc86dc]
cmp eax, 0xe8e37c87
jne 0x14003df2f
movzx ecx, byte [r14 + 0xd2]
sub rsp, 0x40
mov byte [rsp + 0x30], r12b
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rbx
mov byte [rsp + 0x38], 0
lea r9, [rbp - 0x50]
mov rdx, r14
mov r8, rsi
call fcn.14003fe10
add rsp, 0x40
movzx eax, byte [r14 + 0xd1]
movaps xmm0, xmmword [rbp - 0x50]
mov rcx, qword [rbp]
movaps xmmword [rcx], xmm0
movaps xmm0, xmmword [rbp - 0x40]
movaps xmmword [rcx + 0x10], xmm0
movaps xmm0, xmmword [rbp - 0x30]
movaps xmmword [rcx + 0x20], xmm0
movaps xmm0, xmmword [rbp - 0x20]
movaps xmmword [rcx + 0x30], xmm0
mov byte [rcx + 0x40], al
mov rdi, qword [rbp]
nop word cs:[rax + rax]
mov eax, dword [0x141dc86e0]
sub eax, dword [0x141dc86e4]
add eax, 0x396fd9db
and eax, 0xeea6ee53
imul r13d, eax, 0x3ec1a172
movzx ecx, byte [r14 + 0xd2]
sub rsp, 0x40
mov byte [rsp + 0x30], r12b
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rbx
mov byte [rsp + 0x38], 0
mov rdx, r14
mov r8, rsi
lea r9, [rbp - 0x50]
call fcn.14003fe10
add rsp, 0x40
movzx ecx, byte [r14 + 0xd1]
movaps xmm0, xmmword [rbp - 0x50]
movaps xmmword [rdi], xmm0
movaps xmm0, xmmword [rbp - 0x40]
movaps xmmword [rdi + 0x10], xmm0
movaps xmm0, xmmword [rbp - 0x30]
movaps xmmword [rdi + 0x20], xmm0
movaps xmm0, xmmword [rbp - 0x20]
movaps xmmword [rdi + 0x30], xmm0
mov byte [rdi + 0x40], cl
cmp r13d, 0xe16992cb
ja 0x14003df40
nop word [rax + rax]
mov eax, dword [0x141dc86e8]
imul eax, dword [0x141dc86ec]
cmp eax, 0x94c5ebce
je 0x14003dfd0
cmp cl, 0x41
mov r8, qword [rbp - 0x60]
jae 0x14003e13d
nop word cs:[rax + rax]
mov eax, dword [0x141dc86f8]
xor eax, dword [0x141dc86fc]
add eax, 0xd11e2f96
imul rax, rax, 0x41e32ed5
shr rax, 0x3d
cmp eax, 0xa15a2ddd
je 0x14003e000
nop word cs:[rax + rax]
mov eax, dword [str.c_vSS:gI]
xor edx, edx
div dword [0x141dc8704]
imul eax, eax, 0xdf294cea
cmp eax, 0x7d13e421
je 0x14003e030
mov eax, 0xaa352ac1
mov edx, dword [0x141dc8708]
xor edx, dword [0x141dc870c]
and edx, 0xdb4f6931
imul rdx, rax
shr rdx, 0x3d
or edx, 0x55912c5d
cmp edx, 0xbe57948f
ja 0x14003e050
cmp rcx, r8
jne 0x14003e162
sub rsp, 0x20
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp]
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141dc8718]
xor eax, dword [0x141dc871c]
and eax, 0x33df33b8
imul eax, eax, 0x5e612a79
add eax, 0x85c39a87
cmp eax, 0x475e9a
jb 0x14003e0a0
nop word cs:[rax + rax]
mov eax, dword [0x141dc8720]
add eax, dword [0x141dc8724]
imul eax, eax, 0x607da595
add eax, 0xaa0278a7
shr eax, 1
imul rax, rax, 0x2a1baf69
shr rax, 0x3c
cmp eax, 0xbc8bb514
ja 0x14003e0d0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
ud2
ud2