Function at 0x14003a700
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, 0x18
lea rbp, [rsp + 0x10]
mov r15, r8
mov r13, rdx
mov rbx, rcx
mov eax, dword [str.HZ_]
imul eax, dword [0x141dc8164]
and eax, 0x18b080
xor eax, 0x688204
or eax, 0x6786493b
cmp eax, 0x5e54042e
je 0x14003a778
mov ecx, dword [0x141dc8168]
imul ecx, dword [0x141dc816c]
xor ecx, 0xd8001
or ecx, 0xbe503c58
add ecx, 0xd1323d4c
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xf86120b8
jbe 0x14003a787
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
jmp 0x14003a741
test r15, r15
js 0x14003b0b9
mov eax, dword [0x141dc8170]
or eax, dword [0x141dc8174]
imul eax, eax, 0xe84690a2
cmp eax, 0xf77008de
je 0x14003a790
test r15, r15
mov qword [rbp - 8], rbx
je 0x14003a7d4
mov eax, dword [0x141dc8178]
or eax, dword [0x141dc817c]
imul eax, eax, 0xaf9db047
cmp eax, 0xd80f961a
jne 0x14003af98
jmp 0x14003afd0
mov r14d, 1
mov qword [rdi], r15
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], 0
lea rsi, [r15*2]
add rsi, r13
xor r12d, r12d
mov r15d, 0xcba50631
lea r11, [rbp + 4]
nop word cs:[rax + rax]
cmp r13, rsi
je 0x14003ae76
mov eax, dword [0x141dc81b8]
or eax, dword [0x141dc81bc]
imul eax, eax, 0xdc7747ea
or eax, 0x5f876eff
cmp eax, 0x8d3697c6
ja 0x14003a819
lea r8, [r13 + 2]
movzx ecx, word [r13]
mov eax, ecx
and eax, 0xf800
cmp eax, 0xd800
jne 0x14003a9c0
mov eax, dword [0x141dc81d8]
imul eax, dword [0x141dc81dc]
add eax, 0xebd6de40
imul rax, rax, 0x16a24769
shr rax, 0x3c
or eax, 0x74ab60dc
cmp eax, 0x1bd460a8
jb 0x14003a852
mov eax, dword [0x141dc81e0]
xor edx, edx
div dword [0x141dc81e4]
xor eax, 0xc7659673
imul rax, r15
shr rax, 0x3d
or eax, 0x2cb84ac
cmp eax, 0xb193234c
ja 0x14003a87b
nop word cs:[rax + rax]
cmp r8, rsi
sete al
cmp ecx, 0xdc00
setae dl
mov r9d, dword [str.5y]
mov r10d, dword [0x141dc81ec]
add r9d, r10d
add r9d, 0xfd2002d6
imul r9, r9, 0x76e5955b
shr r9, 0x3e
imul r9d, r9d, 0x9c812222
cmp r9d, 0xd4e6deaa
ja 0x14003a8b0
or dl, al
jne 0x14003ae8d
movzx r8d, word [r8]
lea eax, [r8 + 0x2000]
movzx eax, ax
cmp eax, 0xfc00
jb 0x14003ae8d
nop word cs:[rax + rax]
mov eax, dword [0x141dc81f0]
add eax, dword [0x141dc81f4]
or eax, 0x6f1e0c3b
imul eax, eax, 0xe89583ad
and eax, 0xb69cc852
cmp eax, 0x60071794
je 0x14003a920
add r13, 4
and ecx, 0x3ff
and r8d, 0x3ff
shl rcx, 0x1a
mov eax, dword [0x141dc81f8]
imul eax, dword [0x141dc81fc]
and eax, 0x124100
xor eax, 0x6c09928
or eax, 0x69010457
cmp eax, 0x2a68ea5
je 0x14003a958
shl r8, 0x10
movabs rax, 0x100000000
add rcx, rax
mov eax, dword [0x141dc8200]
xor edx, edx
div dword [0x141dc8204]
nop word [rax + rax]
mov eax, dword [0x141dc8208]
sub eax, dword [0x141dc820c]
cmp eax, 0xf5137488
je 0x14003a9a0
or rcx, r8
jmp 0x14003aa30
mov eax, dword [0x141dc81c0]
xor edx, edx
div dword [0x141dc81c4]
nop
mov eax, dword [0x141dc81c8]
and eax, dword [0x141dc81cc]
add eax, 0xc2cbd538
and eax, 0xcc81558c
add eax, 0xdbdda7a3
cmp eax, 0xa5728296
ja 0x14003a9d0
shl rcx, 0x10
nop word cs:[rax + rax]
mov eax, dword [0x141dc81d0]
add eax, dword [0x141dc81d4]
or eax, 0xe5a7a8c6
xor eax, 0x615bc6f4
add eax, 0x8ce603bc
cmp eax, 0x7fa4da50
ja 0x14003aa00
mov r13, r8
nop word cs:[rax + rax]
mov eax, dword [0x141dc8218]
imul eax, dword [0x141dc821c]
or eax, 0xe751fb6c
imul eax, eax, 0xd4aa4ac2
cmp eax, 0x38e81723
jb 0x14003aa30
mov rbx, rcx
shr rbx, 0x10
cmp ebx, 0x80
jae 0x14003ab30
cmp r12, qword [rdi]
jne 0x14003aaa2
sub rsp, 0x20
mov rcx, rdi
call fcn.14003a4d0
lea r11, [rbp + 4]
add rsp, 0x20
nop dword [rax + rax]
mov eax, dword [0x141dc8270]
and eax, dword [0x141dc8274]
add eax, 0x91584387
and eax, 0x3b38741b
add eax, 0xf81da505
cmp eax, 0x50706c79
ja 0x14003aa80
mov eax, dword [0x141dc8278]
and eax, dword [0x141dc827c]
imul eax, eax, 0x9ad40e7b
add eax, 0x6dce03c7
and eax, 0x39307377
cmp eax, 0xf673f8ce
jbe 0x14003aad0
mov rax, qword [rdi + 8]
mov byte [rax + r12], bl
nop dword [rax]
mov eax, dword [0x141dc8280]
and eax, dword [0x141dc8284]
imul eax, eax, 0x25274fb3
add eax, 0x5b5dace3
mov r14, qword [rdi + 8]
mov byte [r14 + r12], bl
cmp eax, 0xb04f631b
ja 0x14003aad0
inc r12
mov qword [rdi + 0x10], r12
nop dword [rax]
mov eax, dword [0x141dc8288]
sub eax, dword [0x141dc828c]
add eax, 0x3ac4e4a1
xor eax, 0xb325a4c
add eax, 0xc4fa7fe
cmp eax, 0xa42c5128
jb 0x14003ab00
jmp 0x14003a810
mov dword [rbp + 4], 0
cmp ebx, 0x800
mov qword [rbp - 0x10], r13
jae 0x14003ab60
shr ecx, 0x16
or cl, 0xc0
mov byte [rbp + 4], cl
mov r13d, 2
mov eax, 1
jmp 0x14003ace3
mov eax, dword [0x141dc8220]
and eax, dword [0x141dc8224]
add eax, 0x4e511f6a
xor eax, 0xc985da60
add eax, 0x6723149
cmp eax, 0x56534f97
jb 0x14003ab60
mov rax, rcx
cmp ebx, 0x10000
jae 0x14003ac34
shr rax, 0x1c
mov edx, dword [0x141dc8238]
and edx, dword [0x141dc823c]
and edx, 0x4ed7ef53
add edx, 0x8018a9be
xor edx, 0x65bb6dd5
cmp edx, 0xb359352a
jae 0x14003abe0
mov edx, eax
or dl, 0xe0
mov byte [rbp + 4], dl
mov edx, ecx
shr edx, 0x16
and dl, 0x3f
or dl, 0x80
mov byte [rbp + 5], dl
nop word cs:[rax + rax]
mov edx, dword [0x141dc8240]
imul edx, dword [0x141dc8244]
and edx, 0xcaf8f4ba
imul rdx, rdx, 0x7d477f1f
shr rdx, 0x3e
mov r8d, eax
or r8b, 0xe0
mov r9d, ecx
shr r9d, 0x16
and r9b, 0x3f
or r9b, 0x80
mov byte [rbp + 4], r8b
mov byte [rbp + 5], r9b
cmp edx, 0xeb1e0f6
je 0x14003abe0
mov r13d, 3
mov eax, 2
jmp 0x14003ace3
shr rax, 0x22
or al, 0xf0
mov byte [rbp + 4], al
mov eax, dword [0x141dc8228]
sub eax, dword [0x141dc822c]
add eax, 0x11c1ea4a
shr eax, 2
imul rax, rax, 0x499abb4f
shr rax, 0x3c
imul eax, eax, 0x39780a77
cmp eax, 0x375dbbdc
je 0x14003acbc
nop dword [rax]
mov eax, dword [0x141dc8230]
imul eax, dword [0x141dc8234]
xor eax, 0x1876b573
imul rax, rax, 0x15fea64f
shr rax, 0x3c
or eax, 0x3906b1b8
mov rdx, rcx
shr rdx, 0x1c
and dl, 0x3f
or dl, 0x80
mov r8d, ecx
shr r8d, 0x16
and r8b, 0x3f
or r8b, 0x80
mov byte [rbp + 5], dl
mov byte [rbp + 6], r8b
cmp eax, 0x92116d98
jne 0x14003acd8
mov rax, rcx
shr rax, 0x1c
and al, 0x3f
or al, 0x80
mov byte [rbp + 5], al
mov eax, ecx
shr eax, 0x16
and al, 0x3f
or al, 0x80
mov byte [rbp + 6], al
jmp 0x14003ac70
mov r13d, 4
mov eax, 3
and bl, 0x3f
or bl, 0x80
mov byte [rbp + rax + 4], bl
mov rax, qword [rdi]
sub rax, r12
cmp rax, r13
jb 0x14003ad9e
mov rbx, r12
mov eax, dword [0x141dc8260]
and eax, dword [0x141dc8264]
cmp eax, 0xbfd851be
jne 0x14003ad40
lea rcx, [r14 + rbx]
sub rsp, 0x20
mov rdx, r11
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
lea r11, [rbp + 4]
add rsp, 0x20
lea rax, [rbx + r13]
mov qword [rdi + 0x10], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc8268]
imul eax, dword [0x141dc826c]
imul eax, eax, 0x96f95938
add eax, 0x513d13e0
imul r15, rax, 0x242b4a33
shr r15, 0x3d
lea rcx, [r14 + rbx]
sub rsp, 0x20
mov rdx, r11
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
lea r11, [rbp + 4]
add rsp, 0x20
lea r12, [rbx + r13]
mov qword [rdi + 0x10], r12
cmp r15d, 0xfd027b4b
je 0x14003ad40
mov r13, qword [rbp - 0x10]
mov r15d, 0xcba50631
jmp 0x14003a810
mov eax, dword [0x141dc8248]
add eax, dword [0x141dc824c]
mov ecx, 0x94d05c07
imul rax, rcx
shr rax, 0x3e
xor eax, 0xadda8ba2
imul eax, eax, 0x54171cb0
cmp eax, 0xab24db85
jbe 0x14003addf
sub rsp, 0x20
mov rcx, rdi
mov rdx, r12
mov r8, r13
call fcn.1400f52d0
add rsp, 0x20
mov eax, dword [0x141dc8250]
xor edx, edx
div dword [0x141dc8254]
or eax, 0x737ffc7a
imul rbx, rax, 0x4eb8b0eb
shr rbx, 0x3e
sub rsp, 0x20
mov rcx, rdi
mov rdx, r12
mov r8, r13
call fcn.1400f52d0
add rsp, 0x20
cmp ebx, 0x29d0747d
ja 0x14003adc9
mov rbx, qword [rdi + 0x10]
mov r14, qword [rdi + 8]
mov ecx, 0xa3297715
nop dword [rax + rax]
mov eax, dword [0x141dc8258]
or eax, dword [0x141dc825c]
imul rax, rcx
shr rax, 0x3f
imul eax, eax, 0xd946b5ae
and eax, 0xdf093bcc
cmp eax, 0x417f5b1d
ja 0x14003ae30
lea r11, [rbp + 4]
mov eax, dword [0x141dc8260]
and eax, dword [0x141dc8264]
cmp eax, 0xbfd851be
jne 0x14003ad40
jmp 0x14003ad12
mov rax, qword [rdi + 0x10]
mov rcx, qword [rbp - 8]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [rcx], xmm0
jmp 0x14003af60
movabs rax, 0x8000000000000000
mov rcx, qword [rbp - 8]
mov qword [rcx], rax
cmp qword [rdi], 0
je 0x14003af20
mov eax, dword [0x141dc8290]
and eax, dword [0x141dc8294]
add eax, 0x2265e9c4
imul rcx, rax, 0x2149f247
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0x85bcbafd
jbe 0x14003aee0
mov rax, qword [0x141dde6e0]
nop word [rax + rax]
mov eax, dword [0x141dc8298]
and eax, dword [0x141dc829c]
add eax, 0xdd4f2810
and eax, 0x43000240
add eax, 0x176d9d86
mov rcx, qword [0x141dde6e0]
cmp eax, 0xdc233756
ja 0x14003aee0
sub rsp, 0x20
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
nop dword [rax]
mov eax, dword [0x141dc82a0]
xor edx, edx
div dword [0x141dc82a4]
and eax, 0xd46b901c
imul eax, eax, 0x21a80dde
cmp eax, 0x4360b80e
je 0x14003af20
mov eax, dword [0x141dc82a8]
add eax, dword [0x141dc82ac]
imul eax, eax, 0xefb41174
add eax, 0xba944a7f
cmp eax, 0x5908c3
jbe 0x14003af40
nop
mov eax, dword [0x141dc8210]
and eax, dword [0x141dc8214]
imul eax, eax, 0x7477cf59
shr eax, 4
imul rax, rax, 0x591a7df
shr rax, 0x34
cmp eax, 0xe1d0aedf
je 0x14003af60
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141dc8180]
sub eax, dword [0x141dc8184]
mov ecx, 0xd432e0a9
imul rcx, rax
shr rcx, 0x3f
or ecx, 0x40d709ce
imul rax, rcx, 0x3f0f8ceb
shr rax, 0x3b
movzx ecx, byte [0x141dde6f8]
cmp eax, 0xa06dfe16
jne 0x14003afd9
movzx eax, byte [0x141dde6f8]
jmp 0x14003af98
mov eax, dword [0x141dc8188]
add eax, dword [0x141dc818c]
imul eax, eax, 0x35fd2a23
and eax, 0x44228a0
cmp eax, 0xed267bd4
jne 0x14003b010
sub rsp, 0x20
xor ecx, ecx
mov rdx, r15
call fcn.1400c29b0
add rsp, 0x20
nop dword [rax]
mov esi, dword [0x141dc8190]
and esi, dword [0x141dc8194]
and esi, 0x545c0c1
add esi, 0x9aca2405
sub rsp, 0x20
xor ecx, ecx
mov rdx, r15
call fcn.1400c29b0
add rsp, 0x20
cmp esi, 0x9042ee4c
jb 0x14003b010
mov r14, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc8198]
imul eax, dword [0x141dc819c]
xor eax, 0x6bbf0c1
add eax, 0x51365f51
or eax, 0xfb280dbe
cmp eax, 0x7326e4d7
jb 0x14003b050
test r14, r14
je 0x14003b0b9
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x14003b080
nop word cs:[rax + rax]
mov eax, dword [0x141dc81a0]
mov ecx, dword [0x141dc81a4]
add eax, ecx
add eax, 0xfb7e9f63
xor eax, 0x22c02
or eax, 0x9ed591d1
cmp eax, 0xce34938d
ja 0x14003b090
jmp 0x14003a7da
mov eax, dword [0x141dc81a8]
imul eax, dword [0x141dc81ac]
imul eax, eax, 0xc2740340
add eax, 0x610071c0
or eax, 0xedebc678
cmp eax, 0x7f9c93e6
jb 0x14003b101
mov eax, dword [0x141dc81b0]
xor eax, dword [0x141dc81b4]
or eax, 0x6104095a
xor eax, 0x104a943
or eax, 0x94db5424
ud2
ud2