Function at 0x14022d940
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 + 0x30], r8
mov rdi, rdx
mov r10, rcx
nop
mov eax, dword [0x1415b05b0]
xor eax, dword [0x1415b05b4]
imul eax, eax, 0xcfa4fd28
add eax, 0xe661d8e8
mov ecx, eax
not ecx
and ecx, 0xeb349391
mov edx, eax
and edx, 0x14cb6c68
imul edx, ecx
mov ecx, eax
and ecx, 0xeb349390
or eax, 0xeb349391
imul eax, ecx
add eax, edx
cmp eax, 0x68e2caaf
ja 0x14022d960
mov r11, qword [r10 + 0x18]
nop dword [rax]
mov eax, dword [0x1415b05b8]
xor edx, edx
div dword [0x1415b05bc]
mov ecx, eax
not ecx
or ecx, 0xd6dbb66f
or eax, 0x29244990
and eax, ecx
imul eax, eax, 0x78012b30
cmp eax, 0x625f6253
je 0x14022d9b0
cmp r11, 0xffffffffffffffff
je 0x14022e37e
nop word cs:[rax + rax]
mov eax, dword [0x1415b05c0]
xor edx, edx
div dword [0x1415b05c4]
mov ecx, eax
or ecx, 0xf409c9b9
and ecx, 0xf409fdb9
or eax, 0xf75ffffb
add eax, ecx
cmp eax, 0x67ef4172
je 0x14022d9f0
mov r12, qword [r10 + 8]
mov eax, r12d
and eax, 1
mov r15, r12
or r15, 1
add r15, rax
mov rdx, r15
shr rdx, 3
mov eax, edx
not eax
mov rcx, rdx
and rcx, 0xfffffffffffffff8
and eax, 7
imul rax, rcx
mov ecx, edx
and ecx, 7
or rdx, 7
imul rdx, rcx
add rdx, rax
cmp r12, 8
cmovb rdx, r12
mov rax, rdx
shr rax, 1
cmp r11, rax
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x40], r11
jae 0x14022dc20
mov qword [rsp + 0x88], rdx
mov r8, r15
shr r8, 4
mov rax, r15
xor rax, 0xfffffffffffffff0
mov r9, r15
or r9, 0xf
and r9, rax
mov eax, dword [0x1415b0708]
xor edx, edx
div dword [0x1415b070c]
mov ecx, eax
and ecx, 0x3216468
and eax, 0x2002048
add eax, eax
sub ecx, eax
add ecx, 0xda923a4e
cmp ecx, 0xd6b57152
jb 0x14022daa0
mov rbx, qword [r10]
mov eax, dword [0x1415b0710]
xor edx, edx
div dword [str.KcHwtI_B]
and eax, 0x80388288
xor eax, 0x108200
or eax, 0x58800020
xor ecx, ecx
test r9, r9
setne dl
cmp eax, 0xd2041868
je 0x14022dad0
mov cl, dl
add rcx, r8
nop word cs:[rax + rax]
mov eax, dword [0x1415b0718]
mov edx, dword [0x1415b071c]
not eax
not edx
mov r8d, eax
or r8d, edx
and edx, eax
not edx
and edx, r8d
imul eax, edx, 0x792fde05
add eax, 0x96c38ba3
imul rax, rax, 0x1c599f9f
shr rax, 0x3b
cmp eax, 0x76c2c8c
je 0x14022db10
test rcx, rcx
je 0x14022e213
nop word cs:[rax + rax]
mov eax, dword [0x1415b0720]
add eax, dword [0x1415b0724]
imul rax, rax, 0x1e1f536d
shr rax, 0x3c
xor eax, 0xdeedf05b
neg eax
mov edx, eax
and edx, 0x20020b25
or eax, 0xbaae4b2d
add eax, edx
cmp eax, 0x43779491
jb 0x14022db60
mov eax, dword [0x1415b0728]
xor edx, edx
div dword [0x1415b072c]
nop word cs:[rax + rax]
mov eax, dword [0x1415b0730]
mov edx, dword [0x1415b0734]
mov r8d, eax
not r8d
and r8d, edx
not edx
and edx, eax
sub edx, r8d
mov eax, edx
and eax, 0xb54e653
add eax, eax
mov r8d, edx
sub r8d, eax
neg eax
add eax, edx
add eax, 0xb54e653
mov edx, eax
and edx, 0x61bfbb40
xor eax, 0x9e4044bf
add eax, r8d
add eax, 0xb54e653
sub eax, edx
imul eax, eax, 0xbffb35a0
cmp eax, 0x9d1ff3be
jb 0x14022dbb0
cmp rcx, 1
jne 0x14022e05d
xor ecx, ecx
jmp 0x14022e1fd
mov eax, dword [0x1415b05e0]
or eax, dword [0x1415b05e4]
add eax, 0x161ea30d
imul rcx, rax, 0x121f2695
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
or eax, 0x78405512
cmp r11, rdx
mov rcx, rdx
cmova rcx, r11
cmp eax, 0xebc291ca
ja 0x14022dc20
nop dword [rax + rax]
mov eax, dword [0x1415b05e8]
xor edx, edx
div dword [0x1415b05ec]
or eax, 0xe200030
and eax, 0xe28b531
add eax, 0xb36001ac
cmp eax, 0x37f6454e
jb 0x14022dc60
mov eax, dword [str.T7nI]
xor edx, edx
div dword [0x1415b05f4]
nop word cs:[rax + rax]
mov eax, dword [0x1415b05f8]
add eax, dword [0x1415b05fc]
or eax, 0xe6f562d1
add eax, 0xf6fb370
xor eax, 0x519a611
cmp eax, 0xf7d64b4e
jb 0x14022dca0
cmp rcx, 7
jae 0x14022dd30
xor edx, edx
nop word [rax + rax]
xor eax, eax
cmp rcx, 3
setae r8b
test dl, dl
jne 0x14022dcd0
mov al, r8b
lea rbx, [rax*4 + 4]
nop dword [rax]
mov eax, dword [0x1415b0600]
and eax, dword [0x1415b0604]
mov ecx, eax
not ecx
or eax, 0x81f0ab87
or ecx, 0x7e0f5478
and ecx, eax
mov eax, ecx
not eax
and eax, 0x28e41117
xor ecx, 0x171beee8
lea eax, [rcx + rax*2]
and eax, 0x5265e784
cmp eax, 0xf1d37e18
jae 0x14022dcf0
jmp 0x14022de06
movabs rax, 0x1ffffffffffffffe
cmp rcx, rax
ja 0x14022e460
lea rcx, [rcx*8 + 8]
nop dword [rax + rax]
mov eax, dword [0x1415b0608]
imul eax, dword [0x1415b060c]
add eax, 0x4520d506
imul rax, rax, 0x34f687b3
shr rax, 0x3a
cmp eax, 0x1ee28744
ja 0x14022dd50
movabs r8, 0x2492492492492493
nop
mov eax, dword [0x1415b0610]
mov edx, dword [0x1415b0614]
not edx
add eax, edx
add eax, 0xe872049e
mov r9d, eax
xor r9d, 0x155def76
and r9d, eax
mov rax, rcx
mul r8
cmp r9d, 0xa1a1f348
je 0x14022dd80
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 2
dec rcx
bsr rcx, rcx
not ecx
nop word [rax + rax]
mov eax, dword [0x1415b0618]
add eax, dword [0x1415b061c]
or eax, 0x5f10c774
mov edx, eax
not edx
or edx, 0xd66fc8fb
add eax, edx
add eax, 0xada14847
mov rbx, 0xffffffffffffffff
shr rbx, cl
cmp eax, 0x3e4dd33c
jbe 0x14022ddd0
inc rbx
mov ecx, 0x38
nop dword [rax + rax]
mov eax, dword [0x1415b0630]
or eax, dword [0x1415b0634]
mov edx, eax
not edx
mov r8d, eax
and r8d, 0xe9c019a4
and edx, 0x163fe65b
imul edx, r8d
mov r8d, eax
and r8d, 0x163fe65b
or eax, 0x163fe65b
imul eax, r8d
add eax, edx
mov edx, eax
and edx, 0x2b2e7b84
xor eax, 0x2b2e7b84
lea eax, [rax + rdx*2]
mov edx, eax
not edx
or edx, 0xad8debee
lea r9d, [rdx + rax]
inc r9d
mov rax, rbx
mul rcx
mov r14, rax
seto dl
cmp rax, 0xfffffffffffffff1
setae al
setb r8b
cmp r9d, 0x6aa1a317
ja 0x14022de10
and r8b, dl
xor al, dl
add al, dl
sub al, r8b
test al, 1
jne 0x14022e4a0
add r14, 0xf
and r14, 0xfffffffffffffff0
lea rsi, [rbx + 0x10]
nop dword [rax + rax]
mov eax, dword [0x1415b063c]
add eax, dword [0x1415b0638]
imul rax, rax, 0xb3f9a37
shr rax, 0x39
lea ecx, [rax + 0x3cea7450]
mov edx, ecx
and edx, 0x24885044
xor ecx, 0xd973ac33
add ecx, eax
add ecx, 0x3cea7450
sub ecx, edx
mov rbp, r14
add rbp, rsi
setb al
cmp ecx, 0x4b9304d6
jb 0x14022deb0
nop word cs:[rax + rax]
mov ecx, dword [0x1415b0644]
not ecx
add ecx, dword [0x1415b0640]
imul ecx, ecx, 0x4897fb8f
add ecx, 0x4897fb8f
mov edx, ecx
xor edx, 0xfe4c691a
and ecx, 0x1b396e5
add ecx, ecx
sub ecx, edx
mov edx, ecx
and edx, 0xc4310054
or ecx, 0xc4310054
add ecx, edx
cmp ecx, 0x2c3dacf5
je 0x14022df00
test al, al
jne 0x14022e4a0
mov eax, dword [0x1415b0648]
xor edx, edx
div dword [0x1415b064c]
nop word [rax + rax]
mov eax, dword [0x1415b0650]
sub eax, dword [0x1415b0654]
mov ecx, eax
and ecx, 0x1a1e0a27
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x9a1e0a27
or eax, 0xdeefacd5
add eax, 0xbd3c4e10
cmp eax, 0xc8ed4854
ja 0x14022df60
movabs rax, 0x7ffffffffffffff0
cmp rbp, rax
ja 0x14022e4a0
mov eax, dword [0x1415b0658]
xor edx, edx
div dword [0x1415b065c]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x8b30fe6d
and ecx, 0x74cf0192
imul ecx, edx
mov edx, eax
and edx, 0x74cf0192
or eax, 0x74cf0192
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xc4a66f7e
add ecx, eax
and eax, 0x3b599080
sub ecx, eax
mov eax, ecx
xor eax, 0xbb6af1a4
and ecx, 0x44950e5a
add ecx, ecx
sub ecx, eax
cmp ecx, 0xb5d7ceff
jbe 0x14022e009
movzx eax, byte [0x1415d3950]
mov qword [rsp + 0x70], rdi
nop
mov eax, dword [0x1415b0660]
sub eax, dword [0x1415b0664]
imul rcx, rax, 0x1f1995b5
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0x77fc2ea9
add eax, 0xf0a809f1
movzx ecx, byte [0x1415d3950]
cmp eax, 0xc0db7aa4
jb 0x14022e010
mov qword [rsp + 0x28], r15
xor eax, eax
test al, al
je 0x14022e4a2
jmp 0x14022e50f
mov eax, ecx
and eax, 1
movabs rdx, 0x1ffffffffffffffe
not rcx
not rdx
or rdx, rcx
not rdx
nop dword [rax + rax]
mov ecx, dword [0x1415b0738]
or ecx, dword [0x1415b073c]
shr ecx, 2
imul rcx, rcx, 0x569e2b03
shr rcx, 0x3b
imul ecx, ecx, 0xe8fc1858
cmp ecx, 0xf9a7f12e
ja 0x14022e080
xor ecx, ecx
mov r8d, 0xa1e6d709
movdqa xmm0, xmmword [0x1402586f0]
movdqa xmm1, xmmword [0x140258700]
xor r9d, r9d
nop word cs:[rax + rax]
mov r10d, dword [0x1415b0760]
or r10d, dword [0x1415b0764]
imul r10, r8
shr r10, 0x3f
cmp r10d, 0xefcb1709
jne 0x14022e120
mov r10, rcx
pxor xmm2, xmm2
pcmpgtb xmm2, xmmword [rbx + rcx]
or r10, 0x10
por xmm2, xmm0
movdqa xmmword [rbx + rcx], xmm2
pxor xmm2, xmm2
pcmpgtb xmm2, xmmword [rbx + r10]
por xmm2, xmm0
movdqa xmmword [rbx + r10], xmm2
nop dword [rax]
mov r10d, dword [0x1415b0768]
and r10d, dword [0x1415b076c]
xor r10d, 0x76918
add r10d, 0x548f7a85
or r10d, 0xffe1d3e8
mov r11, rcx
pxor xmm2, xmm2
pcmpgtb xmm2, xmmword [rbx + rcx]
or r11, 0x10
por xmm2, xmm0
movdqa xmmword [rbx + rcx], xmm2
pxor xmm2, xmm2
pcmpgtb xmm2, xmmword [rbx + r11]
movdqa xmm3, xmm2
por xmm3, xmm0
pandn xmm2, xmm1
pandn xmm2, xmm3
movdqa xmmword [rbx + r11], xmm2
cmp r10d, 0x43ea3d76
jb 0x14022e120
add rcx, 0x20
add r9, 2
cmp r9, rdx
jne 0x14022e0d0
nop word cs:[rax + rax]
mov edx, dword [0x1415b0740]
mov r8d, edx
not r8d
or r8d, dword [0x1415b0744]
add edx, r8d
inc edx
mov r8d, edx
not r8d
mov r9d, edx
and r9d, 0x783d9e86
and r8d, 0x87c26179
imul r8d, r9d
mov r9d, edx
and r9d, 0x87c26179
or edx, 0x87c26179
imul edx, r9d
add edx, r8d
add edx, 0xe306763e
cmp edx, 0x949afb23
ja 0x14022e1a0
test rax, rax
je 0x14022e213
pxor xmm0, xmm0
pcmpgtb xmm0, xmmword [rbx + rcx]
por xmm0, xmmword [0x1402586f0]
movdqa xmmword [rbx + rcx], xmm0
mov eax, dword [0x1415b0748]
xor edx, edx
div dword [0x1415b074c]
nop word cs:[rax + rax]
mov eax, dword [0x1415b0750]
sub eax, dword [0x1415b0754]
add eax, 0xfb8c8948
xor eax, 0xe4e24ed0
cmp eax, 0x16de6dcf
jb 0x14022e230
mov eax, 0xbc11b7bf
nop word cs:[rax + rax]
mov ecx, dword [0x1415b0758]
sub ecx, dword [0x1415b075c]
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xb153aff4
cmp ecx, 0x6a2b301e
jb 0x14022e260
cmp r15, 0x10
jae 0x14022e2cf
lea rsi, [rbx + 0x10]
mov eax, dword [0x1415b0780]
sub eax, dword [0x1415b0784]
mov ecx, eax
xor ecx, 0x1a0866
xor eax, 0x84000001
and eax, 0xed254611
and ecx, 0x12dab9ee
or ecx, eax
not ecx
imul rax, rcx, 0x679f8fcd
shr rax, 0x3e
cmp eax, 0xa1c505e2
jbe 0x14023011e
jmp 0x140230132
add r15, rbx
mov eax, dword [0x1415b0770]
mov ecx, dword [0x1415b0774]
not eax
not ecx
or ecx, eax
xor ecx, 0x267bb89e
add ecx, 0xbf842478
xor ecx, 0x9490f55e
cmp ecx, 0x78cf96bb
jbe 0x14022e310
movdqu xmm0, xmmword [rbx]
movdqu xmmword [r15], xmm0
nop word [rax + rax]
mov eax, dword [0x1415b0778]
mov ecx, dword [0x1415b077c]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
mov ecx, eax
not ecx
and ecx, 0x27bbf03d
mov edx, eax
and edx, 0xd8440fc2
imul edx, ecx
mov ecx, eax
and ecx, 0x27bbf03d
or eax, 0x27bbf03d
imul eax, ecx
add eax, edx
imul eax, eax, 0x61d223bb
movdqu xmm0, xmmword [rbx]
movdqu xmmword [r15], xmm0
cmp eax, 0xbe48a694
je 0x14022e310
jmp 0x14022edbe
mov eax, dword [0x1415b05c8]
mov ecx, dword [0x1415b05cc]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
add eax, 0xa0aa14d
mov ecx, eax
not ecx
and ecx, 0xd502ff3b
mov edx, eax
and edx, 0x2afd00c4
imul edx, ecx
mov ecx, eax
and ecx, 0xd502ff3b
or eax, 0xd502ff3b
imul eax, ecx
add eax, edx
add eax, 0xf728d6b8
cmp eax, 0xa71f4542
jae 0x14022e3f0
ud2
mov eax, dword [0x1415b05d0]
or eax, dword [0x1415b05d4]
mov ecx, eax
xor ecx, 0xfaabcff1
and eax, 0x554300e
add eax, eax
sub eax, ecx
add eax, 0x75645ff1
imul rax, rax, 0x23f6e815
shr rax, 0x3c
ud2
mov eax, dword [0x1415b0620]
mov ecx, dword [0x1415b0624]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
imul eax, eax, 0xe0e0da86
mov ecx, 0x87827205
imul rcx, rax
shr rcx, 0x3e
xor ecx, 0x6583574f
neg ecx
cmp ecx, 0x596a6db4
jae 0x14022ecc7
jmp 0x14022ed15
ud2
mov eax, dword [0x1415b0668]
mov ecx, dword [0x1415b066c]
mov edx, eax
not edx
mov r8d, ecx
not r8d
mov r9d, edx
and r9d, 0x9286ca07
and eax, 0x6d7935f8
or eax, r9d
or edx, r8d
and r8d, 0x9286ca07
and ecx, 0x6d7935f8
or ecx, r8d
xor ecx, eax
not edx
or edx, ecx
mov eax, edx
not eax
or eax, 0x11fdfbf
lea edi, [rdx + rax]
inc edi
and edi, 0x39c3fb8
add edi, 0xe091c2c3
xor ecx, ecx
mov rdx, rbp
call fcn.140219830
cmp edi, 0xc57e0989
jae 0x14022e51b
xor ecx, ecx
mov rdx, rbp
call fcn.1401b5e70
jmp 0x14022e4a2
mov r13, rax
test rax, rax
je 0x14022ec17
lea rdi, [rbx - 1]
mov rdx, rbx
shr rdx, 3
mov eax, edx
not eax
mov rcx, rdx
and rcx, 0xfffffffffffffff8
and eax, 7
imul rax, rcx
mov ecx, edx
and ecx, 7
or rdx, 7
imul rdx, rcx
add rdx, rax
cmp rbx, 9
cmovb rdx, rdi
mov qword [rsp + 0x48], rdx
add r13, r14
mov rcx, r13
mov dl, 0xff
mov r8, rsi
call fcn.14022b190
mov rax, qword [rsp + 0x60]
mov r12, qword [rax]
cmp qword [rsp + 0x40], 0
je 0x14022ea31
nop word cs:[rax + rax]
mov eax, dword [0x1415b0680]
and eax, dword [0x1415b0684]
imul eax, eax, 0x2f5cc374
mov ecx, eax
xor ecx, 0xadaf3803
or eax, 0x5250c7fc
and eax, ecx
mov ecx, eax
and ecx, 0xe9055504
or eax, 0xe9055504
add eax, ecx
cmp eax, 0xa668d51b
ja 0x14022e590
movdqa xmm0, xmmword [r12]
pmovmskb r14d, xmm0
not r14d
lea rax, [r12 - 0x38]
mov qword [rsp + 0x50], rax
nop
mov eax, dword [0x1415b0688]
mov ecx, dword [0x1415b068c]
not ecx
add eax, ecx
add eax, 0x32f4a09d
mov ecx, eax
or ecx, 0xe8cee9b8
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0x9e1e130b
and edx, 0x61e1ecf4
imul edx, r8d
and ecx, 0x61e1ecf4
or eax, 0xe9efedfc
imul eax, ecx
add eax, edx
cmp eax, 0x3ba54375
ja 0x14022e5e0
mov r15d, 0xc36b93f3
mov rbx, r12
xor esi, esi
mov r11, qword [rsp + 0x40]
mov qword [rsp + 0x68], r12
jmp 0x14022e720
shr rax, 0x39
mov rdx, rcx
movabs r8, 0x7ffffffffffffff0
and rdx, r8
mov r8, rcx
xor r8, 0xfffffffffffffff0
lea rdx, [r8 + rdx*2]
mov r8, rdx
xor r8, rdi
not r8
or rdx, rdi
and rdx, r8
mov r8d, edx
and r8d, 0x10
xor rdx, 0x10
lea rdx, [rdx + r8*2]
mov byte [r13 + rcx], al
mov byte [r13 + rdx], al
mov rax, r12
not rax
mov rdx, rax
and rdx, 0xffffffffffffffc7
and r12d, 0x38
imul r12, rdx
mov edx, eax
and edx, 0x38
or rax, 0x38
imul rax, rdx
add rax, r12
mov rdx, rcx
not rdx
mov r8, rdx
and r8, 0xffffffffffffffc7
and ecx, 0x38
imul rcx, r8
mov r8d, edx
and r8d, 0x38
or rdx, 0x38
imul rdx, r8
add rdx, rcx
mov r12, qword [rsp + 0x68]
mov rcx, qword [r12 + rax + 0x30]
mov qword [r13 + rdx + 0x30], rcx
movdqu xmm0, xmmword [r12 + rax]
movdqu xmm1, xmmword [r12 + rax + 0x10]
movdqu xmm2, xmmword [r12 + rax + 0x20]
movdqu xmmword [r13 + rdx + 0x20], xmm2
movdqu xmmword [r13 + rdx + 0x10], xmm1
movdqu xmmword [r13 + rdx], xmm0
test r11, r11
je 0x14022ea31
nop dword [rax]
mov eax, dword [0x1415b0690]
mov ecx, dword [0x1415b0694]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
lea ecx, [rax + rdx]
add ecx, 0x68e5e652
add eax, edx
not ecx
or ecx, 0xaf595e96
add eax, ecx
add eax, 0x68e5e653
imul rax, r15
shr rax, 0x3f
cmp eax, 0x672b8cdd
je 0x14022e720
mov qword [rsp + 0x38], r11
test r14w, r14w
jne 0x14022e81d
nop word cs:[rax + rax]
mov eax, dword [0x1415b06a0]
sub eax, dword [0x1415b06a4]
add eax, 0x82818059
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xfd5b3220
and ecx, 0x2a4cddf
imul ecx, edx
mov edx, eax
and edx, 0x2a4cddf
or eax, 0x2a4cddf
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x72143ed0
add ecx, ecx
sub eax, ecx
add eax, 0xf2143ed0
cmp eax, 0x904e3d27
ja 0x14022e790
movdqa xmm0, xmmword [rbx + 0x10]
add rbx, 0x10
pmovmskb eax, xmm0
add rsi, 0x10
cmp ax, 0xffff
je 0x14022e790
mov ecx, dword [0x1415b0698]
and ecx, dword [0x1415b069c]
and ecx, 0x825001
add ecx, 0x9c5557cf
mov r14d, eax
not r14d
cmp ecx, 0x39669223
jbe 0x14022e7f7
mov qword [rsp + 0x58], r14
tzcnt r12d, r14d
add r12, rsi
mov rax, r12
neg rax
imul rax, rax, 0x38
mov rcx, qword [rsp + 0x50]
mov r8, qword [rcx + rax + 8]
mov r9, qword [rcx + rax + 0x10]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x30]
call fcn.1400280e0
mov rcx, rax
and rcx, rdi
movdqu xmm0, xmmword [r13 + rcx]
pmovmskb r10d, xmm0
test r10d, r10d
jne 0x14022e93d
mov edx, 0x10
mov r8d, 0xf
xor r9d, r9d
nop dword [rax + rax]
mov r10d, dword [0x1415b06a8]
mov r14d, dword [0x1415b06ac]
mov r11d, r14d
not r11d
mov ebp, r10d
and ebp, r11d
or r11d, r10d
not r11d
imul r11d, ebp
mov ebp, r10d
and ebp, r14d
or r10d, r14d
imul r10d, ebp
add r10d, r11d
mov r11d, r10d
xor r11d, 0x3d775d80
xor r10d, 0x288a072
and r10d, 0x1fbfbc72
mov ebp, r11d
and ebp, 0xe040438d
imul ebp, r10d
mov r10d, r11d
and r10d, 0x1fbfbc72
or r11d, 0x1fbfbc72
imul r11d, r10d
add r11d, ebp
xor r11d, 0x9d84fb0
cmp r11d, 0x8a099be
jb 0x14022e880
add r9, 0x10
mov r10, r8
sub r10, rcx
add r10, 0xffffffffffffffe0
mov rcx, rdi
not rcx
or rcx, r10
not rcx
movdqu xmm0, xmmword [r13 + rcx]
pmovmskb r10d, xmm0
add rdx, 0x10
add r8, 0xfffffffffffffff0
test r10w, r10w
je 0x14022e880
mov r8, qword [rsp + 0x58]
lea edx, [r8 - 1]
and edx, r8d
mov r14d, edx
mov r11, qword [rsp + 0x38]
dec r11
mov edx, dword [0x1415b06b0]
mov r8d, dword [0x1415b06b4]
mov r9d, edx
and r9d, r8d
xor edx, r8d
lea edx, [rdx + r9*2]
and edx, 0x51e56a08
add edx, 0x4ae2c526
xor edx, 0x1a1a5469
cmp edx, 0x3daba84c
jb 0x14022e954
tzcnt edx, r10d
add rcx, rdx
mov rdx, rcx
xor rdx, rdi
not rdx
or rcx, rdi
and rcx, rdx
cmp byte [r13 + rcx], 0
js 0x14022e646
xor ecx, ecx
nop dword [rax]
test cl, cl
jne 0x14022e9b0
movdqa xmm0, xmmword [r13]
pmovmskb ecx, xmm0
nop
mov edx, dword [0x1415b06b8]
mov r8d, dword [0x1415b06bc]
not edx
not r8d
or r8d, edx
not r8d
add r8d, 0xa650e500
or r8d, 0xc0187cb6
add r8d, 0xcf2aee58
cmp r8d, 0x8ea7f5dd
jb 0x14022e9c0
tzcnt ecx, ecx
mov edx, dword [0x1415b06c0]
or edx, dword [0x1415b06c4]
add edx, 0xf426c198
mov r8d, edx
xor r8d, 0x800870e0
and r8d, edx
or r8d, 0x5a300b1d
cmp r8d, 0x37d66ff0
jb 0x14022e9fa
movzx ecx, cx
jmp 0x14022e646
mov r10, qword [rsp + 0x48]
sub r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x28]
mov eax, dword [0x1415b06c8]
add eax, dword [0x1415b06cc]
xor eax, 0x7963cd9e
add eax, 0x195c4581
xor eax, 0x78eb2aa8
add eax, 0x917f56a2
jb 0x14022ea40
mov eax, dword [0x1415b06d0]
mov ecx, dword [0x1415b06d4]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xd9b5739b
and ecx, 0x264a8c64
imul ecx, edx
mov edx, eax
and edx, 0x264a8c64
or eax, 0x264a8c64
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x4730ca90
mov edx, ecx
not edx
and edx, 0x826e5a9d
mov r8d, eax
and r8d, 0x45108000
imul r8d, edx
and eax, 0x2204a90
or ecx, 0x826e5a9d
imul ecx, eax
add ecx, r8d
cmp ecx, 0x2a060911
mov rdx, qword [rsp + 0x60]
jne 0x14022eaf0
mov qword [rdx], r13
mov qword [rdx + 8], rdi
mov qword [rdx + 0x10], r10
nop word [rax + rax]
mov eax, dword [0x1415b06d8]
add eax, dword [0x1415b06dc]
imul eax, eax, 0x5c37f391
add eax, 0xd34ee6ff
mov ecx, eax
xor ecx, 0xbb15f96b
and ecx, eax
mov qword [rdx], r13
mov qword [rdx + 8], rdi
mov qword [rdx + 0x10], r10
cmp ecx, 0xc2c3e5f7
ja 0x14022eaf0
nop word cs:[rax + rax]
mov eax, dword [0x1415b06e0]
xor edx, edx
div dword [0x1415b06e4]
add eax, 0xddf48d84
mov ecx, eax
and ecx, 0x4d2678c7
or eax, 0x4d2678c7
add eax, ecx
cmp eax, 0x4ff9fc90
je 0x14022eb30
mov r8, qword [rsp + 0x80]
test r8, r8
je 0x1402301dc
mov ecx, 0x38
mov rax, r9
mul rcx
mov rcx, rax
add rcx, 0xf
and rcx, 0xfffffffffffffff0
mov eax, r8d
and eax, 0x11
xor r8, 0x11
lea rax, [r8 + rax*2]
add rax, rcx
je 0x1402301dc
mov eax, dword [0x1415b06e8]
xor edx, edx
div dword [0x1415b06ec]
sub r12, rcx
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x14022ebb0
mov eax, dword [0x1415b06f0]
mov ecx, dword [0x1415b06f4]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
mov ecx, eax
xor ecx, 0x3921a366
add ecx, eax
and eax, 0xc6de5c99
sub ecx, eax
or ecx, 0x709bd923
mov eax, ecx
and eax, 0x79286d26
xor ecx, 0x79286d26
lea eax, [rcx + rax*2]
cmp eax, 0x8a069b53
jne 0x14022ed19
jmp 0x14022ed26
mov eax, 0xdf891127
cmp eax, 0x61c572da
je 0x14022ec4d
mov eax, dword [0x1415b0670]
imul eax, dword [0x1415b0674]
mov ecx, eax
and ecx, 0x43feb62d
or eax, 0x43feb62d
add eax, ecx
add eax, 0xe788dd0e
ud2
ud2
mov eax, dword [0x1415b0628]
add eax, dword [0x1415b062c]
mov ecx, eax
not ecx
mov edx, eax
or edx, 0x53eb1126
mov r8d, edx
and r8d, 0xb6b42f49
and ecx, 0x800c090
imul ecx, r8d
and edx, 0x494bd0b6
or eax, 0x5bebd1b6
imul eax, edx
add eax, ecx
add eax, 0x3778162d
ud2
ud2
mov rsi, qword [0x1415d3918]
xor eax, eax
test al, al
je 0x14022ed2f
mov rax, qword [0x1415d3918]
jmp 0x14022ed19
mov eax, dword [0x1415b06f8]
or eax, dword [0x1415b06fc]
and eax, 0x1051101
add eax, 0x6cdf7df2
cmp eax, 0xa6162f5e
jbe 0x14022ed5a
mov rcx, rsi
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, 0xb244f32d
mov rbx, qword [sym.imp.KERNEL32.dll_HeapFree]
nop word cs:[rax + rax]
mov eax, dword [0x1415b0700]
mov r14d, dword [0x1415b0704]
mov ecx, eax
not ecx
or eax, r14d
not r14d
and r14d, ecx
not r14d
and r14d, eax
or r14d, 0x3bd59df7
add r14d, 0x5468a90a
imul r14, rdi
shr r14, 0x3f
mov rcx, rsi
xor edx, edx
mov r8, r12
call rbx
cmp r14d, 0x5edf8f93
ja 0x14022ed70
jmp 0x1402301dc
movabs rax, 0x736f6d6570736575
xor rax, rdi
mov qword [rsp + 0x50], rax
movabs r13, 0x6c7967656e657261
movabs rax, 0x646f72616e646f6d
mov rcx, rdi
not rcx
or rcx, r13
not r13
or r13, rdi
and r13, rcx
not r13
nop dword [rax]
mov ecx, dword [0x1415b0790]
xor ecx, dword [0x1415b0794]
xor ecx, 0x20670eff
cmp ecx, 0x545748ae
je 0x14022ee00
mov rcx, rax
xor rcx, rax
not rcx
and rcx, qword [rsp + 0x30]
xor rcx, rax
mov qword [rsp + 0x48], rcx
movabs rax, 0x7465646279746573
nop word [rax + rax]
mov ecx, dword [0x1415b0798]
mov edx, dword [0x1415b079c]
mov r8d, edx
and r8d, ecx
add ecx, edx
sub ecx, r8d
mov edx, ecx
or edx, 0xca8dc996
mov r8d, ecx
not r8d
and r8d, 0x34701400
mov r9d, edx
and r9d, 0xc10a2afb
imul r9d, r8d
and edx, 0x3ef5d504
or ecx, 0xfefddd96
imul ecx, edx
add ecx, r9d
and ecx, 0x9fb64d78
cmp ecx, 0xb3303a9f
je 0x14022ee40
mov rcx, rax
xor rcx, rax
not rcx
and rcx, qword [rsp + 0x30]
xor rcx, rax
mov qword [rsp + 0x78], rcx
movabs rbp, 0x8f6c0bc00a14a764
xor r14d, r14d
mov qword [rsp + 0x28], r13
nop word cs:[rax + rax]
mov eax, dword [0x1415b07a0]
imul eax, dword [0x1415b07a4]
or eax, 0x309ee2e5
imul eax, eax, 0xe8105acd
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xc001d8d6
and ecx, 0x3ffe2728
imul ecx, edx
mov edx, eax
and edx, 0x3ffe2729
or eax, 0x3ffe2729
imul eax, edx
add eax, ecx
cmp eax, 0x4a101c5c
jb 0x14022eed0
cmp byte [rbx + r14], 0x80
jne 0x140230064
mov eax, r14d
and eax, 0x37
mov rcx, r14
not rcx
imul r15, rcx, 0x38
and rcx, 0xffffffffffffffc8
imul rcx, rax
mov rax, r14
and rax, 0xffffffffffffffc8
mov rdx, r14
or rdx, 0xffffffffffffffc8
imul rdx, rax
add rdx, rcx
mov rax, rdx
movabs rcx, 0x7fffffffffffffc8
and rax, rcx
lea rcx, [rbx + rdx]
mov qword [rsp + 0x30], rcx
xor rdx, 0xffffffffffffffc8
lea rax, [rdx + rax*2]
add rax, rbx
mov qword [rsp + 0x70], rax
add r15, rbx
mov eax, dword [0x1415b07a8]
xor edx, edx
div dword [0x1415b07ac]
nop dword [rax + rax]
mov eax, dword [0x1415b07b0]
or eax, dword [0x1415b07b4]
xor eax, 0x82e7042f
add eax, 0x29213dc1
xor eax, 0xc1b829bf
cmp eax, 0xb762d3e3
ja 0x14022ef90
movabs rcx, 0x87185344345bc99e
mov rax, rcx
sub rax, r14
sub rax, rcx
imul r10, rax, 0x38
add r10, rbx
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x90], r10
nop dword [rax]
mov r8, qword [r10 - 0x30]
mov eax, dword [0x1415b07b8]
mov ecx, dword [0x1415b07bc]
mov edx, ecx
not edx
mov r9d, eax
and r9d, edx
or edx, eax
not edx
imul edx, r9d
mov r9d, eax
and r9d, ecx
or eax, ecx
imul eax, r9d
add eax, edx
xor eax, 0x9e307590
add eax, 0x9f2d8c02
mov ecx, eax
not ecx
and ecx, 0x4a9cf5fc
and eax, 0xb5630a03
sub eax, ecx
cmp eax, 0xc3bafe46
je 0x14022efe4
mov rax, qword [r10 - 0x28]
mov qword [rsp + 0x38], rax
and rax, 0xfffffffffffffff8
je 0x14022f110
mov ecx, 7
mov rdi, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x78]
xor r9d, r9d
mov r14, qword [rsp + 0x50]
nop dword [rax]
mov r10d, dword [0x1415b0810]
xor r10d, dword [0x1415b0814]
add r10d, 0x8ab042fe
mov r11d, r10d
xor r11d, 0x76940f48
and r11d, r10d
cmp r11d, 0x362925f9
je 0x14022f060
mov r12, qword [r8 + r9]
xor rdx, r12
add r14, rdi
add r13, rdx
rol rdi, 0xd
xor rdi, r14
rol rdx, 0x10
rol r14, 0x20
xor rdx, r13
mov r10, r13
and r10, rdi
xor r13, rdi
lea r13, [r13 + r10*2]
mov r10, rdx
sub r10, rbp
add r14, rbp
add r14, r10
rol rdi, 0x11
xor rdi, r13
rol rdx, 0x15
mov r11, r14
not r11
mov rsi, r11
xor rsi, r14
and rsi, rdx
xor rsi, r14
rol r13, 0x20
mov rdx, r11
and rdx, r12
or r11, r12
not r11
or r11, rdx
add r9, 8
add rcx, 0xfffffffffffffff8
mov rdx, rsi
mov r14, r11
cmp r9, rax
jb 0x14022f060
jmp 0x14022f122
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
xor r9d, r9d
mov rbp, qword [rsp + 0x38]
and ebp, 7
mov eax, dword [0x1415b07c0]
mov ecx, eax
not ecx
or ecx, dword [0x1415b07c4]
add eax, ecx
inc eax
and eax, 0x40000020
cmp eax, 0x2b9bbf96
ja 0x14022f12a
cmp ebp, 4
mov ecx, 0x968afe43
jb 0x14022f220
nop dword [rax + rax]
mov eax, dword [0x1415b07c8]
or eax, dword [0x1415b07cc]
imul eax, eax, 0x58fa25f1
add eax, 0xed1ddbce
imul rax, rcx
shr rax, 0x3b
cmp eax, 0xdc85b0ff
ja 0x14022f160
mov r10d, dword [r8 + r9]
nop word [rax + rax]
mov eax, dword [0x1415b07d0]
xor edx, edx
div dword [0x1415b07d4]
xor eax, 0xc3128890
imul eax, eax, 0x7cac096a
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x4e2bc454
and ecx, 0xb1d43bab
imul ecx, edx
mov edx, eax
and edx, 0xb1d43baa
or eax, 0xb1d43bab
imul eax, edx
add eax, ecx
cmp eax, 0x6eee1513
je 0x14022f190
nop word [rax + rax]
mov eax, dword [0x1415b07d8]
add eax, dword [0x1415b07dc]
or eax, 0x8f6c0d1e
mov ecx, eax
xor ecx, 0xbcab9a93
and ecx, eax
mov eax, ecx
and eax, 0x2380e18c
add eax, eax
sub ecx, eax
cmp ecx, 0x27aa08a2
je 0x14022f1e0
mov r14d, 4
jmp 0x14022f226
xor r10d, r10d
xor r14d, r14d
mov qword [rsp + 0x58], r10
nop dword [rax + rax]
mov eax, dword [0x1415b07e0]
xor edx, edx
div dword [0x1415b07e4]
imul eax, eax, 0x31f5a791
cmp eax, 0x7a7be2de
je 0x14022f230
mov rax, r14
not rax
movabs r12, 0x7aebdb787da2fde4
mov rcx, r12
not rcx
and rax, r12
mov edx, r14d
and edx, ecx
or rdx, rax
mov rax, r12
and rax, 0xfffffffffffffffe
mov r10d, ecx
and r10d, 1
or r10, rax
xor r10, rdx
or ecx, r12d
and ecx, r14d
and ecx, 1
or rcx, r10
cmp rcx, rbp
jae 0x14022f340
mov r12, qword [rsp + 0x58]
nop word [rax + rax]
mov eax, dword [0x1415b07e8]
mov ecx, dword [0x1415b07ec]
not eax
not ecx
mov edx, eax
or edx, ecx
and ecx, eax
not ecx
and ecx, edx
add ecx, 0x12d4dcb
cmp ecx, 0x93e66edb
ja 0x14022f2a0
lea rax, [r14 + r9]
movzx r10d, word [r8 + rax]
nop word cs:[rax + rax]
mov eax, dword [0x1415b07f0]
xor edx, edx
div dword [0x1415b07f4]
and eax, 0x93177fdb
add eax, 0x6fbd03c
lea ecx, [r14*8]
mov rdx, r10
shl rdx, cl
cmp eax, 0x6c891abd
ja 0x14022f2e0
mov rax, rdx
or rax, r12
not rdx
not r12
and r12, rdx
not r12
and r12, rax
or r14, 2
mov r10, qword [rsp + 0x38]
cmp r14, rbp
jb 0x14022f360
jmp 0x14022f420
mov r10, qword [rsp + 0x38]
mov r12, qword [rsp + 0x58]
cmp r14, rbp
jae 0x14022f420
nop word cs:[rax + rax]
mov eax, dword [0x1415b07f8]
and eax, dword [0x1415b07fc]
mov ecx, eax
xor ecx, 0xce5e36a0
add ecx, eax
and eax, 0x31a1c95f
sub ecx, eax
or ecx, 0x4efb8985
mov eax, ecx
xor eax, 0xbc7a2c68
and eax, ecx
cmp eax, 0x54b6ec3a
ja 0x14022f360
add r9, r14
movzx r8d, byte [r8 + r9]
mov eax, dword [0x1415b0800]
xor edx, edx
div dword [0x1415b0804]
mov eax, dword [0x1415b0808]
mov ecx, dword [0x1415b080c]
not eax
not ecx
and ecx, eax
not ecx
mov eax, ecx
and eax, 0x34a38369
and ecx, 0x24830048
mov edx, eax
xor edx, 0x9228dba5
add edx, eax
sub edx, ecx
mov eax, edx
not eax
and eax, 0xec1caa89
mov ecx, edx
and ecx, 0x13e35572
imul ecx, eax
mov eax, edx
and eax, 0xec0c8a8d
or edx, 0xec1caa8d
imul edx, eax
add edx, ecx
lea ecx, [r14*8]
mov rax, r8
shl rax, cl
cmp edx, 0x876d99be
je 0x14022f3a9
or r12, rax
inc r10
jmp 0x14022f440
mov eax, r10d
and eax, 1
xor r10, 1
lea r10, [r10 + rax*2]
test rbp, rbp
je 0x14022f635
nop word [rax + rax]
mov eax, dword [0x1415b0818]
or eax, dword [0x1415b081c]
and eax, 0xc623675c
imul eax, eax, 0xa4604c7d
add eax, 0x4ec1b740
lea ecx, [rbp*8]
mov edx, 0xff
shl rdx, cl
cmp eax, 0xdaf65090
ja 0x14022f440
mov rax, r12
xor rax, rdx
not rdx
and rdx, r12
add rax, r12
sub rax, rdx
cmp ebp, 7
jne 0x14022f640
nop dword [rax]
mov ecx, dword [0x1415b0820]
mov edx, dword [0x1415b0824]
not edx
mov r8d, ecx
or r8d, edx
and edx, ecx
not edx
and edx, r8d
mov ecx, edx
not ecx
and edx, 0x4e189bd2
mov r8d, ecx
and r8d, 0xb1e7642d
imul r8d, edx
mov edx, ecx
and edx, 0x4e189bd2
or ecx, 0x4e189bd2
imul ecx, edx
add ecx, r8d
mov edx, ecx
not edx
and edx, 0xdd5c58de
mov r8d, ecx
and r8d, 0x22a3a720
imul r8d, edx
mov edx, ecx
and edx, 0xdd5c58de
or ecx, 0xdd5c58de
imul ecx, edx
add ecx, r8d
mov edx, ecx
and edx, 0x1f7c8fa4
add edx, edx
sub ecx, edx
add ecx, 0x9f7c8fa5
cmp ecx, 0xd3efd576
jb 0x14022f490
movabs r8, 0x7d5d301bfcafd9f
mov rcx, r8
not rcx
xor rcx, r8
mov rdx, rcx
and rdx, rax
xor rdx, r8
and rcx, rsi
xor rcx, r8
xor rcx, rdx
add r11, rdi
add r13, rcx
rol rdi, 0xd
mov rdx, r11
and rdx, rdi
add rdx, rdx
add rdi, r11
sub rdi, rdx
rol rcx, 0x10
mov rdx, r13
xor rdx, rcx
not rdx
and rdx, rcx
add rdx, rdx
sub rcx, rdx
add rcx, r13
rol r11, 0x20
movabs r8, 0xab2103a45ffcb0d2
add r13, r8
add r13, rdi
sub r13, r8
mov rdx, rcx
and rdx, r11
or r11, rcx
add r11, rdx
rol rdi, 0x11
nop
mov edx, dword [0x1415b0828]
sub edx, dword [0x1415b082c]
mov r8d, edx
not r8d
mov r9d, edx
and r9d, 0x3fab9f39
and r8d, 0xc05460c6
imul r8d, r9d
mov r9d, edx
and r9d, 0xc05460c6
or edx, 0xc05460c6
imul edx, r9d
add edx, r8d
xor edx, 0x3800
or edx, 0x6f4b44bf
cmp edx, 0x5839fa34
jb 0x14022f5a0
mov rdx, rdi
xor rdx, rdi
not rdx
and rdx, r13
xor rdi, rdx
rol rcx, 0x15
xor rcx, r11
rol r13, 0x20
movabs r8, 0x72d5da8d81e0afa
mov rdx, r8
not rdx
xor rdx, r8
and r11, rdx
xor r11, r8
and rdx, rax
xor rdx, r8
xor r11, rdx
xor eax, eax
mov rsi, rcx
jmp 0x14022f640
mov eax, 0xff
nop word [rax + rax]
shl r10, 0x38
or r10, rax
mov rdx, r10
not rdx
movabs r9, 0xf4baa5f2b437f2a1
mov rcx, r9
and rcx, rdx
mov rax, r9
not rax
mov r8, r10
and r8, rax
or r8, rcx
xor rax, r9
and rax, rsi
xor rax, r9
xor rax, r8
add r11, rdi
mov rcx, r13
and rcx, rax
or r13, rax
add r13, rcx
rol rdi, 0xd
mov rcx, rdi
not rcx
or rcx, r11
mov r8, r11
not r8
or r8, rdi
and r8, rcx
not r8
rol rax, 0x10
rol r11, 0x20
xor rax, r13
add r13, r8
rol r8, 0x11
add r11, rax
mov rcx, r8
xor rcx, r8
not rcx
and rcx, r13
xor rcx, r8
rol rax, 0x15
mov r8, r11
not r8
mov r9, r8
xor r9, rax
and r9, rax
add r9, r9
sub rax, r9
or r8, rdx
add rax, r11
rol r13, 0x20
not r8
or r11, r10
not r11
or r11, r8
mov edx, r13d
not edx
movzx edx, dl
and r13, 0xffffffffffffff00
or r13, rdx
sub r11, rcx
not r11
mov rdx, r13
and rdx, rax
xor r13, rax
lea rdx, [rdx*2]
add rdx, r13
rol rcx, 0xd
xor rcx, r11
rol rax, 0x10
mov r8, rax
xor r8, rax
not r8
and r8, rdx
xor r8, rax
rol r11, 0x20
movabs r9, 0xbd9926246e586fa0
lea rax, [rcx + r9]
add rax, rdx
sub rax, r9
add r11, r8
rol rcx, 0x11
xor rcx, rax
rol r8, 0x15
mov r9, r8
xor r9, r11
not r9
and r9, r11
add r9, r9
lea rdx, [rcx + r11]
sub r11, r9
rol rcx, 0xd
add r11, r8
mov r9, rcx
xor r9, rdx
not r9
and r9, rdx
add r9, r9
mov r8, rdx
sub r8, r9
rol rax, 0x20
add rax, r11
add r8, rcx
rol r11, 0x10
mov rcx, r11
and rcx, rax
add rcx, rcx
add r11, rax
rol rdx, 0x20
sub r11, rcx
add rax, r8
mov rcx, r11
movabs r9, 0xf4c874ab4ba6f026
sub rcx, r9
add rdx, r9
add rdx, rcx
rol r8, 0x11
movabs r9, 0xa36bfacc0986600e
mov rcx, r9
not rcx
xor rcx, r9
and r8, rcx
xor r8, r9
and rcx, rax
xor rcx, r9
xor rcx, r8
rol r11, 0x15
rol rax, 0x20
xor r11, rdx
add rdx, rcx
mov r8, r11
and r8, rax
xor rax, r11
lea rax, [rax + r8*2]
rol rcx, 0xd
movabs r9, 0x386cb28eeac2881d
mov r8, r9
not r8
xor r8, r9
and rcx, r8
xor rcx, r9
and r8, rdx
xor r8, r9
xor r8, rcx
rol r11, 0x10
mov rcx, r11
xor rcx, rax
not rcx
and rcx, rax
add rcx, rcx
lea rdx, [r8 + rax]
sub rax, rcx
add rax, r11
rol r8, 0x11
rol rax, 0x15
xor rax, r8
mov rcx, rdx
rol rcx, 0x20
movabs r9, 0x16fa6d73313c06dd
mov r8, r9
not r8
xor r8, r9
and rax, r8
and r8, rcx
xor r8, r9
xor r8, r9
xor r8, rax
movabs rax, 0xb0d5bfd26332ce93
mov rcx, rax
not rcx
xor rcx, rax
and r8, rcx
and rcx, rdx
xor rcx, rax
xor rcx, rax
xor rcx, r8
mov rdx, rcx
mov r12, qword [rsp + 0x80]
and rdx, r12
not rdx
mov rax, rcx
not rax
mov r8, r12
not r8
or rax, r8
and rax, rdx
not rax
movdqu xmm0, xmmword [rbx + rax]
pmovmskb esi, xmm0
mov r9, rax
test esi, esi
jne 0x14022f9aa
mov edx, 0x10
mov r10, 0xffffffffffffffef
mov rdi, rax
xor r11d, r11d
nop word cs:[rax + rax]
mov r9d, dword [0x1415b0830]
imul r9d, dword [0x1415b0834]
mov esi, r9d
not esi
mov ebp, r9d
and ebp, 0x751d9483
and esi, 0x8ae26b7c
imul esi, ebp
mov ebp, r9d
and ebp, 0x8ae26b7c
or r9d, 0x8ae26b7c
imul r9d, ebp
add r9d, esi
mov esi, r9d
not esi
mov ebp, r9d
or ebp, 0x74fd1975
mov r14d, ebp
and r14d, 0x3ff1edc5
and esi, 0x8002020a
imul esi, r14d
and ebp, 0xc00e1238
or r9d, 0xf4ff1b7f
imul r9d, ebp
add r9d, esi
cmp r9d, 0x7f71eb4c
je 0x14022f900
mov r9, r10
sub r9, rdi
or r9, r8
not r9
movdqu xmm0, xmmword [rbx + r9]
pmovmskb esi, xmm0
add rdx, 0x10
add r10, 0xfffffffffffffff0
add r11, 0x10
mov rdi, r9
test si, si
je 0x14022f900
movabs rbp, 0x8f6c0bc00a14a764
mov edi, 0x8711d64b
mov r14, qword [rsp + 0x68]
nop
mov edx, dword [0x1415b0838]
mov r10d, dword [0x1415b083c]
mov r11d, r10d
and r11d, edx
add edx, r10d
sub edx, r11d
mov r10d, edx
xor r10d, 0xf58c4a09
xor edx, 0x8000126
and edx, 0xad84012f
mov r11d, r10d
and r11d, 0x527bfed0
imul r11d, edx
mov edx, r10d
and edx, 0xad84012f
or r10d, 0xad84012f
imul r10d, edx
add r10d, r11d
cmp r10d, 0x18f10c82
ja 0x14022f9c0
tzcnt edx, esi
add r9, rdx
mov rdx, r9
not rdx
or rdx, r12
lea r10, [r9 + rdx]
cmp byte [rbx + r10 + 1], 0
js 0x14022fab0
movdqa xmm0, xmmword [rbx]
mov edx, dword [0x1415b0840]
mov r9d, dword [0x1415b0844]
mov r10d, edx
not r10d
mov r11d, r9d
not r11d
mov esi, r10d
and esi, 0x3815587
and edx, 0x7c7eaa78
or edx, esi
or r10d, r11d
and r11d, 0x3815587
and r9d, 0x7c7eaa78
or r9d, r11d
xor r9d, edx
not r10d
or r10d, r9d
add r10d, 0x44a3d3b1
and r10d, 0x68901101
cmp r10d, 0xd009904a
je 0x14022fa3d
pmovmskb edx, xmm0
tzcnt r9d, edx
jmp 0x14022fac0
add r9, rdx
inc r9
nop word cs:[rax + rax]
mov edx, dword [0x1415b0848]
mov r10d, dword [0x1415b084c]
not edx
not r10d
mov r11d, edx
or r11d, r10d
and r10d, edx
not r10d
and r10d, r11d
add r10d, 0x68545f35
imul rdx, r10, 0x3f6b0757
shr rdx, 0x3d
cmp edx, 0xcf572743
je 0x14022fac0
mov rdx, r14
sub rdx, rax
mov r10, r9
sub r10, rax
mov rax, r10
and rax, rdx
not rdx
not r10
and r10, rdx
not rax
not r10
and r10, rax
and r10, r12
cmp r10, 0x10
jb 0x14022ff76
xor eax, eax
test al, al
jne 0x14022fb2c
movzx r10d, byte [rbx + r9]
shr rcx, 0x39
lea r11, [r9 - 0x10]
mov eax, dword [0x1415b0850]
xor edx, edx
div dword [0x1415b0854]
and eax, 0x7fffffff
xor eax, 0x2aad2d37
imul eax, eax, 0x899eaf34
and eax, 0x5a6f7c24
cmp eax, 0x7eff1c8d
jbe 0x14022fb77
mov rax, r11
and rax, r12
mov byte [rbx + r9], cl
mov byte [rax + rbx + 0x10], cl
mov rax, r9
not rax
imul rax, rax, 0x38
add rax, rbx
nop word cs:[rax + rax]
mov edx, dword [0x1415b0858]
or edx, dword [0x1415b085c]
xor edx, 0x1a6980fa
add edx, 0xdd711111
or edx, 0xdf54a5c2
mov rsi, r12
xor rsi, r11
not rsi
and rsi, r11
mov byte [rbx + r9], cl
mov byte [rsi + rbx + 0x10], cl
cmp edx, 0x212c36a3
jb 0x14022fb90
cmp r10b, 0xff
je 0x14022ffa7
nop word cs:[rax + rax]
mov ecx, dword [0x1415b0864]
add ecx, dword [0x1415b0860]
mov edx, ecx
xor edx, 0x9d8a0aaf
xor ecx, 0xc363fda1
add ecx, edx
and edx, 0xa11608f1
sub ecx, edx
xor ecx, 0x349460a8
cmp ecx, 0x2cc381d1
je 0x14022fbe0
imul rcx, r9, 0xffffffffffffffc8
mov edx, dword [0x1415b0868]
imul edx, dword [0x1415b086c]
or edx, 0x50c4f863
add edx, 0x4ede94e8
and edx, 0x579a91c1
cmp edx, 0x9ff0f436
ja 0x14022fc16
add rcx, rbx
cmp rax, qword [rsp + 0x30]
setb dl
cmp qword [rsp + 0x70], rcx
setb r8b
mov r9d, dword [0x1415b0870]
mov r10d, dword [0x1415b0874]
not r9d
not r10d
or r10d, r9d
not r10d
or r10d, 0x2f2efcf7
cmp r10d, 0xd1026e02
je 0x14022fc40
and r8b, dl
je 0x14022fd60
xor ecx, ecx
nop word cs:[rax + rax]
mov edx, dword [str.6_]
mov r8d, dword [0x1415b08b4]
xor r8d, edx
not r8d
and r8d, edx
or r8d, 0xb26a689
imul r8, rdi
shr r8, 0x3f
cmp r8d, 0x91520cac
jne 0x14022fcf0
movzx edx, byte [r15 + rcx]
movzx r8d, byte [rax + rcx]
mov byte [r15 + rcx], r8b
mov byte [rax + rcx], dl
mov rdx, rcx
or rdx, 1
movzx r8d, byte [r15 + rdx]
movzx r9d, byte [rax + rdx]
mov byte [r15 + rdx], r9b
mov byte [rax + rdx], r8b
nop dword [rax + rax]
mov edx, dword [0x1415b08b8]
mov r8d, dword [0x1415b08bc]
mov r9, rcx
or r9, 1
movzx r10d, byte [r15 + rcx]
movzx r11d, byte [rax + rcx]
mov byte [r15 + rcx], r11b
mov byte [rax + rcx], r10b
movzx r10d, byte [r15 + r9]
movzx r11d, byte [rax + r9]
mov byte [r15 + r9], r11b
mov byte [rax + r9], r10b
not edx
not r8d
and r8d, edx
not r8d
add r8d, 0x4605f849
or r8d, 0xb36153b3
cmp r8d, 0x6e7ff709
jb 0x14022fcf0
add rcx, 2
cmp rcx, 0x38
jne 0x14022fc90
jmp 0x14022ff30
mov rcx, qword [r15]
mov rdx, qword [rax]
mov qword [r15], rdx
mov qword [rax], rcx
movq xmm0, qword [r15 + 8]
movq xmm1, qword [rax + 8]
mov ecx, dword [0x1415b0878]
mov edx, dword [0x1415b087c]
add ecx, edx
add ecx, 0xbd13dcb5
mov edx, 0x910dfff7
imul rcx, rdx
shr rcx, 0x3f
cmp ecx, 0x4b461858
ja 0x14022fe47
nop word cs:[rax + rax]
mov ecx, dword [0x1415b0884]
mov edx, ecx
xor edx, edx
not edx
and edx, dword [0x1415b0880]
xor edx, ecx
mov ecx, edx
and ecx, 0x3f1f3332
add ecx, ecx
neg ecx
add ecx, edx
add ecx, 0xaf82b930
mov edx, ecx
not edx
and edx, 0xe0c0aef7
mov r8d, ecx
and r8d, 0x1f3f5108
imul r8d, edx
mov edx, ecx
and edx, 0xe0c0aef7
or ecx, 0xe0c0aef7
imul ecx, edx
add ecx, r8d
movq qword [r15 + 8], xmm1
movq qword [rax + 8], xmm0
mov rdx, qword [r15 + 0x10]
mov r8, qword [rax + 0x10]
mov qword [r15 + 0x10], r8
mov qword [rax + 0x10], rdx
mov rdx, qword [r15 + 0x18]
mov r8, qword [rax + 0x18]
mov qword [r15 + 0x18], r8
mov qword [rax + 0x18], rdx
mov rdx, qword [r15 + 0x20]
mov r8, qword [rax + 0x20]
mov qword [r15 + 0x20], r8
mov qword [rax + 0x20], rdx
cmp ecx, 0x40604f9c
jbe 0x14022fe90
movq qword [r15 + 8], xmm1
movq qword [rax + 8], xmm0
mov rcx, qword [r15 + 0x10]
mov rdx, qword [rax + 0x10]
mov qword [r15 + 0x10], rdx
mov qword [rax + 0x10], rcx
mov rcx, qword [r15 + 0x18]
mov rdx, qword [rax + 0x18]
mov qword [r15 + 0x18], rdx
mov qword [rax + 0x18], rcx
mov rcx, qword [r15 + 0x20]
mov rdx, qword [rax + 0x20]
mov qword [r15 + 0x20], rdx
mov qword [rax + 0x20], rcx
jmp 0x14022fdb0
mov ecx, dword [0x1415b0888]
mov edx, dword [0x1415b088c]
not ecx
not edx
and edx, ecx
not edx
or edx, 0x22400800
and edx, 0x22400a02
cmp edx, 0x4ef84b63
ja 0x14022ff06
nop dword [rax + rax]
mov ecx, dword [0x1415b0890]
sub ecx, dword [0x1415b0894]
mov rdx, qword [r15 + 0x28]
mov r8, qword [rax + 0x28]
mov qword [r15 + 0x28], r8
mov qword [rax + 0x28], rdx
mov rdx, qword [r15 + 0x30]
mov r8, qword [rax + 0x30]
mov qword [r15 + 0x30], r8
imul ecx, ecx, 0xd5918049
xor ecx, 0x8a804c09
or ecx, 0x717db110
mov qword [rax + 0x30], rdx
cmp ecx, 0xd3bca013
jae 0x14022ff30
mov rcx, qword [r15 + 0x28]
mov rdx, qword [rax + 0x28]
mov qword [r15 + 0x28], rdx
mov qword [rax + 0x28], rcx
mov rcx, qword [r15 + 0x30]
mov rdx, qword [rax + 0x30]
mov qword [r15 + 0x30], rdx
mov qword [rax + 0x30], rcx
jmp 0x14022fec0
mov r13, qword [rsp + 0x28]
mov r10, qword [rsp + 0x90]
nop dword [rax]
mov eax, dword [0x1415b0898]
mov ecx, dword [0x1415b089c]
not eax
not ecx
or ecx, eax
not ecx
imul eax, ecx, 0xf846a1c7
add eax, 0x17f25b7e
imul rax, rax, 0x4dc6ba89
shr rax, 0x3c
cmp eax, 0x45ca2b2f
je 0x14022ff40
jmp 0x14022efe0
mov eax, dword [0x1415b08a0]
mov edx, dword [0x1415b08a4]
mov r9d, eax
and r9d, edx
add r9d, r9d
add eax, edx
sub eax, r9d
imul eax, eax, 0x64c5047c
cmp eax, 0x72167ff7
mov r13, qword [rsp + 0x28]
jne 0x14022ffec
jmp 0x14023003c
lea rcx, [r14 - 0x10]
not rcx
or rcx, r8
not rcx
mov byte [rbx + r14], 0xff
mov byte [rcx + rbx + 0x10], 0xff
mov rcx, qword [r15 + 0x30]
mov qword [rax + 0x30], rcx
movdqu xmm0, xmmword [r15]
movdqu xmm1, xmmword [r15 + 0x10]
movdqu xmm2, xmmword [r15 + 0x20]
movdqu xmmword [rax + 0x20], xmm2
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov r13, qword [rsp + 0x28]
jmp 0x140230064
mov eax, dword [0x1415b08a8]
mov edx, dword [0x1415b08ac]
mov r9d, eax
not r9d
and eax, edx
not edx
and edx, r9d
not eax
not edx
and edx, eax
add edx, 0xfc0ae787
xor edx, 0x76e0141
and edx, 0x876e39cd
mov rax, rcx
shr rax, 0x39
lea r9, [r14 - 0x10]
and r9, r12
mov byte [rbx + r14], al
mov byte [r9 + rbx + 0x10], al
cmp edx, 0x9ecfc232
jbe 0x140230064
mov rax, rcx
shr rax, 0x39
lea rdx, [r14 - 0x10]
mov r9, rdx
not r9
and rdx, r12
or r9, r8
not r9
or r9, rdx
mov byte [rbx + r14], al
mov byte [rbx + r9 + 0x10], al
jmp 0x14022ffec
lea rax, [r14 + 1]
nop dword [rax + rax]
mov ecx, dword [0x1415b08c0]
mov edx, dword [0x1415b08c4]
mov r8d, ecx
and r8d, edx
add r8d, r8d
add ecx, edx
sub ecx, r8d
add ecx, 0x1a559356
xor ecx, 0x8fb660c2
cmp ecx, 0xcf35bae0
ja 0x140230070
nop
mov ecx, dword [0x1415b08c8]
mov edx, dword [0x1415b08cc]
not edx
add ecx, edx
add ecx, 0x94c6ee3c
xor ecx, 0x31800024
or ecx, 0x4e5dbe19
cmp ecx, 0x6381ccbf
jb 0x1402300a0
cmp r14, r12
mov r14, rax
jne 0x14022eed0
mov r9, qword [rsp + 0x88]
mov eax, dword [0x1415b08d0]
xor edx, edx
div dword [0x1415b08d4]
mov ecx, eax
xor ecx, 0xcb51f4f9
add ecx, eax
and eax, 0x34ae0b06
sub ecx, eax
imul eax, ecx, 0x1f3033c0
add eax, 0xc2f35ba0
cmp eax, 0x31770128
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x40]
jae 0x140230198
jmp 0x1402301d0
mov rcx, rsi
mov rdx, rbx
mov r8, r15
call fcn.14022aa10
xor eax, eax
test al, al
je 0x140230142
mov rcx, rsi
mov rdx, rbx
mov r8, r15
call fcn.14022aa10
jmp 0x14023011e
mov eax, 0x95d7aac5
nop word [rax + rax]
mov ecx, dword [0x1415b0788]
mov edx, dword [0x1415b078c]
mov r8d, ecx
xor r8d, edx
not r8d
and r8d, edx
add r8d, r8d
sub edx, r8d
add ecx, edx
add ecx, 0xd8342ba4
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x80ccf93f
je 0x140230150
cmp r12, 0xffffffffffffffff
jne 0x14022edbe
xor r9d, r9d
jmp 0x1402300de
mov eax, dword [0x1415b08d8]
mov ecx, dword [0x1415b08dc]
add eax, ecx
add eax, 0x78c81d0b
imul rcx, rax, 0x50da1085
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1d
mov rcx, r9
sub rcx, r8
mov qword [rdx + 0x10], rcx
cmp eax, 0x28ee5da
jbe 0x1402301dc
mov rax, r9
sub rax, r8
mov qword [rdx + 0x10], rax
jmp 0x140230198
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