Function at 0x1400f1850
Capabilities:
Encode data using base64
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], rdx
mov rbx, rcx
mov r14, qword [rcx + 0x18]
nop word cs:[rax + rax]
mov eax, dword [0x141dc28c8]
add eax, dword [0x141dc28cc]
and eax, 0x160082e0
add eax, 0xdb46577e
cmp eax, 0x50e3a0e5
jb 0x1400f1880
cmp r14, 0xffffffffffffffff
je 0x1400f1fa9
nop word [rax + rax]
mov eax, dword [0x141dc28d0]
imul eax, dword [0x141dc28d4]
add eax, 0xa3f5d5e7
or eax, 0xf6d0bea4
and eax, 0xf6fbfee6
cmp eax, 0xcd447961
je 0x1400f18b0
mov rcx, qword [rbx + 8]
lea r13, [rcx + 1]
mov rax, r13
shr rax, 3
mov r12, r13
and r12, 0xfffffffffffffff8
sub r12, rax
cmp rcx, 8
mov qword [rsp + 0x58], rcx
cmovb r12, rcx
mov rax, r12
shr rax, 1
cmp r14, rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x50], r14
jae 0x1400f19eb
mov rax, r13
shr rax, 4
nop dword [rax]
mov ecx, dword [0x141dc29e8]
imul ecx, dword [0x141dc29ec]
add ecx, 0xa19c34fd
xor ecx, 0xe88140a5
or ecx, 0x6049f48
cmp ecx, 0x413b5471
jb 0x1400f1920
mov r15, qword [rbx]
nop word [rax + rax]
mov ecx, r13d
and ecx, 0xf
mov edx, dword [0x141dc29f0]
and edx, dword [0x141dc29f4]
xor edx, 0x14a1018c
or edx, 0xe35ad013
add edx, 0xfa59a66d
cmp rcx, 1
mov r8, rax
sbb r8, 0xffffffffffffffff
cmp edx, 0xc2f5e83d
jb 0x1400f1950
test r8, r8
je 0x1400f2480
mov eax, dword [0x141dc29f8]
add eax, dword [0x141dc29fc]
imul eax, eax, 0x2263e20
cmp eax, 0xf1b0b739
je 0x1400f1990
nop dword [rax]
mov eax, dword [0x141dc2a00]
xor edx, edx
div dword [0x141dc2a04]
add eax, 0x729c342
xor eax, 0x2ec86097
imul rax, rax, 0x76dddf79
shr rax, 0x3d
cmp eax, 0x292af0bf
ja 0x1400f19b0
cmp r8, 1
jne 0x1400f1d5b
xor ecx, ecx
jmp 0x1400f1ea6
cmp r14, r12
cmova r12, r14
nop word cs:[rax + rax]
mov eax, dword [0x141dc28d8]
or eax, dword [0x141dc28dc]
or eax, 0xef3af9df
cmp eax, 0xae80f0e1
je 0x1400f1a00
nop dword [rax + rax]
mov eax, dword [0x141dc28e0]
add eax, dword [0x141dc28e4]
xor eax, 0xcabfefee
imul rax, rax, 0x6dcf103d
shr rax, 0x3e
xor eax, 0x50351397
cmp eax, 0x2956acee
jb 0x1400f1a20
cmp r12, 7
jae 0x1400f1a82
nop
xor eax, eax
cmp r12, 3
setae cl
mov edx, dword [0x141dc28f0]
xor edx, dword [0x141dc28f4]
imul edx, edx, 0x560cde78
cmp edx, 0x883549b3
je 0x1400f1a50
mov al, cl
lea r15, [rax*4 + 4]
jmp 0x1400f1b2b
movabs rax, 0x1ffffffffffffffe
nop dword [rax]
mov ecx, dword [0x141dc28e8]
imul ecx, dword [0x141dc28ec]
add ecx, 0xf35acb36
xor ecx, 0x4080c130
and ecx, 0x49cac731
cmp ecx, 0x37d9e09c
ja 0x1400f1a90
cmp r12, rax
ja 0x1400f1fa9
lea rcx, [r12*8 + 8]
nop dword [rax + rax]
mov eax, dword [0x141dc28f8]
add eax, dword [0x141dc28fc]
xor eax, 0x9a46d066
add eax, 0x2f91f0a4
imul rax, rax, 0x2c775ead
shr rax, 0x3d
cmp eax, 0xf551dbe2
je 0x1400f1ad0
movabs rdx, 0x2492492492492493
mov rax, rcx
mul rdx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 2
dec rcx
bsr rcx, rcx
not ecx
mov r15, 0xffffffffffffffff
shr r15, cl
inc r15
mov eax, dword [0x141dc2900]
xor edx, edx
div dword [0x141dc2904]
mov qword [rsp + 0x68], r13
mov ecx, 0x38
xor r8d, r8d
nop word cs:[rax + rax]
mov rax, r15
mul rcx
mov rbp, rax
seto al
cmp rbp, 0xfffffffffffffff1
setae dl
test r8b, r8b
jne 0x1400f1b50
or al, dl
jne 0x1400f1ecc
mov eax, dword [0x141dc2908]
xor edx, edx
div dword [0x141dc290c]
add rbp, 0xf
nop word cs:[rax + rax]
mov eax, dword [0x141dc2910]
xor edx, edx
div dword [0x141dc2914]
add eax, 0xa2b419a5
and eax, 0x8b6ab46
cmp eax, 0x1c1ffb1c
ja 0x1400f1b90
and rbp, 0xfffffffffffffff0
lea rsi, [r15 + 0x10]
mov r13, rbp
add r13, rsi
setb al
mov ecx, dword [0x141dc2918]
or ecx, dword [0x141dc291c]
add ecx, 0x4da03b14
xor ecx, 0xa8ce9e06
add ecx, 0x5b8fc91a
cmp ecx, 0xe9cc53ad
ja 0x1400f1bc0
test al, al
jne 0x1400f1ecc
mov eax, 0x97a4c1df
nop word cs:[rax + rax]
mov ecx, dword [0x141dc2920]
sub ecx, dword [0x141dc2924]
imul rcx, rax
shr rcx, 0x3c
add ecx, 0xce7dcb1
or ecx, 0x83746c91
cmp ecx, 0xf841eb83
ja 0x1400f1c00
nop dword [rax + rax]
mov eax, dword [0x141dc2928]
xor edx, edx
div dword [0x141dc292c]
or eax, 0x20a1fa11
imul eax, eax, 0x92a549a6
xor eax, 0x526dda15
cmp eax, 0x15609530
jb 0x1400f1c30
movabs rax, 0x7ffffffffffffff0
cmp r13, rax
ja 0x1400f1ecc
mov eax, dword [0x141dc2948]
xor eax, dword [0x141dc294c]
and eax, 0x20604114
xor eax, 0xd7e6cf0d
cmp eax, 0xfae8c368
jbe 0x1400f1c8c
movzx eax, byte [0x141ddb9b8]
xor eax, eax
nop
movzx ecx, byte [0x141ddb9b8]
test al, al
jne 0x1400f1c90
mov eax, dword [0x141dc2950]
imul eax, dword [0x141dc2954]
add eax, 0x4566d0f4
xor eax, 0x5e631989
imul eax, eax, 0x7a5d1e4c
cmp eax, 0x8fc6a9aa
jbe 0x1400f1cd0
xor ecx, ecx
mov rdx, r13
call fcn.1400bf820
nop dword [rax]
mov eax, dword [0x141dc2958]
xor edx, edx
div dword [0x141dc295c]
add eax, 0x18948a73
imul rbx, rax, 0x16f5f6a7
shr rbx, 0x3b
xor ebx, 0x5fb968e6
xor ecx, ecx
mov rdx, r13
call fcn.1400bf820
cmp ebx, 0xf275d8b6
ja 0x1400f1cd0
mov rdi, rax
nop dword [rax]
mov eax, dword [0x141dc2960]
sub eax, dword [0x141dc2964]
and eax, 0x6004411
add eax, 0x574ce134
cmp eax, 0x5123fe01
jb 0x1400f1d10
test rdi, rdi
je 0x1400f1ef8
lea rbx, [r15 - 1]
mov eax, dword [0x141dc2978]
xor eax, dword [0x141dc297c]
add eax, 0x6e6a2015
cmp eax, 0x3e9dc86c
jbe 0x1400f1fab
jmp 0x1400f1fff
movabs r9, 0x1ffffffffffffffe
and r9, r8
xor ecx, ecx
nop word [rax + rax]
mov eax, dword [0x141dc2a08]
and eax, dword [0x141dc2a0c]
xor eax, 0xc010824
or eax, 0x181001
and eax, 0xcc393ea5
cmp eax, 0x59adf642
je 0x1400f1d70
mov r10d, 0xa40ecc4f
movdqa xmm0, xmmword [0x140102680]
xor r11d, r11d
nop word cs:[rax + rax]
mov eax, dword [0x141dc2a38]
xor edx, edx
div dword [0x141dc2a3c]
xor eax, 0xb6a0bfb6
shr eax, 1
imul rax, rax, 0x51490449
shr rax, 0x3a
add eax, 0x6d3c791a
cmp eax, 0x8455e6b7
jbe 0x1400f1e10
mov rax, rcx
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + rcx]
or rax, 0x10
por xmm1, xmm0
movdqa xmmword [r15 + rcx], xmm1
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + rax]
por xmm1, xmm0
movdqa xmmword [r15 + rax], xmm1
nop dword [rax + rax]
mov eax, dword [0x141dc2a40]
add eax, dword [0x141dc2a44]
imul rax, r10
shr rax, 0x3d
imul eax, eax, 0xdfa536d9
mov rdx, rcx
or rdx, 0x10
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + rcx]
por xmm1, xmm0
movdqa xmmword [r15 + rcx], xmm1
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + rdx]
and eax, 0xc1695427
por xmm1, xmm0
movdqa xmmword [r15 + rdx], xmm1
cmp eax, 0x84b6c18e
ja 0x1400f1e10
add rcx, 0x20
add r11, 2
cmp r11, r9
jne 0x1400f1db0
mov eax, 0xb56b9b2f
nop dword [rax + rax]
mov edx, dword [0x141dc2a10]
sub edx, dword [0x141dc2a14]
imul rdx, rax
shr rdx, 0x3b
cmp edx, 0x88932374
je 0x1400f1e80
test r8b, 1
je 0x1400f2480
mov eax, dword [0x141dc2a18]
and eax, dword [0x141dc2a1c]
or eax, 0x11463525
and eax, 0x13d63525
cmp eax, 0x1077a072
jne 0x1400f242b
jmp 0x1400f2462
mov eax, dword [0x141dc2930]
imul eax, dword [0x141dc2934]
or eax, 0x9bbfffba
mov ecx, 0x939d27f9
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x696c43ab
jne 0x1400f1f5e
jmp 0x1400f1f82
mov eax, dword [0x141dc2968]
add eax, dword [0x141dc296c]
mov ecx, 0xaf21d44b
imul rcx, rax
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
or eax, 0x80640008
cmp eax, 0x8223a73e
jbe 0x1400f1f30
ud2
mov eax, dword [0x141dc2970]
xor edx, edx
div dword [0x141dc2974]
imul rax, rax, 0x66ba33bd
shr rax, 0x3e
add eax, 0x61babf55
xor eax, 0xbeafb844
ud2
mov eax, dword [0x141dc2938]
and eax, dword [0x141dc293c]
and eax, 0x73a045d0
add eax, 0x15fe172d
and eax, 0x7778115d
ud2
ud2
ud2
mov eax, dword [0x141dc2980]
and eax, dword [0x141dc2984]
shr eax, 2
imul rax, rax, 0x2b3a5ca5
shr rax, 0x3b
imul r12d, eax, 0x80041023
mov rax, r15
shr rax, 3
mov r14, r15
and r14, 0xfffffffffffffff8
sub r14, rax
cmp r15, 9
cmovb r14, rbx
lea r13, [rdi + rbp]
mov rcx, r13
mov dl, 0xff
mov r8, rsi
call sub.VCRUNTIME140.dll_memset
cmp r12d, 0x4b179e81
jne 0x1400f200f
lea rcx, [rdi + rbp]
mov dl, 0xff
mov r8, rsi
call sub.VCRUNTIME140.dll_memset
jmp 0x1400f1fab
mov rax, qword [rsp + 0x60]
mov r15, qword [rax]
cmp qword [rsp + 0x50], 0
je 0x1400f238b
mov eax, dword [0x141dc2988]
xor edx, edx
div dword [0x141dc298c]
nop word cs:[rax + rax]
mov eax, dword [0x141dc2990]
xor edx, edx
div dword [0x141dc2994]
add eax, 0x6edd978d
or eax, 0x14d3c33f
add eax, 0x7890a5a3
cmp eax, 0x35fab28b
jb 0x1400f2040
movdqa xmm0, xmmword [r15]
nop dword [rax]
mov eax, dword [0x141dc2998]
and eax, dword [0x141dc299c]
and eax, 0xfd01bcf1
xor eax, 0xb27b8674
add eax, 0xbff07f7c
cmp eax, 0x2e7faebc
jb 0x1400f2070
pmovmskb esi, xmm0
not esi
lea rax, [r15 - 0x38]
mov qword [rsp + 0x38], rax
mov rbp, r15
xor edi, edi
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], r14
jmp 0x1400f20d0
cmp qword [rsp + 0x28], 0
mov r14, qword [rsp + 0x30]
je 0x1400f238b
nop dword [rax + rax]
mov eax, dword [0x141dc29a0]
add eax, dword [0x141dc29a4]
imul eax, eax, 0xf1c293cf
cmp eax, 0x3da84b51
je 0x1400f20d0
test si, si
jne 0x1400f214c
nop
mov eax, dword [0x141dc29b0]
sub eax, dword [0x141dc29b4]
and eax, 0xcd09fd3d
imul eax, eax, 0x1bf3be26
imul rax, rax, 0x4d9904c5
shr rax, 0x3e
cmp eax, 0xf03dabb2
ja 0x1400f20f0
add rdi, 0x10
movdqa xmm0, xmmword [rbp + 0x10]
add rbp, 0x10
pmovmskb esi, xmm0
cmp si, 0xffff
je 0x1400f20f0
mov eax, dword [0x141dc29a8]
xor edx, edx
div dword [0x141dc29ac]
and eax, 0xb23743f2
cmp eax, 0x5cd601fc
je 0x1400f2130
not esi
tzcnt r12d, esi
add r12, rdi
mov rax, r12
neg rax
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x38]
mov r8, qword [rcx + rax + 8]
mov r9, qword [rcx + rax + 0x10]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
call fcn.1400c11a0
mov rcx, rax
and rcx, rbx
movdqu xmm0, xmmword [r13 + rcx]
pmovmskb r8d, xmm0
test r8d, r8d
jne 0x1400f21ef
xor edx, edx
nop word cs:[rax + rax]
mov r8d, dword [0x141dc29b8]
mov r9d, dword [0x141dc29bc]
add r8d, r9d
add r8d, 0xb0232677
and r8d, 0x6efec71a
xor r8d, 0xdcbb67da
cmp r8d, 0xd188a5bd
jb 0x1400f21a0
add rcx, rdx
add rcx, 0x10
add rdx, 0x10
and rcx, rbx
movdqu xmm0, xmmword [r13 + rcx]
pmovmskb r8d, xmm0
test r8w, r8w
je 0x1400f21a0
lea edx, [rsi - 1]
and edx, esi
mov esi, edx
dec qword [rsp + 0x28]
xor edx, edx
test dl, dl
jne 0x1400f21fb
tzcnt edx, r8d
add rcx, rdx
and rcx, rbx
cmp byte [r13 + rcx], 0
js 0x1400f227a
movdqa xmm0, xmmword [r13]
nop word [rax + rax]
mov ecx, dword [0x141dc29c0]
xor ecx, dword [0x141dc29c4]
imul ecx, ecx, 0xeea26783
add ecx, 0x78ea2464
cmp ecx, 0x6011ffab
ja 0x1400f2220
pmovmskb ecx, xmm0
nop word cs:[rax + rax]
mov edx, dword [0x141dc29c8]
and edx, dword [0x141dc29cc]
imul edx, edx, 0xdd020cb3
add edx, 0xb071eb98
or edx, 0xcfb4874
cmp edx, 0x6582654b
jb 0x1400f2250
tzcnt ecx, ecx
mov edx, dword [0x141dc29d0]
add edx, dword [0x141dc29d4]
and edx, 0x179882cd
imul r8d, edx, 0xa00964c3
add r8d, 0x30913296
not r12
mov rdx, rcx
not rdx
cmp r8d, 0xfb030971
ja 0x1400f2335
mov r8d, dword [0x141dc29d8]
sub r8d, dword [0x141dc29dc]
add r8d, 0xc9806329
and r8d, 0xcc9e98a8
imul r8, r8, 0x51ca4a4d
shr r8, 0x3d
mov r9, rax
shr r9, 0x39
lea r10, [rcx - 0x10]
and r10, rbx
imul r11, r12, 0x38
imul r14, rdx, 0x38
mov byte [r13 + rcx], r9b
mov byte [r10 + r13 + 0x10], r9b
mov r9, qword [r15 + r11 + 0x30]
mov qword [r13 + r14 + 0x30], r9
movdqu xmm0, xmmword [r15 + r11]
movdqu xmm1, xmmword [r15 + r11 + 0x10]
movups xmm2, xmmword [r15 + r11 + 0x20]
movups xmmword [r13 + r14 + 0x20], xmm2
movdqu xmmword [r13 + r14 + 0x10], xmm1
movdqu xmmword [r13 + r14], xmm0
cmp r8d, 0xb4ecd8ff
jbe 0x1400f20b7
mov r8, rax
shr r8, 0x39
lea r9, [rcx - 0x10]
and r9, rbx
mov byte [r13 + rcx], r8b
mov byte [r9 + r13 + 0x10], r8b
imul r8, r12, 0x38
imul r9, rdx, 0x38
mov r10, qword [r15 + r8 + 0x30]
mov qword [r13 + r9 + 0x30], r10
movdqu xmm0, xmmword [r15 + r8]
movdqu xmm1, xmmword [r15 + r8 + 0x10]
movups xmm2, xmmword [r15 + r8 + 0x20]
movups xmmword [r13 + r9 + 0x20], xmm2
movdqu xmmword [r13 + r9 + 0x10], xmm1
movdqu xmmword [r13 + r9], xmm0
jmp 0x1400f22b0
sub r14, qword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
mov qword [rax], r13
mov qword [rax + 8], rbx
mov qword [rax + 0x10], r14
mov r8, qword [rsp + 0x58]
test r8, r8
je 0x1400f3110
mov ecx, 0x38
mov rax, qword [rsp + 0x68]
mul rcx
add rax, 0xf
and rax, 0xfffffffffffffff0
add r8, rax
cmp r8, 0xffffffffffffffef
je 0x1400f3110
mov ecx, dword [0x141dc29e0]
imul ecx, dword [0x141dc29e4]
xor ecx, 0x80400d01
or ecx, 0x79b732fe
add ecx, 0x7d4d9c5c
cmp ecx, 0x2cc4a593
jae 0x1400f23fe
mov rcx, qword [0x141ddb9a0]
sub r15, rax
xor eax, eax
nop word cs:[rax + rax]
mov rcx, qword [0x141ddb9a0]
test al, al
jne 0x1400f2410
xor edx, edx
mov r8, r15
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1400f3110
mov eax, dword [0x141dc2a20]
xor edx, edx
div dword [0x141dc2a24]
add eax, 0x75a21315
or eax, 0x189348ef
pxor xmm0, xmm0
pcmpgtb xmm0, xmmword [r15 + rcx]
por xmm0, xmmword [0x140102680]
movdqa xmmword [r15 + rcx], xmm0
cmp eax, 0xe642744c
jne 0x1400f2480
pxor xmm0, xmm0
pcmpgtb xmm0, xmmword [r15 + rcx]
por xmm0, xmmword [0x140102680]
movdqa xmmword [r15 + rcx], xmm0
jmp 0x1400f242b
mov eax, dword [0x141dc2a28]
xor edx, edx
div dword [0x141dc2a2c]
add eax, 0x96682781
xor eax, 0x8fd726ac
cmp eax, 0x403f2bd1
ja 0x1400f2480
nop
mov eax, dword [0x141dc2a30]
add eax, dword [0x141dc2a34]
or eax, 0x4c93a371
imul eax, eax, 0xbbfb66f3
add eax, 0x1e491761
cmp eax, 0x12ee1f92
jb 0x1400f24a0
cmp r13, 0x10
jae 0x1400f2579
lea rsi, [r15 + 0x10]
mov eax, dword [0x141dc2a58]
xor edx, edx
div dword [0x141dc2a5c]
xor eax, 0x433b4c34
imul eax, eax, 0x708e546b
and eax, 0x8b600b11
cmp eax, 0xf11fd649
jne 0x1400f2510
mov rcx, rsi
mov rdx, r15
mov r8, r13
call sub.VCRUNTIME140.dll_memmove
nop word cs:[rax + rax]
mov eax, dword [0x141dc2a60]
or eax, dword [0x141dc2a64]
imul edi, eax, 0x4e5f6025
xor edi, 0xe1f56209
mov rcx, rsi
mov rdx, r15
mov r8, r13
call sub.VCRUNTIME140.dll_memmove
cmp edi, 0xff8a65a3
ja 0x1400f2510
nop
mov eax, dword [0x141dc2a68]
xor edx, edx
div dword [0x141dc2a6c]
imul rax, rax, 0x2859a92f
shr rax, 0x3c
xor eax, 0x80adfc81
add eax, 0xfcefb820
cmp eax, 0x507ee3f5
jb 0x1400f2540
cmp qword [rsp + 0x58], 0xffffffffffffffff
jne 0x1400f25df
xor ecx, ecx
jmp 0x1400f30a5
add r13, r15
xor eax, eax
nop
test al, al
jne 0x1400f2580
mov eax, dword [0x141dc2a48]
xor eax, dword [0x141dc2a4c]
add eax, 0xd07a14cc
mov ecx, 0x84b5c929
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xac6b6fee
je 0x1400f25d2
mov eax, dword [0x141dc2a50]
xor eax, dword [0x141dc2a54]
xor eax, 0x24844010
and eax, 0x6d8c4b30
movdqu xmm0, xmmword [r15]
movdqu xmmword [r13], xmm0
cmp eax, 0x62073942
jb 0x1400f25df
movdqu xmm0, xmmword [r15]
movdqu xmmword [r13], xmm0
jmp 0x1400f25aa
movabs rax, 0x736f6d6570736575
movabs rcx, 0x646f72616e646f6d
xor rax, qword [rsp + 0x40]
mov qword [rsp + 0x78], rax
xor rcx, qword [rsp + 0x48]
mov qword [rsp + 0x70], rcx
nop word [rax + rax]
mov eax, dword [0x141dc2a70]
or eax, dword [0x141dc2a74]
and eax, 0x650a9f1c
add eax, 0x6cd73428
cmp eax, 0x4a292964
jb 0x1400f2610
movabs rax, 0x7465646279746573
movabs rcx, 0x6c7967656e657261
mov qword [rsp + 0x88], r12
xor qword [rsp + 0x40], rcx
xor qword [rsp + 0x48], rax
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400f2660
mov rbp, r15
xor r13d, r13d
mov rbx, qword [rsp + 0x58]
nop
mov eax, dword [0x141dc2a78]
or eax, dword [0x141dc2a7c]
add eax, 0xaa79d116
or eax, 0x9ef65b5e
imul rax, rax, 0x1d985a73
shr rax, 0x3b
cmp eax, 0xb54c979f
je 0x1400f2670
cmp byte [r15 + r13], 0x80
jne 0x1400f305f
imul rax, r13, 0xffffffffffffffc8
lea r8, [r15 + rax]
lea r14, [r15 + rax]
add r14, 0xffffffffffffffc8
mov rax, r13
not rax
imul rcx, rax, 0x38
add rcx, r15
mov rax, r13
neg rax
imul rax, rax, 0x38
add rax, r15
mov qword [rsp + 0x68], rax
mov eax, dword [0x141dc2a80]
xor edx, edx
div dword [0x141dc2a84]
mov eax, dword [0x141dc2a88]
and eax, dword [0x141dc2a8c]
imul rax, rax, 0x388cfe21
shr rax, 0x3d
imul eax, eax, 0x13fe0331
add eax, 0x95009c03
cmp eax, 0xef6f0df
jb 0x1400f26e0
nop dword [rax]
mov eax, dword [0x141dc2a90]
or eax, dword [0x141dc2a94]
and eax, 0xaebd80
add eax, 0x4006cd7a
and eax, 0xa01ac2
cmp eax, 0x4ac572ca
je 0x1400f2710
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x90], r8
nop word [rax + rax]
mov eax, dword [0x141dc2a98]
sub eax, dword [0x141dc2a9c]
or eax, 0x64cc33e0
add eax, 0x964291f2
xor eax, 0xfd45e803
cmp eax, 0xec3f182
jb 0x1400f2750
mov rax, qword [rsp + 0x68]
mov rsi, qword [rax - 0x30]
mov rdx, qword [rax - 0x28]
mov rax, rdx
and rax, 0xfffffffffffffff8
je 0x1400f27e5
mov r9, qword [rsp + 0x40]
mov r8, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x48]
xor r11d, r11d
mov r10, qword [rsp + 0x78]
nop
mov rcx, qword [rsi + r11]
xor rdi, rcx
add r10, r8
rol r8, 0xd
add r9, rdi
xor r8, r10
rol rdi, 0x10
xor rdi, r9
rol r10, 0x20
add r9, r8
add r10, rdi
rol r8, 0x11
xor r8, r9
rol rdi, 0x15
rol r9, 0x20
xor rdi, r10
xor r10, rcx
add r11, 8
cmp r11, rax
jb 0x1400f27a0
jmp 0x1400f27fc
mov rdi, qword [rsp + 0x48]
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0x78]
xor r11d, r11d
mov r13d, edx
and r13d, 7
nop word cs:[rax + rax]
mov eax, dword [0x141dc2aa0]
xor eax, dword [0x141dc2aa4]
or eax, 0x345dc2e7
add eax, 0xfd08eeea
imul rax, rax, 0x7ddf1e43
shr rax, 0x3e
cmp eax, 0xb798ad29
ja 0x1400f2810
cmp r13d, 4
jb 0x1400f2890
mov ecx, dword [rsi + r11]
mov eax, dword [0x141dc2aa8]
imul eax, dword [0x141dc2aac]
or eax, 0x88599215
imul eax, eax, 0xb66f4eaa
cmp eax, 0x99aecf22
ja 0x1400f2842
nop word cs:[rax + rax]
mov eax, dword [0x141dc2ab0]
sub eax, dword [0x141dc2ab4]
or eax, 0x97a9d17e
cmp eax, 0x216c34f3
je 0x1400f2870
mov r12d, 4
jmp 0x1400f28a0
xor ecx, ecx
xor r12d, r12d
nop word cs:[rax + rax]
mov eax, dword [0x141dc2ab8]
xor eax, dword [0x141dc2abc]
imul rax, rax, 0x3807840d
shr rax, 0x3d
imul eax, eax, 0x5a7e7181
add eax, 0xdd8efa1a
cmp eax, 0xa1afaafd
jb 0x1400f28a0
mov rax, r12
or rax, 1
cmp rax, r13
mov qword [rsp + 0x28], rdx
jae 0x1400f292b
mov qword [rsp + 0x30], rcx
lea rax, [r12 + r11]
movzx eax, word [rsi + rax]
lea rcx, [r12*8]
mov ebx, dword [0x141dc2ac0]
and ebx, dword [0x141dc2ac4]
or ebx, 0x8bb290c
add ebx, 0xbec1b732
mov rdx, rax
shl rdx, cl
cmp ebx, 0xa959ce97
ja 0x1400f28ef
mov rcx, qword [rsp + 0x30]
or rcx, rdx
or r12, 2
mov rbx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x28]
cmp r12, r13
mov qword [rsp + 0x30], rcx
jae 0x1400f29b0
add r11, r12
mov eax, dword [0x141dc2ac8]
xor edx, edx
div dword [0x141dc2acc]
nop word cs:[rax + rax]
mov eax, dword [0x141dc2ad0]
xor eax, dword [0x141dc2ad4]
xor eax, 0xf0624a08
imul rdx, rax, 0x53a7a6cb
shr rdx, 0x3c
add edx, 0xdf5ba3f9
movzx eax, byte [rsi + r11]
lea ecx, [r12*8]
shl rax, cl
cmp edx, 0xf1463da3
ja 0x1400f2950
or qword [rsp + 0x30], rax
inc qword [rsp + 0x28]
xor r11d, r11d
mov esi, 0xc7c7ed9b
mov r12d, 0xa77f59e3
jmp 0x1400f2a10
mov eax, dword [0x141dc2ad8]
xor eax, dword [0x141dc2adc]
imul eax, eax, 0x3ab8232e
cmp eax, 0x75a4c2bd
je 0x1400f29b0
inc rdx
xor r11d, r11d
mov esi, 0xc7c7ed9b
mov r12d, 0xa77f59e3
mov eax, dword [0x141dc2ae0]
xor eax, dword [0x141dc2ae4]
mov ecx, 0x9ebb6993
imul rax, rcx
shr rax, 0x3e
cmp eax, 0x6bf2fc8a
je 0x1400f29da
test r13, r13
mov qword [rsp + 0x28], rdx
je 0x1400f2a92
nop dword [rax + rax]
mov eax, dword [0x141dc2ae8]
or eax, dword [0x141dc2aec]
xor eax, 0x6c464306
imul rax, rax, 0x46249b7b
shr rax, 0x3e
imul edx, eax, 0x9c629213
lea ecx, [r13*8]
mov eax, 0xff
shl rax, cl
cmp edx, 0x43869ead
ja 0x1400f2a10
mov rcx, qword [rsp + 0x30]
or rcx, rax
cmp r13d, 7
jne 0x1400f2aa0
xor rdi, rcx
add r10, r8
add r9, rdi
rol r8, 0xd
rol rdi, 0x10
xor r8, r10
xor rdi, r9
rol r10, 0x20
add r9, r8
add r10, rdi
rol r8, 0x11
xor r8, r9
rol rdi, 0x15
xor rdi, r10
rol r9, 0x20
xor r10, rcx
xor ecx, ecx
jmp 0x1400f2aa0
mov ecx, 0xff
nop word [rax + rax]
mov r13, qword [rsp + 0x38]
mov eax, dword [0x141dc2af0]
xor edx, edx
div dword [0x141dc2af4]
nop word cs:[rax + rax]
mov eax, dword [0x141dc2af8]
xor edx, edx
div dword [0x141dc2afc]
or eax, 0xabf9806
add eax, 0x671ae563
or eax, 0x4e498e92
cmp eax, 0x55b1e89d
jb 0x1400f2ac0
mov rax, qword [rsp + 0x28]
shl rax, 0x38
or rax, rcx
xor rdi, rax
add r10, r8
rol r8, 0xd
add r9, rdi
xor r8, r10
rol rdi, 0x10
xor rdi, r9
rol r10, 0x20
add r9, r8
add r10, rdi
rol r8, 0x11
xor r8, r9
rol rdi, 0x15
rol r9, 0x20
xor rdi, r10
xor r10, rax
xor r9, 0xff
add r10, r8
add r9, rdi
rol r8, 0xd
xor r8, r10
rol rdi, 0x10
rol r10, 0x20
xor rdi, r9
add r9, r8
rol r8, 0x11
add r10, rdi
xor r8, r9
rol rdi, 0x15
xor rdi, r10
rol r9, 0x20
add r10, r8
add r9, rdi
rol r8, 0xd
xor r8, r10
rol rdi, 0x10
rol r10, 0x20
xor rdi, r9
add r9, r8
rol r8, 0x11
add r10, rdi
xor r8, r9
rol rdi, 0x15
xor rdi, r10
rol r9, 0x20
add r10, r8
add r9, rdi
rol r8, 0xd
xor r8, r10
rol rdi, 0x10
xor rdi, r9
add r9, r8
rol r8, 0x11
rol rdi, 0x15
mov rcx, r9
rol rcx, 0x20
xor rcx, r8
xor rcx, rdi
xor rcx, r9
mov r8, rcx
and r8, rbx
movdqu xmm0, xmmword [r15 + r8]
pmovmskb r10d, xmm0
mov rax, r8
test r10w, r10w
jne 0x1400f2c40
mov edx, 0x10
mov rax, r8
xor r9d, r9d
nop word cs:[rax + rax]
mov r10d, dword [0x141dc2b00]
and r10d, dword [0x141dc2b04]
xor r10d, 0x488832d5
add r10d, 0x7fa07f9d
imul r10, rsi
shr r10, 0x3f
cmp r10d, 0x9fdb238a
ja 0x1400f2bf0
add rax, rdx
and rax, rbx
movdqu xmm0, xmmword [r15 + rax]
pmovmskb r10d, xmm0
add rdx, 0x10
add r9, 0x10
test r10w, r10w
je 0x1400f2bf0
nop dword [rax]
mov edx, dword [0x141dc2b08]
or edx, dword [0x141dc2b0c]
imul edx, edx, 0x9f7dd5a
or edx, 0x40d3a956
add edx, 0x4d153f09
cmp edx, 0x241894ee
ja 0x1400f2c40
tzcnt edx, r10d
add rax, rdx
and rax, rbx
cmp byte [r15 + rax], 0
js 0x1400f2d00
mov eax, dword [0x141dc2b10]
xor eax, dword [0x141dc2b14]
add eax, 0xc981f46e
and eax, 0x6de9fa16
cmp eax, 0x634f166
jb 0x1400f2c7c
movdqa xmm0, xmmword [r15]
nop
mov eax, dword [0x141dc2b18]
add eax, dword [0x141dc2b1c]
or eax, 0x12001024
and eax, 0x126a1025
cmp eax, 0xe52d963c
ja 0x1400f2ca0
pmovmskb r9d, xmm0
nop word cs:[rax + rax]
mov eax, dword [0x141dc2b20]
xor edx, edx
div dword [0x141dc2b24]
add eax, 0x6ff5b8b
xor eax, 0x38800103
and eax, 0xbee49173
cmp eax, 0xc67e2d89
ja 0x1400f2cd0
tzcnt eax, r9d
nop dword [rax]
mov edx, dword [0x141dc2b28]
sub edx, dword [0x141dc2b2c]
xor edx, 0x10008002
or edx, 0xc4bc5d59
and edx, 0xf4fcdd5b
cmp edx, 0x9aeaf091
je 0x1400f2d00
mov rdx, r13
sub rdx, r8
mov r9, rax
sub r9, r8
xor r9, rdx
and r9, rbx
cmp r9, 0x10
jb 0x1400f300d
movzx r8d, byte [r15 + rax]
shr rcx, 0x39
mov edx, dword [0x141dc2b30]
or edx, dword [0x141dc2b34]
imul edx, edx, 0x4c2857e3
cmp edx, 0x7a091a0d
jne 0x1400f2d75
lea rdx, [rax - 0x10]
and rdx, rbx
mov byte [r15 + rax], cl
mov byte [rdx + r15 + 0x10], cl
mov rdx, rax
not rdx
imul rdx, rdx, 0x38
add rdx, r15
nop word cs:[rax + rax]
mov r9d, dword [0x141dc2b38]
or r9d, dword [0x141dc2b3c]
imul r9d, r9d, 0x89af275e
or r9d, 0x362ecea7
imul r9, r12
shr r9, 0x3e
lea r10, [rax - 0x10]
and r10, rbx
mov byte [r15 + rax], cl
mov byte [r10 + r15 + 0x10], cl
cmp r9d, 0xd3ab7daf
je 0x1400f2d90
cmp r8b, 0xff
je 0x1400f3023
imul rax, rax, 0xffffffffffffffc8
add rax, r15
mov r10, qword [rsp + 0x80]
mov ecx, dword [0x141dc2b40]
xor ecx, dword [0x141dc2b44]
or ecx, 0xc0d83408
add ecx, 0xada8c724
imul rcx, rcx, 0x1511ad19
shr rcx, 0x3b
cmp ecx, 0xbc8c1e41
ja 0x1400f2de6
mov rsi, qword [rsp + 0x90]
nop dword [rax]
cmp rdx, rsi
setb cl
cmp r14, rax
setb r8b
mov r9d, dword [0x141dc2b48]
or r9d, dword [0x141dc2b4c]
and r9d, 0x4c0c500
or r9d, 0x593f1a7b
imul r9, r9, 0x379be3b
shr r9, 0x37
cmp r9d, 0x8ea8d98d
je 0x1400f2e20
and r8b, cl
je 0x1400f2f20
mov rcx, 0xffffffffffffffc8
xor edx, edx
jmp 0x1400f2e8e
add rdx, 2
add rcx, 2
je 0x1400f2fd0
test r11b, r11b
jne 0x1400f2ee8
nop word cs:[rax + rax]
mov r8d, dword [0x141dc2b68]
or r8d, dword [0x141dc2b6c]
movzx r9d, byte [rbp + rcx]
movzx r10d, byte [rax + rcx]
mov byte [rbp + rcx], r10b
mov byte [rax + rcx], r9b
movzx r9d, byte [rbp + rcx + 1]
movzx r10d, byte [rax + rcx + 1]
mov byte [rbp + rcx + 1], r10b
mov byte [rax + rcx + 1], r9b
or r8d, 0xbffffeff
cmp r8d, 0x11a41c60
jae 0x1400f2e80
movzx r8d, byte [rbp + rcx]
movzx r9d, byte [rax + rcx]
mov byte [rbp + rcx], r9b
mov byte [rax + rcx], r8b
movzx r8d, byte [rbp + rcx + 1]
movzx r9d, byte [rax + rcx + 1]
mov byte [rbp + rcx + 1], r9b
mov byte [rax + rcx + 1], r8b
jmp 0x1400f2ea0
mov rax, qword [r10]
mov rcx, qword [rdx]
mov qword [r10], rcx
mov qword [rdx], rax
mov rax, qword [r10 + 8]
mov rcx, qword [rdx + 8]
mov qword [r10 + 8], rcx
mov qword [rdx + 8], rax
mov rax, qword [r10 + 0x10]
mov rcx, qword [rdx + 0x10]
mov qword [r10 + 0x10], rcx
mov qword [rdx + 0x10], rax
mov rax, qword [r10 + 0x18]
mov rcx, qword [rdx + 0x18]
mov qword [r10 + 0x18], rcx
mov qword [rdx + 0x18], rax
mov rax, qword [r10 + 0x20]
mov rcx, qword [rdx + 0x20]
mov qword [r10 + 0x20], rcx
mov qword [rdx + 0x20], rax
mov rax, qword [r10 + 0x28]
mov rcx, qword [rdx + 0x28]
mov qword [r10 + 0x28], rcx
mov qword [rdx + 0x28], rax
movq xmm0, qword [r10 + 0x30]
movq xmm1, qword [rdx + 0x30]
mov eax, dword [0x141dc2b50]
imul eax, dword [0x141dc2b54]
cmp eax, 0x99424afd
je 0x1400f3000
nop dword [rax + rax]
mov eax, dword [0x141dc2b58]
sub eax, dword [0x141dc2b5c]
imul eax, eax, 0x6434893
and eax, 0x432f3580
xor eax, 0xaeef7868
movq qword [r10 + 0x30], xmm1
movq qword [rdx + 0x30], xmm0
cmp eax, 0xbd216bdf
jb 0x1400f3000
nop
mov eax, dword [0x141dc2b60]
imul eax, dword [0x141dc2b64]
add eax, 0x8ca25d46
xor eax, 0xadb046f5
add eax, 0x4f763a5f
cmp eax, 0xb7b6f6fe
jb 0x1400f2fd0
jmp 0x1400f2750
movq qword [r10 + 0x30], xmm1
movq qword [rdx + 0x30], xmm0
jmp 0x1400f2fa0
shr rcx, 0x39
lea rax, [r13 - 0x10]
and rax, rbx
mov byte [r15 + r13], cl
mov byte [rax + r15 + 0x10], cl
jmp 0x1400f305f
lea rax, [r13 - 0x10]
and rax, rbx
mov byte [r15 + r13], 0xff
mov byte [rax + r15 + 0x10], 0xff
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + 0x30]
mov qword [rdx + 0x30], rax
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movups xmm2, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x20], xmm2
movdqu xmmword [rdx + 0x10], xmm1
movdqu xmmword [rdx], xmm0
lea rax, [r13 + 1]
mov ecx, dword [0x141dc2b70]
xor ecx, dword [0x141dc2b74]
imul ecx, ecx, 0x3e4aa7af
or ecx, 0xcdef67f5
cmp ecx, 0xc739a27
jb 0x1400f3063
add rbp, 0xffffffffffffffc8
cmp r13, rbx
mov r13, rax
jne 0x1400f2670
mov rbx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x88]
mov eax, dword [0x141dc2b78]
and eax, dword [0x141dc2b7c]
and eax, 0xce88b1ff
add eax, 0xd13bbc59
or eax, 0x2d3985a6
cmp eax, 0x52b22ddc
jbe 0x1400f30d1
mov rax, rcx
sub rax, r14
mov qword [rbx + 0x10], rax
sub rcx, r14
nop word cs:[rax + rax]
mov eax, dword [0x141dc2b80]
imul eax, dword [0x141dc2b84]
imul eax, eax, 0xf0972230
add eax, 0xdf0e840
mov qword [rbx + 0x10], rcx
cmp eax, 0x2e17ce2e
jb 0x1400f30e0
nop word cs:[rax + rax]
mov eax, dword [0x141dc2b88]
imul eax, dword [0x141dc2b8c]
imul eax, eax, 0xc2ae6b2b
cmp eax, 0xad9258c8
je 0x1400f3110
movabs rax, 0x7ffffffffffffff0
add rax, 0x11
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret