Function at 0x14008ce9c
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xb8
mov rax, r8
xor r14d, r14d
mov r10d, r14d
mov dword [rbp - 0x55], r14d
test rdx, rdx
je 0x14008cf75
test rax, rax
je 0x14008cf75
mov dword [rbp - 0x79], r14d
mov dword [rbp - 0x79], 0x9c02e118
lea r10d, [r14 + 1]
mov dword [rbp - 0x55], r10d
mov eax, dword [rbp - 0x79]
add eax, 0x72847a38
xor eax, 0xf8d0489
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
add eax, 0x1c42e393
xor eax, 0xf94c0d90
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x2d8dbd06
add eax, ecx
xor eax, 0x79615ea2
sub eax, 0x34ae2c1
xor eax, 0xc3e023f2
mov edx, dword [0x14035f030]
xor edx, 0x1a35efc3
sub edx, eax
mov eax, dword [0x14035f038]
xor eax, 0xe5ca103c
sub edx, eax
sub edx, ecx
add edx, 0x6b4f7ee1
xor edx, 0x227e61b4
mov dword [rbp - 0x79], edx
movsxd rax, edx
cmp r9, rax
mov al, r14b
ja 0x14008cf77
mov al, 1
test r10b, 1
je 0x14008cf89
and r10d, 0xfffffffe
mov dword [rbp - 0x55], r10d
mov dword [rbp - 0x79], r14d
test al, al
jne 0x14008e900
movabs rdi, 0x80292241e1f57035
movabs rax, 0xc8f4f0541c60e520
movabs r12, 0xfd4e7bea04d7034a
mov r10, qword [0x14035f060]
imul r10, rax
movabs rax, 0xed8a9dcdef610110
xor r10, rax
mov rcx, r10
imul rcx, rdi
mov qword [rbp - 1], rcx
movabs rbx, 0xaaaaaaaaaaaaaaab
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r15, [0x14035f060]
mov r9, r10
and r9, rdi
imul r9, qword [r15 + rcx*8]
movabs rax, 0xf031be7a97db7434
imul r9, rax
shr r9, 3
movabs rax, 0x90d931efe147ae86
xor r9, rax
movabs rax, 0xffffff57ca9a613d
mov r11, r10
imul r11, rax
sub r11, 0x2d77d6e
xor r11, qword [0x14035f060]
xor r11, r9
mov rax, r9
imul rax, qword [0x14035f070]
movabs rcx, 0xb9de928bc329de1c
imul rax, rcx
not rax
and r11, rax
ror r11, 0x18
shr r11, 8
movabs r8, 0x7fd6ddbe1e0a8fcb
lea rcx, [r10 + r8]
xor rcx, 0xfffffffffda7d511
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x25ce28c26782b058
mov rsi, qword [r15 + rcx*8]
imul rsi, rax
sub rsi, r8
movabs rcx, 0x723d3c1507183948
mov rax, r9
imul rax, rcx
xor rsi, rax
shr rsi, 0x1f
not rsi
mov r14, rsi
xor r14, r10
lea rcx, [rsi + r8]
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, sil
movzx ecx, byte [r15 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xd
mov eax, 0x8000003f
and ecx, eax
jge 0x14008d103
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
not r14
imul r14, r9
imul r13, r14, 0xfffffffffd288292
lea rbx, [r8 + r13]
mov r8, rsi
imul r8, r11
sub r8, rbx
xor r8, r12
movzx r15d, bl
mov ecx, r15d
xor ecx, 2
and ecx, 0xf
and ecx, eax
jge 0x14008d13d
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
mov rax, rbx
sub rax, qword [0x14035f078]
xor r8, rax
movabs rax, 0x8f806c5a6a3ce83a
imul r14, rax
movabs rax, 0x57239688df5f9507
add r14, rax
xor r8, r14
xor r8, r9
xor r8, r10
mov rax, r8
and eax, 1
movabs rcx, 0xd79435e50d79435f
xor rax, 2
je 0x14008d4c9
sub rax, 1
je 0x14008d38c
sub rax, 1
movabs r14, 0xaaaaaaaaaaaaaaab
je 0x14008d29a
cmp rax, 1
jne 0x14008d57d
mov r12, rbx
imul r12, rsi
movabs rax, 0x13db80ba73dbf85f
add rax, r8
xor r12, rax
ror r12, 0x22
shr r12, 0xc
xor r12, r10
not r12
movabs rcx, 0x835721d8d01a
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0x7f5458c674c97f57
xor rdx, rax
movzx eax, r12b
movzx ecx, r8b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db979383ce5
sub rax, rsi
mov rsi, rdx
xor rsi, rax
mov rcx, rsi
imul rcx, rdi
mov eax, 0xa8e3ee0f
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r15, [0x14035f060]
mov cl, byte [r15 + rcx*8]
and cl, 0xf
movabs rdi, 0x6264e5584aa006f6
sub rdi, r12
shr rdi, cl
movabs rcx, 0x7fdf024678722e8f
add rcx, r13
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r15 + rcx*8]
imul rax, r8
sub rax, r11
xor rdi, rax
jmp 0x14008d57d
movabs rax, 0xaaaaaa1aa8fa1331
mov rcx, r8
xor rcx, rax
movabs rax, 0x1206ed6af7cf7d
imul rcx, rax
movabs rdx, 0xfff17ca87f98254d
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8eea21ed
imul r13, rax
movabs rsi, 0x59e0843c4c86bdc
add rsi, rcx
add rsi, r13
movabs rax, 0x277cd7be7a2ac451
mov rcx, rsi
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rbx, rsi
not rbx
lea r15, [0x14035f060]
imul rbx, qword [r15 + rcx*8]
xor rbx, 0xfffffffffdafc5e1
lea ecx, [r8 - 0xd]
and cl, 0x3f
rol rbx, cl
movabs rcx, 0x3c601d8680000000
mov rax, qword [rbp - 1]
xor rax, rcx
movabs rcx, 0x7c7a7dc694a8cf50
and rax, rcx
imul rbx, rax
mov rcx, rbx
ror rcx, 0x26
not rcx
movabs rax, 0x9b2de6b2d71919d8
imul rcx, rax
mov rax, rsi
sub rax, rbx
lea rdx, [rcx + rax*4]
mov cl, r11b
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14008d57d
movabs rax, 0x900f8ca18c33e675
imul r8, rax
mov rax, rcx
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0x7fd6ddbe1e0a8fca
mov rax, r10
imul rax, rdx
xor rax, r12
not rax
shl rax, cl
xor r9, rax
and r15d, 0x8000003f
jge 0x14008d3df
dec r15d
or r15d, 0xffffffc0
inc r15d
mov cl, r15b
rol r9, cl
movabs rcx, 0x7fd6ddbe1e0a8fcb
add rcx, r8
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffe241e1f57035
lea r15, [0x14035f060]
mov rax, qword [r15 + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7f43e651c
or r9, rax
mov rdi, qword [0x14035f070]
imul rdi, r12
sub rdi, rbx
mov rax, r11
sub rax, r9
xor rdi, rax
movabs rax, 0xc7a7c6a6a5366511
xor rdi, rax
movabs rax, 0xcccccccccccccccd
mul r10
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r10
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, rdi
div rcx
mov rcx, rdx
mov rdx, r8
imul rdx, rbx
imul rdx, rdi
shr rdx, cl
mov rax, rsi
sub rax, rdx
sub rax, r10
movabs r10, 0x78958946a64290b
add r10, rax
xor r10, r11
movzx eax, sil
imul ecx, eax, 0xf4
and cl, 0x3f
rol r10, cl
not r10
jmp 0x14008d57d
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r8
imul rax, qword [0x14035f080]
lea r15, [0x14035f060]
mov rdx, qword [r15 + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, 0x3f
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, rbx
not r11
imul r11, rsi
movabs rax, 0x7cd8a7de78c734f0
imul r11, rax
mov rax, r9
imul rax, r10
mov r10, r11
xor r10, rax
imul r11, qword [0x14035f060], 0xfffffffffd288292
mov rdx, qword [0x14035f068]
sub r11, rdx
mov al, r10b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14008d56a
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r11, cl
movabs rax, 0x7fd6ddbe1e0a8fcb
add r11, rax
add r11, r13
movabs rax, 0xff055d7b888c3e3d
xor r12, rax
mov rax, r14
mul r12
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r12, rax
xor r9, r10
lea rax, [0x14035f060]
imul r9, qword [rax + r12*8]
not rbx
imul rbx, r8
imul rbx, r11
imul rbx, rdi
movabs rcx, 0xf5ed7e878f3f74e1
xor rcx, rsi
not rcx
xor rcx, rbx
sub rcx, r9
call fcn.140086a94
mov qword [0x14036d9c8], rax
xor r12d, r12d
mov qword [rbp - 0x49], r12
movabs rax, 0xaac1007b0d7453b2
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x51], r12
movabs rax, 0x902599a0ae0232b8
mov qword [rbp - 0x51], rax
movabs rcx, 0xf33a52b719d09e03
add rcx, qword [rbp - 0x51]
movabs rax, 0xc3553662530aabd5
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f5cb300d9
sub rcx, rax
movabs rax, 0xf8f8cd975b62b935
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0xc7d654b81cf5e270
add rcx, rax
mov rdi, qword [0x14035f040]
add rcx, rdi
movabs rax, 0x5a9179a7268e85cd
xor rcx, rax
movabs rax, 0x5f627dc682f359e0
sub rcx, rax
movabs rax, 0xee3b3cd1d44cd7ab
xor rcx, rax
movabs rdx, 0x3483ce43b4a86ab2
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94adc6740cc
mov r10, qword [0x14035f038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52398bf33
mov r11, qword [0x14035f030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d91eb80b7a1
add rdx, rax
add rdx, rcx
movabs rax, 0x41aca7c14f0a1ca4
xor rdx, rax
mov qword [rbp - 0x51], rdx
movabs rcx, 0xf33a52b5590b2483
add rcx, qword [rbp - 0x49]
movabs rax, 0x49d536625308eb0f
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a88f4f94
add rcx, rax
movabs rax, 0xf8f8cd99232b489b
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654ba7e21f0dd
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a9266fc463
xor rcx, rax
movabs rax, 0x5f627dc73d03e256
sub rcx, rax
movabs rax, 0xba3b3cd2b4bd9a97
xor rcx, rax
movabs rax, 0xb483ce4569287de0
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad5642ae6
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b52a9bd519
xor r11, rax
movabs rax, 0xe0b56d8b016583bb
add rcx, rax
add rcx, r11
movabs rax, 0x3c3c728e3bb8e76
xor rcx, rax
mov qword [rbp - 0x49], rcx
and rcx, rdx
mov qword [rbp - 0x51], r12
mov qword [rbp - 0x49], r12
mov r13, qword [0x14037ef58]
cmp r13, rcx
jne 0x14008db99
mov dword [rbp - 0x65], 0x192caf7d
mov dword [rbp - 0x61], 0xc38d6598
mov dword [rbp - 0x5d], 0xe6bf0c9c
mov word [rbp - 0x59], 0x1f56
mov r15d, r12d
xor edx, edx
mov rax, r15
movabs rcx, 0x13cce94adba2b9c0
div rcx
add dl, 0x39
mov r14b, dl
sar r14b, 7
or r14b, dl
mov sil, r14b
shl sil, 6
mov al, r14b
sar al, 2
or sil, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov dl, r14b
sar dl, 5
mov al, r14b
shl al, 3
or dl, al
mov r8b, r14b
sar r8b, 4
mov al, r14b
shl al, 4
or r8b, al
mov r9b, r14b
add r9b, r9b
mov r11b, r14b
sar r11b, 7
mov bl, r14b
not bl
mov dil, byte [rbp + r15 - 0x65]
sub dil, sil
sub dil, 2
mov eax, 4
sub al, sil
xor dil, al
mov cl, r14b
shl cl, 7
mov al, r14b
sar al, 1
or cl, al
sub dil, cl
sub dil, byte [0x14035f058]
sub dil, byte [0x14035f050]
sub dil, 0x3f
add dil, sil
add dil, r14b
lea eax, [rsi + 7]
add al, r14b
xor dil, al
sub dil, byte [0x14035f048]
sub dil, dl
sub dil, r14b
mov rcx, qword [0x14035f040]
sub dil, 0x50
add dil, cl
add dil, sil
mov al, r8b
sub al, dl
add al, sil
add al, r14b
xor dil, al
mov al, r14b
sub al, r8b
xor al, r14b
sub dil, al
sub dil, r10b
add dil, 0x30
add dil, r14b
mov al, r11b
or al, r9b
sub al, 0x50
add al, r10b
xor dil, al
add sil, sil
add dil, sil
sub dil, r9b
add cl, 0x51
add dil, cl
not dil
mov al, bl
xor al, byte [0x14035f038]
sub dil, al
or r11b, r14b
sub dil, r11b
mov al, r14b
xor al, 0x40
sub dil, al
mov al, r14b
xor al, byte [0x14035f030]
add dil, al
movsx eax, r14b
movsx ecx, bl
imul ecx, eax
xor cl, dil
mov byte [rbp + r15 - 0x65], cl
inc r15
cmp r15, 0xe
jb 0x14008d7fd
lea rax, [rbp - 0x65]
mov qword [rbp + 7], rax
mov qword [rbp + 0xf], 0xe
mov rcx, qword [rbp + 7]
call fcn.14005cf44
mov r13, rax
mov qword [0x14037ef58], rax
mov rcx, qword [rbp + 7]
test rcx, rcx
je 0x14008d9a2
mov rax, r12
cmp qword [rbp + 0xf], r12
jbe 0x14008d9a2
mov byte [rcx + rax], r12b
inc rax
cmp rax, qword [rbp + 0xf]
jae 0x14008d9a2
mov rcx, qword [rbp + 7]
jmp 0x14008d98f
mov qword [rbp - 0x39], r12
movabs rax, 0xe0252276f23b3d7a
mov qword [rbp - 0x39], rax
mov qword [rbp - 0x41], r12
movabs rax, 0xe4672df537373d69
mov qword [rbp - 0x41], rax
movabs rcx, 0xf33a52b65ee3fa83
add rcx, qword [rbp - 0x41]
movabs rax, 0x1fd536625309f0e8
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a57dc512
add rcx, rax
movabs rax, 0xf8f8cd98193b0f43
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b91ab21a60
add rcx, rax
mov rdi, qword [0x14035f040]
add rcx, rdi
movabs rax, 0x5a9179a7fbc4704b
xor rcx, rax
movabs rax, 0x5f627dc6aca2a8ae
sub rcx, rax
movabs rax, 0xa3b3cd231c900d0
xor rcx, rax
movabs rdx, 0xb483ce446a7895ba
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad97b8e3e
mov r10, qword [0x14035f038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b5268471c1
mov r11, qword [0x14035f030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d8efca07793
add rdx, rax
add rdx, rcx
movabs rax, 0xa8454c160be79abe
xor rdx, rax
mov qword [rbp - 0x41], rdx
movabs rcx, 0xf33a52b799447703
add rcx, qword [rbp - 0x39]
movabs rax, 0x9c553662530b2b49
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f5e315c64
sub rcx, rax
movabs rax, 0xf8f8cd96d9f110d1
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x47d654b76ff42161
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a6952e6249
xor rcx, rax
movabs rax, 0x5f627dc4a213e51c
sub rcx, rax
movabs rax, 0x263b3cd1948eef8c
xor rcx, rax
movabs rax, 0x3483ce4338b0bca1
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ade651030
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b5219aefcf
xor r11, rax
movabs rax, 0xe0b56d93eb4deb85
add rcx, rax
add rcx, r11
movabs rax, 0xb49aeafc1ab4e6d0
xor rcx, rax
mov qword [rbp - 0x39], rcx
and rcx, rdx
mov qword [rbp - 0x41], r12
mov qword [rbp - 0x39], r12
cmp r13, rcx
je 0x14008e900
mov qword [rbp - 0x29], r12
movabs rax, 0xb3499dcd6e09301e
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x31], r12
movabs rax, 0x3fd8120ffa363f5f
mov qword [rbp - 0x31], rax
movabs rcx, 0xf33a52b719a7bb03
add rcx, qword [rbp - 0x31]
movabs rax, 0xe0553662530aabac
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f5cb28630
sub rcx, rax
movabs rax, 0xf8f8cd975b8c3fc1
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x47d654b81d2d6293
add rcx, rax
mov rdi, qword [0x14035f040]
add rcx, rdi
movabs rax, 0x5a9179a726bd28b9
xor rcx, rax
movabs rax, 0x5f627dc6830d078c
sub rcx, rax
movabs rax, 0x63b3cd1d4614a72
xor rcx, rax
movabs rdx, 0x3483ce43b4d02f7d
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94adc669d40
mov r10, qword [0x14035f038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b5239962bf
mov r11, qword [0x14035f030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d91eadc4815
add rdx, rax
add rdx, rcx
movabs rax, 0xdae1264d7401d2c0
xor rdx, rax
mov qword [rbp - 0x31], rdx
movabs rcx, 0xf33a52b95f58b583
add rcx, qword [rbp - 0x29]
movabs rax, 0xdad53662530cf15d
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb809c7c66e1
add rcx, rax
movabs rax, 0xf8f8cd950cc48157
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x87d654b50793a68a
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a48f3f4aff
xor rcx, rax
movabs rax, 0x5f627dc4088b295a
sub rcx, rax
movabs rax, 0x323b3cd0b1769faa
xor rcx, rax
movabs rax, 0xb483ce417f070bd7
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ae57d612a
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b51a829ed5
xor r11, rax
movabs rax, 0xe0b56d9b0a76fe7f
add rcx, rax
add rcx, r11
movabs rax, 0x202ee92fee9dc3f2
xor rcx, rax
mov qword [rbp - 0x29], rcx
and rcx, rdx
mov qword [rbp - 0x31], r12
mov qword [rbp - 0x29], r12
cmp r13, rcx
jne 0x14008de24
mov dword [rbp - 0x75], r12d
mov dword [rbp - 0x75], 0xf9dd7be
mov eax, dword [rbp - 0x75]
add eax, 0x66e7b6b4
xor eax, 0x4c08f8ec
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x579a4622
xor eax, 0x15174422
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xeb51086b
add eax, ecx
xor eax, 0x16a02da4
sub eax, 0x3a820c92
xor eax, 0xe5cee29a
lea edx, [rcx + 0x5bacf3ad]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd59b9d2e
sub edx, eax
mov r8d, dword [0x14035f030]
xor r8d, 0x2a6462d1
add r8d, 0x390f3745
add r8d, edx
xor r8d, 0xe82eee8e
mov dword [rbp - 0x75], r8d
mov dword [rbp - 0x75], r12d
jmp 0x14008e8fb
call fcn.14008a158
mov rsi, rax
mov qword [rbp - 1], rax
mov qword [rbp - 0x19], r12
movabs rax, 0x3910b8e22c1d89ef
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x21], r12
movabs rax, 0x246c72542b298182
mov qword [rbp - 0x21], rax
movabs rcx, 0xf33a52b6649a9903
add rcx, qword [rbp - 0x21]
movabs rax, 0xbe5536625309f69f
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f5a935eca
sub rcx, rax
movabs rax, 0xf8f8cd98136d9649
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x47d654b912f0b63a
add rcx, rax
mov rdi, qword [0x14035f040]
add rcx, rdi
movabs rax, 0x5a9179a7f5402381
xor rcx, rax
movabs rax, 0x5f627dc6ab1ec514
sub rcx, rax
movabs rax, 0x163b3cd22eed83db
xor rcx, rax
movabs rdx, 0x3483ce4464e9f58f
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad99268b8
mov r10, qword [0x14035f038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b5266d9747
mov r11, qword [0x14035f030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d8f13d18c0d
add rdx, rax
add rdx, rcx
movabs rax, 0xb2c6131199b79308
xor rdx, rax
mov qword [rbp - 0x21], rdx
movabs rcx, 0xf33a52b67bf4ef83
add rcx, qword [rbp - 0x19]
movabs rax, 0x14d53662530a0df9
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a5269233
add rcx, rax
movabs rax, 0xf8f8cd97fbb5d66f
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x87d654b8f33d95cf
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a7da9d18d7
xor rcx, rax
movabs rax, 0x5f627dc6e8f2b082
sub rcx, rax
movabs rax, 0x623b3cd2233f9dc8
xor rcx, rax
movabs rax, 0xb483ce444e33176d
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad9efd212
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b526102ded
xor r11, rax
movabs rax, 0xe0b56d8f71585767
add rcx, rax
add rcx, r11
movabs rax, 0x2ef06d80b812a4aa
xor rcx, rax
mov qword [rbp - 0x19], rcx
and rcx, rdx
mov qword [rbp - 0x21], r12
mov qword [rbp - 0x19], r12
cmp rsi, rcx
jne 0x14008e0bb
mov dword [rbp - 0x71], r12d
mov dword [rbp - 0x71], 0x387139b0
mov eax, dword [rbp - 0x71]
add eax, 0x1c5cd4b5
xor eax, 0x6a09ae61
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x59baa57c
xor eax, 0x5ccc51a9
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xf5008e30
add eax, ecx
xor eax, 0x47a6976b
add eax, 0x42b1dec7
xor eax, 0x9b0ea7f0
lea edx, [rcx - 0x54d1f682]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd87171a6
sub edx, eax
mov r8d, dword [0x14035f030]
xor r8d, 0x278e8e59
add r8d, 0xf179cbc0
add r8d, edx
xor r8d, 0x808e96b6
mov dword [rbp - 0x71], r8d
mov dword [rbp - 0x71], r12d
jmp 0x14008e8fb
movabs rbx, 0x31d454db6f657b59
movabs r14, 0xf8775c7f9019dd6e
mov rdi, r12
movabs rax, 0x171ca40005423b0
movabs r11, 0x88cfc71106dabcd7
mov rsi, qword [0x14035f070]
imul rsi, rax
not rsi
movabs rcx, 0x773038eefb4a66f5
mov r12, qword [0x14035f060]
mov rax, r12
xor rax, rcx
and rsi, rax
ror rsi, 0x38
shr rsi, 8
movabs rax, 0xd59614a35e8e3220
mov r8, r12
imul r8, rax
add r8, rbx
movabs rax, 0x97ca2ccaffffffff
xor r8, rax
shr r8, 0x1f
not r8
movabs r9, 0xce2bab24909a84a7
lea rcx, [r8 + r9]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r8b
lea r15, [0x14035f060]
movzx ecx, byte [r15 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xc1
and ecx, 0x8000003f
jge 0x14008e192
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rdx, r8
ror rdx, cl
not rdx
movabs rax, 0xe19c3aece1cc2a8e
mov r15, rdx
imul r15, rax
lea r10, [r15 + r9]
mov r9, r8
imul r9, rsi
sub r9, r10
xor r9, r14
mov cl, r10b
xor cl, 0xfe
and cl, 0xf
rol r9, cl
mov rax, r10
sub rax, qword [0x14035f078]
xor r9, rax
movabs rax, 0x833e851f473055e
imul rdx, rax
movabs rax, 0x418b648842575b0f
add rdx, rax
xor r9, rdx
xor r9, r11
mov rax, r9
and eax, 1
xor rax, 2
je 0x14008e4df
sub rax, 1
je 0x14008e3eb
sub rax, 1
je 0x14008e319
cmp rax, 1
jne 0x14008e556
mov r14, r10
imul r14, r8
movabs rax, 0x277e4d1012b4bf37
add rax, r9
xor r14, rax
ror r14, 2
shr r14, 0xc
not r14
movabs rcx, 0x835720765dd6
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0xcea92e5cfbf7f9f7
xor rdx, rax
movzx eax, r14b
movzx ecx, r9b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97896b129
sub rax, r8
mov r8, rdx
xor r8, rax
mov rcx, r8
imul rcx, rbx
mov eax, 0xa94d63c3
add rcx, rax
movabs r12, 0xaaaaaaaaaaaaaaab
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x14035f060]
mov cl, byte [rax + rcx*8]
and cl, 0xf
movabs rbx, 0x8572ae77a8484fa2
sub rbx, r14
shr rbx, cl
movabs rcx, 0xce33cfacec6397b7
add rcx, r15
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
lea r15, [0x14035f060]
imul rax, qword [r15 + rcx*8]
imul rax, r9
sub rax, rsi
xor rbx, rax
jmp 0x14008e556
movabs rcx, 0xaaaaaa1aa9549efd
mov r8, r9
xor r8, rcx
movabs rcx, 0x1206ed6b5942b1
imul r8, rcx
movabs rcx, 0xffff7e8a8f44ac21
imul r15, rcx
movabs rcx, 0xd1c9d0da10bfe552
add r8, rcx
add r8, r15
movabs rax, 0x277cd7be7b84499d
mov rcx, r8
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r8
not r10
lea rax, [0x14035f060]
imul r10, qword [rax + rcx*8]
xor r10, 0xfffffffffc01482d
lea ecx, [r9 - 1]
and cl, 0x3f
rol r10, cl
movabs rax, 0xc78444200000000
imul r10, rax
mov rcx, r10
ror rcx, 0xe
not rcx
movabs rax, 0x9b2de6b2d1a32ee8
imul rcx, rax
mov rax, r8
sub rax, r10
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, 0x3f
ror rdx, cl
mov rax, rbx
mov rbx, rdx
imul rbx, rax
jmp 0x14008e556
movabs rax, 0xe77512dd0a365acb
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0x788a3806fe62291
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov cl, r10b
and cl, 0x3f
rol r11, cl
movabs rcx, 0xce2bab24909a84a7
add rcx, r9
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x14db6f657b59
lea rax, [0x14035f060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7f590e8d0
or r11, rax
mov rbx, qword [0x14035f070]
imul rbx, r14
sub rbx, r10
mov rax, rsi
sub rax, r11
xor rbx, rax
movabs rax, 0xc7a7c6a6a498e8dd
xor rbx, rax
mov rax, r9
imul rax, r10
imul rax, rbx
mov rdi, r8
sub rdi, rax
movabs rax, 0x78958946bcaa4c7
add rdi, rax
xor rdi, rsi
movzx eax, r8b
imul ecx, eax, 0xf8
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x14008e556
mov rcx, r9
imul rcx, qword [0x14035f080]
mov rdx, qword [0x14035f068]
and rcx, rdx
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x17
imul r11, r10
mov rdi, rsi
not rdi
imul rdi, r8
movabs rax, 0x7cd8a7de7969b93c
imul rdi, rax
imul rsi, r12, 0xfffffffffd90da22
sub rsi, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14008e543
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs rax, 0xce2bab24909a84a7
add rsi, rax
add rsi, r15
movabs rcx, 0xff055d7b8922b3f1
xor r14, rcx
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r11, rdi
lea rax, [0x14035f060]
imul r11, qword [rax + r14*8]
not r10
imul r10, r9
imul r10, rsi
imul r10, rbx
movabs rcx, 0xf5ed7e878e91f92d
xor rcx, r8
not rcx
xor rcx, r10
sub rcx, r11
call fcn.14003bf88
mov qword [0x14036d9a0], rax
xor r14d, r14d
mov qword [rbp - 9], r14
movabs rax, 0x8116bbaa0eef0fca
mov qword [rbp - 9], rax
mov qword [rbp - 0x11], r14
movabs rax, 0xac662efb839a3bdc
mov qword [rbp - 0x11], rax
movabs rcx, 0xf33a52b69738ff03
add rcx, qword [rbp - 0x11]
movabs rax, 0x24553662530a293d
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f5b2b39fc
sub rcx, rax
movabs rax, 0xf8f8cd97e004b6b1
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x47d654b8ce3ab2c5
add rcx, rax
mov rsi, qword [0x14035f040]
add rcx, rsi
movabs rax, 0x5a9179a7bb837729
xor rcx, rax
movabs rax, 0x5f627dc6e772b53c
sub rcx, rax
movabs rax, 0xe63b3cd2159cbbe8
xor rcx, rax
movabs rdx, 0x3483ce4433ade459
add rdx, rcx
add rdx, rsi
not rdx
movabs rcx, 0x13cce94ada5ce250
mov r10, qword [0x14035f038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b525a31daf
mov r11, qword [0x14035f030]
mov rcx, r11
xor rcx, rax
movabs rdi, 0xe0b56d8fdf17a525
add rdi, rdx
add rdi, rcx
movabs rax, 0x50c84d517411c4b0
xor rdi, rax
mov qword [rbp - 0x11], rdi
movabs rcx, 0xf33a52b673934283
add rcx, qword [rbp - 9]
movabs rax, 0x67d53662530a0597
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a53fb73a
add rcx, rax
movabs rax, 0xf8f8cd9804390a23
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b8fe9e2c24
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a7e42c822b
xor rcx, rax
movabs rax, 0x5f627dc6ef0c7b8e
sub rcx, rax
movabs rax, 0xca3b3cd22770b756
xor rcx, rax
movabs rax, 0xb483ce44565a18b2
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad9ce4b5e
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b52631b4a1
xor r11, rax
movabs rbx, 0xe0b56d8f4ff05c33
add rbx, rcx
add rbx, r11
movabs rax, 0xb09f065a68b97e1e
xor rbx, rax
mov qword [rbp - 9], rbx
mov rdx, r13
mov rsi, qword [rbp + 0x67]
mov rcx, rsi
call fcn.14008e918
and rbx, rdi
mov qword [rbp - 0x11], r14
mov qword [rbp - 9], r14
cmp rax, rbx
jne 0x14008e85b
mov dword [rbp - 0x6d], r14d
mov dword [rbp - 0x6d], 0x78f6ae05
mov eax, dword [rbp - 0x6d]
add eax, 0x6f5ef1b0
xor eax, 0x87050163
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x4bb3abd3
xor eax, 0x1c7e2c3a
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xcdd32fdb
add eax, ecx
xor eax, 0x9cf82e5d
sub eax, 0x24469709
xor eax, 0x9b30162
lea edx, [rcx + 0x3770fb4e]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xc5bd7a1a
sub edx, eax
mov r8d, dword [0x14035f030]
xor r8d, 0x3a4285e5
add r8d, 0x6ace4821
add r8d, edx
xor r8d, 0xb1a1bb42
mov dword [rbp - 0x6d], r8d
mov dword [rbp - 0x6d], r14d
jmp 0x14008e8fb
mov r8, qword [rbp + 0x7f]
mov rdx, qword [rbp + 0x77]
mov rcx, qword [rbp + 0x6f]
call qword [rbp - 1]
mov rcx, rsi
call fcn.140090710
mov dword [rbp - 0x69], r14d
mov dword [rbp - 0x69], 0x1668129c
mov eax, dword [rbp - 0x69]
add eax, 0x65b6c636
xor eax, 0x5b8af7bb
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
add eax, 0x22694caf
xor eax, 0xe4cf862
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xf5eef6de
add eax, ecx
xor eax, 0xcffbfff4
sub eax, 0x6e5b0593
xor eax, 0x6a576461
mov r8d, dword [0x14035f030]
xor r8d, 0x22692693
sub r8d, eax
mov eax, dword [0x14035f038]
xor eax, 0xdd96d96c
sub r8d, eax
sub r8d, ecx
add r8d, 0x31732b73
xor r8d, 0x2730e104
mov dword [rbp - 0x69], r8d
mov dword [rbp - 0x69], r14d
movsxd rax, r8d
jmp 0x14008e902
xor eax, eax
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret