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

Disassembly:
push rsi
push rdi
push rbx
mov r9, rdx
mov r8, rcx
mov eax, 0xc4c2c671
and r9d, 0x3f
nop word cs:[rax + rax]
mov ecx, dword [str.Gm4b]
or ecx, dword [0x141dc8a9c]
xor ecx, 0x61810de
or ecx, 0x6985a320
imul rcx, rax
shr rcx, 0x3c
cmp ecx, 0x1bffd534
je 0x140043890
mov r10, qword [r8]
xor edi, edi
xor esi, esi
xor r11d, r11d
nop word cs:[rax + rax]
cmp rsi, r10
je 0x1400439b0
mov eax, dword [0x141dc8ab0]
sub eax, dword [0x141dc8ab4]
shr eax, 2
imul rax, rax, 0x40249f25
shr rax, 0x3a
imul eax, eax, 0xfb162a4d
xor eax, 0x1ccc13ac
cmp eax, 0xc40f3f61
jb 0x1400438d9
nop word cs:[rax + rax]
mov eax, dword [0x141dc8ab8]
xor edx, edx
div dword [0x141dc8abc]
imul eax, eax, 0xc35035e4
imul rax, rax, 0x4b9c8a43
shr rax, 0x3d
add eax, 0x208ea437
cmp eax, 0x5c744b51
ja 0x140043910
cmp rsi, 0x300
je 0x140043aab
lea rax, [r11 + r11*4]
movzx ecx, byte [r8 + rsi + 8]
lea rax, [rcx + rax*2]
mov rdx, rsi
or rdx, 1
mov r11, rax
mov ecx, r9d
shr r11, cl
test r11, r11
jne 0x140043a23
cmp rdx, r10
je 0x1400439b3
nop word cs:[rax + rax]
test dil, dil
jne 0x140043980
add rax, rax
lea rax, [rax + rax*4]
movzx r11d, byte [r8 + rdx + 8]
add r11, rax
add rsi, 2
mov rax, r11
mov ecx, r9d
shr rax, cl
test rax, rax
je 0x1400438d0
jmp 0x140043a84
mov rax, r11
test rax, rax
je 0x140044095
mov rdx, rax
mov ecx, r9d
shr rdx, cl
nop word cs:[rax + rax]
mov ecx, dword [0x141dc8aa0]
or ecx, dword [0x141dc8aa4]
imul ecx, ecx, 0x20915a48
cmp ecx, 0x823ec3d6
je 0x1400439d0
nop word [rax + rax]
mov ecx, dword [0x141dc8aa8]
and ecx, dword [0x141dc8aac]
or ecx, 0x45171a
and ecx, 0x2c45175a
imul ecx, ecx, 0x47e75f56
cmp ecx, 0x1068541a
jb 0x1400439f0
test rdx, rdx
je 0x140043a2b
mov r11, rax
mov rsi, r10
jmp 0x140043a84
mov r11, rax
mov rsi, rdx
jmp 0x140043a84
mov edx, 0x8a076abf
mov rsi, r10
nop word cs:[rax + rax]
mov ebx, dword [0x141dc8ac0]
and ebx, dword [0x141dc8ac4]
imul rbx, rdx
shr rbx, 0x3e
add ebx, 0x5e42c80e
xor ebx, 0xcc2a7082
lea rcx, [rax + rax]
lea r11, [rcx + rcx*4]
mov rdi, r11
mov ecx, r9d
shr rdi, cl
cmp ebx, 0x7b655e05
jb 0x140043a40
inc rsi
mov rax, r11
test rdi, rdi
je 0x140043a40
mov eax, dword [0x141dc8ac8]
add eax, dword [0x141dc8acc]
imul eax, eax, 0x835a274
add eax, 0xffa03f7
cmp eax, 0xdd42b475
jbe 0x140043b28
jmp 0x140043b60
mov eax, dword [0x141dc8ad8]
sub eax, dword [0x141dc8adc]
imul eax, eax, 0xa9fc5ffd
add eax, 0x76f98f7d
cmp eax, 0x1a32e916
jae 0x140043ad0
ud2
mov eax, dword [0x141dc8ae0]
xor edx, edx
div dword [0x141dc8ae4]
or eax, 0x55736e2a
imul eax, eax, 0x65513a6f
add eax, 0x4f8a9d5b
ud2
mov ecx, dword [str.JYN]
sub ecx, dword [0x141dc8ad4]
xor ecx, 0x7c02805b
add ecx, 0xf03eda1b
and ecx, 0x46fbae89
mov eax, dword [r8 + 0x308]
sub eax, esi
inc eax
mov dword [r8 + 0x308], eax
cmp ecx, 0x1b1b77f
jae 0x140043b74
mov eax, dword [r8 + 0x308]
sub eax, esi
inc eax
mov dword [r8 + 0x308], eax
jmp 0x140043b28
cmp eax, 0xfffff801
jge 0x140043b8a
xor eax, eax
test al, al
je 0x140043ff1
jmp 0x14004401b
mov rax, 0xffffffffffffffff
mov ecx, r9d
shl rax, cl
not rax
nop word [rax + rax]
mov ecx, dword [0x141dc8af0]
and ecx, dword [0x141dc8af4]
add ecx, 0x29a757e0
and ecx, 0x7ab31049
cmp ecx, 0x9778800
jb 0x140043ba0
mov ecx, dword [0x141dc8af8]
imul ecx, dword [0x141dc8afc]
and ecx, 0xc1118e13
xor ecx, 0xe8dc0a3c
cmp ecx, 0x9d4712a
jb 0x140043bc0
sub r10, rsi
jbe 0x140043cf0
nop word [rax + rax]
mov ecx, dword [0x141dc8b00]
sub ecx, dword [0x141dc8b04]
or ecx, 0x687991c0
and ecx, 0xe87dd1c0
cmp ecx, 0x5e5b4928
jb 0x140043bf0
xor edx, edx
nop word cs:[rax + rax]
cmp rsi, 0x300
jae 0x140043fef
nop dword [rax]
mov ecx, dword [0x141dc8bb0]
and ecx, dword [0x141dc8bb4]
imul ebx, ecx, 0xae3d308b
add ebx, 0xd88691b8
or ebx, 0x5ec853bb
mov rdi, r11
mov ecx, r9d
shr rdi, cl
cmp ebx, 0x79f3014
je 0x140043c30
and r11, rax
lea rcx, [r11 + r11*4]
movzx r11d, byte [r8 + rsi + 8]
inc rsi
lea r11, [r11 + rcx*2]
mov byte [r8 + rdx + 8], dil
inc rdx
cmp rdx, r10
jne 0x140043c20
test r11, r11
jne 0x140043d73
mov qword [r8], r10
nop dword [rax]
mov eax, dword [0x141dc8b40]
add eax, dword [0x141dc8b44]
imul eax, eax, 0x1228f770
cmp eax, 0x15e7cd44
je 0x140043c90
mov eax, 0x96a83c01
nop
mov ecx, dword [0x141dc8b48]
imul ecx, dword [0x141dc8b4c]
imul rcx, rax
shr rcx, 0x3e
xor ecx, 0x1401960a
cmp ecx, 0x3cccf4b4
ja 0x140043cb0
test r10, r10
jne 0x140043f40
jmp 0x140044095
mov ecx, dword [0x141dc8b20]
and ecx, dword [0x141dc8b24]
imul rcx, rcx, 0x1c90f6f3
shr rcx, 0x3a
or ecx, 0xfd7dbfe1
cmp ecx, 0x56c08019
jb 0x140043cf0
nop word cs:[rax + rax]
mov ecx, dword [str.5_bRk]
imul ecx, dword [0x141dc8b2c]
or ecx, 0x1a66b1f
xor ecx, 0xf4737575
imul ecx, ecx, 0x24877948
cmp ecx, 0xf52a7755
ja 0x140043d20
test r11, r11
je 0x140043ef8
xor r10d, r10d
jmp 0x140043d73
and r11, rax
add r11, r11
lea r11, [r11 + r11*4]
test r11, r11
je 0x140043ecb
mov rdx, r11
mov ecx, r9d
shr rdx, cl
cmp r10, 0x300
jae 0x140043de0
mov ecx, dword [0x141dc8ba0]
imul ecx, dword [0x141dc8ba4]
imul ecx, ecx, 0x57806508
add ecx, 0x215e188b
cmp ecx, 0x59a21986
jbe 0x140043db0
mov byte [r8 + r10 + 8], dl
nop dword [rax + rax]
mov ecx, dword [0x141dc8ba8]
sub ecx, dword [0x141dc8bac]
or ecx, 0x1b32744
imul ecx, ecx, 0x61a59f00
add ecx, 0x1bec4600
mov byte [r8 + r10 + 8], dl
cmp ecx, 0x388512cd
jbe 0x140043db0
inc r10
jmp 0x140043d60
mov ecx, dword [0x141dc8b68]
xor ecx, dword [0x141dc8b6c]
imul ecx, ecx, 0x8a58c354
or ecx, 0x22e0bdc6
imul ecx, ecx, 0xb7a54e36
cmp ecx, 0xfee52207
ja 0x140043de0
nop word cs:[rax + rax]
mov ecx, dword [0x141dc8b70]
sub ecx, dword [0x141dc8b74]
imul rcx, rcx, 0x3beb316f
shr rcx, 0x3c
imul ecx, ecx, 0x700ce088
add ecx, 0x9d169bc8
cmp ecx, 0xd0fe4ffe
ja 0x140043e10
test dl, dl
je 0x140043d60
mov ecx, dword [0x141dc8b78]
and ecx, dword [0x141dc8b7c]
and ecx, 0x90180001
add ecx, 0x128ae580
cmp ecx, 0x8e42d63e
jbe 0x140043e70
mov byte [r8 + 0x30c], 1
nop dword [rax + rax]
mov ecx, dword [0x141dc8b80]
and ecx, dword [0x141dc8b84]
imul ecx, ecx, 0xc347715b
and ecx, 0xfd3d45f4
mov byte [r8 + 0x30c], 1
cmp ecx, 0x462c0de7
je 0x140043e70
nop dword [rax + rax]
mov ecx, dword [0x141dc8b88]
add ecx, dword [0x141dc8b8c]
or ecx, 0x4758e676
imul ecx, ecx, 0x5efa0f01
and ecx, 0x69e824ad
cmp ecx, 0x88e6d8b3
ja 0x140043ea0
jmp 0x140043d60
mov eax, dword [0x141dc8b90]
imul eax, dword [0x141dc8b94]
imul eax, eax, 0x4cf84579
xor eax, 0x36e78009
add eax, 0x283ad10
cmp eax, 0x73ccf356
jae 0x140044099
jmp 0x1400440c0
mov eax, dword [0x141dc8b30]
xor edx, edx
div dword [0x141dc8b34]
mov ecx, 0xa052a975
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xf1618d06
imul rax, rcx, 0x73e78f3f
shr rax, 0x3e
cmp eax, 0x4228bbae
jbe 0x1400440c5
jmp 0x1400440f0
mov eax, dword [0x141dc8b50]
or eax, dword [0x141dc8b54]
imul eax, eax, 0x136e62cf
or eax, 0x5d31bed
and eax, 0xbffb5fed
cmp eax, 0x2693fa62
jb 0x140043f40
cmp r10, 0x300
ja 0x140043fef
mov eax, 0x9ce72b75
nop word cs:[rax + rax]
cmp byte [r8 + r10 + 7], 0
jne 0x140044095
mov ecx, dword [0x141dc8b58]
and ecx, dword [0x141dc8b5c]
dec r10
imul ecx, ecx, 0xc4815450
and ecx, 0xecab1010
cmp ecx, 0x7e33a378
jne 0x140043fc0
mov qword [r8], r10
nop word cs:[rax + rax]
mov ecx, dword [0x141dc8b60]
and ecx, dword [0x141dc8b64]
imul rcx, rax
shr rcx, 0x3d
imul ecx, ecx, 0x2187bbf8
mov qword [r8], r10
cmp ecx, 0x9a901989
ja 0x140043fc0
test r10, r10
jne 0x140043f80
jmp 0x140044095
ud2
mov eax, dword [0x141dc8b08]
and eax, dword [0x141dc8b0c]
add eax, 0xbdd29fd6
and eax, 0x2d91f67
imul eax, eax, 0x4db65561
mov qword [r8], 0
cmp eax, 0x2e9143dd
jae 0x140044024
mov qword [r8], 0
jmp 0x140043ff1
mov eax, dword [0x141dc8b10]
sub eax, dword [0x141dc8b14]
mov ecx, 0x8c12887d
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xaf955503
jne 0x140044060
mov dword [r8 + 0x308], 0
mov byte [r8 + 0x30c], 0
nop dword [rax + rax]
mov eax, dword [0x141dc8b18]
sub eax, dword [0x141dc8b1c]
add eax, 0xf419aaed
xor eax, 0x63e0818
or eax, 0x718177c0
mov dword [r8 + 0x308], 0
mov byte [r8 + 0x30c], 0
cmp eax, 0xe2f996e7
je 0x140044060
pop rbx
pop rdi
pop rsi
ret
mov eax, dword [0x141dc8b98]
xor edx, edx
div dword [0x141dc8b9c]
and eax, 0xf0ce87e5
imul eax, eax, 0x77bd09ff
mov qword [r8], r10
cmp eax, 0xd7eafde4
jne 0x140043f40
mov qword [r8], r10
jmp 0x140044099
mov eax, dword [0x141dc8b38]
xor edx, edx
div dword [0x141dc8b3c]
add eax, 0xc0eeecf1
and eax, 0xd1a9abd7
add eax, 0xc99ccd5
mov qword [r8], 0
cmp eax, 0xc61c4328
jae 0x140044095
mov qword [r8], 0
jmp 0x1400440c5