Function at 0x14003c4f0
Capabilities:
Encode data using xor
Encrypt data using aes mixcolumns step

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x388
mov qword [rsp + 0x368], r8
mov qword [rsp + 0x350], rdx
mov qword [rsp + 0x358], rcx
mov qword [rsp + 0x360], rcx
call fcn.14003c4cb
mov r8, qword [rsp + 0x368]
mov qword [rsp + 0x370], rax
cmp r8, 0
jge 0x14003c57e
mov rcx, qword [rsp + 0x368]
movabs rdx, 0x7ca272fc1db4228c
movabs rax, 0x7ca272fc1db4228c
xor rdx, rax
movabs r8, 0x7b9d567297751bd0
movabs rax, 0x462a98d688ae42f
xor r8, rax
call fcn.14000dc65
jmp 0x14003ff8a
mov rdx, qword [rsp + 0x368]
lea rcx, [rsp + 0x378]
call fcn.14001a990
mov rcx, qword [rsp + 0x368]
mov rax, qword [rsp + 0x358]
mov rdx, qword [rsp + 0x378]
mov qword [rax], rdx
mov rdx, qword [rsp + 0x380]
mov qword [rax + 8], rdx
movabs r8, 0x2f14c3449b525dde
movabs rdx, 0x31242ba858f0cb4f
xor r8, rdx
mov rdx, rcx
sub rdx, r8
add rdx, 0xfffffffffffffffa
movabs r8, 0xc95ae63a1b7bf449
movabs r9, 0xd76a0ed6d8d962d8
xor r8, r9
add rdx, r8
mov qword [rsp + 0x2e8], rdx
xor rdx, rcx
cmp rdx, 0
setl r8b
cmp rcx, 5
setg dl
and dl, r8b
mov byte [rsp + 0x2f7], dl
mov rdx, rcx
add rdx, 0xfffffffffffffffb
mov qword [rsp + 0x2f8], rdx
xor rdx, rcx
cmp rdx, 0
setl r9b
cmp rcx, 4
setg dl
xor r8d, r8d
xor r8b, 1
xor dl, r8b
xor r9b, 0xff
mov r8b, 1
xor r8b, 1
or dl, r9b
or r8b, 1
xor dl, 0xff
and dl, r8b
mov byte [rsp + 0x307], dl
movabs rdx, 0x9028a6fbe2f09a57
movabs r8, 0x6fd759041d0f65ab
xor rdx, r8
mov r8, rcx
and r8, rdx
shl r8, 1
mov rdx, rcx
xor rdx, 0xfffffffffffffffc
add rdx, r8
mov qword [rsp + 0x308], rdx
xor rdx, rcx
cmp rdx, 0
setl r9b
cmp rcx, 3
setg r8b
mov dl, r8b
xor dl, 0xff
mov r11b, 1
xor r11b, 0
mov r10b, r9b
xor r10b, r11b
or dl, r10b
xor r8b, 0xff
xor r9b, 0xff
or r8b, r9b
and dl, r8b
xor r8d, r8d
xor r8b, 1
xor dl, r8b
mov byte [rsp + 0x317], dl
mov r8, rcx
add r8, 0xfffffffffffffffd
mov qword [rsp + 0x318], r8
mov rdx, r8
or rdx, rdx
xor rdx, 0xffffffffffffffff
mov r9, rcx
xor r9, 0xffffffffffffffff
mov r10, rcx
xor r10, 0xffffffffffffffff
and r9, r10
xor rdx, 0xffffffffffffffff
movabs r10, 0xbddfa71d8c1c69d6
movabs r11, 0x422058e273e39629
xor r10, r11
xor r9, r10
and rdx, r9
xor r8, 0xffffffffffffffff
movabs r10, 0xfe1a5794ff423554
movabs r9, 0x1e5a86b00bdcaab
xor r10, r9
mov r9, rcx
xor r9, r10
and r8, r9
movabs r9, 0xfd5282dd5fa37d19
movabs r10, 0x2ad7d22a05c82e6
xor r9, r10
xor rdx, r9
movabs r9, 0xc37cb5a518d1db5f
movabs r10, 0x3c834a5ae72e24a0
xor r9, r10
xor r8, r9
and rdx, r8
movabs r8, 0xffced386439b5aa0
movabs r9, 0xffced386439b5aa0
xor r8, r9
cmp rdx, r8
setl r8b
cmp rcx, 2
setg dl
and dl, r8b
mov byte [rsp + 0x327], dl
movabs r8, 0xde90348ae578db5c
movabs rdx, 0x216fcb751a8724a2
xor r8, rdx
mov rdx, rcx
and rdx, r8
shl rdx, 1
movabs r9, 0xfd36fc220e2e9a9
movabs r8, 0xf02c903ddf1d1657
xor r9, r8
mov r8, rcx
xor r8, r9
add r8, rdx
mov qword [rsp + 0x328], r8
movabs r9, 0xb805b68b417be0a5
movabs rdx, 0x47fa4974be841f5a
xor r9, rdx
mov rdx, r8
xor rdx, r9
mov r9, r8
xor r9, 0xffffffffffffffff
and rdx, r9
mov r9, rcx
xor r9, 0xffffffffffffffff
movabs r11, 0xa3327c90337777ec
movabs r10, 0x5ccd836fcc888813
xor r11, r10
mov r10, rcx
xor r10, r11
and r9, r10
xor rdx, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rdx, r9
xor r8, 0xffffffffffffffff
mov r9, rcx
xor r9, 0xffffffffffffffff
and r8, r9
movabs r9, 0xd7cd3bc5bc04dc9b
movabs r10, 0x2832c43a43fb2364
xor r9, r10
xor rdx, r9
xor r8, 0xffffffffffffffff
and rdx, r8
cmp rdx, 0
setl dl
cmp rcx, 1
setg cl
and cl, dl
mov byte [rsp + 0x337], cl
add rax, 8
mov qword [rsp + 0x338], rax
xor eax, eax
mov rcx, rax
mov qword [rsp + 0x340], rcx
mov qword [rsp + 0x348], rax
mov rcx, qword [rsp + 0x340]
mov rax, qword [rsp + 0x348]
mov qword [rsp + 0x2d8], rcx
mov qword [rsp + 0x2e0], rax
mov rcx, qword [rsp + 0x368]
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0x2d0], rax
cmp rax, rcx
jge 0x14003ff8a
mov rax, qword [rsp + 0x350]
mov rcx, qword [rsp + 0x2d0]
mov al, byte [rax + rcx]
mov byte [rsp + 0x2cf], al
cmp al, 0xff
jle 0x14003c95f
mov rax, qword [rsp + 0x2d0]
mov cl, byte [rsp + 0x2cf]
movzx ecx, cl
movabs rdx, 0x6d8527945671f946
movabs r8, 0x6d8527945671f947
xor rdx, r8
add rax, rdx
mov dword [rsp + 0x2bc], ecx
mov qword [rsp + 0x2c0], rax
jmp 0x14003dfee
mov al, byte [rsp + 0x2cf]
movzx eax, al
mov qword [rsp + 0x2b0], rax
movabs rcx, 0xcdd05d2ec8f34e6a
movabs rdx, 0xcdd05d2ec8f34e8a
xor rcx, rdx
and rax, rcx
movabs rcx, 0xdd5535e51e332e47
movabs rdx, 0xdd5535e51e332e87
xor rcx, rdx
cmp rax, rcx
jne 0x14003ccac
mov eax, dword [0x140201fe0]
xor eax, 0xea592c72
xor eax, dword [0x140201fe4]
mov ecx, 0xa3a53c7d
xor ecx, 0x887c5f5
add eax, ecx
mov ecx, 0x88610a3d
xor ecx, 0xaf015024
and eax, ecx
mov ecx, 0x20de0ac8
xor ecx, 0xeb2f418d
xor eax, ecx
cmp eax, 0xd9848c15
je 0x14003ffa2
mov eax, dword [0x140201fe8]
mov edx, dword [0x140201fec]
mov ecx, 0x91a85475
xor ecx, 0x611e5659
xor edx, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
mov r8d, 0x94409d7c
xor r8d, 0x6bbf6283
xor edx, r8d
and eax, edx
sub eax, ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xa38b5c96
or ecx, 0xa38b5c96
mov edx, 0xeb20a988
xor edx, 0x14df5677
xor ecx, edx
or eax, ecx
mov ecx, 0xd7fc81fc
xor ecx, 0x28037e03
xor eax, ecx
xor ecx, ecx
sub ecx, 0xd7ef3712
sub eax, ecx
and eax, 0xaa98298c
mov ecx, 0xe4c114df
xor ecx, 0xb504b9ad
cmp eax, ecx
je 0x14003c9ee
mov al, byte [rsp + 0x337]
test al, 1
jne 0x14003ca84
jmp 0x14003ca8e
call fcn.140007f57
jmp 0x14003ff8a
mov rdx, qword [rsp + 0x2d0]
mov r8, qword [rsp + 0x328]
mov rcx, rdx
and rcx, 1
shl rcx, 1
mov rax, rdx
xor rax, 1
add rax, rcx
mov qword [rsp + 0x2a8], rax
mov ecx, 0xfffd
cmp rdx, r8
mov dword [rsp + 0x2bc], ecx
mov qword [rsp + 0x2c0], rax
jg 0x14003dfee
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x368]
cmp rax, rcx
jl 0x14003cb25
mov rcx, qword [rsp + 0x2a8]
mov rdx, qword [rsp + 0x368]
movabs rax, 0xc84c16a1d3922486
movabs r8, 0x37b3e95e2c6ddb79
xor rax, r8
add rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov eax, dword [0x140201ff0]
mov ecx, 0xadf4e813
xor ecx, 0x3ec04df4
xor eax, ecx
mov edx, dword [0x140201ff4]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xe190f0cb
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xe190f0cb
or eax, 0xe190f0cb
imul eax, edx
add eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xed827482
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
xor eax, 0xefd58b89
cmp eax, 0x18fdf10c
jb 0x14003ffab
mov rdx, qword [rsp + 0x350]
mov r9, qword [rsp + 0x2a8]
mov cl, byte [rsp + 0x2cf]
mov eax, dword [0x140201ff8]
xor eax, 0xd6f253bf
mov r8d, dword [0x140201ffc]
xor r8d, 0xaeb9e7c5
imul eax, r8d
mov r8d, 0xf24ee72a
xor r8d, 0x2b4f959d
sub eax, r8d
and eax, 0xc383b41c
mov r8d, eax
and r8d, 0xbe99ce0d
shl r8d, 1
add eax, 0xbe99ce0d
sub eax, r8d
mov r8b, 0x65
xor r8b, 0x7a
and cl, r8b
movzx r8d, cl
mov ecx, 0x2e7e5bb5
xor ecx, 0x2e7e5bb3
shl r8d, cl
mov rcx, qword [rsp + 0x2d0]
mov r9b, byte [rdx + r9]
mov dl, r9b
xor dl, 0xff
xor r9b, 0xff
and dl, r9b
mov r9b, 0xff
xor r9b, 0x3f
mov r10b, 0x36
xor r10b, 9
mov r11b, 0x50
xor r11b, 0xaf
xor r10b, r11b
and r9b, r10b
or dl, r9b
mov r9b, 0x73
xor r9b, 0x8c
xor dl, r9b
movzx r9d, dl
mov edx, r8d
and edx, r9d
xor r8d, r9d
or edx, r8d
mov dword [rsp + 0x29c], edx
add rcx, 2
mov qword [rsp + 0x2a0], rcx
cmp eax, 0xd7b57553
je 0x14003ffab
mov rax, qword [rsp + 0x2a0]
mov ecx, dword [rsp + 0x29c]
mov dword [rsp + 0x2bc], ecx
mov qword [rsp + 0x2c0], rax
jmp 0x14003dfee
mov rax, qword [rsp + 0x2b0]
and rax, 0xf0
cmp rax, 0xe0
jne 0x14003cf78
mov al, byte [rsp + 0x327]
test al, 1
jne 0x14003ccda
jmp 0x14003cce4
call fcn.140007f57
jmp 0x14003ff8a
mov rdx, qword [rsp + 0x2d0]
mov r8, qword [rsp + 0x318]
movabs rcx, 0x437d5c0aafba2061
movabs rax, 0x437d5c0aafba2060
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rsp + 0x290], rax
mov ecx, 0xfffd
cmp rdx, r8
mov dword [rsp + 0x2bc], ecx
mov qword [rsp + 0x2c0], rax
jg 0x14003dfee
mov rax, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x368]
cmp rax, rcx
jl 0x14003cd6d
mov rcx, qword [rsp + 0x290]
mov rdx, qword [rsp + 0x368]
add rdx, 0xffffffffffffffff
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x368]
mov rax, qword [rsp + 0x2d0]
xor edx, edx
sub rdx, rax
movabs rax, 0x6b50c82c089d9405
movabs r8, 0x6b50c82c089d9405
xor rax, r8
movabs r8, 0x8131d60c8045ad6c
movabs r9, 0x8131d60c8045ad6e
xor r8, r9
sub rax, r8
add rdx, rax
movabs rax, 0x2307f2ad225a7f0
movabs r8, 0x2307f2ad225a7f0
xor rax, r8
sub rax, rdx
mov qword [rsp + 0x288], rax
cmp rax, rcx
jl 0x14003ce3d
mov rcx, qword [rsp + 0x288]
mov rdx, qword [rsp + 0x368]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r8, 0xdf813c51c33fcb00
movabs r9, 0xdf813c51c33fcb00
xor r8, r9
movabs r9, 0xaa2303de26b2a413
movabs r10, 0xaa2303de26b2a412
xor r9, r10
sub r8, r9
sub rax, r8
sub rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rax, qword [rsp + 0x2d0]
mov rdx, qword [rsp + 0x350]
mov r8, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x290]
mov r10b, byte [rsp + 0x2cf]
mov r9b, r10b
xor r9b, 0xff
mov r11b, 0xff
xor r11b, 0xf
or r9b, r11b
xor r10b, 0xff
mov r11b, 0xff
xor r11b, 0xf
or r10b, r11b
and r9b, r10b
mov r10b, 0x11
xor r10b, 0xee
xor r9b, r10b
movzx edi, r9b
shl edi, 0xc
mov r9b, byte [rdx + rcx]
mov cl, r9b
xor cl, 0xff
xor r9b, 0xff
and cl, r9b
mov r9b, 0xff
xor r9b, 0x3f
mov r10b, 0x2c
xor r10b, 0x13
mov r11b, 2
xor r11b, 0xfd
xor r10b, r11b
and r9b, r10b
or cl, r9b
xor cl, 0xff
movzx ebx, cl
shl ebx, 6
mov r9d, ebx
xor r9d, 0xffffffff
mov ecx, 0xfedf58f9
xor ecx, 0x120a706
mov r11d, edi
xor r11d, ecx
mov r10d, 0x8e20e4b1
xor r10d, 0xf2092f02
mov ecx, 0x601b9033
xor ecx, 0x9fe46fcc
xor r10d, ecx
mov ecx, r9d
and ecx, 0x7c29cbb3
and ebx, r10d
mov esi, r11d
and esi, 0x7c29cbb3
and edi, r10d
or ecx, ebx
or esi, edi
xor ecx, esi
or r9d, r11d
mov r11d, 0x1a0b475f
xor r11d, 0xe5f4b8a0
xor r9d, r11d
or r10d, 0x7c29cbb3
and r9d, r10d
or ecx, r9d
mov dl, byte [rdx + r8]
mov r9b, 0xab
xor r9b, 0xaa
mov r8b, dl
add r8b, r9b
xor dl, 0xff
or dl, 0x3f
add dl, r8b
movzx edx, dl
or ecx, edx
add rax, 3
mov dword [rsp + 0x2bc], ecx
mov qword [rsp + 0x2c0], rax
jmp 0x14003dfee
mov rax, qword [rsp + 0x2b0]
and rax, 0xf8
cmp rax, 0xf0
jne 0x14003d488
mov al, byte [rsp + 0x317]
test al, 1
jne 0x14003cfa6
jmp 0x14003cfb0
call fcn.140007f57
jmp 0x14003ff8a
mov rdx, qword [rsp + 0x2d0]
mov r8, qword [rsp + 0x308]
mov rcx, 0xffffffffffffffff
xor rcx, 1
xor eax, eax
sub rax, 1
sub rcx, rax
mov rax, rdx
sub rax, rcx
mov qword [rsp + 0x280], rax
mov ecx, 0xfffd
cmp rdx, r8
mov dword [rsp + 0x2bc], ecx
mov qword [rsp + 0x2c0], rax
jg 0x14003dfee
mov ecx, dword [0x140202000]
mov eax, dword [0x140202004]
xor eax, 0xffffffff
add ecx, eax
add ecx, 1
and ecx, 0xf51fdef7
mov eax, ecx
and eax, eax
mov edx, 0xcd217558
xor edx, 0x32de8aa7
xor eax, edx
and eax, 0xcc3ce37b
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xcc3ce37b
mov r8d, 0xffffffff
xor r8d, 0xcc3ce37b
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x5bf1df60
xor ecx, 0xa40e209f
xor eax, ecx
mov ecx, 0x3311182c
xor ecx, 0xd049f33e
xor edx, edx
div ecx
cmp eax, 0x4dfdf319
ja 0x14003ffb4
mov rcx, qword [rsp + 0x280]
mov eax, dword [0x140202008]
mov edx, 0x6563bd88
xor edx, 0xd74d3e09
xor eax, edx
xor edx, edx
div dword [0x14020200c]
mov rdx, qword [rsp + 0x368]
mov r8d, 0x800d6b19
xor r8d, 0xa7153bbe
xor eax, r8d
add eax, 0xdd0b6e1b
mov r8d, 0xc09f9990
xor r8d, 0xf38b4c1d
add eax, r8d
mov r8d, 0xebfb6dfa
xor r8d, 0x36f003e1
sub eax, r8d
mov r8d, 0x1d87fc2f
xor r8d, 0x4355b1c8
add eax, r8d
cmp rcx, rdx
setl cl
mov byte [rsp + 0x27f], cl
cmp eax, 0xfe0baf97
jae 0x14003d07b
mov al, byte [rsp + 0x27f]
test al, 1
jne 0x14003d14b
jmp 0x14003d117
mov rcx, qword [rsp + 0x280]
mov rdx, qword [rsp + 0x368]
movabs rax, 0xfdb2a221c132f39c
movabs r8, 0x24d5dde3ecd0c63
xor rax, r8
add rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x368]
mov rax, qword [rsp + 0x2d0]
movabs rdx, 0xbb0290cac60ff69c
movabs r8, 0xbb0290cac60ff69e
xor rdx, r8
movabs r8, 0xf716724baca7b69
movabs r9, 0xf08e98db45358496
xor r8, r9
xor rdx, r8
xor r8d, r8d
sub r8, 1
sub rdx, r8
sub rax, rdx
mov qword [rsp + 0x270], rax
cmp rax, rcx
jl 0x14003d1de
mov rcx, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x368]
movabs rax, 0x2d8e68f15b0dc76d
movabs r8, 0xd271970ea4f23892
xor rax, r8
add rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov eax, dword [0x140202010]
xor eax, dword [0x140202014]
mov edx, 0x1bf8da8b
xor edx, 0x1bf8da8a
mov ecx, eax
add ecx, edx
mov edx, 0xdff0a818
xor edx, 0x200f57e7
xor eax, edx
mov edx, 0xd78f91be
xor edx, 0x418427fb
or eax, edx
add eax, ecx
xor eax, 0x562f8599
or eax, 0xdaae4771
cmp eax, 0x53da0b75
jb 0x14003ffbd
mov r8, qword [rsp + 0x2d0]
mov ecx, dword [0x140202018]
mov eax, 0xb1f4209f
xor eax, 0xa1dda785
xor ecx, eax
mov edx, dword [0x14020201c]
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov r9d, 0x9015c92d
xor r9d, 0x6fea36d2
mov ecx, edx
xor ecx, r9d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, 0xb0273234
xor ecx, 0x4fd8cdcb
xor eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x940d20f2
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x940d20f2
mov r9d, 0x59b3f61f
xor r9d, 0xcdbed6ed
or eax, r9d
imul eax, edx
add eax, ecx
mov ecx, 0xb6b6a91e
xor edx, edx
div ecx
mov ecx, 0x376ad46c
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x368]
mov rcx, r8
and rcx, 3
movabs r9, 0x2b55bcba38d7d42d
movabs r10, 0x2b55bcba38d7d42e
xor r9, r10
or r8, r9
add rcx, r8
mov qword [rsp + 0x260], rcx
cmp rcx, rdx
setl cl
mov byte [rsp + 0x26f], cl
cmp eax, 0xf65329e4
jae 0x14003ffbd
mov al, byte [rsp + 0x26f]
test al, 1
jne 0x14003d344
jmp 0x14003d326
mov rcx, qword [rsp + 0x260]
mov rdx, qword [rsp + 0x368]
add rdx, 0xffffffffffffffff
call fcn.140014583
jmp 0x14003ff8a
mov rax, qword [rsp + 0x2d0]
mov rdx, qword [rsp + 0x350]
mov r8, qword [rsp + 0x260]
mov r9, qword [rsp + 0x270]
mov rcx, qword [rsp + 0x280]
mov r10b, byte [rsp + 0x2cf]
mov r11b, 0xaa
xor r11b, 0xad
and r10b, r11b
movzx r11d, r10b
shl r11d, 0x12
mov cl, byte [rdx + rcx]
and cl, 0x3f
movzx r10d, cl
mov ecx, 0xd442be5
xor ecx, 0xd442be9
shl r10d, cl
mov ecx, r10d
mov r10d, r11d
and r10d, ecx
xor r10d, 0xffffffff
add ecx, r11d
add ecx, 1
add ecx, r10d
mov r9b, byte [rdx + r9]
xor r9b, 0xff
mov r11b, 0xd8
xor r11b, 0xe7
mov r10b, 0xb0
xor r10b, 0x4f
xor r11b, r10b
mov r10b, 0xff
xor r10b, 0x1b
or r9b, r11b
or r10b, 0x1b
mov r11b, 0xae
xor r11b, 0x51
xor r9b, r11b
and r9b, r10b
movzx r10d, r9b
shl r10d, 6
and ecx, ecx
mov r9d, 0xc0cfe7e4
xor r9d, 0x3f30181b
xor ecx, r9d
mov r11d, 0xd705731b
xor r11d, 0x28fa8ce4
mov r9d, r10d
xor r9d, r11d
xor r10d, 0xffffffff
or r9d, r10d
mov r10d, 0xdc23003a
xor r10d, 0x23dcffc5
xor ecx, r10d
xor r9d, 0xffffffff
or ecx, r9d
mov r8b, byte [rdx + r8]
mov r9b, 0xff
xor r9b, 0x3f
mov dl, r8b
xor dl, r9b
and dl, r8b
movzx edx, dl
or ecx, edx
mov rdx, rax
and rdx, 4
shl rdx, 1
movabs r8, 0xead8db86bbf46296
movabs r9, 0xead8db86bbf46292
xor r8, r9
xor rax, r8
add rax, rdx
mov dword [rsp + 0x2bc], ecx
mov qword [rsp + 0x2c0], rax
jmp 0x14003dfee
mov rax, qword [rsp + 0x2b0]
and rax, 0xfc
movabs rcx, 0x9c501f7eef1dc052
movabs rdx, 0x9c501f7eef1dc0aa
xor rcx, rdx
cmp rax, rcx
jne 0x14003d986
mov al, byte [rsp + 0x307]
test al, 1
jne 0x14003d4ca
jmp 0x14003d4d4
call fcn.140007f57
jmp 0x14003ff8a
mov rdx, qword [rsp + 0x2d0]
mov r8, qword [rsp + 0x2f8]
mov rax, rdx
add rax, 1
mov qword [rsp + 0x258], rax
mov ecx, 0xfffd
cmp rdx, r8
mov dword [rsp + 0x2bc], ecx
mov qword [rsp + 0x2c0], rax
jg 0x14003dfee
mov rax, qword [rsp + 0x258]
mov rcx, qword [rsp + 0x368]
cmp rax, rcx
jl 0x14003d56b
mov rcx, qword [rsp + 0x258]
mov rdx, qword [rsp + 0x368]
movabs r8, 0x73b9a16086ff25ed
movabs rax, 0x8c465e9f7900da12
xor r8, rax
mov rax, rdx
and rax, r8
shl rax, 1
xor rdx, 0xffffffffffffffff
add rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x368]
mov rdx, qword [rsp + 0x2d0]
mov rax, rdx
and rax, 2
or rdx, 2
add rax, rdx
mov qword [rsp + 0x250], rax
cmp rax, rcx
jl 0x14003d5e8
mov rcx, qword [rsp + 0x250]
mov rdx, qword [rsp + 0x368]
movabs rax, 0xa9456ca911ba4538
sub rdx, rax
movabs rax, 0xae54faa01465e277
movabs r8, 0x51ab055feb9a1d88
xor rax, r8
add rdx, rax
movabs rax, 0xa9456ca911ba4538
add rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x368]
mov rdx, qword [rsp + 0x2d0]
mov rax, rdx
and rax, 3
or rdx, 3
add rax, rdx
mov qword [rsp + 0x248], rax
cmp rax, rcx
jl 0x14003d63a
mov rcx, qword [rsp + 0x248]
mov rdx, qword [rsp + 0x368]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov ecx, dword [0x140202020]
mov eax, dword [0x140202024]
mov edx, 0xad2bc73e
xor edx, 0x1fdff43b
xor eax, edx
add ecx, eax
mov edx, 0xffffffff
xor edx, 0x38a155df
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xe7944bcc
xor ecx, 0x85983163
xor edx, edx
div ecx
mov ecx, 0x7658cc2e
xor ecx, 0x7658cc2e
mov edx, 0x531611ff
xor edx, 0x26f9dfb6
sub ecx, edx
add eax, ecx
cmp eax, 0xe30ecdf1
jae 0x14003ffc6
mov r8, qword [rsp + 0x368]
mov eax, dword [0x140202028]
or eax, dword [0x14020202c]
mov ecx, 0x45adbc3e
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x2d0]
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xbceca0b1
or ecx, 0xbceca0b1
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov r9d, eax
xor r9d, 0x8211d1f4
xor r9d, 0xffffffff
and r9d, 0x8211d1f4
mov ecx, 0xdd5109c7
xor ecx, 0xdd5109c5
imul ecx, r9d
sub ecx, 0x8211d1f4
sub eax, ecx
mov ecx, 0x5d108f5f
xor ecx, 0x13f4092e
movabs r9, 0x39864faefbeb337b
sub rdx, r9
add rdx, 4
movabs r9, 0x39864faefbeb337b
add rdx, r9
mov qword [rsp + 0x238], rdx
cmp rdx, r8
setl dl
mov byte [rsp + 0x247], dl
cmp eax, ecx
je 0x14003d69a
mov al, byte [rsp + 0x247]
test al, 1
jne 0x14003d791
jmp 0x14003d75d
mov rcx, qword [rsp + 0x238]
mov rdx, qword [rsp + 0x368]
movabs rax, 0xcfa4c8b9f755e3f1
movabs r8, 0x305b374608aa1c0e
xor rax, r8
add rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rax, qword [rsp + 0x2d0]
mov rcx, qword [rsp + 0x350]
mov rdx, qword [rsp + 0x238]
mov r8, qword [rsp + 0x248]
mov r10, qword [rsp + 0x250]
mov r9, qword [rsp + 0x258]
mov r11b, byte [rsp + 0x2cf]
and r11b, 3
movzx ebp, r11b
shl ebp, 0x18
mov r11b, byte [rcx + r9]
mov bl, 0xff
xor bl, 0x3f
mov r9b, r11b
xor r9b, bl
and r9b, r11b
movzx r14d, r9b
shl r14d, 0x12
mov r11d, r14d
xor r11d, 0xffffffff
mov r9d, 0x6962433e
xor r9d, 0x969dbcc1
mov edi, ebp
xor edi, r9d
mov esi, 0xffffffff
xor esi, 0x80beebb6
mov r9d, r11d
and r9d, 0x80beebb6
and r14d, esi
mov r15d, 0x10c2cebf
xor r15d, 0x907c2509
mov ebx, edi
and ebx, r15d
and ebp, esi
or r9d, r14d
or ebx, ebp
xor r9d, ebx
or r11d, edi
xor r11d, 0xffffffff
or esi, 0x80beebb6
and r11d, esi
or r9d, r11d
mov cl, byte [rcx + r10]
and cl, 0x3f
movzx r10d, cl
mov ecx, 0x4e18b59
xor ecx, 0x4e18b55
shl r10d, cl
mov rcx, qword [rsp + 0x350]
mov r11d, 0x47bfd55
xor r11d, 0xfb8402aa
mov esi, r9d
xor esi, r11d
mov r11d, r10d
xor r11d, 0xffffffff
and esi, r11d
xor r9d, 0xffffffff
mov r11d, 0x1fc35584
xor r11d, 0xe03caa7b
xor r10d, r11d
and r9d, r10d
mov r10d, 0x66499d1f
xor r10d, 0x99b662e0
xor esi, r10d
xor r9d, 0xffffffff
and esi, r9d
mov r8b, byte [rcx + r8]
mov r9b, 0xaf
xor r9b, 0x50
mov cl, r8b
xor cl, r9b
xor r8b, 0xff
and cl, r8b
mov r8b, 0x3f
or r8b, 0x3f
xor r8b, 0xff
or cl, r8b
xor cl, 0xff
movzx r8d, cl
mov ecx, 0x4e2e9494
xor ecx, 0x4e2e9492
shl r8d, cl
mov rcx, qword [rsp + 0x350]
or esi, r8d
mov cl, byte [rcx + rdx]
mov dl, 0x10
xor dl, 0x2f
and cl, dl
movzx r11d, cl
mov edx, esi
xor edx, 0xffffffff
mov r8d, r11d
xor r8d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x952f3e9f
mov ecx, edx
and ecx, 0x952f3e9f
and esi, r9d
mov edi, 0x32fca9c1
xor edi, 0xa7d3975e
mov r10d, r8d
and r10d, edi
and r11d, r9d
or ecx, esi
or r10d, r11d
xor ecx, r10d
or edx, r8d
xor edx, 0xffffffff
mov r8d, 0x900a2a1e
xor r8d, 0x5251481
or r8d, r9d
and edx, r8d
or ecx, edx
xor edx, edx
sub rdx, 5
sub rax, rdx
mov dword [rsp + 0x2bc], ecx
mov qword [rsp + 0x2c0], rax
jmp 0x14003dfee
mov rax, qword [rsp + 0x2b0]
and rax, 0xfe
cmp rax, 0xfc
jne 0x14003dfc9
mov al, byte [rsp + 0x2f7]
test al, 1
jne 0x14003d9b4
jmp 0x14003da90
mov eax, dword [0x140202030]
mov ecx, 0xf1ca25de
xor ecx, 0xee1b78fa
xor eax, ecx
xor edx, edx
div dword [0x140202034]
and eax, 0xce8da138
mov ecx, 0xe58f5572
xor ecx, 0x2e3482ba
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x9aa9666a
mov r8d, 0xffffffff
xor r8d, 0x9aa9666a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x9aa9666a
or eax, 0x9aa9666a
imul eax, edx
add eax, ecx
cmp eax, 0xdaed3e62
ja 0x14003ffcf
mov eax, dword [0x140202038]
xor eax, 0xa298f62d
sub eax, dword [0x14020203c]
mov ecx, 0x4694fe8a
xor ecx, 0xa0b8aefc
sub eax, ecx
mov ecx, 0x923519d8
xor ecx, 0xc294641f
and eax, ecx
mov ecx, 0x3408d562
xor ecx, 0x1ee9d34c
sub eax, ecx
mov dword [rsp + 0x234], eax
mov eax, 0x25ec7a2a
xor eax, 0xb58fa798
mov dword [rsp + 0x230], eax
call fcn.140007f57
mov ecx, dword [rsp + 0x230]
mov eax, dword [rsp + 0x234]
cmp eax, ecx
jb 0x14003ffcf
jmp 0x14003ff8a
mov rdx, qword [rsp + 0x2d0]
mov r8, qword [rsp + 0x2e8]
movabs rcx, 0x8566bf0326ee6719
movabs rax, 0x8566bf0326ee6718
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rsp + 0x228], rax
mov ecx, 0xfffd
cmp rdx, r8
mov dword [rsp + 0x2bc], ecx
mov qword [rsp + 0x2c0], rax
jg 0x14003dfee
mov rax, qword [rsp + 0x228]
mov rcx, qword [rsp + 0x368]
cmp rax, rcx
jl 0x14003dc22
mov ecx, dword [0x140202040]
mov edx, dword [0x140202044]
xor edx, 0x877c4e2
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, 0x5ebe7a07
xor edx, edx
div ecx
and eax, 0xd9818b7f
mov edx, eax
and edx, 0x8d3c3121
mov ecx, 0x34ee4aa1
xor ecx, 0x34ee4aa3
imul ecx, edx
add eax, 0x8d3c3121
sub eax, ecx
cmp eax, 0x11a356ed
jbe 0x14003ffd8
mov rcx, qword [rsp + 0x228]
mov rdx, qword [rsp + 0x368]
mov eax, dword [0x140202048]
mov r8d, dword [0x14020204c]
xor r8d, 0xa8ed4ee8
add eax, 0xd7b6091b
sub eax, r8d
sub eax, 0xd7b6091b
mov r8d, eax
and r8d, 0x5dec1588
shl r8d, 1
mov r9d, 0xd9299dad
xor r9d, 0x84c58825
xor eax, r9d
add eax, r8d
mov r8d, eax
and r8d, 0x59369159
xor r8d, 0xffffffff
mov r9d, 0x6a998ee9
xor r9d, 0x33af1fb0
add eax, r9d
add eax, 1
add eax, r8d
mov r8d, 0x341f50a8
xor r8d, 0x341f50a8
mov r9d, 0x159452b2
xor r9d, 0x68fea870
sub r8d, r9d
sub eax, r8d
mov dword [rsp + 0x224], eax
mov eax, 0x2c2b70b7
xor eax, 0xcd985394
mov dword [rsp + 0x220], eax
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
call fcn.140014583
mov ecx, dword [rsp + 0x220]
mov eax, dword [rsp + 0x224]
cmp eax, ecx
jae 0x14003ffd8
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x368]
mov rax, qword [rsp + 0x2d0]
movabs rdx, 0x9a0dd5b3c417c28
movabs r8, 0xe168b2a1e8c7b9e9
xor rdx, r8
sub rax, rdx
add rax, 2
movabs rdx, 0xf4cd149b27e156c7
movabs r8, 0x1c057b61f3679306
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x218], rax
cmp rax, rcx
jl 0x14003dcc0
mov rcx, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x368]
movabs rax, 0x6278c9908f4326d1
movabs r8, 0x94f1f97b3e1c1910
xor rax, r8
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xf68930ebb15f3fc1
sub rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x368]
mov rax, qword [rsp + 0x2d0]
movabs rdx, 0x3afc74e22ec3195d
sub rax, rdx
add rax, 3
movabs rdx, 0x3afc74e22ec3195d
add rax, rdx
mov qword [rsp + 0x210], rax
cmp rax, rcx
jl 0x14003dd41
mov rcx, qword [rsp + 0x210]
mov rdx, qword [rsp + 0x368]
movabs r8, 0xc976cde433ecef8c
movabs rax, 0x3689321bcc131073
xor r8, rax
mov rax, rdx
and rax, r8
shl rax, 1
xor rdx, 0xffffffffffffffff
add rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x368]
mov rax, qword [rsp + 0x2d0]
movabs rdx, 0x20a0022c07f42703
add rax, rdx
add rax, 4
movabs rdx, 0x712ef0f647a1ca83
movabs r8, 0x518ef2da4055ed80
xor rdx, r8
sub rax, rdx
mov qword [rsp + 0x208], rax
cmp rax, rcx
jl 0x14003ddc1
mov rcx, qword [rsp + 0x208]
mov rdx, qword [rsp + 0x368]
movabs rax, 0xf546b2b3108e4760
movabs r8, 0xab94d4cef71b89f
xor rax, r8
add rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x368]
mov rax, qword [rsp + 0x2d0]
mov rdx, 0xffffffffffffffff
xor rdx, 5
xor r8d, r8d
sub r8, 1
sub rdx, r8
sub rax, rdx
mov qword [rsp + 0x200], rax
cmp rax, rcx
jl 0x14003de26
mov rcx, qword [rsp + 0x200]
mov rdx, qword [rsp + 0x368]
mov rax, rdx
and rax, 0xffffffffffffffff
shl rax, 1
xor rdx, 0xffffffffffffffff
add rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rax, qword [rsp + 0x2d0]
mov rcx, qword [rsp + 0x350]
mov rdx, qword [rsp + 0x200]
mov r8, qword [rsp + 0x228]
mov r9b, byte [rsp + 0x2cf]
mov r10b, r9b
not r10b
or r10b, 1
add r9b, r10b
inc r9b
movzx esi, r9b
shl esi, 0x1e
movd xmm1, dword [rcx + r8]
movaps xmm0, xmmword [str.____]
pand xmm1, xmm0
xorps xmm0, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
movaps xmm2, xmmword [0x14020f580]
movaps xmm0, xmm1
pmuludq xmm0, xmm2
pshufd xmm0, xmm0, 0xe8
pshufd xmm1, xmm1, 0xf5
movaps xmm2, xmmword [0x14020f590]
pmuludq xmm1, xmm2
pshufd xmm1, xmm1, 0xe8
punpckldq xmm0, xmm1
movzx r8d, byte [rcx + rdx]
and r8d, 0x3f
pshufd xmm1, xmm0, 0xee
por xmm0, xmm1
pshufd xmm1, xmm0, 0x55
por xmm0, xmm1
movd edi, xmm0
mov edx, edi
xor edx, 0xffffffff
mov ecx, 0x25d9e7d8
xor ecx, 0xda261827
mov r9d, esi
xor r9d, ecx
mov r10d, 0x3ae80cde
xor r10d, 0xbc14c368
mov ecx, 0x9d0504ae
xor ecx, 0x62fafb51
xor r10d, ecx
mov ecx, edx
and ecx, 0x86fccfb6
and edi, r10d
mov r11d, r9d
and r11d, 0x86fccfb6
and esi, r10d
or ecx, edi
or r11d, esi
xor ecx, r11d
or edx, r9d
xor edx, 0xffffffff
mov r9d, 0x64930f24
xor r9d, 0xe26fc092
or r9d, r10d
and edx, r9d
or ecx, edx
mov edx, r8d
and edx, ecx
mov r9d, 0xee3ad196
xor r9d, 0x11c52e69
xor edx, r9d
add ecx, r8d
mov r8d, 0xef64f17e
xor r8d, 0xef64f17f
add ecx, r8d
add ecx, edx
movabs rdx, 0xd38fe70d5ab319fd
movabs r8, 0xd38fe70d5ab319fd
xor rdx, r8
sub rdx, rax
movabs rax, 0x4ef902d909299be0
movabs r8, 0x4ef902d909299be0
xor rax, r8
movabs r8, 0x793da6b20fa28553
movabs r9, 0x793da6b20fa28555
xor r8, r9
sub rax, r8
add rdx, rax
xor eax, eax
sub rax, rdx
mov dword [rsp + 0x2bc], ecx
mov qword [rsp + 0x2c0], rax
jmp 0x14003dfee
mov rax, qword [rsp + 0x2d0]
mov cl, byte [rsp + 0x2cf]
movzx ecx, cl
add rax, 1
mov dword [rsp + 0x2bc], ecx
mov qword [rsp + 0x2c0], rax
mov ecx, dword [rsp + 0x2bc]
mov rax, qword [rsp + 0x2c0]
mov qword [rsp + 0x1f0], rax
call fcn.14003b630
mov ecx, eax
mov rax, qword [rsp + 0x370]
mov dword [rsp + 0x1fc], ecx
cmp byte [rax], 0
jne 0x14003ff8a
mov eax, dword [rsp + 0x1fc]
cmp eax, 0x80
jae 0x14003e1ca
mov rax, qword [rsp + 0x2d8]
mov rcx, rax
and rcx, 1
mov rdx, rax
or rdx, 1
add rcx, rdx
mov qword [rsp + 0x1e8], rcx
movabs r8, 0xfc1c2d6c9091302f
movabs rdx, 0x3e3d2936f6ecfd0
xor r8, rdx
mov rdx, rax
xor rdx, r8
mov r8, rax
xor r8, 0xffffffffffffffff
or rdx, r8
and rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rax, r8
xor rax, 0xffffffffffffffff
and rdx, rax
xor rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x14003e0c4
call fcn.140007f57
jmp 0x14003ff8a
mov rax, qword [rsp + 0x1e8]
cmp rax, 0
jge 0x14003e0f6
mov rcx, qword [rsp + 0x1e8]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000dc65
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
mov rdx, qword [rsp + 0x1e8]
call fcn.140016100
mov rdx, qword [rsp + 0x358]
mov rcx, qword [rsp + 0x2d8]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x1e0], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14003e18a
mov rcx, qword [rsp + 0x2d8]
mov rdx, qword [rsp + 0x1e0]
movabs rax, 0x30f0401b2c4e24ea
add rdx, rax
movabs rax, 0xac7169087210c2ea
movabs r8, 0x538e96f78def3d15
xor rax, r8
add rdx, rax
movabs rax, 0x30f0401b2c4e24ea
sub rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
call fcn.140040020
mov ecx, dword [rsp + 0x1fc]
mov rdx, qword [rsp + 0x2d8]
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x1c8], rdx
mov byte [rsp + 0x1d7], cl
mov qword [rsp + 0x1d8], rax
jmp 0x14003ff45
mov eax, dword [rsp + 0x1fc]
cmp eax, 0x800
jae 0x14003e4ed
mov rdx, qword [rsp + 0x2d8]
xor eax, eax
mov ecx, eax
sub rcx, 2
mov rax, rdx
sub rax, rcx
mov qword [rsp + 0x1c0], rax
mov rcx, rdx
and rcx, 0xffffffffffffffff
shl rcx, 1
add rdx, 0xffffffffffffffff
sub rdx, rcx
movabs r8, 0x2333ea25b2c61983
movabs rcx, 0x2333ea25b2c61982
xor r8, rcx
mov rcx, rax
add rcx, r8
movabs r8, 0xe3ad5176b7bb48ee
movabs r9, 0x1c52ae894844b711
xor r8, r9
xor rax, r8
or rax, rdx
add rax, rcx
cmp rax, 0
jge 0x14003e25d
call fcn.140007f57
jmp 0x14003ff8a
mov rax, qword [rsp + 0x1c0]
cmp rax, 0
jge 0x14003e28f
mov rcx, qword [rsp + 0x1c0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000dc65
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
mov rdx, qword [rsp + 0x1c0]
call fcn.140016100
mov rdx, qword [rsp + 0x358]
mov rcx, qword [rsp + 0x2d8]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x1b8], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14003e30d
mov rcx, qword [rsp + 0x2d8]
mov rdx, qword [rsp + 0x1b8]
movabs rax, 0x635f2e3ae790fa91
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x635f2e3ae790fa91
sub rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov eax, dword [0x140202050]
mov r8d, dword [0x140202054]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
add eax, 0x953232de
sub eax, 0x948ecafa
sub eax, 0x953232de
sub eax, 0x4dfba328
or eax, 0x4ac3373f
cmp eax, 0x32721aeb
jb 0x14003ffe1
mov rcx, qword [rsp + 0x358]
mov eax, dword [0x140202058]
xor edx, edx
div dword [0x14020205c]
mov r9d, 0xffffffff
xor r9d, 0xa5b217bc
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0xa5b217bc
or eax, 0xa5b217bc
imul eax, r8d
add eax, edx
mov r8d, 0x554d75a9
xor r8d, 0x512cfafe
mov edx, eax
xor edx, r8d
mov r8d, 0x83f0a42c
xor r8d, 0x87912b7b
mov r9d, 0x609b003a
xor r9d, 0x9f64ffc5
xor r8d, r9d
and eax, r8d
shl eax, 1
sub eax, edx
xor eax, 0xf4255af0
mov dword [rsp + 0x19c], eax
call fcn.140040020
mov r9d, dword [rsp + 0x1fc]
mov r8, qword [rsp + 0x338]
mov rcx, qword [rsp + 0x2d8]
mov rdx, qword [rsp + 0x358]
mov eax, dword [rsp + 0x19c]
shr r9d, 6
mov r10b, r9b
mov r9b, r10b
and r9b, 0xc0
xor r10b, 0xc0
or r9b, r10b
mov r8, qword [r8]
mov byte [r8 + rcx + 8], r9b
add rcx, 1
mov qword [rsp + 0x1a0], rcx
mov rdx, qword [rdx]
mov qword [rsp + 0x1a8], rdx
cmp rcx, rdx
setl cl
mov byte [rsp + 0x1b7], cl
cmp eax, 0x19671eee
je 0x14003e362
mov al, byte [rsp + 0x1b7]
test al, 1
jne 0x14003e499
jmp 0x14003e47b
mov rcx, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x1a8]
add rdx, 0xffffffffffffffff
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
call fcn.140040020
mov ecx, dword [rsp + 0x1fc]
mov rdx, qword [rsp + 0x1a0]
mov rax, qword [rsp + 0x1c0]
mov r8b, 0x2d
xor r8b, 0x12
and cl, r8b
mov r8b, 3
xor r8b, 0x83
or cl, r8b
mov qword [rsp + 0x1c8], rdx
mov byte [rsp + 0x1d7], cl
mov qword [rsp + 0x1d8], rax
jmp 0x14003ff45
mov eax, dword [rsp + 0x1fc]
mov ecx, 0xc19dc56c
xor ecx, 0xc19cc56c
cmp eax, ecx
jae 0x14003e873
mov rdx, qword [rsp + 0x2d8]
mov rax, rdx
add rax, 3
mov qword [rsp + 0x190], rax
mov r8, rdx
xor r8, 0xffffffffffffffff
movabs rcx, 0x139383abbb803d9c
movabs r9, 0xec6c7c54447fc263
xor rcx, r9
and rcx, r8
movabs r8, 0xbccf1dd960cb871b
movabs r9, 0x4330e2269f3478e4
xor r8, r9
movabs r9, 0x114315665dcc7390
movabs r10, 0xeebcea99a2338c6f
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14003e58d
call fcn.140007f57
jmp 0x14003ff8a
mov rax, qword [rsp + 0x190]
cmp rax, 0
jge 0x14003e5bf
mov rcx, qword [rsp + 0x190]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000dc65
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
mov rdx, qword [rsp + 0x190]
call fcn.140016100
mov rdx, qword [rsp + 0x358]
mov rcx, qword [rsp + 0x2d8]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x188], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14003e65d
mov rcx, qword [rsp + 0x2d8]
mov rdx, qword [rsp + 0x188]
movabs rax, 0x22ff72396bbee458
movabs r8, 0xdd008dc694411ba7
xor rax, r8
movabs r8, 0x367a49c405b4a099
movabs r9, 0xc985b63bfa4b5f66
xor r8, r9
xor rax, r8
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
call fcn.140040020
mov r8d, dword [rsp + 0x1fc]
mov rdx, qword [rsp + 0x338]
mov rax, qword [rsp + 0x2d8]
mov ecx, 0xa3a66325
xor ecx, 0xa3a66329
shr r8d, cl
mov rcx, qword [rsp + 0x358]
or r8b, 0xe0
mov rdx, qword [rdx]
mov byte [rdx + rax + 8], r8b
movabs rdx, 0x3a5d951d4a9e1aa7
movabs r8, 0x3a5d951d4a9e1aa6
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x178], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x180], rcx
cmp rax, rcx
jl 0x14003e702
mov rcx, qword [rsp + 0x178]
mov rax, qword [rsp + 0x180]
mov rdx, rax
and rdx, 0xffffffffffffffff
or rax, 0xffffffffffffffff
add rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
call fcn.140040020
mov r9d, dword [rsp + 0x1fc]
mov rdx, qword [rsp + 0x338]
mov r8, qword [rsp + 0x178]
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x358]
shr r9d, 6
and r9b, 0x3f
or r9b, 0x80
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
movabs rdx, 0x5dd429ea7702df54
add rax, rdx
add rax, 2
movabs rdx, 0x5dd429ea7702df54
sub rax, rdx
mov qword [rsp + 0x168], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x170], rcx
cmp rax, rcx
jl 0x14003e7b9
mov rcx, qword [rsp + 0x168]
mov rdx, qword [rsp + 0x170]
movabs rax, 0x2aa919f07b8c84bc
movabs r8, 0xd556e60f84737b43
xor rax, r8
add rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
call fcn.140040020
mov ecx, dword [rsp + 0x1fc]
mov rdx, qword [rsp + 0x168]
mov rax, qword [rsp + 0x190]
mov sil, cl
or sil, sil
mov cl, 0xc0
xor cl, 0x3f
xor sil, cl
mov cl, 0xb6
xor cl, 0x89
mov r8b, 0xa1
xor r8b, 0x9e
or cl, r8b
mov r8b, 0x29
xor r8b, 0xd6
xor cl, r8b
or sil, cl
xor sil, 0xff
mov r8b, sil
xor r8b, 0xff
mov r10b, 0xff
xor r10b, 0x80
mov r9b, 0xff
xor r9b, 0xdd
mov r11b, 0xcd
xor r11b, 0x10
mov cl, r8b
and cl, r11b
and sil, r9b
mov r11b, r10b
and r11b, 0xdd
mov bl, r9b
and bl, 0x80
or cl, sil
or r11b, bl
xor cl, r11b
or r8b, r10b
xor r8b, 0xff
or r9b, 0xdd
and r8b, r9b
or cl, r8b
mov qword [rsp + 0x1c8], rdx
mov byte [rsp + 0x1d7], cl
mov qword [rsp + 0x1d8], rax
jmp 0x14003ff45
mov eax, dword [rsp + 0x1fc]
mov ecx, 0x4c6a806b
xor ecx, 0x4c4a806b
cmp eax, ecx
jae 0x14003eeee
mov rdx, qword [rsp + 0x2d8]
movabs rax, 0x1e411c3ae146cd5b
mov rcx, rdx
add rcx, rax
add rcx, 4
movabs rax, 0x1e411c3ae146cd5b
sub rcx, rax
mov qword [rsp + 0x160], rcx
movabs rax, 0x4ddf60ad1aebe83f
movabs r8, 0xb2209f52e51417c0
xor rax, r8
xor rdx, rax
movabs r8, 0x96317fce1a00b241
movabs rax, 0x69ce8031e5ff4dbe
xor r8, rax
mov rax, rcx
xor rax, r8
movabs r8, 0xeaabb9833363a6ae
movabs r9, 0x1554467ccc9c5951
xor r8, r9
xor rcx, r8
and rax, rcx
movabs r8, 0xa06bfb5b6c3cca46
movabs rcx, 0x5f9404a493c335b9
xor r8, rcx
mov rcx, rdx
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x14003e955
call fcn.140007f57
jmp 0x14003ff8a
mov rax, qword [rsp + 0x160]
cmp rax, 0
jge 0x14003e987
mov rcx, qword [rsp + 0x160]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000dc65
jmp 0x14003ff8a
mov eax, dword [0x140202060]
add eax, dword [0x140202064]
add eax, 0x249e1e7e
mov ecx, 0x1810e123
xor ecx, 0x313247be
or eax, ecx
mov ecx, 0x928b5d37
xor ecx, 0x6d74a2c8
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xc6b49208
mov edx, 0xffffffff
xor edx, 0xa4d3a4f1
or eax, ecx
mov ecx, 0xbe09af24
xor ecx, 0x1ada0bd5
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0xd1787c0e
ja 0x14003ffea
mov rcx, qword [rsp + 0x358]
mov rdx, qword [rsp + 0x160]
mov eax, dword [0x140202068]
xor eax, 0x301f4069
mov r8d, dword [0x14020206c]
sub eax, r8d
add eax, 0x99f7c8e1
mov r8d, eax
not r8d
mov r9d, eax
and r9d, 0x98a39c6c
and r8d, 0x675c6393
imul r8d, r9d
mov r9d, eax
and r9d, 0x675c6393
or eax, 0x675c6393
imul eax, r9d
add eax, r8d
mov r9d, eax
not r9d
or r9d, 0x1e16a7ba
mov r8d, eax
mov eax, r9d
lea eax, [rax + r8 + 1]
mov dword [rsp + 0x14c], eax
call fcn.140016100
mov r8, qword [rsp + 0x358]
mov rdx, qword [rsp + 0x2d8]
mov eax, dword [rsp + 0x14c]
test rdx, rdx
setns cl
mov r8, qword [r8]
mov qword [rsp + 0x150], r8
sub rdx, r8
setl dl
and cl, dl
mov byte [rsp + 0x15f], cl
cmp eax, 0x579a636d
jae 0x14003ffea
mov al, byte [rsp + 0x15f]
test al, 1
jne 0x14003eaf0
jmp 0x14003eabc
mov rcx, qword [rsp + 0x2d8]
mov rdx, qword [rsp + 0x150]
movabs rax, 0xc41500eae282db98
movabs r8, 0x3beaff151d7d2467
xor rax, r8
add rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
call fcn.140040020
mov r8d, dword [rsp + 0x1fc]
mov rdx, qword [rsp + 0x338]
mov rax, qword [rsp + 0x2d8]
mov ecx, 0x921be6b7
xor ecx, 0x921be6a5
shr r8d, cl
mov rcx, qword [rsp + 0x358]
or r8b, 0xf0
mov rdx, qword [rdx]
mov byte [rdx + rax + 8], r8b
movabs rdx, 0xcec87bc704ac328f
movabs r8, 0xcec87bc704ac328f
xor rdx, r8
sub rdx, rax
xor eax, eax
sub rax, 1
add rdx, rax
xor eax, eax
sub rax, rdx
mov qword [rsp + 0x138], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x140], rcx
cmp rax, rcx
jl 0x14003eb99
mov rcx, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x140]
add rdx, 0xffffffffffffffff
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
call fcn.140040020
mov r9d, dword [rsp + 0x1fc]
mov rdx, qword [rsp + 0x338]
mov r8, qword [rsp + 0x138]
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x358]
shr r9d, 0xc
mov r10b, r9b
add r10b, 1
xor r9b, 0xff
or r9b, 0x3f
add r9b, r10b
or r9b, 0x80
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
xor edx, edx
sub rdx, 2
sub rax, rdx
mov qword [rsp + 0x128], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x130], rcx
cmp rax, rcx
jl 0x14003ec5a
mov rcx, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x130]
movabs rax, 0xa1c84c740cfd524f
movabs r8, 0xfd53c7c0ae67bdb6
xor rax, r8
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x5c9b8bb4a29aeff9
add rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
call fcn.140040020
mov r9d, dword [rsp + 0x1fc]
mov rdx, qword [rsp + 0x338]
mov r8, qword [rsp + 0x128]
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x358]
shr r9d, 6
mov r10b, r9b
mov r9b, r10b
xor r9b, 0xff
mov r11b, 0xff
xor r11b, 0x3f
or r9b, r11b
mov r11b, 0x40
xor r11b, 0x7f
and r10b, r11b
mov r11b, 0xb4
xor r11b, 0x4b
xor r10b, r11b
xor r9b, 0xff
xor r10b, 0xff
or r9b, r10b
mov r10b, 0xe0
xor r10b, 0x60
and r10b, r9b
xor r10b, 0xff
add r9b, 0x80
add r9b, 1
add r9b, r10b
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
xor edx, edx
sub rdx, 3
sub rax, rdx
mov qword [rsp + 0x118], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x120], rcx
cmp rax, rcx
jl 0x14003ed2f
mov rcx, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x120]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov eax, dword [0x140202070]
mov r8d, dword [0x140202074]
mov ecx, 0xf43b1ffb
xor ecx, 0x3a4f9d41
xor r8d, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0x4fd8aa0c
mov edx, 0xffffffff
xor edx, 0xcf58275f
mov ecx, eax
and ecx, edx
mov r8d, 0xf7e2e5b0
xor r8d, 0x38bac2ef
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0x51b4a434
xor ecx, 0xa187e6ba
sub eax, ecx
cmp eax, 0x6ad3b430
jb 0x14003fff3
mov rcx, qword [rsp + 0x358]
mov eax, dword [0x140202078]
mov edx, dword [0x14020207c]
xor edx, 0xe47480fa
xor eax, edx
mov r8d, 0x3a9d519e
xor r8d, 0x329fa504
xor edx, edx
div r8d
mov r8d, 0x669b86cd
xor r8d, 0x710085de
mov edx, eax
xor edx, r8d
mov r8d, 0x3cb6737
xor r8d, 0x14506424
mov r9d, 0x34b7b566
xor r9d, 0xcb484a99
xor r8d, r9d
and eax, r8d
shl eax, 1
sub eax, edx
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, 0x62bce8af
add eax, edx
mov dword [rsp + 0x110], eax
call fcn.140040020
mov ecx, dword [rsp + 0x1fc]
mov eax, dword [rsp + 0x110]
mov bl, cl
mov cl, bl
add cl, 1
xor bl, 0xff
mov dl, 0x3a
xor dl, 5
or bl, dl
add bl, cl
mov dl, bl
xor dl, 0xff
mov r9b, 0xff
xor r9b, 0x80
mov r8b, 0x4d
xor r8b, 0xcf
mov cl, 0xfb
xor cl, 4
xor r8b, cl
mov r10b, 0x47
xor r10b, 0xc5
mov cl, dl
and cl, r10b
and bl, r8b
mov r11b, 0xfa
xor r11b, 0x78
mov r10b, r9b
and r10b, r11b
mov r11b, 0x15
xor r11b, 0x95
and r11b, r8b
or cl, bl
or r10b, r11b
xor cl, r10b
or dl, r9b
xor dl, 0xff
or r8b, 0x82
and dl, r8b
or cl, dl
mov byte [rsp + 0x117], cl
cmp eax, 0xcc692f4d
ja 0x14003edb0
mov rax, qword [rsp + 0x160]
mov cl, byte [rsp + 0x117]
mov rdx, qword [rsp + 0x118]
mov qword [rsp + 0x1c8], rdx
mov byte [rsp + 0x1d7], cl
mov qword [rsp + 0x1d8], rax
jmp 0x14003ff45
mov eax, dword [rsp + 0x1fc]
cmp eax, 0x4000000
jae 0x14003f811
mov rdx, qword [rsp + 0x2d8]
mov rax, rdx
add rax, 5
mov qword [rsp + 0x108], rax
mov rcx, rdx
or rcx, rcx
movabs r8, 0xbcdc62b4d5850ff
movabs r9, 0xf43239d4b2a7af00
xor r8, r9
xor rcx, r8
movabs r8, 0x8da318a3408c75a5
movabs r9, 0x725ce75cbf738a5a
xor r8, r9
movabs r9, 0x679099ce89bebcc1
movabs r10, 0x986f66317641433e
xor r9, r10
or r8, r9
xor r8, 0xffffffffffffffff
movabs r9, 0xe2477cf7a1c73a45
movabs r10, 0x1db883085e38c5ba
xor r9, r10
xor rcx, r9
xor r8, 0xffffffffffffffff
and rcx, r8
movabs r8, 0x99b0de9ba4b185fd
movabs r9, 0x664f21645b4e7a02
xor r8, r9
or rdx, r8
movabs r8, 0xaa14d9f4c45c04c
movabs r9, 0xf55eb260b3ba3fb3
xor r8, r9
xor rdx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0x9d806a1c297a1b64
movabs r9, 0x627f95e3d685e49b
xor r8, r9
xor rdx, r8
and rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14003eff9
call fcn.140007f57
jmp 0x14003ff8a
mov rax, qword [rsp + 0x108]
cmp rax, 0
jge 0x14003f02b
mov rcx, qword [rsp + 0x108]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000dc65
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
mov rdx, qword [rsp + 0x108]
call fcn.140016100
mov rdx, qword [rsp + 0x358]
mov rcx, qword [rsp + 0x2d8]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x100], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14003f0a3
mov rcx, qword [rsp + 0x2d8]
mov rdx, qword [rsp + 0x100]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor r8d, r8d
sub r8, 1
sub rax, r8
sub rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
call fcn.140040020
mov r8d, dword [rsp + 0x1fc]
mov rdx, qword [rsp + 0x338]
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x358]
shr r8d, 0x18
mov r9b, 0x6c
xor r9b, 0x94
or r8b, r9b
mov rdx, qword [rdx]
mov byte [rdx + rax + 8], r8b
add rax, 1
mov qword [rsp + 0xf0], rax
mov rcx, qword [rcx]
mov qword [rsp + 0xf8], rcx
cmp rax, rcx
jl 0x14003f129
mov rcx, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0xf8]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov eax, dword [0x140202080]
mov ecx, dword [0x140202084]
xor ecx, 0x1c8cc8b9
xor edx, edx
div ecx
mov ecx, 0x13f5342e
xor edx, edx
div ecx
mov ecx, 0xf86617a7
xor ecx, 0xf86617a7
mov edx, 0x99490778
xor edx, 0xcca8044
sub ecx, edx
add eax, ecx
mov ecx, eax
add ecx, 1
mov edx, 0xd69f6ee3
xor edx, 0x2960911c
xor eax, edx
or eax, 0xdd12e1df
add eax, ecx
mov ecx, 0x40d9adb9
xor ecx, 0x3f76a132
cmp eax, ecx
je 0x14003fffc
mov rcx, qword [rsp + 0x358]
mov eax, dword [0x140202088]
sub eax, dword [0x14020208c]
mov edx, eax
and edx, 0x23ca68fa
xor edx, 0xffffffff
mov r8d, 0xbf595db8
xor r8d, 0x9c933542
add eax, r8d
mov r8d, 0xf6282b3c
xor r8d, 0xf6282b3d
add eax, r8d
add eax, edx
mov r8d, 0x8561a995
xor r8d, 0x73e7735d
xor edx, edx
div r8d
mov esi, eax
mov edx, esi
xor edx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x6a35f948
mov r9d, 0x926ca2ef
xor r9d, 0x7ad4f58f
mov eax, 0x74591a
xor eax, 0xff8ba6e5
xor r9d, eax
mov eax, edx
and eax, 0xe8b85760
and esi, r9d
mov r11d, 0x7b52983d
xor r11d, 0x93eacf5d
mov r10d, r8d
and r10d, r11d
mov r11d, 0xeaa94c7b
xor r11d, 0x809cb533
and r11d, r9d
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r8d
xor edx, 0xffffffff
mov r8d, 0xd9dac404
xor r8d, 0x31629364
or r8d, r9d
and edx, r8d
or eax, edx
mov dword [rsp + 0xd4], eax
call fcn.140040020
mov r10d, dword [rsp + 0x1fc]
mov r8, qword [rsp + 0x338]
mov r9, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x2d8]
mov rdx, qword [rsp + 0x358]
mov eax, dword [rsp + 0xd4]
shr r10d, 0x12
mov r11b, r10b
or r11b, r11b
xor r11b, 0xff
mov r10b, 0x3f
or r10b, 0x3f
xor r10b, 0xff
or r11b, r10b
xor r11b, 0xff
mov r10b, r11b
xor r10b, 0xff
xor r11b, 0xff
or r10b, r11b
mov r11b, 0xff
xor r11b, 0x80
mov bl, 0xff
xor bl, 0x80
or r11b, bl
and r10b, r11b
xor r10b, 0xff
mov r8, qword [r8]
mov byte [r8 + r9 + 8], r10b
add rcx, 2
mov qword [rsp + 0xd8], rcx
mov rdx, qword [rdx]
mov qword [rsp + 0xe0], rdx
cmp rcx, rdx
setl cl
mov byte [rsp + 0xef], cl
cmp eax, 0xc0a615b
jb 0x14003fffc
mov al, byte [rsp + 0xef]
test al, 1
jne 0x14003f347
jmp 0x14003f329
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xe0]
add rdx, 0xffffffffffffffff
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
call fcn.140040020
mov r9d, dword [rsp + 0x1fc]
mov rdx, qword [rsp + 0x338]
mov r8, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x358]
shr r9d, 0xc
mov r10b, r9b
add r10b, 1
xor r9b, 0xff
or r9b, 0x3f
add r9b, r10b
or r9b, 0x80
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
xor edx, edx
sub rdx, 3
sub rax, rdx
mov qword [rsp + 0xc0], rax
mov rcx, qword [rcx]
mov qword [rsp + 0xc8], rcx
cmp rax, rcx
jl 0x14003f401
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xc8]
movabs r8, 0xec84bc0507e78ada
movabs rdx, 0x137b43faf8187525
xor r8, rdx
mov rdx, rax
and rdx, r8
or rax, 0xffffffffffffffff
add rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov eax, dword [0x140202090]
mov edx, dword [0x140202094]
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, eax
xor r8d, 0xffffffff
and ecx, r8d
mov r9d, 0x6e154bcd
xor r9d, 0x91eab432
mov r8d, edx
xor r8d, r9d
mov r10d, 0x72fcde4b
xor r10d, 0x8d0321b4
mov r9d, edx
xor r9d, r10d
and r8d, r9d
xor ecx, 0xffffffff
xor r8d, 0xffffffff
and ecx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffb0efac
xor edx, 0x4f1053
xor eax, edx
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x29cd6aab
mov edx, 0x38d7ebe1
xor edx, 0x111a814a
mov r8d, 0x6c8a9369
xor r8d, 0x93756c96
xor edx, r8d
and ecx, edx
or eax, ecx
mov edx, 0xd5b2a293
xor edx, 0x2a4d5d6c
mov ecx, eax
xor ecx, edx
and ecx, 0x16c4f9b1
mov edx, 0xffffffff
xor edx, 0x16c4f9b1
and eax, edx
sub eax, ecx
add eax, 0xdb2ec31b
mov ecx, 0xbf06fec3
xor ecx, 0x3e1e26da
sub eax, ecx
mov ecx, 0x1299a692
xor ecx, 0xc9b76589
sub eax, ecx
cmp eax, 0x37cbd8f2
jbe 0x140040005
mov rcx, qword [rsp + 0x358]
mov eax, dword [0x140202098]
sub eax, dword [0x14020209c]
mov edx, 0xff272b0a
xor edx, 0x2e6ac392
sub eax, edx
mov r8d, 0x2abd6de
xor r8d, 0x223ac2d7
xor edx, edx
div r8d
mov r8d, 0x8f162052
xor edx, edx
div r8d
mov dword [rsp + 0xa4], eax
call fcn.140040020
mov r10d, dword [rsp + 0x1fc]
mov r8, qword [rsp + 0x338]
mov r9, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x2d8]
mov rdx, qword [rsp + 0x358]
mov eax, dword [rsp + 0xa4]
shr r10d, 6
mov r11b, r10b
mov r10b, r11b
xor r10b, 0xff
mov bl, 0x23
xor bl, 0x1c
mov sil, 0x92
xor sil, 0x6d
xor bl, sil
or r10b, bl
mov bl, 8
xor bl, 0xf7
xor r11b, bl
mov bl, 0xff
xor bl, 0x3f
or r11b, bl
xor r10b, 0xff
xor r11b, 0xff
or r10b, r11b
mov r11b, 0x5e
xor r11b, 0xde
or r10b, r11b
mov r8, qword [r8]
mov byte [r8 + r9 + 8], r10b
add rcx, 4
mov qword [rsp + 0xa8], rcx
mov rdx, qword [rdx]
mov qword [rsp + 0xb0], rdx
cmp rcx, rdx
setl cl
mov byte [rsp + 0xbf], cl
cmp eax, 0xc0203359
jae 0x14003f4e0
mov al, byte [rsp + 0xbf]
test al, 1
jne 0x14003f637
jmp 0x14003f5e9
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xb0]
movabs rax, 0xee482d2679eb619f
movabs r8, 0xee482d2679eb619f
xor rax, r8
movabs r8, 0x7ec970e1d73cd4f4
movabs r9, 0x81368f1e28c32b0b
xor r8, r9
sub rax, r8
sub rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov ecx, dword [0x1402020a0]
xor ecx, 0xc69b9e7
mov edx, dword [0x1402020a4]
mov eax, 0x1d39f605
xor eax, 0x1d39f605
sub eax, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x6cf688ed
mov r8d, 0xffffffff
xor r8d, 0x6cf688ed
and edx, r8d
or eax, edx
mov edx, 0x178534a6
xor edx, 0xe87acb59
xor eax, edx
or ecx, 0x6cf688ed
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0x87c13435
xor edx, 0x783ecbca
xor ecx, edx
and eax, ecx
or eax, 0x697e47d1
mov r8d, 0xffffffff
xor r8d, 0x78ed28ca
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x78ed28ca
or eax, 0x78ed28ca
imul eax, edx
add eax, ecx
cmp eax, 0xcdb7e11d
jae 0x14004000e
mov rcx, qword [rsp + 0x358]
mov edx, dword [0x1402020a8]
mov r8d, dword [0x1402020ac]
mov r9d, 0x4438459b
xor r9d, 0xbbc7ba64
mov eax, edx
xor eax, r9d
and eax, r8d
mov r9d, 0x87c1ca4f
xor r9d, 0x783e35b0
xor r8d, r9d
and edx, r8d
sub edx, eax
mov eax, edx
or eax, 0xbbce2f1c
xor eax, 0xffffffff
or edx, 0xbbce2f1c
xor edx, 0xffffffff
or eax, edx
mov edx, 0xa7b1ff67
xor edx, 0x584e0098
xor eax, edx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xb9288ed
mov r9d, 0xc26e217e
xor r9d, 0xc9fca993
mov edx, 0xabfd893a
xor edx, 0x540276c5
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0x914375d3
xor r9d, 0x9ad1fd3e
mov r8d, eax
and r8d, r9d
mov r9d, 0xdf57e6c4
xor r9d, 0xd4c56e29
or eax, r9d
imul eax, r8d
add eax, edx
add eax, 0x3710a43e
mov dword [rsp + 0x9c], eax
call fcn.140040020
mov ecx, dword [rsp + 0x1fc]
mov eax, dword [rsp + 0x9c]
and cl, 0x3f
mov dl, 0xfa
xor dl, 0x7a
or cl, dl
mov byte [rsp + 0xa3], cl
cmp eax, 0x8c308779
je 0x14004000e
mov rax, qword [rsp + 0x108]
mov cl, byte [rsp + 0xa3]
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x1c8], rdx
mov byte [rsp + 0x1d7], cl
mov qword [rsp + 0x1d8], rax
jmp 0x14003ff45
mov rax, qword [rsp + 0x1f0]
mov ecx, dword [rsp + 0x1fc]
mov edx, 0xb212d984
xor edx, 0x4ded267b
cmp ecx, edx
mov qword [rsp + 0x2e0], rax
jle 0x14003c8dc
mov rcx, qword [rsp + 0x2d8]
movabs rdx, 0xdf7c922c9a384135
movabs rax, 0xdf7c922c9a384135
xor rdx, rax
movabs rax, 0x52d20fd702f9d193
movabs r8, 0x52d20fd702f9d195
xor rax, r8
sub rdx, rax
mov rax, rcx
sub rax, rdx
mov qword [rsp + 0x90], rax
mov rdx, rcx
and rdx, 0xffffffffffffffff
shl rdx, 1
movabs r8, 0x52526635b48c02f0
movabs r9, 0xadad99ca4b73fd0f
xor r8, r9
add rcx, r8
sub rcx, rdx
and rax, rcx
movabs rcx, 0x395bfb942044e007
movabs rdx, 0x395bfb942044e007
xor rcx, rdx
cmp rax, rcx
jge 0x14003f8d7
call fcn.140007f57
jmp 0x14003ff8a
mov rax, qword [rsp + 0x90]
cmp rax, 0
jge 0x14003f909
mov rcx, qword [rsp + 0x90]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
call fcn.14000dc65
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
mov rdx, qword [rsp + 0x90]
call fcn.140016100
mov rdx, qword [rsp + 0x358]
mov rcx, qword [rsp + 0x2d8]
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rsp + 0x88], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14003f96d
mov rcx, qword [rsp + 0x2d8]
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffff
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
call fcn.140040020
mov r8d, dword [rsp + 0x1fc]
mov rax, qword [rsp + 0x338]
mov rdx, qword [rsp + 0x2d8]
mov ecx, 0xa22055ca
xor ecx, 0xa22055d4
shr r8d, cl
mov rcx, qword [rsp + 0x358]
mov r9b, r8b
mov r10b, 0x14
xor r10b, 0xe8
mov r8b, r9b
and r8b, r10b
mov r10b, 0x83
xor r10b, 0x7f
xor r9b, r10b
or r8b, r9b
mov rax, qword [rax]
mov byte [rax + rdx + 8], r8b
mov rax, rdx
and rax, 1
or rdx, 1
add rax, rdx
mov qword [rsp + 0x78], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x80], rcx
cmp rax, rcx
jl 0x14003fa0f
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffff
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
call fcn.140040020
mov r9d, dword [rsp + 0x1fc]
mov rdx, qword [rsp + 0x338]
mov r8, qword [rsp + 0x78]
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x358]
shr r9d, 0x18
mov r10b, r9b
mov r11b, 0xc7
xor r11b, 0xf8
mov r9b, 0x45
xor r9b, 0xba
xor r11b, r9b
mov r9b, r10b
xor r9b, r11b
and r9b, r10b
mov r11b, 0xff
xor r11b, 0x80
mov r10b, r9b
and r10b, r11b
mov bl, 0xc3
xor bl, 0x43
mov r11b, r9b
xor r11b, bl
add r9b, r11b
sub r9b, r10b
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
add rax, 2
mov qword [rsp + 0x68], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x70], rcx
cmp rax, rcx
jl 0x14003faba
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffff
call fcn.140014583
jmp 0x14003ff8a
mov eax, dword [0x1402020b0]
mov ecx, dword [0x1402020b4]
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdde51f85
or eax, ecx
mov ecx, 0xc3f8bf3
xor ecx, 0xd1da9476
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x2e918ded
xor ecx, 0x2769462f
or eax, ecx
mov ecx, 0x1653d58
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0xbe9e928f
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xbe9e928f
mov r8d, 0x8d491875
xor r8d, 0x33d78afa
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0xeb3be568
ja 0x140040017
mov rcx, qword [rsp + 0x358]
mov esi, dword [0x1402020b8]
xor esi, 0x306c8cdb
mov r11d, dword [0x1402020bc]
mov eax, 0x89fc0106
xor eax, 0x7603fef9
mov edx, esi
xor edx, eax
mov r9d, r11d
xor r9d, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xbf517bd1
mov r10d, 0x8e6b35b3
xor r10d, 0x313a4e62
mov eax, edx
and eax, r10d
and esi, r8d
mov edi, 0x2fedac8f
xor edi, 0x90bcd75e
mov r10d, r9d
and r10d, edi
and r11d, r8d
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
mov r9d, 0xe0452b1c
xor r9d, 0x1fbad4e3
xor edx, r9d
or r8d, 0xbf517bd1
and edx, r8d
or eax, edx
mov r9d, 0x256bf198
xor r9d, 0x5d0cfae2
mov edx, 0xccf8610c
xor edx, 0x33079ef3
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0x78670b7a
or eax, 0x78670b7a
imul eax, r8d
add eax, edx
mov edx, 0xe3ebb5d0
xor edx, 0x329062d9
imul eax, edx
and eax, eax
xor eax, 0xffffffff
mov edx, 0xdcbea95b
xor edx, 0x4c8ca380
mov r8d, 0xaaaabce7
xor r8d, 0x55554318
xor edx, r8d
mov r8d, 0x26c5ae53
xor r8d, 0xb6f7a488
mov r9d, 0x565a9d5e
xor r9d, 0xa9a562a1
xor r8d, r9d
or edx, r8d
xor eax, 0xffffffff
mov r8d, 0x9a9862b1
xor r8d, 0x65679d4e
xor edx, r8d
or eax, edx
mov dword [rsp + 0x4c], eax
call fcn.140040020
mov r10d, dword [rsp + 0x1fc]
mov r8, qword [rsp + 0x338]
mov r9, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x2d8]
mov rdx, qword [rsp + 0x358]
mov eax, dword [rsp + 0x4c]
shr r10d, 0x12
and r10b, 0x3f
or r10b, 0x80
mov r8, qword [r8]
mov byte [r8 + r9 + 8], r10b
xor r8d, r8d
sub r8, 3
sub rcx, r8
mov qword [rsp + 0x50], rcx
mov rdx, qword [rdx]
mov qword [rsp + 0x58], rdx
cmp rcx, rdx
setl cl
mov byte [rsp + 0x67], cl
cmp eax, 0xd9f96e9a
je 0x14003fb46
mov al, byte [rsp + 0x67]
test al, 1
jne 0x14003fd13
jmp 0x14003fcfb
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffff
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
call fcn.140040020
mov r9d, dword [rsp + 0x1fc]
mov rdx, qword [rsp + 0x338]
mov r8, qword [rsp + 0x50]
mov rax, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x358]
shr r9d, 0xc
mov r10b, r9b
mov r9b, r10b
xor r9b, 0xff
mov r11b, 0xff
xor r11b, 0x3f
or r9b, r11b
and r10b, 0x3f
mov r11b, 0x25
xor r11b, 0xda
xor r10b, r11b
and r9b, r10b
xor r9b, 0xff
or r9b, 0x80
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
movabs rdx, 0x99575a49328d0208
movabs r8, 0x99575a49328d0208
xor rdx, r8
movabs r8, 0xe87d1012c54ea0fd
movabs r9, 0xe87d1012c54ea0f9
xor r8, r9
sub rdx, r8
sub rax, rdx
mov qword [rsp + 0x38], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
cmp rax, rcx
jl 0x14003fe00
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
movabs r8, 0x133e70dd4e533942
movabs rdx, 0xecc18f22b1acc6bd
xor r8, rdx
mov rdx, rax
and rdx, r8
or rax, 0xffffffffffffffff
add rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
call fcn.140040020
mov r9d, dword [rsp + 0x1fc]
mov rdx, qword [rsp + 0x338]
mov r8, qword [rsp + 0x38]
mov rax, qword [rsp + 0x2d8]
mov ecx, 0x8c9c70a3
xor ecx, 0x8c9c70a5
shr r9d, cl
mov rcx, qword [rsp + 0x358]
mov r10b, 0x17
xor r10b, 0x28
and r9b, r10b
mov r10b, 0x55
xor r10b, 0xd5
or r9b, r10b
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
movabs rdx, 0x8de03c4349ce57c0
movabs r8, 0x8de03c4349ce57c5
xor rdx, r8
add rax, rdx
mov qword [rsp + 0x28], rax
mov rcx, qword [rcx]
mov qword [rsp + 0x30], rcx
cmp rax, rcx
jl 0x14003fecb
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
movabs rax, 0xf7737f674e452bdc
movabs r8, 0xd8fb6898fd228a67
xor rax, r8
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x2f8817ffb367a1bb
add rdx, rax
call fcn.140014583
jmp 0x14003ff8a
mov rcx, qword [rsp + 0x358]
call fcn.140040020
mov ecx, dword [rsp + 0x1fc]
mov rdx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x90]
mov r8b, cl
mov r9b, 6
xor r9b, 0x39
mov cl, r8b
and cl, r9b
xor cl, 0xff
xor r8b, 0xff
mov r9b, 0xff
xor r9b, 0x3f
or r8b, r9b
and cl, r8b
mov r8b, 0x83
xor r8b, 0x7c
xor cl, r8b
mov r8b, cl
and r8b, 0x80
xor r8b, 0xff
add cl, 0x80
add cl, 1
add cl, r8b
mov qword [rsp + 0x1c8], rdx
mov byte [rsp + 0x1d7], cl
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsp + 0x1f0]
mov rdx, qword [rsp + 0x338]
mov r8, qword [rsp + 0x1c8]
mov r9b, byte [rsp + 0x1d7]
mov rcx, qword [rsp + 0x1d8]
mov rdx, qword [rdx]
mov byte [rdx + r8 + 8], r9b
add byte [rdx + rcx*4 - 0x74], al
and al, 0xd7
add dword [rax], eax
add byte [rax - 0x75], cl
mov word [rax + rbx*8], fs
add dword [rax], eax
add byte [rax - 0x75], cl
adc al, byte [rsi - 0x78]
add r9b, byte [rax]
mov qword [rsp + 0x340], rcx
mov qword [rsp + 0x348], rax
jmp 0x14003c8bc
mov rax, qword [rsp + 0x360]
add rsp, 0x388
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
invalid
mov bh, 0x6b
rcl byte [rcx + rbp*8 - 0x15]
retf
int1
movsd dword [rdi], dword [rsi]
cmpsb byte [rsi], byte [rdi]
ja 0x14003ffa2
mov esi, 0xcfffffd0
mov ebp, 0x64e9a6aa
sar bh, cl
call [rdx]
adc byte [rax - 0x6e], bh
iretd
sbb dl, byte [rax]
js 0x14003ff5c
jmp 0x14003d69a
add eax, 0x48e9884c
invalid
or byte [rsi + 0x6ae94c59], cl
invalid
shr word [rbx], 0xc7
jmp 0x14003e362
int1
add cl, byte [rbp - 0x160b16fe]
invalid
mov word [rdi + rdx], es
invalid
sbb ah, dl
test eax, 0xf189e9d8
invalid
invalid
xor r14b, byte [r13 - 0x92f1621]
invalid
xchg eax, eax
int1
or al, 0xe9
sti
invalid