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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov r9, qword [rcx + 0x18]
cmp r9, 0xffffffffffffffff
je 0x140102651
mov rbx, r8
mov r10, rdx
nop word cs:[rax + rax]
mov eax, dword [0x141ddbe28]
or eax, dword [0x141ddbe2c]
or eax, 0xddffffff
cmp eax, 0x742a9c6c
jb 0x140101cd0
nop dword [rax + rax]
mov eax, dword [0x141ddbe30]
imul eax, dword [0x141ddbe34]
xor eax, 0x42344d64
imul eax, eax, 0xc4b9f554
add eax, 0x5431d4d4
mov r14, qword [rcx + 8]
lea r12, [r14 + 1]
mov rdx, r12
shr rdx, 3
mov r8, r12
and r8, 0xfffffffffffffff8
sub r8, rdx
cmp r14, 8
cmovb r8, r14
cmp eax, 0xd9e92b83
ja 0x140101cf0
mov rax, r8
shr rax, 1
nop dword [rax + rax]
mov edx, dword [0x141ddbe38]
or edx, dword [0x141ddbe3c]
or edx, 0x76fbe520
imul edx, edx, 0x49b89afa
add edx, 0x996de7a8
cmp edx, 0xe17299c4
jb 0x140101d40
cmp r9, rax
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x38], r9
jae 0x140101df0
mov qword [rsp + 0x70], r8
mov r15, qword [rcx]
mov rax, r12
shr rax, 4
xor ecx, ecx
test r12b, 0xf
setne cl
add rcx, rax
je 0x1401027e0
mov eax, dword [0x141ddbf30]
xor edx, edx
div dword [0x141ddbf34]
nop dword [rax]
mov eax, dword [0x141ddbf38]
imul eax, dword [0x141ddbf3c]
imul rax, rax, 0x561ea17b
shr rax, 0x3e
add eax, 0xdb80566d
cmp eax, 0xa734f5f0
jb 0x140101db0
cmp rcx, 1
jne 0x1401024c6
xor r8d, r8d
jmp 0x1401025e5
mov eax, dword [0x141ddbe40]
or eax, dword [0x141ddbe44]
add eax, 0xac496ec1
or eax, 0xbaed916e
cmp r9, r8
mov r10, r8
cmova r10, r9
cmp eax, 0xba43baf5
je 0x140101df0
nop word [rax + rax]
mov eax, dword [0x141ddbe48]
and eax, dword [0x141ddbe4c]
add eax, 0xb9fc4bc0
xor eax, 0x37f406e8
cmp eax, 0xf69bf553
ja 0x140101e20
cmp r10, 7
mov qword [rsp + 0x58], rbx
jae 0x140101e9e
mov eax, dword [0x141ddbe60]
xor edx, edx
div dword [0x141ddbe64]
nop word cs:[rax + rax]
xor eax, eax
cmp r10, 3
setae dl
mov r8d, dword [0x141ddbe68]
imul r8d, dword [0x141ddbe6c]
add r8d, 0xb033d020
and r8d, 0x108014
cmp r8d, 0x62d962e5
jae 0x140101e60
mov al, dl
lea rdi, [rax*4 + 4]
jmp 0x140101f81
movabs rax, 0x1ffffffffffffffe
nop dword [rax + rax]
mov edx, dword [0x141ddbe50]
and edx, dword [str.ysCa]
xor edx, 0xc0dea86
imul edx, edx, 0xbc86abcd
and edx, 0xff0487b6
cmp edx, 0xb440e5c8
jb 0x140101eb0
nop word cs:[rax + rax]
mov edx, dword [0x141ddbe58]
imul edx, dword [0x141ddbe5c]
imul edx, edx, 0x71451b0c
add edx, 0xc65b708e
cmp edx, 0x34ae0d31
jb 0x140101ee0
cmp r10, rax
ja 0x1401026a6
shl r10, 3
add r10, 8
movabs r9, 0x2492492492492493
nop dword [rax]
mov eax, dword [0x141ddbe70]
xor edx, edx
div dword [0x141ddbe74]
mov r8d, eax
and r8d, 0x609c931e
mov rax, r10
mul r9
cmp r8d, 0x1afb8520
je 0x140101f20
sub r10, rdx
shr r10, 1
add r10, rdx
shr r10, 2
dec r10
bsr rcx, r10
not ecx
mov rdi, 0xffffffffffffffff
shr rdi, cl
movabs rax, 0x800000000000000
add rax, 0xfffffffffffffffe
cmp rdi, rax
ja 0x14010261f
inc rdi
mov rbx, rdi
shl rbx, 5
lea r15, [rdi + 0x10]
nop dword [rax]
mov ecx, dword [0x141ddbe78]
imul ecx, dword [0x141ddbe7c]
or ecx, 0x293fb3b7
mov r8, rbx
add r8, r15
setb al
cmp ecx, 0x43675a2
je 0x140101f90
test al, al
jne 0x14010261f
nop dword [rax]
mov eax, dword [0x141ddbe80]
sub eax, dword [0x141ddbe84]
xor eax, 0x2703eb9e
add eax, 0x7c84c854
and eax, 0x24262e9d
cmp eax, 0x6fc3d2db
je 0x140101fc0
nop word cs:[rax + rax]
mov eax, dword [0x141ddbe88]
xor edx, edx
div dword [0x141ddbe8c]
imul eax, eax, 0xe1730779
and eax, 0x8202044
cmp eax, 0x6563cdd0
ja 0x140101ff0
movabs rax, 0x7ffffffffffffff0
cmp r8, rax
ja 0x14010261f
mov qword [rsp + 0x48], r12
movzx eax, byte [0x141dde6f8]
xor ecx, ecx
mov rdx, r8
call fcn.1400c29b0
test rax, rax
je 0x140102666
mov r13, rax
mov qword [rsp + 0x68], r14
lea rsi, [rdi - 1]
mov rax, rdi
shr rax, 3
mov rcx, rdi
and rcx, 0xfffffffffffffff8
sub rcx, rax
add r13, rbx
nop word cs:[rax + rax]
mov eax, dword [0x141ddbea0]
xor edx, edx
div dword [0x141ddbea4]
imul eax, eax, 0x7316d6dd
xor eax, 0x10450088
or eax, 0x65a2f806
cmp rdi, 9
mov rdx, rcx
cmovb rdx, rsi
cmp eax, 0x4c495aec
jb 0x140102070
mov qword [rsp + 0x40], rdx
mov rcx, r13
mov dl, 0xff
mov r8, r15
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rsp + 0x60]
mov rdi, qword [rax]
cmp qword [rsp + 0x38], 0
je 0x140102432
movdqa xmm0, xmmword [rdi]
pmovmskb r12d, xmm0
not r12d
lea rcx, [rdi - 0x20]
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1401020e0
mov qword [rsp + 0x30], rcx
nop dword [rax]
mov eax, dword [0x141ddbea8]
xor edx, edx
div dword [0x141ddbeac]
and eax, 0xed320261
imul eax, eax, 0xc200b57
add eax, 0xd850dfda
cmp eax, 0xefc7c6ad
ja 0x1401020f0
xor eax, eax
mov r15, rdi
xor ebx, ebx
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x50], rcx
nop word cs:[rax + rax]
test al, al
jne 0x140102130
test r12w, r12w
jne 0x14010218f
nop word [rax + rax]
mov eax, dword [0x141ddbeb0]
xor edx, edx
div dword [0x141ddbeb4]
mov eax, dword [0x141ddbeb8]
xor edx, edx
div dword [0x141ddbebc]
xor eax, 0x3aa33296
add eax, 0xb91e0af7
or eax, 0xc19b58e1
cmp eax, 0xa93c8e03
je 0x14010214e
movdqa xmm0, xmmword [r15 + 0x10]
add r15, 0x10
pmovmskb r12d, xmm0
add rbx, 0x10
cmp r12w, 0xffff
je 0x140102140
not r12d
mov eax, dword [0x141ddbec0]
xor eax, dword [0x141ddbec4]
and eax, 0x1417c897
xor eax, 0xcb2aac58
add eax, 0xf5dfaea9
cmp eax, 0xb270d061
jb 0x14010220c
mov ebp, dword [0x141ddbec8]
or ebp, dword [0x141ddbecc]
or ebp, 0x895e0dc5
add ebp, 0xb762c8b1
mov eax, 0x91cc76fd
imul rbp, rax
shr rbp, 0x3f
tzcnt r14d, r12d
add r14, rbx
mov rax, r14
shl rax, 5
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov r8, qword [rcx + 8]
mov r9, qword [rcx + 0x10]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x58]
call fcn.1400c3f20
cmp ebp, 0xfd7d018b
jbe 0x14010223c
tzcnt eax, r12d
add rax, rbx
shl rax, 5
mov rcx, qword [rsp + 0x30]
sub rcx, rax
mov r8, qword [rcx + 8]
mov r9, qword [rcx + 0x10]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x58]
call fcn.1400c3f20
jmp 0x1401021b1
mov rcx, rax
mov r8, rax
and r8, rsi
movdqu xmm0, xmmword [r13 + r8]
pmovmskb r9d, xmm0
test r9w, r9w
je 0x14010225b
xor ebp, ebp
jmp 0x1401022bc
mov r10d, 0x10
xor r11d, r11d
xor ebp, ebp
nop word cs:[rax + rax]
mov eax, dword [0x141ddbed0]
xor edx, edx
div dword [0x141ddbed4]
or eax, 0xb5054eb7
add eax, 0x160eb19e
mov edx, 0xabcde9a5
imul rax, rdx
shr rax, 0x3d
cmp eax, 0xd05b22d5
je 0x140102270
add r8, r10
and r8, rsi
movdqu xmm0, xmmword [r13 + r8]
pmovmskb r9d, xmm0
add r10, 0x10
add r11, 0x10
test r9w, r9w
je 0x140102270
lea eax, [r12 - 1]
and eax, r12d
dec qword [rsp + 0x50]
mov r12d, eax
mov eax, dword [0x141ddbed8]
xor edx, edx
div dword [0x141ddbedc]
add eax, 0xd4d8eef2
mov edx, 0xf22969d1
imul rax, rdx
shr rax, 0x3f
cmp eax, 0x8bbaa5d5
je 0x1401022cc
tzcnt eax, r9d
add r8, rax
and r8, rsi
cmp byte [r13 + r8], 0
js 0x140102372
mov eax, dword [0x141ddbee0]
xor edx, edx
div dword [0x141ddbee4]
mov eax, dword [0x141ddbee8]
and eax, dword [0x141ddbeec]
imul rax, rax, 0x37004679
shr rax, 0x3d
imul eax, eax, 0x5df83d8c
and eax, 0x3b9c2f04
cmp eax, 0x3e80716a
ja 0x140102314
movdqa xmm0, xmmword [r13]
pmovmskb eax, xmm0
tzcnt r8d, eax
nop dword [rax]
mov eax, dword [0x141ddbef0]
xor eax, dword [0x141ddbef4]
or eax, 0x7d28e1fc
add eax, 0xd7f71fc2
xor eax, 0x950cbc1c
cmp eax, 0xe96872e7
ja 0x140102350
not r14
mov rax, r8
not rax
test bpl, bpl
je 0x1401023c0
mov rdx, rcx
shr rdx, 0x39
lea r9, [r8 - 0x10]
and r9, rsi
mov byte [r13 + r8], dl
mov byte [r9 + r13 + 0x10], dl
mov rdx, r14
shl rdx, 5
mov r9, rax
shl r9, 5
movdqu xmm0, xmmword [rdi + rdx]
movups xmm1, xmmword [rdi + rdx + 0x10]
movups xmmword [r13 + r9 + 0x10], xmm1
movdqu xmmword [r13 + r9], xmm0
nop dword [rax]
mov edx, dword [0x141ddbef8]
and edx, dword [0x141ddbefc]
add edx, 0x35dfa4d2
or edx, 0xa57dfdbb
mov r9, rcx
shr r9, 0x39
lea r10, [r8 - 0x10]
and r10, rsi
mov r11, r14
shl r11, 5
mov rbp, rax
shl rbp, 5
mov byte [r13 + r8], r9b
mov byte [r10 + r13 + 0x10], r9b
movdqu xmm0, xmmword [rdi + r11]
movdqu xmm1, xmmword [rdi + r11 + 0x10]
movdqu xmmword [r13 + rbp + 0x10], xmm1
movdqu xmmword [r13 + rbp], xmm0
cmp edx, 0xa3fd074e
jb 0x1401023c0
cmp qword [rsp + 0x50], 0
mov eax, 0
jne 0x140102130
mov eax, dword [0x141ddbf00]
xor edx, edx
div dword [0x141ddbf04]
add eax, 0xcb227238
and eax, 0x302ceb1
cmp eax, 0x65682b71
mov rdx, qword [rsp + 0x60]
mov r10, qword [rsp + 0x40]
jne 0x14010245e
mov qword [rdx], r13
sub r10, qword [rsp + 0x38]
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0x48]
nop dword [rax]
mov eax, dword [0x141ddbf08]
add eax, dword [0x141ddbf0c]
xor eax, 0xd2f3d1a5
imul rcx, rax, 0x10fe35f
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
mov qword [rdx], r13
cmp eax, 0x4f392566
ja 0x140102470
mov eax, dword [0x141ddbf10]
xor eax, dword [str.qK_7]
imul eax, eax, 0xe7d92147
or eax, 0xbbf32fbe
cmp eax, 0x1d605bed
jae 0x1401026a8
jmp 0x1401026d3
movabs r9, 0x1ffffffffffffffe
and r9, rcx
nop word cs:[rax + rax]
mov eax, dword [0x141ddbf40]
xor eax, dword [0x141ddbf44]
imul rax, rax, 0x60735b81
shr rax, 0x3e
imul eax, eax, 0x20e11b9
xor eax, 0x6a1cb419
cmp eax, 0xa3483cfa
ja 0x1401024e0
nop dword [rax]
mov eax, dword [0x141ddbf48]
and eax, dword [0x141ddbf4c]
or eax, 0xa8450028
and eax, 0xeb4d4678
cmp eax, 0x9351a572
je 0x140102510
xor r10d, r10d
movdqa xmm0, xmmword [0x140104680]
xor r8d, r8d
xor r11d, r11d
nop
test r10b, r10b
je 0x140102580
mov rax, r8
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + r8]
or rax, 0x10
por xmm1, xmm0
movdqa xmmword [r15 + r8], xmm1
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + rax]
por xmm1, xmm0
movdqa xmmword [r15 + rax], xmm1
nop word cs:[rax + rax]
mov eax, dword [0x141ddbf70]
xor edx, edx
div dword [0x141ddbf74]
xor eax, 0x70874412
and eax, 0x74a7655b
mov rdx, r8
or rdx, 0x10
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + r8]
por xmm1, xmm0
movdqa xmmword [r15 + r8], xmm1
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + rdx]
imul eax, eax, 0x881e83f8
por xmm1, xmm0
movdqa xmmword [r15 + rdx], xmm1
cmp eax, 0x999e49d0
je 0x140102580
add r8, 0x20
add r11, 2
cmp r11, r9
jne 0x140102540
test cl, 1
mov r10, qword [rsp + 0x28]
je 0x1401027e0
pxor xmm0, xmm0
pcmpgtb xmm0, xmmword [r15 + r8]
mov eax, dword [0x141ddbf50]
add eax, dword [0x141ddbf54]
imul eax, eax, 0x36e0d55a
cmp eax, 0x595eefad
jne 0x140102764
jmp 0x14010278e
ud2
ud2
mov eax, dword [0x141ddbe98]
xor edx, edx
div dword [0x141ddbe9c]
xor eax, 0x3527dc78
mov ecx, 0xdc54a795
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xfa93b58e
cmp ecx, 0x121f94a4
jne 0x140102696
ud2
xor eax, eax
nop dword [rax + rax]
ud2
ud2
mov eax, dword [0x141ddbf18]
add eax, dword [0x141ddbf1c]
imul eax, eax, 0xa746da8d
add eax, 0x2db53d90
xor eax, 0xd47aee2a
mov qword [rdx + 8], rsi
mov qword [rdx + 0x10], r10
cmp eax, 0x99322bbe
jae 0x1401026dd
mov qword [rdx + 8], rsi
mov qword [rdx + 0x10], r10
jmp 0x1401026a8
test r8, r8
je 0x1401031c7
shl r9, 5
nop word [rax + rax]
mov eax, dword [0x141ddbf20]
add eax, dword [0x141ddbf24]
xor eax, 0xa7f8def2
imul eax, eax, 0xba0b888
cmp eax, 0xf3d0aa84
ja 0x1401026f0
mov eax, 0xaa453247
nop word cs:[rax + rax]
mov ecx, dword [0x141ddbf28]
mov edx, dword [0x141ddbf2c]
add ecx, edx
add ecx, 0x1f0e3a2a
xor ecx, 0x78b64ba9
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0x3e7b5d01
je 0x140102720
sub rdi, r9
mov rcx, qword [0x141dde6e0]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1401031c7
mov eax, dword [0x141ddbf58]
sub eax, dword [0x141ddbf5c]
add eax, 0x8dc81eed
movdqa xmm1, xmmword [0x140104680]
por xmm1, xmm0
movdqa xmmword [r15 + r8], xmm1
cmp eax, 0x7e0f33b4
jae 0x1401027b0
movdqa xmm1, xmmword [0x140104680]
por xmm1, xmm0
movdqa xmmword [r15 + r8], xmm1
jmp 0x140102764
mov eax, dword [0x141ddbf60]
imul eax, dword [0x141ddbf64]
imul eax, eax, 0xef2ba119
shr eax, 2
imul rax, rax, 0x2a851bfb
shr rax, 0x38
and eax, 0xfffffff9
cmp eax, 0xc904dbb3
ja 0x1401027b0
nop dword [rax + rax]
mov eax, dword [0x141ddbf68]
sub eax, dword [0x141ddbf6c]
add eax, 0x9992319f
or eax, 0x26dddf56
cmp eax, 0x78aea9c6
jb 0x1401027e0
xor eax, eax
nop
test al, al
jne 0x140102800
cmp r12, 0x10
jae 0x140102855
lea r13, [r15 + 0x10]
nop
mov eax, dword [0x141ddbf98]
xor edx, edx
div dword [0x141ddbf9c]
or eax, 0xfdff7e75
add eax, 0xca126c36
cmp eax, 0xeb487760
ja 0x140102810
mov eax, dword [0x141ddbfa0]
xor eax, dword [0x141ddbfa4]
add eax, 0x5552c230
and eax, 0xae693717
cmp eax, 0xe9493a20
jne 0x1401031e6
jmp 0x140103214
add r12, r15
nop dword [rax + rax]
mov eax, dword [0x141ddbf78]
xor edx, edx
div dword [0x141ddbf7c]
imul eax, eax, 0xc8f699c3
imul rax, rax, 0x3f2cb3fd
shr rax, 0x3d
cmp eax, 0x927903b1
je 0x140102860
mov eax, dword [0x141ddbf80]
and eax, dword [0x141ddbf84]
imul rax, rax, 0x7c50d9ab
shr rax, 0x3c
add eax, 0x7b487215
xor eax, 0xec3cb87f
cmp eax, 0x1c8bd478
jae 0x1401028c0
movdqu xmm0, xmmword [r15]
movdqu xmmword [r12], xmm0
nop dword [rax]
mov eax, dword [0x141ddbf88]
or eax, dword [0x141ddbf8c]
imul eax, eax, 0x3e043fe5
imul rax, rax, 0x61b618df
shr rax, 0x3e
or eax, 0xbc5880c2
movdqu xmm0, xmmword [r15]
movdqu xmmword [r12], xmm0
cmp eax, 0x60bae312
jb 0x1401028c0
nop word cs:[rax + rax]
mov eax, dword [0x141ddbf90]
xor edx, edx
div dword [0x141ddbf94]
xor eax, 0x15efde70
add eax, 0x9b258319
or eax, 0xd3706c14
cmp eax, 0xaaea81ff
jb 0x140102900
movabs rax, 0x736f6d6570736575
movabs rcx, 0x646f72616e646f6d
xor rax, r10
mov qword [rsp + 0x48], rax
xor rcx, rbx
mov qword [rsp + 0x40], rcx
nop dword [rax + rax]
mov eax, dword [0x141ddbfb0]
xor edx, edx
div dword [0x141ddbfb4]
imul eax, eax, 0x97b6735d
add eax, 0xdca60073
cmp eax, 0xa8823086
ja 0x140102950
movabs rax, 0x6c7967656e657261
xor r10, rax
mov qword [rsp + 0x28], r10
nop word cs:[rax + rax]
mov eax, dword [0x141ddbfb8]
add eax, dword [0x141ddbfbc]
imul rax, rax, 0x2e3b4bd
shr rax, 0x38
xor eax, 0x4e4e4213
cmp eax, 0xcec239f3
ja 0x140102990
movabs rax, 0x7465646279746573
xor rbx, rax
xor r10d, r10d
xor edi, edi
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x68], r14
nop
mov eax, dword [0x141ddbfc0]
add eax, dword [0x141ddbfc4]
imul eax, eax, 0x7864a36d
and eax, 0x4a53bd49
imul eax, eax, 0x72bf9de7
cmp eax, 0x15593ee
jb 0x1401029d0
cmp byte [r15 + rdi], 0x80
jne 0x14010317b
nop
mov eax, dword [0x141ddbfc8]
xor eax, dword [0x141ddbfcc]
imul rax, rax, 0x44aa02a1
shr rax, 0x3e
cmp eax, 0x7c902198
je 0x140102a00
mov rsi, rdi
not rsi
shl rsi, 5
add rsi, r15
nop dword [rax + rax]
mov eax, dword [0x141ddbfd0]
xor eax, dword [0x141ddbfd4]
cmp eax, 0x94ef2a57
je 0x140102a30
mov rax, rdi
shl rax, 5
mov rcx, r15
sub rcx, rax
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x30], rdi
nop word [rax + rax]
mov eax, dword [str.XluQ_]
or eax, dword [0x141ddbfdc]
add eax, 0xadb357f9
and eax, 0x61dacaaa
imul eax, eax, 0x87d0b0d6
cmp eax, 0xed716e18
jb 0x140102a60
mov eax, dword [0x141ddbfe0]
and eax, dword [0x141ddbfe4]
imul eax, eax, 0xefc9bd9e
add eax, 0xc0de3cf8
and eax, 0xefbaed48
cmp eax, 0x18782280
jb 0x140102a83
mov rax, qword [rsp + 0x50]
mov rdi, qword [rax - 0x18]
mov r12, qword [rax - 0x10]
mov r13d, r12d
and r13d, 7
nop word [rax + rax]
test r10b, r10b
jne 0x140102ac0
mov rax, r12
and rax, 0xfffffffffffffff8
je 0x140102b35
mov r14, qword [rsp + 0x28]
mov r9, qword [rsp + 0x40]
mov r8, rbx
xor ebp, ebp
mov rbx, qword [rsp + 0x48]
nop word cs:[rax + rax]
mov rcx, qword [rdi + rbp]
xor r8, rcx
add rbx, r9
rol r9, 0xd
add r14, r8
xor r9, rbx
rol r8, 0x10
xor r8, r14
rol rbx, 0x20
add r14, r9
add rbx, r8
rol r9, 0x11
xor r9, r14
rol r8, 0x15
rol r14, 0x20
xor r8, rbx
xor rbx, rcx
add rbp, 8
cmp rbp, rax
jb 0x140102af0
jmp 0x140102b50
mov r8, rbx
mov r9, qword [rsp + 0x40]
mov r14, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x48]
xor ebp, ebp
nop dword [rax]
mov eax, dword [0x141ddbfe8]
sub eax, dword [0x141ddbfec]
or eax, 0xdbfffdf7
add eax, 0x6b250f0f
cmp eax, 0xe4215c52
ja 0x140102b50
cmp r13d, 4
jb 0x140102c20
mov eax, dword [0x141ddbff0]
xor eax, dword [0x141ddbff4]
xor eax, 0xcbf57f5
add eax, 0x7d563091
xor eax, 0x97e41f9f
cmp eax, 0x4684c664
ja 0x140102b77
mov eax, dword [0x141ddbff8]
xor edx, edx
div dword [0x141ddbffc]
mov eax, dword [0x141ddc000]
imul eax, dword [0x141ddc004]
imul eax, eax, 0xc63b456d
xor eax, 0x97d5cb28
add eax, 0xfd91923b
cmp eax, 0x99572ee3
ja 0x140102ba7
mov r11d, dword [rdi + rbp]
mov ecx, dword [0x141ddc008]
imul ecx, dword [0x141ddc00c]
and ecx, 0x75067ac4
add ecx, 0xea734cc3
xor ecx, 0xa4753905
mov eax, 4
cmp ecx, 0x926095a
jb 0x140102bcf
mov rcx, rax
or rcx, 1
cmp rcx, r13
jb 0x140102c31
cmp rax, r13
jb 0x140102c50
jmp 0x140102cb0
xor r11d, r11d
xor eax, eax
mov rcx, rax
or rcx, 1
cmp rcx, r13
jae 0x140102c07
lea rcx, [rax + rbp]
movzx edx, word [rdi + rcx]
lea ecx, [rax*8]
shl rdx, cl
or r11, rdx
or rax, 2
cmp rax, r13
jae 0x140102cb0
nop
mov ecx, dword [0x141ddc010]
mov edx, dword [0x141ddc014]
add ecx, edx
add ecx, 0x461a6c31
or ecx, 0xf24fc7b7
and ecx, 0xf6dfe7bf
cmp ecx, 0x1909e9c2
jb 0x140102c50
add rbp, rax
movzx edx, byte [rdi + rbp]
mov bpl, 1
nop word cs:[rax + rax]
lea ecx, [rax*8]
mov rdi, rdx
shl rdi, cl
test bpl, bpl
je 0x140102c90
or r11, rdi
inc r12
mov edi, 0xcabc739d
jmp 0x140102d20
mov eax, dword [0x141ddc018]
xor edx, edx
div dword [0x141ddc01c]
mov edi, 0xcabc739d
nop word cs:[rax + rax]
mov eax, dword [0x141ddc020]
xor edx, edx
div dword [0x141ddc024]
add eax, 0xaf30ea04
or eax, 0x60a460a7
cmp eax, 0x7fe11295
je 0x140102cd0
inc r12
mov eax, dword [0x141ddc028]
add eax, dword [0x141ddc02c]
and eax, 0x4b15c1d7
add eax, 0xa26bc62c
cmp eax, 0xe4c2c552
ja 0x140102cf2
test r13, r13
je 0x140102d9b
nop dword [rax + rax]
mov eax, dword [0x141ddc030]
sub eax, dword [0x141ddc034]
or eax, 0x4343a8be
imul rax, rdi
shr rax, 0x3e
imul edx, eax, 0xa05c0550
lea ecx, [r13*8]
mov eax, 0xff
shl rax, cl
cmp edx, 0x73b59d3d
jb 0x140102d20
or r11, rax
cmp r13d, 7
jne 0x140102db0
xor r8, r11
add rbx, r9
add r14, r8
rol r9, 0xd
rol r8, 0x10
xor r9, rbx
xor r8, r14
rol rbx, 0x20
add r14, r9
add rbx, r8
rol r9, 0x11
xor r9, r14
rol r8, 0x15
xor r8, rbx
rol r14, 0x20
xor rbx, r11
xor r11d, r11d
jmp 0x140102db0
mov r11d, 0xff
nop word cs:[rax + rax]
mov rdi, qword [rsp + 0x30]
shl r12, 0x38
or r12, r11
xor r8, r12
add rbx, r9
rol r9, 0xd
add r14, r8
xor r9, rbx
rol r8, 0x10
xor r8, r14
rol rbx, 0x20
add r14, r9
add rbx, r8
rol r9, 0x11
xor r9, r14
rol r8, 0x15
rol r14, 0x20
xor r8, rbx
xor rbx, r12
xor r14, 0xff
add rbx, r9
add r14, r8
rol r9, 0xd
xor r9, rbx
rol r8, 0x10
rol rbx, 0x20
xor r8, r14
add r14, r9
rol r9, 0x11
add rbx, r8
xor r9, r14
rol r8, 0x15
xor r8, rbx
rol r14, 0x20
add rbx, r9
add r14, r8
rol r9, 0xd
xor r9, rbx
rol r8, 0x10
rol rbx, 0x20
xor r8, r14
add r14, r9
rol r9, 0x11
add rbx, r8
xor r9, r14
rol r8, 0x15
xor r8, rbx
rol r14, 0x20
add rbx, r9
add r14, r8
rol r9, 0xd
xor r9, rbx
rol r8, 0x10
xor r8, r14
add r14, r9
rol r9, 0x11
rol r8, 0x15
mov rcx, r14
rol rcx, 0x20
xor rcx, r9
xor rcx, r8
xor rcx, r14
mov r9, rcx
mov r14, qword [rsp + 0x68]
and r9, r14
movdqu xmm0, xmmword [r15 + r9]
pmovmskb eax, xmm0
mov r8, r9
test eax, eax
mov rbx, qword [rsp + 0x58]
jne 0x140102ee0
mov edx, 0x10
mov r8, r9
nop word cs:[rax + rax]
add r8, rdx
and r8, r14
movdqu xmm0, xmmword [r15 + r8]
pmovmskb eax, xmm0
add rdx, 0x10
test eax, eax
je 0x140102ec0
nop dword [rax + rax]
mov edx, dword [0x141ddc038]
and edx, dword [0x141ddc03c]
and edx, 0x8d705be0
imul rdx, rdx, 0xccb3325
shr rdx, 0x3a
cmp edx, 0x3c10a0d1
ja 0x140102ee0
tzcnt eax, eax
add r8, rax
and r8, r14
cmp byte [r15 + r8], 0
js 0x140102f6c
movdqa xmm0, xmmword [r15]
pmovmskb r8d, xmm0
mov eax, dword [0x141ddc040]
sub eax, dword [0x141ddc044]
add eax, 0xab1af44a
xor eax, 0x408c6030
and eax, 0x449ef032
cmp eax, 0xfd67e0ce
ja 0x140102f20
mov eax, dword [0x141ddc048]
xor edx, edx
div dword [0x141ddc04c]
and eax, 0x166d76b2
imul eax, eax, 0xe9d839e8
or eax, 0x97d39fa7
cmp eax, 0xe9d722f9
ja 0x140102f42
tzcnt r8d, r8d
mov eax, dword [str.V_y]
xor edx, edx
div dword [0x141ddc054]
or eax, 0x28000002
xor eax, 0x40480024
and eax, 0x694a8026
cmp eax, 0xbdd1a2b3
ja 0x140102f6c
mov rax, rdi
sub rax, r9
mov rdx, r8
sub rdx, r9
xor rdx, rax
and rdx, r14
cmp rdx, 0x10
jb 0x1401030f4
movzx eax, byte [r15 + r8]
shr rcx, 0x39
mov edx, dword [0x141ddc058]
sub edx, dword [0x141ddc05c]
add edx, 0x571df822
or edx, 0x210810
and edx, 0x86236937
cmp edx, 0x3ab0a3e7
jae 0x140102feb
lea rdx, [r8 - 0x10]
and rdx, r14
mov byte [r15 + r8], cl
mov byte [rdx + r15 + 0x10], cl
mov r9, r8
not r9
shl r9, 5
add r9, r15
nop dword [rax + rax]
mov edx, dword [0x141ddc060]
or edx, dword [0x141ddc064]
add edx, 0x79b5f94b
lea r11, [r8 - 0x10]
and r11, r14
mov byte [r15 + r8], cl
mov byte [r11 + r15 + 0x10], cl
cmp edx, 0xd80e3a9
jb 0x140103000
cmp al, 0xff
je 0x14010310a
mov eax, dword [0x141ddc068]
xor edx, edx
div dword [0x141ddc06c]
and eax, 0x382860d2
or eax, 0x46879a01
imul eax, eax, 0x12962f78
cmp eax, 0xbf9eb147
jbe 0x140103070
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [r9]
movdqu xmmword [rsi], xmm1
movdqu xmmword [r9], xmm0
nop dword [rax]
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [r9]
movdqu xmmword [rsi], xmm1
movdqu xmmword [r9], xmm0
test r10b, r10b
jne 0x140103070
movdqu xmm0, xmmword [rsi + 0x10]
movdqu xmm1, xmmword [r9 + 0x10]
movdqu xmmword [rsi + 0x10], xmm1
mov eax, dword [str.fAO]
add eax, dword [0x141ddc074]
and eax, 0x50cb4a5b
mov ecx, 0x993ff9d7
imul rax, rcx
shr rax, 0x3c
cmp eax, 0x2e458544
jne 0x1401030d0
movdqu xmmword [r9 + 0x10], xmm0
nop word cs:[rax + rax]
mov eax, dword [0x141ddc078]
sub eax, dword [0x141ddc07c]
imul eax, eax, 0x5a1db223
movdqu xmmword [r9 + 0x10], xmm0
cmp eax, 0x32fb4453
je 0x1401030d0
jmp 0x140102a60
shr rcx, 0x39
lea rax, [rdi - 0x10]
and rax, r14
mov byte [r15 + rdi], cl
mov byte [rax + r15 + 0x10], cl
jmp 0x14010317b
mov eax, dword [0x141ddc080]
add eax, dword [0x141ddc084]
or eax, 0xc8982357
cmp eax, 0x6f30fd0c
jne 0x140103150
lea rax, [rdi - 0x10]
and rax, r14
mov byte [r15 + rdi], 0xff
mov byte [rax + r15 + 0x10], 0xff
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqu xmmword [r9 + 0x10], xmm1
movdqu xmmword [r9], xmm0
nop dword [rax + rax]
lea rax, [rdi - 0x10]
and rax, r14
mov byte [r15 + rdi], 0xff
mov byte [rax + r15 + 0x10], 0xff
movdqu xmm0, xmmword [rsi]
movdqu xmm1, xmmword [rsi + 0x10]
movdqu xmmword [r9 + 0x10], xmm1
movdqu xmmword [r9], xmm0
test r10b, r10b
jne 0x140103150
lea rax, [rdi + 1]
nop
mov ecx, dword [0x141ddc088]
mov edx, dword [0x141ddc08c]
add ecx, edx
add ecx, 0x8d8ef387
xor ecx, 0x2cc5051
and ecx, 0x43cc5a5d
cmp ecx, 0xf5b3c299
ja 0x140103180
cmp rdi, r14
mov rdi, rax
jne 0x1401029d0
mov rcx, qword [rsp + 0x70]
sub rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x60]
mov qword [rax + 0x10], rcx
movabs rax, 0x7ffffffffffffff0
add rax, 0x11
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141ddbfa8]
xor eax, dword [0x141ddbfac]
imul esi, eax, 0x42e9a09e
add esi, 0xced371a4
mov rcx, r13
mov rdx, r15
mov r8, r12
call sub.VCRUNTIME140.dll_memmove
cmp esi, 0xc5b1e905
jbe 0x140103224
mov rcx, r13
mov rdx, r15
mov r8, r12
call sub.VCRUNTIME140.dll_memmove
jmp 0x1401031e6
cmp r14, 0xffffffffffffffff
mov r10, qword [rsp + 0x28]
jne 0x140102924
xor ecx, ecx
jmp 0x1401031b9