Function at 0x140350e00
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov r14, r9
mov rbx, r8
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rcx
mov rax, qword [0x140682ee8]
xor rax, rsp
mov qword [rsp + 0xb0], rax
lea r15, [rsp + 0x88]
nop dword [rax]
mov rcx, r15
mov edx, 0x5a6dd064
mov r8d, 0xe58a917e
call fcn.140352930
cmp dword [rsp + 0x88], 0x5f
jg 0x140350e7a
mov rcx, r15
mov edx, 0x55729c2e
mov r8d, 0x8ddb9026
call fcn.140352cc0
cmp dword [rsp + 0x88], 0xe
jle 0x140350eac
mov edx, dword [0x14064a828]
mov eax, edx
xor eax, 0x40cbb0b2
mov ecx, edx
xor ecx, 0x3f344f4d
and ecx, edx
lea ecx, [rax + rcx*2]
add edx, 0x3ca026cc
call fcn.14008b370
mov eax, dword [0x140695b08]
cmp eax, 0x57
jge 0x140350e40
jmp 0x140350e5d
xor eax, eax
test al, al
jne 0x140350f60
mov esi, 0x9480f1e7
lea r15, [rsp + 0x88]
mov edi, 0x9480f1a0
nop dword [rax + rax]
mov eax, dword [0x140695b08]
mov ecx, dword [0x14064a828]
add ecx, esi
cmp eax, ecx
jge 0x140350f29
mov r12, qword [0x14064a570]
mov r8d, dword [0x14064a828]
mov eax, r8d
xor eax, 0xe5a6c5f2
mov ecx, r8d
and ecx, 0x65a6c5f2
lea edx, [rax + rcx*2]
add r8d, 0xea64aa5
mov rcx, r15
call fcn.140352b40
mov eax, dword [rsp + 0x88]
and eax, 1
mov ecx, dword [0x14064a828]
add ecx, edi
cmp eax, ecx
je 0x140350f4f
mov rax, qword [0x14064a570]
mov rcx, r15
mov edx, 0xf7316c68
mov r8d, 0x9c21dca1
call fcn.140167d20
cmp dword [rsp + 0x88], 0
jne 0x140350ed0
jmp 0x140350ee2
mov eax, dword [0x140695b08]
cmp eax, 0x44
jl 0x140350f78
nop word [rax + rax]
mov rax, qword [0x14064a570]
cmp dword [0x14064a828], 0x6b7f0e60
jne 0x140350f60
jmp 0x140350eb6
mov dword [rsp + 0x28], 0x33648a0c
mov dword [rsp + 0x20], 0xda89d7f6
lea r8, [rsp + 0x80]
lea r9, [rsp + 0x88]
mov rcx, r12
mov rdx, r12
call fcn.140352ac0
movsxd rcx, dword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
lea rdx, [rsp + 0x88]
mov r8d, 0x558dd96
mov r9d, 0xb538feb3
call fcn.140352a40
add rsi, qword [rsp + 0x88]
movabs rax, 0x653a25dedfc2751c
add rax, rsi
mov qword [rsp + 0x78], rax
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x140350ff0
mov eax, dword [0x140695b04]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x14064a828]
mov edx, eax
xor edx, 0x9480f1a0
and eax, 0x1480f1a0
lea eax, [rdx + rax*2]
cmp ecx, eax
mov rsi, qword [rsp + 0x48]
jne 0x140351044
mov eax, 0x9480f1a1
add eax, dword [0x14064a828]
lea rcx, [fcn.140350e00]
add ecx, ecx
add ecx, 0x5e0
xor eax, ecx
not eax
test eax, ecx
je 0x140351055
mov ecx, 0x97d127ca
mov edx, 0xe5ff54ca
call fcn.140352c10
jmp 0x140351022
mov eax, dword [0x140544844]
mov dword [rsp + 0x64], eax
test rsi, rsi
sete dl
cmp qword [rsp + 0x50], 0
sete cl
mov dword [rsp + 0x20], 0xca88627
lea r8, [rsp + 0x88]
mov r9d, 0xd9ef5099
call fcn.1401a4920
test r14, r14
sete al
or al, byte [rsp + 0x88]
movabs rdx, 0x78c00c9ca39192af
mov rcx, qword [0x14064a830]
add rcx, rdx
cmp rbx, rcx
sete cl
setne dl
xor r12d, r12d
test cl, al
jne 0x140351c49
and dl, al
jne 0x140351c49
xor al, 1
and cl, al
jne 0x140351c49
lea r12, [rsp + 0x80]
lea r13, [rsp + 0x88]
mov esi, 0x9480f1a2
nop word cs:[rax + rax]
mov edx, dword [0x14064a828]
lea ecx, [rdx - 0x61fafa9f]
add edx, 0x31e34ed1
call fcn.140249c90
test al, 1
je 0x14035114a
mov dword [rsp + 0x20], 0xc0d4edf9
mov rcx, rbx
mov rdx, r12
mov r8, r13
mov r9d, 0x1a0fc5fb
call fcn.140352660
movzx edi, byte [rsp + 0x80]
mov ecx, dword [rsp + 0x88]
mov edx, 0x8964399a
mov r8d, 0x5661371d
call fcn.140178950
test al, 1
jne 0x140351168
mov ecx, dword [0x140695b04]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x14064a828]
add ecx, esi
xor edx, edx
div ecx
test edx, edx
jne 0x1403510f0
jmp 0x14035110b
mov ecx, 0xce2643c0
mov edx, 0x6d7588ce
call fcn.14008b370
lea r12, [rsp + 0x88]
jmp 0x1403511b3
mov eax, dword [rsp + 0x88]
mov ecx, dword [0x140695b04]
mov edx, dword [0x14064a828]
add edx, ecx
dec edx
imul edx, ecx
test dl, 1
je 0x1403512b6
mov eax, dword [0x140695b04]
mov ecx, dword [0x14064a828]
not ecx
add ecx, eax
imul ecx, eax
test cl, 1
jne 0x1403511f8
nop dword [rax + rax]
mov ebp, dword [0x14064a564]
mov ecx, ebp
mov rdx, r12
mov r8d, 0x6498d54e
mov r9d, 0x3cd1f285
call fcn.140352aa0
cmp dword [0x14064a828], 0x6b7f0e60
je 0x140351190
mov rcx, r12
mov edx, 0xe67eaa26
mov r8d, 0xe502c405
call fcn.140352610
mov ebp, dword [rsp + 0x88]
mov eax, ebp
mov ecx, ebp
shl eax, cl
neg eax
mov dword [rsp + 0x20], 0x3e081dc6
mov ecx, eax
mov edx, ebp
mov r8, r12
mov r9d, 0x49513b69
call fcn.140352a20
mov eax, dword [rsp + 0x88]
imul eax, ebp
mov edx, ebp
sub edx, eax
mov eax, ebp
neg eax
mov ecx, edx
xor ecx, eax
and eax, edx
lea eax, [rcx + rax*2]
imul eax, ebp
sub edx, eax
mov eax, dword [0x14064a828]
mov ecx, eax
xor ecx, 0xc7ac10f4
mov r8d, eax
and r8d, 0x47ac10f4
lea ecx, [rcx + r8*2]
add ecx, 0xe478140c
add eax, 0x232c523c
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
xor ecx, ecx
xor r8d, r8d
mov r9, r12
call fcn.1403529a0
mov edx, dword [rsp + 0x88]
mov ecx, edx
neg ecx
mov dword [rsp + 0x20], 0x69428b02
mov r8, r12
mov r9d, 0x9792dddd
call fcn.140352590
jmp 0x1403511d0
mov byte [rsp + 0x3f], dil
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x68], rbx
mov ecx, eax
not ecx
lea r15d, [rcx + rax*2]
lea rcx, [rsp + 0x88]
mov edx, 0x1cd62470
mov r8d, 0xfb45d6c
call fcn.1403527c0
mov eax, dword [rsp + 0x88]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x14064a828]
mov edx, eax
xor edx, 0x9480f1a0
and eax, 0x1480f1a0
lea eax, [rdx + rax*2]
cmp ecx, eax
mov dword [rsp + 0x40], r15d
jne 0x1403513e8
mov esi, 0x9480f1a1
lea rdi, [fcn.140350e00]
lea r14d, [rdi + rdi]
add r14d, 0x4ce0
mov r12d, r15d
neg r12d
mov ebx, ebp
xor ebx, r12d
not ebx
lea r13, [rsp + 0x88]
mov r15b, 1
nop word [rax + rax]
mov eax, dword [0x14064a828]
add eax, esi
test r14d, eax
jne 0x140351384
mov dword [0x14064a564], r12d
mov eax, dword [0x14064a828]
lea ecx, [rax - 0x6b7f0e5f]
lea edx, [rdi + rdi]
add edx, 0x4960
and edx, ecx
add eax, 0x9480f1a0
cmp edx, eax
je 0x1403513ab
mov dword [0x14064a564], 0
mov ecx, ebp
mov rdx, r13
mov r8d, 0xa5b71e66
mov r9d, 0x5baeda44
call fcn.1403529b0
test r15b, r15b
je 0x140351350
jmp 0x14035135d
lea rcx, [rsp + 0x88]
mov edx, 0x718a59ec
mov r8d, 0xc61f7c62
call fcn.1403527c0
mov ecx, dword [rsp + 0x88]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0x9480f1a2
add ecx, dword [0x14064a828]
xor edx, edx
div ecx
test edx, edx
mov r15d, dword [rsp + 0x40]
je 0x140351410
mov eax, r15d
mov ecx, r15d
shl eax, cl
mov ecx, r15d
sub ecx, eax
imul ecx, eax
mov eax, r15d
sub eax, ecx
imul eax, ecx
mov ecx, r15d
sub ecx, eax
mov dword [0x14064a564], ecx
jmp 0x140351318
xor eax, eax
mov qword [rsp + 0x40], rax
mov ebp, 0
test ebx, r12d
jne 0x14035143d
xor esi, esi
mov eax, 0
mov qword [rsp + 0x40], rax
mov ebp, 0
cmp dword [rsp + 0x64], 0
jg 0x14035165f
mov eax, dword [0x140695b04]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140351450
test byte [rsp + 0x3f], 1
mov r14, qword [rsp + 0x58]
je 0x1403514a7
mov esi, 0x10
mov rdi, qword [rsp + 0x68]
sub rsi, rdi
mov rax, qword [rsp + 0x50]
lea rdx, [rax + rdi]
add rdx, 0x50
lea rcx, [rsp + 0xa0]
mov r8, rsi
call fcn.140511c70
lea rcx, [rsp + rsi]
add rcx, 0xa0
mov rdx, qword [rsp + 0x48]
mov r8, rdi
call fcn.140511c70
jmp 0x140351637
movabs rax, 0x7dccf60b31542d8e
movabs rcx, 0x78c00c9ca39192af
sub rcx, rax
add rcx, qword [0x14064a830]
movabs r8, 0xa19f1b6e9f5e70d4
mov rdi, qword [rsp + 0x68]
mov rdx, rdi
xor rdx, r8
mov r9, rdi
and r9, r8
lea rdx, [rdx + r9*2]
add rdx, rcx
add rdx, rax
add rdx, 0xfffffffffffffff0
sub rdx, r8
mov rcx, qword [0x140694328]
mov dword [rsp + 0x28], 0xfab7746
mov dword [rsp + 0x20], 0xf91d78f7
lea r9, [rsp + 0x88]
mov r13, qword [rsp + 0x48]
mov r8, r13
call fcn.140352bc0
mov rax, qword [rsp + 0x88]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xa0], xmm0
shr rdi, 4
mov rax, qword [rsp + 0x50]
lea rsi, [rax + 0x50]
nop dword [rax]
add r14, 0x10
add r13, 0x10
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 0x20]
mov rdx, rsi
lea r8, [rsp + 0x90]
call qword [0x1405fc400]
movups xmm0, xmmword [r13 - 0x10]
movups xmmword [rsi], xmm0
mov eax, dword [r13 - 0x10]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [rsp + 0x90]
xor ecx, eax
mov dword [r14 - 0x10], ecx
mov ecx, dword [r13 - 0xc]
mov r15, r14
mov r14d, dword [rsp + 0x94]
mov edx, r14d
not edx
mov eax, dword [0x14064a828]
lea r8d, [rax + 0x55bce394]
add eax, 0xfa24a830
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r8d
lea r8, [rsp + 0x80]
lea r9, [rsp + 0x88]
call fcn.140352a30
and r14d, dword [rsp + 0x80]
or r14d, dword [rsp + 0x88]
mov dword [r15 - 0xc], r14d
mov r14, r15
mov eax, dword [r13 - 8]
mov ecx, dword [rsp + 0x98]
mov edx, ecx
not edx
and edx, eax
not eax
and ecx, eax
or ecx, edx
and ecx, eax
or ecx, edx
mov dword [r15 - 8], ecx
mov eax, dword [r13 - 4]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [rsp + 0x9c]
xor ecx, eax
mov dword [r15 - 4], ecx
mov rax, qword [0x14064a830]
movabs rcx, 0x78c00c9ca39192af
add rax, rcx
add rdi, rax
dec rdi
jne 0x140351540
mov qword [rsp + 0x48], r13
mov eax, dword [0x140695b04]
nop dword [rax]
mov eax, dword [0x140695b08]
cmp eax, 0x57
jg 0x140351640
mov qword [rsp + 0x58], r14
mov al, 1
test al, al
je 0x140351870
jmp 0x140351843
mov r14b, 1
lea rdi, [fcn.140350e00]
xor ecx, ecx
xor eax, eax
mov qword [rsp + 0x40], rax
xor ebp, ebp
jmp 0x140351699
xor qword [rsp + 0x40], r15
xor rbp, r13
mov ecx, dword [rsp + 0x74]
add ecx, 0x10
cmp ecx, dword [rsp + 0x64]
jge 0x14035143d
mov dword [rsp + 0x74], ecx
lea r15, [rsp + 0x88]
mov rdx, r15
mov r8d, 0xcc4049c0
mov r9d, 0x52af3e22
call fcn.1400a9970
mov rdx, qword [rsp + 0x88]
mov dword [rsp + 0x20], 0x24be9fc3
mov rcx, qword [rsp + 0x78]
mov r8, r15
mov r9d, 0x3216ff5a
call fcn.1400a8040
mov rax, qword [rsp + 0x88]
mov r15, qword [rax]
mov r13, qword [rax + 8]
jmp 0x140351713
mov eax, dword [0x14064a828]
mov ecx, eax
xor ecx, 0x9480f1a1
and eax, 0x1480f1a1
lea eax, [rcx + rax*2]
lea ecx, [rdi + rdi]
add ecx, 0x45e0
test ecx, eax
je 0x14035171c
test sil, sil
jne 0x1403517f5
test sil, sil
jne 0x140351739
nop word cs:[rax + rax]
test sil, sil
je 0x1403517d0
mov rax, qword [rsp + 0x40]
neg rax
mov ecx, 0
sbb rcx, rbp
xor rcx, r13
xor rax, r15
mov rdx, rcx
not rdx
mov r9, rax
not r9
and rdx, r13
and r9, r15
shld rdx, r9, 1
add r9, r9
add r9, rax
adc rdx, rcx
mov rcx, r15
sub rcx, r9
mov r8, r13
sbb r8, rdx
mov rax, rcx
sub rax, r9
mov r10, r8
sbb r10, rdx
mov r11, rax
neg r11
mov r9d, 0
sbb r9, r10
add rax, rcx
adc r10, r8
imul r10, r11
imul r9, rax
mul r11
add r9, rdx
add r9, r10
mov dword [rsp + 0x28], 0xd67a7cb1
mov dword [rsp + 0x20], 0x25078dd
mov rdx, r8
mov r8, rax
call fcn.14008b370
jmp 0x140351730
mov ecx, dword [0x140695b04]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x14064a828]
mov edx, 0x9480f1a2
add ecx, edx
xor edx, edx
div ecx
test edx, edx
je 0x140351680
lea rcx, [rsp + 0x88]
mov edx, 0xc0d4edf9
mov r8d, 0x76979635
call fcn.140352750
test byte [rsp + 0x88], 1
jne 0x140351830
nop word [rax + rax]
test r14b, r14b
jne 0x1403516f0
nop dword [rax]
lea eax, [rdi + rdi]
add eax, 0x3b00
mov ecx, eax
xor ecx, 0xfffffffe
test eax, ecx
jne 0x140351830
jmp 0x140351820
xor eax, eax
test ebx, r12d
setne al
mov rsi, qword [0x140544828]
mov rdi, qword [0x140544820]
xor ecx, ecx
add rax, 0xffffffffffffffff
adc rcx, 0xffffffffffffffff
mov edx, dword [0x140695b08]
cmp edx, 0xf
jl 0x1403518a6
nop
xor ecx, ecx
test ebx, r12d
setne cl
mov rax, qword [0x140544828]
mov rax, qword [0x140544820]
xor edx, edx
mov r8d, 0x3e7d7cd9
mov r9d, 0xbada993a
call fcn.14008b370
mov eax, dword [0x140695b08]
cmp eax, 0x35
jge 0x140351870
jmp 0x140351843
sub rdi, qword [rsp + 0x40]
sbb rsi, rbp
mov rbx, rdi
not rbx
mov r14, rsi
not r14
xor rsi, r14
and rsi, rcx
xor rsi, r14
xor rdi, rbx
and rdi, rax
xor rdi, rbx
xor rbx, rdi
xor r14, rsi
mov eax, dword [0x140695b04]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0x9480f1a0
add eax, dword [0x14064a828]
cmp ecx, eax
jne 0x140351932
mov rax, rbx
and rax, rdi
mov rcx, r14
and rcx, rsi
or rcx, rax
setne al
or al, byte [0x140693f99]
and al, 1
mov byte [0x140693f99], al
mov eax, dword [0x140695b04]
mov ecx, dword [0x14064a828]
mov edx, ecx
not edx
add edx, eax
imul edx, eax
and edx, 1
add ecx, 0x9480f1a0
cmp edx, ecx
je 0x14035197a
mov r15, rbx
and r15, rdi
mov r12, r14
and r12, rsi
nop
mov rax, r15
or rax, r12
setne cl
movzx eax, byte [0x140693f99]
add al, cl
mul cl
sub cl, al
and cl, 1
mov byte [0x140693f99], cl
xor ecx, ecx
mov edx, 0xaf51efb5
mov r8d, 0xe2524fcb
call fcn.140178950
test al, 1
je 0x140351940
jmp 0x1403518f0
mov al, 1
test al, al
mov rbx, qword [rsp + 0x68]
je 0x1403519c0
mov rdi, rbx
not rdi
and rdi, 0xfffffffffffffff0
mov ecx, ebx
and ecx, 0xf
or rcx, rdi
xor rcx, 0xf
xor rdi, 0xfffffffffffffff0
or rdi, rcx
mov rsi, rdi
xor rsi, 0xffffffffffffffff
setne dl
sete cl
test al, al
jne 0x1403519cd
nop word cs:[rax + rax]
mov ecx, dword [0x140695b08]
cmp ecx, 0x1c
jge 0x1403519c0
jmp 0x140351985
movzx eax, byte [0x140693f99]
xor cl, al
not al
and al, dl
or al, cl
xor al, 1
or al, cl
test al, 1
mov r14, qword [rsp + 0x58]
jne 0x140351c35
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 0x20]
lea rdx, [rcx + 0x50]
lea r8, [rsp + 0x90]
call qword [0x1405fc400]
mov r12d, ebx
and r12d, 3
mov rax, qword [0x14064a830]
movabs rcx, 0x78c00c9ca39192af
add rax, rcx
add rax, 4
cmp rsi, rax
mov qword [rsp + 0x40], r12
jae 0x140351a43
xor r15d, r15d
movabs rsi, 0x78c00c9ca39192af
jmp 0x140351bf1
add rdi, r12
mov rsi, 0xfffffffffffffffb
sub rsi, rdi
mov rdi, 0xffffffffffffffff
xor r15d, r15d
lea r12, [rsp + 0x90]
lea r13, [rsp + 0x88]
mov r14, qword [rsp + 0x58]
nop
mov rbx, qword [rsp + 0x48]
movzx ebp, byte [rbx + r15]
mov eax, dword [0x14064a828]
lea r9d, [rax + 0x167e313c]
add eax, 0xb260fc06
mov dword [rsp + 0x20], eax
mov rcx, r12
mov rdx, r15
mov r8, r13
call fcn.1400a8040
mov rax, qword [rsp + 0x88]
xor bpl, byte [rax]
mov byte [r14 + r15], bpl
mov dword [rsp + 0x20], 0xbe03a6f3
mov rcx, r15
lea rdx, [rsp + 0x80]
mov r8, r13
mov r9d, 0xc6b85d40
call fcn.1403529d0
mov rax, qword [rsp + 0x80]
or rax, qword [rsp + 0x88]
movzx ecx, byte [rsp + rax + 0x90]
xor cl, byte [rbx + rax]
mov byte [r14 + rax], cl
mov rax, r15
xor rax, 2
mov rcx, rdi
and rcx, 0xfffffffffffffffd
or rcx, rax
not rcx
movabs rax, 0x78c00c9ca39192af
movabs r9, 0x67ec5acf2febeb54
add rax, r9
movabs r8, 0x92ca7342eb3a1b5b
add rax, r8
sub rax, r9
movabs rdx, 0x937e8ba0d3fa6ada
add rax, rdx
add rax, qword [0x14064a830]
sub rax, rdx
sub rax, r8
add rax, 2
xor rax, r15
or rax, rcx
movzx ecx, byte [rbx + rax]
mov edx, ecx
xor dl, cl
not dl
and dl, byte [rsp + rax + 0x90]
xor dl, cl
mov byte [r14 + rax], dl
mov eax, edi
not eax
and eax, 3
mov rbp, r15
xor rbp, 3
or rbp, rax
movzx ebx, byte [rbx + rbp]
mov dword [rsp + 0x20], 0x48f87c8d
mov rcx, r12
mov rdx, rbp
mov r8, r13
mov r9d, 0xffc5d6d2
call fcn.140352b50
mov rax, qword [rsp + 0x88]
movzx ecx, byte [rax]
not cl
mov eax, ecx
and al, bl
or cl, bl
not cl
or cl, al
add rbp, r14
mov rdx, rbp
mov r8d, 0x489023d6
mov r9d, 0x524acedd
call fcn.1400ab640
cmp rsi, r15
je 0x140351bd4
add rdi, 0xfffffffffffffffc
add r15, 4
jmp 0x140351a70
add r15, 4
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x58]
movabs rsi, 0x78c00c9ca39192af
mov r12, qword [rsp + 0x40]
mov ecx, 0x6a5c995e
mov edx, 0xabfa2276
call fcn.14008b370
mov eax, dword [0x140695b04]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x140351c17
mov al, 1
test al, al
jne 0x140351c26
mov al, 1
nop dword [rax]
test al, al
je 0x140351c20
jmp 0x140351c11
mov rax, qword [0x14064a830]
add rax, rsi
cmp r12, rax
jne 0x140351c70
movaps xmm0, xmmword [rsp + 0xa0]
mov rax, qword [rsp + 0x50]
movups xmmword [rax + 0x50], xmm0
mov r12, rbx
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1404e9d20
mov rax, r12
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r12d, r12d
lea r13, [rsp + 0x88]
mov rsi, qword [rsp + 0x48]
movabs rdi, 0x78c00c9ca39192af
jmp 0x140351c9d
inc r12
mov r15, rax
cmp r12, qword [rsp + 0x40]
je 0x140351c35
mov eax, dword [0x140695b08]
cmp eax, 0x36
jg 0x140351cf0
nop dword [rax + rax]
movzx eax, byte [rsp + r15 + 0x90]
xor al, byte [rsi + r15]
mov byte [r14 + r15], al
mov rcx, r15
mov rdx, r13
mov r8d, 0xb2c934dc
mov r9d, 0xe9cbc047
call fcn.1402a0800
mov rax, qword [rsp + 0x88]
mov ecx, dword [0x140695b08]
cmp ecx, 0x1d
jl 0x140351c90
nop dword [rax + rax]
movzx ecx, byte [rsi + r15]
movzx edx, byte [rsp + r15 + 0x90]
mov eax, edx
sub al, cl
mul cl
mov r9d, edx
mov ecx, eax
shl r9b, cl
mov eax, r9d
neg al
mov ecx, edx
xor cl, al
and al, dl
add al, al
add al, cl
mul r9b
mov r8d, r9d
xor r8b, r9b
not r8b
and r8b, al
xor r8b, r9b
mov dword [rsp + 0x28], 0x36cea656
mov dword [rsp + 0x20], 0x7a6e3a16
mov rcx, r14
mov rdx, r15
mov r9, r13
call fcn.140352920
mov r9d, dword [0x14064a828]
lea eax, [r9 - 0x6b7f0e60]
mov dword [0x140695b08], eax
mov rax, qword [0x14064a830]
lea rcx, [r12 - 1]
lea rbp, [rdi + rax]
inc rbp
imul rbp, rcx
lea r8d, [r9 - 0x78382e8a]
add r9d, 0xcc7ecc0c
mov rcx, r12
mov rdx, r13
call fcn.1400a8050
mov rcx, qword [rsp + 0x88]
mov dword [rsp + 0x20], 0x7c8b915f
mov rdx, rbp
mov r8, r13
mov r9d, 0xec132189
call fcn.1400a8040
mov rcx, r13
mov edx, 0x40d05deb
mov r8d, 0x712d8598
call fcn.140352bf0
cmp dword [rsp + 0x88], 0
jne 0x140351cf0
jmp 0x140351cb0