Function at 0x140083450
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, 0x28
lea rbp, [rsp + 0x20]
mov rbx, rdx
mov r13, rcx
xor eax, eax
test al, al
jne 0x1400834a1
mov eax, dword [0x141dccb50]
xor eax, dword [0x141dccb54]
imul ecx, eax, 0xd2f1d5f1
add ecx, 0x91c45b6e
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov rdx, rsp
cmp ecx, 0xee70577b
jbe 0x1400834b0
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
jmp 0x140083471
mov eax, dword [0x141dccb58]
or eax, dword [0x141dccb5c]
add eax, 0x7565f7fa
or eax, 0x9fd0c433
cmp eax, 0xa140dc01
je 0x1400834b0
mov r9, qword [rbx]
test r9, r9
mov qword [rbp - 0x10], rdx
je 0x1400835f7
movzx esi, word [rbx + 0x10]
test si, si
je 0x140083511
mov eax, dword [0x141dccbc0]
add eax, dword [0x141dccbc4]
or eax, 0xf6b06
add eax, 0x353dfb07
and eax, 0x1ddb6be
cmp eax, 0x259e2c4c
jne 0x140083a19
jmp 0x140083a48
mov eax, dword [0x141dccb60]
xor edx, edx
div dword [0x141dccb64]
nop
mov eax, dword [0x141dccb68]
add eax, dword [0x141dccb6c]
shr eax, 2
imul rax, rax, 0x439d74af
shr rax, 0x3b
imul eax, eax, 0x2dcb6883
cmp eax, 0x5a15247a
je 0x140083520
mov rcx, qword [rbx + 8]
nop dword [rax + rax]
mov eax, dword [0x141dccb70]
or eax, dword [0x141dccb74]
add eax, 0xacef781
xor eax, 0x11604c4
and eax, 0x233e64e4
cmp eax, 0x8c0b6f77
je 0x140083550
cmp r9, rcx
je 0x1400835b6
lea r8, [r9 + 1]
nop dword [rax + rax]
mov eax, dword [0x141dccb78]
and eax, dword [0x141dccb7c]
and eax, 0x150a2004
imul eax, eax, 0xee6e855d
cmp eax, 0xd8aab8a1
ja 0x140083580
mov qword [rbx], r8
movzx r11d, byte [r9]
test r11b, r11b
js 0x1400836a8
mov esi, r11d
jmp 0x1400837ff
xor eax, eax
test al, al
je 0x1400835d0
mov qword [rbx], 0
nop word cs:[rax + rax]
mov eax, dword [0x141dccbf0]
xor edx, edx
div dword [0x141dccbf4]
imul eax, eax, 0xa088d9f4
and eax, 0x11e4632c
mov qword [rbx], 0
cmp eax, 0x2c98eb6d
ja 0x1400835d0
movzx ecx, word [rbx + 0x18]
cmp cx, 2
je 0x140083b09
nop word cs:[rax + rax]
mov eax, dword [0x141dccbf8]
imul eax, dword [0x141dccbfc]
imul rax, rax, 0x3d8d1d27
shr rax, 0x3d
or eax, 0x3c110aec
xor eax, 0x5415e455
cmp eax, 0xcc8d428f
ja 0x140083610
mov eax, dword [0x141dccc00]
xor edx, edx
div dword [0x141dccc04]
mov eax, 0x9565a8df
nop dword [rax]
mov edx, dword [0x141dccc08]
or edx, dword [0x141dccc0c]
add edx, 0x76cfd7f6
imul rdx, rax
shr rdx, 0x3e
imul edx, edx, 0x167b3632
cmp edx, 0x38b36225
ja 0x140083650
movzx esi, word [rbx + 0x1a]
mov eax, dword [0x141dccc10]
sub eax, dword [0x141dccc14]
xor eax, 0xa1580c20
or eax, 0x5e26c397
imul eax, eax, 0x9b64b475
cmp eax, 0x3ce318e2
jbe 0x140083a85
jmp 0x140083ab4
mov rax, r9
mov r9d, r11d
and r9d, 0x1f
lea r8, [rax + 2]
mov qword [rbx], r8
mov rdi, rax
movzx r10d, byte [rax + 1]
mov esi, r9d
shl esi, 6
and r10d, 0x3f
nop dword [rax + rax]
mov eax, dword [0x141dccb80]
xor eax, dword [0x141dccb84]
imul eax, eax, 0xed40f435
add eax, 0x4f2bca5f
xor eax, 0x48efb4f7
cmp eax, 0xecf3ad79
ja 0x1400836d0
or esi, r10d
nop word cs:[rax + rax]
mov eax, dword [0x141dccb88]
sub eax, dword [0x141dccb8c]
or eax, 0x17cb00c0
shr eax, 4
imul rax, rax, 0x4293401
shr rax, 0x34
add eax, 0xe3719fb6
cmp eax, 0x8f6cc2ae
jb 0x140083700
cmp r11b, 0xdf
jbe 0x1400837ff
mov eax, dword [0x141dccb90]
xor edx, edx
div dword [0x141dccb94]
or eax, 0xbe0ef347
imul eax, eax, 0x913bee5b
cmp eax, 0xeee28c11
jne 0x14008375c
lea rax, [rdi + 3]
mov qword [rbx], rax
lea r8, [rdi + 3]
shl r10d, 6
nop word cs:[rax + rax]
mov eax, dword [0x141dccb98]
sub eax, dword [0x141dccb9c]
and eax, 0x88010083
xor eax, 0xc8011484
or eax, 0x33fe6158
mov qword [rbx], r8
cmp eax, 0xa3c3668e
ja 0x140083770
movzx eax, byte [rdi + 2]
and eax, 0x3f
or r10d, eax
mov esi, r9d
shl esi, 0xc
or esi, r10d
nop dword [rax + rax]
mov eax, dword [0x141dccba0]
xor edx, edx
div dword [0x141dccba4]
imul eax, eax, 0xa1697847
and eax, 0x38d23289
imul eax, eax, 0x22c94fdb
cmp eax, 0x699304bb
je 0x1400837b0
cmp r11b, 0xf0
jb 0x14008389f
mov eax, dword [0x141dccba8]
add eax, dword [0x141dccbac]
and eax, 0x13fa7655
add eax, 0xfcbe24ac
cmp eax, 0x7c2974b9
jbe 0x140083838
jmp 0x14008385e
xor eax, eax
nop word cs:[rax + rax]
mov edx, dword [0x141dccbd8]
or edx, dword [0x141dccbdc]
add edx, 0x755a4ff0
and edx, 0x54ff83b1
cmp edx, 0x8ce8bc0b
je 0x140083810
mov r9, r8
jmp 0x14008391b
mov eax, dword [0x141dccbb0]
xor edx, edx
div dword [0x141dccbb4]
or eax, 0x8b7124c4
and eax, 0x8b716cc4
lea r8, [rdi + 4]
mov qword [rbx], r8
cmp eax, 0x520f287
jae 0x140083867
lea rax, [rdi + 4]
mov qword [rbx], rax
jmp 0x140083838
movzx esi, byte [rdi + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and esi, 0x3f
or esi, r10d
or esi, r9d
mov eax, dword [0x141dccbb8]
imul eax, dword [0x141dccbbc]
imul eax, eax, 0x54eb48a2
add eax, 0x8fc088ca
cmp eax, 0x3482ec47
jbe 0x140083880
cmp esi, 0xffff
jbe 0x1400837ff
mov r9d, esi
lea r10d, [rsi + 0xff0000]
mov eax, dword [0x141dccbe0]
xor edx, edx
div dword [0x141dccbe4]
shr r10d, 0xa
or r10d, 0xd800
and r9d, 0x3ff
mov esi, r10d
nop dword [rax + rax]
mov eax, dword [0x141dccbe8]
imul eax, dword [0x141dccbec]
xor eax, 0xa7832e56
imul eax, eax, 0x161a8d01
and eax, 0xfdd19947
cmp eax, 0x208346e1
je 0x1400838e0
movzx eax, r9w
or eax, 0xdc00
mov word [rbx + 0x10], ax
mov eax, 1
jmp 0x140083830
movabs rdx, 0x3fffffffffffffff
mov r8, r9
mov qword [rbp], r9
sub rcx, r9
mov r8, 0xffffffffffffffff
xor r9d, r9d
mov r10d, 4
nop
mov r11d, dword [0x141dccc48]
xor r11d, dword [0x141dccc4c]
or r11d, 0x2505a152
and r11d, 0xa765a15f
imul r11, r11, 0x7f91b19f
shr r11, 0x3e
mov r12d, dword [rbx + 0x18]
mov rdi, rcx
add rdi, 3
cmovb rdi, r8
shr rdi, 2
cmp r12w, 2
mov r14d, r12d
cmove r14d, r9d
movzx r14d, r14w
add r14, rax
lea r15, [r14 + rdi]
add rdi, r14
inc rdi
cmp r15, 3
cmovb rdi, r10
cmp r11d, 0x3f492c39
ja 0x140083940
cmp rdi, rdx
ja 0x1400839b6
lea r14, [rdi + rdi]
jmp 0x140083ad5
mov eax, dword [0x141dccc50]
sub eax, dword [0x141dccc54]
or eax, 0x7cffd6fa
add eax, 0xb4c787ff
cmp eax, 0x42845522
jbe 0x1400839e0
ud2
mov eax, dword [0x141dccc58]
or eax, dword [0x141dccc5c]
xor eax, 0x17e72337
add eax, 0x8181c745
ud2
mov eax, dword [0x141dccbc8]
sub eax, dword [0x141dccbcc]
imul rax, rax, 0x21f4a8dd
shr rax, 0x3d
or eax, 0xbcf2ff66
imul eax, eax, 0x960a4d2b
mov word [rbx + 0x10], 0
cmp eax, 0xf7bbca8e
jne 0x140083a50
mov word [rbx + 0x10], 0
jmp 0x140083a19
mov rcx, qword [rbx + 8]
xor eax, eax
nop word cs:[rax + rax]
mov edx, dword [0x141dccbd0]
or edx, dword [0x141dccbd4]
xor edx, 0x585d1917
add edx, 0x37e7905e
cmp edx, 0x8adac643
jae 0x140083a60
jmp 0x14008391b
mov eax, dword [0x141dccc18]
imul eax, dword [0x141dccc1c]
imul rax, rax, 0xe257b3d
shr rax, 0x3b
or eax, 0xeba0eccc
xor eax, 0xbcfb5ce8
mov word [rbx + 0x18], 0
cmp eax, 0x52dfe748
jae 0x140083abc
mov word [rbx + 0x18], 0
jmp 0x140083a85
test cx, cx
je 0x140083b09
mov edi, 4
mov r14d, 8
xor eax, eax
mov qword [rbp], rax
xor r12d, r12d
mov eax, dword [0x141dccc60]
mov ecx, dword [0x141dccc64]
add eax, ecx
add eax, 0xe213ffa6
imul rax, rax, 0x3e4e8427
shr rax, 0x3c
imul eax, eax, 0x26cd1518
cmp eax, 0xbbf0f600
jbe 0x140083bac
jmp 0x140083be1
mov eax, dword [0x141dccc20]
xor edx, edx
div dword [0x141dccc24]
mov ecx, 0xdb829207
imul rcx, rax
shr rcx, 0x3f
add ecx, 0x5aabe283
or ecx, 0x4e974a86
cmp ecx, 0x3c4736ac
jae 0x140083b40
mov qword [r13], 0
mov eax, dword [0x141dccc28]
xor eax, dword [0x141dccc2c]
or eax, 0x3ffbe5ac
add eax, 0x975b06e0
and eax, 0x47020298
mov qword [r13], 0
cmp eax, 0x985f7b18
je 0x140083b40
nop word [rax + rax]
mov eax, dword [0x141dccc30]
xor eax, dword [0x141dccc34]
imul eax, eax, 0xfcf84fe
cmp eax, 0x96438fb7
je 0x140083b70
mov eax, dword [0x141dccc38]
imul eax, dword [0x141dccc3c]
imul eax, eax, 0x17f06666
cmp eax, 0x4cd20045
jne 0x1400841c6
jmp 0x1400841f1
mov eax, dword [0x141dccc68]
add eax, dword [0x141dccc6c]
imul r15d, eax, 0x12f47d00
movzx eax, byte [0x141dda6b8]
sub rsp, 0x20
xor ecx, ecx
mov rdx, r14
call fcn.1400bf230
add rsp, 0x20
cmp r15d, 0xdf5af414
jne 0x140083bfc
movzx eax, byte [0x141dda6b8]
sub rsp, 0x20
xor ecx, ecx
mov rdx, r14
call fcn.1400bf230
add rsp, 0x20
jmp 0x140083bac
mov r10, rax
test rax, rax
je 0x140083c34
mov qword [rbp - 0x20], r13
mov eax, dword [0x141dccc70]
or eax, dword [0x141dccc74]
add eax, 0x6ad93ae0
shr eax, 3
imul rax, rax, 0x947c6fb
shr rax, 0x36
cmp eax, 0xad5be9d4
mov rcx, qword [rbp - 0x10]
jbe 0x140083c36
jmp 0x140083c61
ud2
mov eax, dword [0x141dccc78]
imul eax, dword [0x141dccc7c]
and eax, 0x784029d2
imul eax, eax, 0x6da4efb1
add eax, 0xf1185a55
mov word [r10], si
mov qword [rcx], rdi
cmp eax, 0x126f7b6f
jae 0x140083c6a
mov word [r10], si
mov qword [rcx], rdi
jmp 0x140083c36
mov qword [rcx + 8], r10
mov qword [rcx + 0x10], 1
mov rax, qword [rbx + 8]
mov qword [rbp - 0x18], rax
movzx edi, word [rbx + 0x10]
movzx eax, word [rbx + 0x1a]
mov word [rbp - 2], ax
mov ebx, 1
xor r14d, r14d
mov rsi, 0xffffffffffffffff
mov r13d, 0xcce46973
mov r11, qword [rbp]
jmp 0x140083cc3
xor r9d, r9d
mov r15d, edi
cmp rbx, qword [rcx]
je 0x140083f83
mov edi, r9d
mov word [r10 + rbx*2], r15w
inc rbx
mov qword [rcx + 0x10], rbx
mov eax, dword [0x141dccc80]
xor edx, edx
div dword [0x141dccc84]
add eax, 0xf3d161c
cmp eax, 0x8f62e0b
jb 0x140083cc3
test r11, r11
je 0x140083d50
test di, di
jne 0x140083ca5
cmp r11, qword [rbp - 0x18]
je 0x140083d50
mov eax, dword [0x141dccc88]
mov edx, dword [0x141dccc8c]
add eax, edx
add eax, 0xd05ff9ee
cmp eax, 0x5197aaa1
jb 0x140083ced
lea r8, [r11 + 1]
movzx r15d, byte [r11]
nop
mov eax, dword [0x141dccc90]
sub eax, dword [str.U0_n]
xor eax, 0x1165202
or eax, 0x2ce98c51
add eax, 0xad35857d
cmp eax, 0xb58a2e1
jb 0x140083d10
test r15b, r15b
js 0x140083de1
mov al, 1
nop dword [rax]
test al, al
je 0x140083d40
jmp 0x140084110
mov eax, dword [0x141dcccf0]
and eax, dword [0x141dcccf4]
and eax, 0xfc14ae1c
add eax, 0x77b128b3
cmp eax, 0xd6d2817d
ja 0x140083d50
nop dword [rax]
mov eax, dword [0x141dcccf8]
imul eax, dword [0x141dcccfc]
add eax, 0xb652ded9
xor eax, 0xe4e1a9c4
imul eax, eax, 0x74d60c58
cmp eax, 0x984dd2b9
je 0x140083d70
cmp r12w, 1
jne 0x1400841a9
mov eax, dword [0x141dccd00]
xor eax, dword [0x141dccd04]
imul eax, eax, 0x382758ac
and eax, 0x6ce961c8
cmp eax, 0x1e8deed6
jb 0x140083d9f
xor r11d, r11d
movzx eax, word [rbp - 2]
mov r15d, eax
mov r12d, 0
mov r8d, 0
cmp rbx, qword [rcx]
jne 0x140083cb7
jmp 0x1400840b6
mov ecx, 0xafcef7f9
nop word cs:[rax + rax]
mov eax, dword [0x141dccc98]
add eax, dword [0x141dccc9c]
or eax, 0x326f9197
add eax, 0x64155e89
and eax, 0x66945a08
cmp eax, 0xb3ecec67
je 0x140083df0
mov r9d, r15d
and r9d, 0x1f
lea r8, [r11 + 2]
mov qword [rbp], r11
movzx r11d, byte [r11 + 1]
mov eax, dword [0x141dccca0]
xor edx, edx
div dword [0x141dccca4]
mov eax, dword [0x141dccca8]
add eax, dword [0x141dcccac]
imul rax, rcx
shr rax, 0x3f
imul eax, eax, 0xd906f396
cmp eax, 0x153a424
je 0x140083e34
and r11d, 0x3f
cmp r15b, 0xdf
jbe 0x1400840f3
nop word cs:[rax + rax]
mov eax, dword [0x141dcccb0]
imul eax, dword [0x141dcccb4]
imul eax, eax, 0x7d2172c9
add eax, 0x1d371dd6
cmp eax, 0xc737ff32
jb 0x140083e70
mov rax, qword [rbp]
lea r8, [rax + 3]
movzx edi, byte [rax + 2]
mov eax, dword [0x141dcccb8]
xor edx, edx
div dword [0x141dcccbc]
mov eax, dword [0x141dcccc0]
sub eax, dword [str.v_0]
xor eax, 0x226434
and eax, 0xea7e75b4
imul rax, rax, 0x3e4e1111
shr rax, 0x3d
cmp eax, 0x4e0e67e7
ja 0x140083ea9
shl r11d, 6
and edi, 0x3f
or edi, r11d
cmp r15b, 0xf0
jb 0x14008413e
mov rcx, qword [rbp - 0x10]
nop dword [rax]
mov eax, dword [0x141dcccc8]
or eax, dword [0x141dccccc]
add eax, 0xbe05a530
or eax, 0x49ae096e
imul rax, rax, 0x48e3f3b1
shr rax, 0x3e
cmp eax, 0xc4ef8ed9
ja 0x140083ef0
mov eax, dword [0x141dcccd0]
xor edx, edx
div dword [0x141dcccd4]
mov r8, qword [rbp]
mov eax, dword [0x141dcccd8]
sub eax, dword [0x141dcccdc]
and eax, 0x808f0834
shr eax, 2
imul rax, rax, 0x6007738d
shr rax, 0x37
cmp eax, 0xd93079a6
je 0x140083f2a
shl r9d, 0x12
movzx r15d, byte [r8 + 3]
add r8, 4
and r9d, 0x1c0000
shl edi, 6
and r15d, 0x3f
or r15d, edi
or r15d, r9d
cmp r15d, 0xffff
jbe 0x140084110
jmp 0x140084155
mov r10, qword [rbp - 0x18]
mov qword [rbp], r11
sub r10, r11
mov eax, dword [0x141dccd08]
or eax, dword [0x141dccd0c]
imul edx, eax, 0xf43477f9
xor edx, 0x95923712
xor r11d, r11d
test r9w, r9w
setne al
cmp edx, 0xb900509a
jb 0x140083f8e
mov r11b, al
mov eax, dword [0x141dccd10]
xor edx, edx
div dword [0x141dccd14]
nop dword [rax]
mov r8, r10
add r8, 3
cmovb r8, rsi
test r14b, r14b
jne 0x140083fd0
shr r8, 2
cmp r12w, 2
jne 0x140084050
mov eax, dword [0x141dccd18]
or eax, dword [0x141dccd1c]
imul eax, eax, 0xa50fb170
cmp eax, 0x45740c75
je 0x140083feb
add r8, r11
nop word [rax + rax]
mov eax, dword [0x141dccd20]
and eax, dword [0x141dccd24]
xor eax, 0x8de07ab6
imul eax, eax, 0xca34d111
xor eax, 0xb0b47a16
cmp eax, 0x2058112
jae 0x140084010
mov r12w, 2
mov edi, r9d
mov r11, qword [rbp]
jmp 0x1400840b6
mov eax, dword [0x141dccd28]
xor eax, dword [0x141dccd2c]
imul rax, r13
shr rax, 0x3f
or eax, 0x20e38f02
xor eax, 0x9bffc154
cmp eax, 0x2270e078
jb 0x140084050
add r8, r11
movzx eax, r12w
test r14b, r14b
jne 0x14008407c
add r8, rax
mov r11, qword [rbp]
nop dword [rax + rax]
mov eax, dword [0x141dccd30]
imul eax, dword [0x141dccd34]
xor eax, 0x4c0a2ff3
add eax, 0xae2d4c68
or eax, 0x16b04ee1
cmp eax, 0xe45df9d8
jae 0x140084090
mov edi, r9d
mov qword [rbp], r12
inc r8
sub rsp, 0x30
mov qword [rsp + 0x20], 2
mov r9d, 2
mov rdx, rbx
mov r12, r11
call fcn.1400fce40
mov r11, r12
mov r12, qword [rbp]
mov rcx, qword [rbp - 0x10]
add rsp, 0x30
mov r10, qword [rcx + 8]
jmp 0x140083cb7
shl r9d, 6
or r9d, r11d
mov r15d, r9d
mov rcx, qword [rbp - 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dccce0]
add eax, dword [0x141dccce4]
or eax, 0xfd3fa03d
imul eax, eax, 0xb90892a1
add eax, 0x405f6fc
cmp eax, 0xf915e832
jb 0x140084110
xor r9d, r9d
mov r11, r8
jmp 0x140083cab
shl r9d, 0xc
or edi, r9d
mov r15d, edi
mov rcx, qword [rbp - 0x10]
cmp r15d, 0xffff
jbe 0x140084110
lea eax, [r15 + 0xff0000]
shr eax, 0xa
mov edx, dword [0x141dccce8]
xor edx, dword [0x141dcccec]
add edx, 0x26b668f2
xor edx, 0x14284910
or edx, 0xea9732ed
cmp edx, 0x7ac8e61
je 0x14008415f
movzx eax, ax
or eax, 0xd800
and r15d, 0x3ff
or r15d, 0xdc00
mov r9d, r15d
mov r11, r8
mov r15d, eax
jmp 0x140083cab
mov rax, qword [rcx + 0x10]
mov rdx, qword [rbp - 0x20]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [rcx]
movups xmmword [rdx], xmm0
xor eax, eax
nop dword [rax]
test al, al
jne 0x1400841c0
jmp 0x140084210
mov eax, dword [0x141dccc40]
xor edx, edx
div dword [0x141dccc44]
imul eax, eax, 0xdb318fb4
mov qword [r13 + 8], 2
mov qword [r13 + 0x10], 0
cmp eax, 0xe0fee235
jne 0x140084210
mov qword [r13 + 8], 2
mov qword [r13 + 0x10], 0
jmp 0x1400841c6
mov eax, dword [0x141dccd38]
xor eax, dword [0x141dccd3c]
xor eax, 0xac488930
shr eax, 2
imul rax, rax, 0x107fa6fb
shr rax, 0x38
cmp eax, 0xb41b789
ja 0x140084210
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret