Function at 0x14003faac
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf8]
add rsp, 0xfffffffffffffe08
mov rax, qword [rcx + 0x318]
xor ebx, ebx
mov rsi, rcx
cmp byte [rax + 0xc0], bl
je 0x14003faf0
xor al, al
jmp 0x140040c91
mov qword [rdx], rbx
lea rdi, [rcx + 0x2d8]
mov r12b, bl
mov qword [rsp + 0x48], rdi
mov r14d, 0x11c8dd7a
add r14d, 0x644ac437
sub r14d, 0x7613a1b0
mov byte [rbp + 0x150], bl
cmp qword [rcx + 0x300], rbx
jne 0x14003fb86
mov eax, dword [rdi]
lea edx, [r14 + 0xf]
and eax, 0x2000
neg eax
sbb rdi, rdi
and rdi, 0xffffffffffff0100
neg rdi
add rdi, 0xffffffffffff0001
neg rdi
mov rcx, rdi
shl rcx, 4
call fcn.140092000
mov rcx, rax
movaps xmm0, xmmword [0x1400f0460]
movups xmmword [rax], xmm0
lea rax, [rax + 0x10]
sub rdi, r14
jne 0x14003fb5c
mov qword [rsi + 0x300], rcx
lea rdi, [rsi + 0x2d8]
jmp 0x14003fb8b
mov qword [rsp + 0x48], rdi
mov rax, qword [0x1400ef740]
movabs rcx, 0x40074df2535e4a0
xor rcx, 0x1e525f33
xor rcx, 0x2d112c9b
not rax
sub rax, rcx
movabs rcx, 0x61caf0ec1ac7afc6
add rcx, 0x29cdcb11
xor rcx, 0x5874b012
add rcx, 0x66183d7c
xor rax, rcx
movabs rcx, 0x632dccff41f8d60c
sub rcx, 0x2e2df2cc
add rcx, 0x7fffffff
xor rcx, 0x2afb8910
sub rax, rcx
xor ecx, ecx
call rax
mov qword [rbp + 0x18], rax
mov r15, rax
test rax, rax
je 0x140040c8e
mov rax, qword [0x1400ef768]
movabs rcx, 0x5e7c0461472cf554
xor rcx, 0x185d2f08
add rcx, 0x24fa5410
not rax
mov qword [rbp + 0xe0], rbx
xor rax, rcx
mov edx, r14d
not rax
movabs rcx, 0x61f44d241eda2ec3
add rcx, 0x1e8274ae
add rcx, 0x32001861
add rcx, 0x19c6105b
add rax, rcx
movabs rcx, 0x270a3077486d0a92
add rcx, 0x9cdfc5
add rcx, 0x7fffffff
xor rcx, 0x3501608a
xor rax, rcx
movabs rcx, 0x761c8ab32b1f7695
sub rcx, 0x14b48745
sub rcx, 0x13b5b6ec
add rax, rcx
mov rcx, r15
call rax
lea r8, [rsi + 0x298]
mov rcx, rsi
lea rdx, [rbp + 0x60]
call fcn.14003e6b8
mov qword [rbp + 0x20], rax
mov r13, rax
test rax, rax
je 0x140040bb5
mov rax, qword [0x1400ef780]
movabs rcx, 0x69c81975646826d2
sub rcx, 0x2f78dfd5
add rcx, 0x3f4b7f41
sub rcx, 0x45764aad
mov rdx, qword [r13]
not rax
ror rax, 0x34
not rax
ror rax, 2
xor rax, rcx
movabs rcx, 0x735cdd376a1a871c
sub rcx, 0xa955fc9
xor rcx, 0x6b3c4b58
xor rcx, 0x25e3c5a6
not rax
sub rax, rcx
mov rcx, r15
call rax
mov rax, qword [0x1400ef790]
movabs rcx, 0x1247cf1522ba4591
xor rcx, 0x4ba78aa2
xor rcx, 0x78f17e99
add rcx, 0x7fffffff
add rcx, 0x1259e551
rol rax, 0x25
mov edx, 0x1df9ac1f
add edx, 0x4e8c980d
sub edx, 0x6b86442d
add rax, rcx
mov rcx, r15
ror rax, 5
not rax
ror rax, 0x38
call rax
movabs rcx, 0x8b98393151b4d8a7
sub rcx, 0x48f2a915
add rcx, 0x7fffffff
xor rcx, 0x3dd1fa72
movabs rax, 0xb1add1eb02589028
add rax, 0x39a26e03
add rax, 0x9ca1cb3
add rax, 0x13f0bf7c
add rcx, qword [0x1400ef798]
xor edx, edx
rol rcx, 0x39
add rax, rcx
movabs rcx, 0x5dc5e03e083c0d19
xor rcx, 0x5420780d
sub rcx, 0x55154cc2
add rcx, 0x7fffffff
xor rcx, 0x6fd7b72c
xor rax, rcx
movabs rcx, 0x3f1dd3e83492170f
add rcx, 0x1737595c
add rcx, 0x7fffffff
add rcx, 0x2560eafd
add rax, rcx
mov rcx, r15
not rax
call rax
mov rax, qword [0x1400ef7a0]
movabs rcx, 0x9a10119829c4d70b
add rcx, 0x3042f9af
xor rcx, 0x130b138b
not rax
xor edx, edx
rol rax, 0x36
xor rax, rcx
movabs rcx, 0x129e8aec30554827
sub rcx, 0x2f1a1f48
add rcx, 0x55529b12
sub rax, rcx
movabs rcx, 0x71c539880341d02e
xor rcx, 0x668ccdc
add rcx, 0x41a636e
add rcx, 0x8657093
not rax
sub rax, rcx
mov rcx, r15
call rax
mov rax, qword [0x1400ef7a8]
lea r9, [rbp + 0x10]
movabs rcx, 0x15de775703ed6cae
add rcx, 0x61676b78
add rcx, 0x7fffffff
sub rcx, 0x45443810
lea rdx, [rsp + 0x40]
add rax, rcx
mov r12d, 0x48f15fb2
add r12d, 0x8c626a
xor r12d, 0x497dc23c
movabs rcx, 0x289db12b255d19a2
add rcx, 0x7f1ad5
add rcx, 0x2d6899f4
mov dword [rsp + 0x40], r12d
xor rax, rcx
mov r8d, r14d
movabs rcx, 0x56ed5be22bc72ced
add rcx, 0x4b47e179
xor rcx, 0x64617db7
add rcx, 0x16cd9bc6
add rax, rcx
movabs rcx, 0xa4241176da7bf24
sub rcx, 0x57f9f8e2
add rcx, 0x7fffffff
add rcx, 0x1ddc3227
not rax
sub rax, rcx
mov rcx, r15
rol rax, 0xe
call rax
mov eax, dword [rbp + 0x10]
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, r14d
xor eax, 0x3e4810c7
test dword [rdi], 0x2000
mov dword [rsi + 0x2f4], eax
je 0x14003ffc5
mov ecx, 0x3849c92c
xor ecx, 0xf884d5a
sub ecx, 0x37c183b4
mov dword [r13 + 0x10], 0x5de4b68b
add dword [r13 + 0x10], 0x16831ef
sub dword [r13 + 0x10], 0x5f4ce81a
call fcn.140091f90
mov rcx, rax
mov qword [r13 + 8], rax
mov edx, ebx
lea eax, [r12 + rdx]
add edx, r14d
mov word [rcx], ax
lea rcx, [rcx + 2]
cmp edx, 0x60
jl 0x14003ff9f
mov word [rcx], bx
mov rax, qword [rbp + 0xe0]
jmp 0x1400407d2
test dword [rdi], 0x8000
je 0x14004030a
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x71cd7925
xor dword [rsp + 0x30], 0x7d733ae6
add dword [rsp + 0x30], 0x3563387c
lea rcx, [rsp + 0x58]
mov dword [rsp + 0x34], 0x42242336
xor dword [rsp + 0x34], 0x683fc939
xor dword [rsp + 0x34], 0x7c368c12
lea rdx, [rsp + 0x58]
mov dword [rsp + 0x38], 0x4ca1a
add dword [rsp + 0x38], 0x5dfa37d2
xor dword [rsp + 0x38], 0xce434ea
mov word [rsp + 0x3c], 0x3690
sub word [rsp + 0x3c], 0x1483
add word [rsp + 0x3c], 0x4e2d
mov eax, 0x35ac9e46
xor eax, 0x544d677b
sub eax, 0x61e1f92e
mov byte [rsp + 0x3e], 0x57
add byte [rsp + 0x3e], 9
sub byte [rsp + 0x3e], 9
sub byte [rsp + 0x3e], 0x2c
mov qword [rsp + 0x50], rcx
mov qword [rbp - 0x78], rax
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
cmp rcx, rdx
je 0x140040088
call fcn.1400920d0
mov rax, qword [rbp - 0x78]
lea rdx, [rsp + 0x58]
xorps xmm0, xmm0
mov qword [rsp + 0x50], rdx
mov rcx, rbx
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
test rax, rax
je 0x1400400c6
movzx eax, byte [rsp + rcx + 0x30]
mov word [rdx + rcx*2], ax
add rcx, r14
cmp rcx, qword [rbp - 0x78]
jb 0x1400400b0
lea r8, [rsp + 0x50]
mov rcx, rsi
lea rdx, [rbp + 0x60]
call fcn.14003e6b8
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x58]
cmp rcx, rax
jne 0x1400400fb
xor eax, eax
lea rdi, [rsp + 0x58]
lea ecx, [rax + 0x30]
rep stosb byte [rdi], al
jmp 0x140040100
call fcn.1400920d0
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x43be2e55
add dword [rsp + 0x30], 0x1bc2a83a
add dword [rsp + 0x30], 0x5e16fb0
lea rcx, [rbp - 0x68]
mov dword [rsp + 0x34], 0x301f2da6
xor dword [rsp + 0x34], 0x2ed902f7
add dword [rsp + 0x34], 0x403f05ea
lea rdx, [rbp - 0x68]
mov dword [rsp + 0x38], 0xaf9a83f
xor dword [rsp + 0x38], 0x5c426d45
xor dword [rsp + 0x38], 0x590b87c
mov qword [rbp - 0x70], rcx
mov eax, 0x6411c1df
xor eax, 0x71491d4e
sub eax, 0x1558dc85
mov qword [rbp - 0x38], rax
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rbp - 0x58], xmm0
movups xmmword [rbp - 0x48], xmm0
cmp rcx, rdx
je 0x140040188
call fcn.1400920d0
mov rax, qword [rbp - 0x38]
lea rdx, [rbp - 0x68]
xorps xmm0, xmm0
mov qword [rbp - 0x70], rdx
mov rcx, rbx
movups xmmword [rbp - 0x68], xmm0
movups xmmword [rbp - 0x58], xmm0
movups xmmword [rbp - 0x48], xmm0
test rax, rax
je 0x1400401c1
movzx eax, byte [rsp + rcx + 0x30]
mov word [rdx + rcx*2], ax
add rcx, r14
cmp rcx, qword [rbp - 0x38]
jb 0x1400401ab
lea r8, [rbp - 0x70]
mov rcx, rsi
lea rdx, [rbp + 0x60]
call fcn.14003e6b8
mov rcx, qword [rbp - 0x70]
lea rax, [rbp - 0x68]
cmp rcx, rax
jne 0x1400401f2
xor eax, eax
lea rdi, [rbp - 0x68]
lea ecx, [rax + 0x30]
rep stosb byte [rdi], al
jmp 0x1400401f7
call fcn.1400920d0
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x267c30d2
xor dword [rsp + 0x30], 0x61b01f91
add dword [rsp + 0x30], 0xf6244fc
lea rcx, [rbp - 0x28]
mov dword [rsp + 0x34], 0x40664ed
add dword [rsp + 0x34], 0x19b38b3c
add dword [rsp + 0x34], 0x56558869
xor dword [rsp + 0x34], 0x36d0395
lea rdx, [rbp - 0x28]
mov dword [rsp + 0x38], 0x149e0794
xor dword [rsp + 0x38], 0x68d7584
xor dword [rsp + 0x38], 0x4b39130d
mov byte [rsp + 0x3c], 6
add byte [rsp + 0x3c], 0x6b
xor byte [rsp + 0x3c], 0x60
mov eax, 0x2273333d
add eax, 0x20da1d53
add eax, 0x1468e10d
sub eax, 0x57b63190
mov qword [rbp - 0x30], rcx
mov qword [rbp + 8], rax
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm0
movups xmmword [rbp - 8], xmm0
cmp rcx, rdx
je 0x14004029b
call fcn.1400920d0
mov rax, qword [rbp + 8]
lea rdx, [rbp - 0x28]
xorps xmm0, xmm0
mov qword [rbp - 0x30], rdx
mov rcx, rbx
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp - 0x18], xmm0
movups xmmword [rbp - 8], xmm0
test rax, rax
je 0x1400402d4
movzx eax, byte [rsp + rcx + 0x30]
mov word [rdx + rcx*2], ax
add rcx, r14
cmp rcx, qword [rbp + 8]
jb 0x1400402be
lea r8, [rbp - 0x30]
mov rcx, rsi
lea rdx, [rbp + 0x60]
call fcn.14003e6b8
mov rcx, qword [rbp - 0x30]
lea rax, [rbp - 0x28]
cmp rcx, rax
jne 0x140040305
xor eax, eax
lea rdi, [rbp - 0x28]
lea ecx, [rax + 0x30]
rep stosb byte [rdi], al
jmp 0x14004030a
call fcn.1400920d0
mov rcx, qword [0x1400ef7f0]
movabs rax, 0xe017ceb573d5c9f
sub rax, 0x47a9830d
xor rax, 0x58288a1f
movabs rdi, 0xed6922d2524e0964
xor rdi, 0x6393260d
add rdi, 0x7fffffff
add rdi, 0x13443e67
xor edx, edx
add rcx, rdi
not rcx
sub rcx, rax
movabs rax, 0x63f9d7da30115e72
add rax, 0x2cfefe34
add rax, 0x7fffffff
sub rax, 0xc467e3a
not rcx
rol rcx, 0x16
add rax, rcx
mov rcx, r15
not rax
call rax
mov ecx, eax
call fcn.140092370
mov qword [r13 + 0x18], rax
mov rdx, rax
mov rcx, qword [0x1400ef7f0]
movabs rax, 0xe017ceb1c6ea24e
add rax, 0x489f61d1
sub rax, 0xd52b092
add rcx, rdi
not rcx
sub rcx, rax
movabs rax, 0x63f9d7da58dae3dc
xor rax, 0x2933ee9d
add rax, 0x5ee0d12a
not rcx
rol rcx, 0x16
add rax, rcx
mov rcx, r15
not rax
call rax
mov rax, qword [r13 + 0x18]
mov eax, dword [rax + 8]
mov dword [r13 + 0x10], eax
inc eax
movsxd rcx, eax
mov eax, 0x1385b21f
add eax, 0x4c559d6
sub eax, 0x1cce20d
sub eax, 0x167e29e6
mul rcx
pushf
movabs rcx, 0xffffffff54fdf2de
add rcx, 0xf40ff9d
sub rcx, 0x5e41968e
add rcx, 0x7fffffff
add rcx, 0x7a02a413
popf
cmovo rax, rcx
mov rcx, rax
call fcn.140091f90
mov qword [r13 + 8], rax
mov rdi, rax
mov rax, qword [r13 + 0x18]
cmp dword [rax + 0xc], ebx
jbe 0x14004049c
mov r9d, dword [rax + 0xc]
mov rdx, rbx
movzx r8d, word [rdx + rax + 0x12]
movzx ecx, bx
movzx r10d, word [rdx + rax + 0x10]
cmp bx, r8w
jae 0x140040489
lea eax, [r10 + rcx]
add cx, r14w
mov word [rdi], ax
add rdi, 2
cmp cx, r8w
jb 0x14004046c
mov rax, qword [r13 + 0x18]
neg rdx
add rdx, 0xfffffffffffffffc
neg rdx
sub r9, r14
jne 0x140040453
mov word [rdi], bx
mov rax, qword [rbp + 0xe0]
cmp r14, rax
jae 0x1400407d2
lea rdi, [rbp + 0x98]
movabs rsi, 0xed6922d24469791c
xor rsi, 0x37737e25
add rsi, 0x7fffffff
sub rsi, 0x2df89969
mov r12, r14
movabs r13, 0xe017ceb246c4fb5
xor r13, 0x2c8ea7a3
xor r13, 0x5f59bb9b
mov rax, qword [0x1400ef780]
movabs rcx, 0x69c8197569a3a25d
xor rcx, 0x3b7e25b2
add rcx, 0x1a0ac541
sub rcx, 0x3e23d19f
mov rdx, qword [rdi - 0x18]
not rax
ror rax, 0x34
not rax
ror rax, 2
xor rax, rcx
movabs rcx, 0x735cdd376c9d30b4
sub rcx, 0x14a8990b
sub rcx, 0x4699edfc
not rax
sub rax, rcx
mov rcx, r15
call rax
mov rcx, qword [0x1400ef7f0]
movabs rax, 0x63f9d7da6e93ed0a
sub rax, 0x39a17752
add rax, 0x3df55fcf
add rax, 0x5de208e4
add rcx, rsi
xor edx, edx
not rcx
sub rcx, r13
not rcx
rol rcx, 0x16
add rax, rcx
mov rcx, r15
not rax
call rax
mov ecx, eax
call fcn.140092370
mov rcx, qword [0x1400ef7f0]
mov rdx, rax
add rcx, rsi
mov qword [rdi], rax
not rcx
movabs rax, 0x63f9d7da14ad04ff
add rax, 0xba38696
add rax, 0x7fffffff
xor rax, 0x709955ff
sub rcx, r13
not rcx
rol rcx, 0x16
add rax, rcx
mov rcx, r15
not rax
call rax
mov rax, qword [rdi]
nop
movabs rcx, 0xffffffff067cd685
add rcx, 0x1a38e216
add rcx, 0x7fffffff
add rcx, 0x5f4a4765
mov edx, dword [rax + 8]
mov eax, 0x1a4efb0b
add eax, 0x160fd154
xor eax, 0x305ecc5d
add edx, r12d
mul rdx
cmovo rax, rcx
mov rcx, rax
call fcn.140091f90
mov rcx, qword [rdi]
mov qword [rdi - 0x10], rax
cmp dword [rcx + 0xc], ebx
jbe 0x140040771
mov r8d, dword [rcx + 0xc]
mov r10, rbx
mov qword [rsp + 0x30], r8
mov r15d, 0x5f7a9b4d
sub r15d, 0x43f7f8ef
add r15d, 0x1b0f72e5
xor r15d, 0x36921542
movzx edx, word [r10 + rcx + 0x12]
movzx r9d, bx
movzx r13d, word [r10 + rcx + 0x10]
mov word [rbp + 0x158], dx
cmp bx, dx
jae 0x1400406fe
lea r8d, [r9 + r13]
mov sil, bl
test r14, r14
je 0x1400406e0
lea r11, [rbp + 0x68]
mov r12, r14
mov rdx, qword [r11]
jmp 0x1400406af
cmp cx, r8w
je 0x1400406c0
nop
sub rdx, 0x31f42f91
add rdx, 0x31f42f93
movzx ecx, word [rdx]
test cx, cx
jne 0x140040696
jmp 0x1400406c3
mov sil, r15b
sub r11, 0xffffffffffffffe0
sub r12, r15
jne 0x14004068e
movzx edx, word [rbp + 0x158]
test sil, sil
jne 0x1400406e8
mov word [rax], r8w
add rax, 2
add r9w, r15w
cmp r9w, dx
jb 0x140040677
mov rcx, qword [rdi]
mov r8, qword [rsp + 0x30]
nop
sub r10, 0x398a19cd
add r10, 0x398a19d1
sub r8, r15
mov qword [rsp + 0x30], r8
jne 0x140040657
mov r15, qword [rbp + 0x18]
movabs rsi, 0xed6922d26e5c4c17
xor rsi, 0x6dedc19c
xor rsi, 0x6c1f4152
add rsi, 0x5572a0f6
mov r12d, 0x6a23a357
sub r12d, 0x48f41865
add r12d, 0x36ef4b8d
sub r12d, 0x581ed67e
movabs r13, 0xe017ceb663807d5
sub r13, 0x92335ac
xor r13, 0xaaf81a4
mov word [rax], bx
cmp rax, qword [rdi - 0x10]
je 0x14004078b
sub rax, qword [rdi - 0x10]
sar rax, 1
sub eax, r12d
mov dword [rdi - 8], eax
mov rax, qword [rbp + 0xe0]
add r14, r12
neg rdi
add rdi, 0xffffffffffffffe0
neg rdi
cmp r14, rax
jb 0x1400404f0
mov rsi, qword [rbp + 0x140]
mov r14d, 0x6296cd99
sub r14d, 0x5f781ac1
add r14d, 0xd40347e
sub r14d, 0x105ee755
mov r13, qword [rbp + 0x20]
lea r12d, [r14 + 0x1f]
test rax, rax
lea rcx, [rbp + 0x60]
cmove rcx, rbx
je 0x1400407f3
shl rax, 5
lea rdx, [rbp + 0x60]
add rdx, rax
jmp 0x1400407f6
mov rdx, rbx
cmp rcx, rdx
je 0x14004082f
mov eax, dword [rsi + 0x30c]
mov edi, 0x7ba3fa87
sub edi, 0x3a528dfe
sub edi, 0x3095bc2
xor eax, edi
add eax, dword [rcx + 0x10]
add rcx, r12
xor eax, edi
cmp rcx, rdx
jne 0x140040816
mov dword [rsi + 0x30c], eax
lea rdx, [rbp + 0x140]
mov rcx, rsi
call fcn.14003e538
mov r12d, dword [rbp + 0x144]
lea r9, [rbp + 0x28]
mov rdi, qword [rbp + 0x140]
lea rdx, [rbp + 0x30]
mov eax, r12d
mov dword [rsp + 0x28], ebx
neg eax
mov qword [rbp + 0x54], rbx
mov dword [rbp + 0x38], eax
movabs rcx, 0x2e4c7d3d2c3f78ef
xor rcx, 0x41cedb63
xor rcx, 0x50cef791
sub rcx, 0x37d6664c
mov rax, qword [0x1400ef750]
xorps xmm0, xmm0
ror rax, 0x18
xor r8d, r8d
xor rax, rcx
mov dword [rbp + 0x30], 0x393e59e1
xor dword [rbp + 0x30], 0x13015a47
sub dword [rbp + 0x30], 0x2a3f037e
ror rax, 8
movabs rcx, 0x69d8fea2633075c5
xor rcx, 0x5d92d19
add rcx, 0x471c232f
xor rax, rcx
mov dword [rbp + 0x34], edi
not rax
mov qword [rbp + 0x3c], 0x6738c2b5
xor qword [rbp + 0x3c], 0x631fd0f8
xor qword [rbp + 0x3c], 0x407124c
rol rax, 0x1c
mov rcx, r15
movdqu xmmword [rbp + 0x44], xmm0
mov qword [rsp + 0x20], rbx
call rax
mov qword [rbp + 0x158], rax
mov rcx, rax
test rax, rax
je 0x140040bb2
mov rax, qword [0x1400ef780]
movabs rdx, 0x69c81975437e14a3
add rdx, 0x1502395
sub rdx, 0x1609bca7
not rax
ror rax, 0x34
not rax
ror rax, 2
xor rax, rdx
movabs rdx, 0x735cdd374e351e4d
xor rdx, 0x4d59ec3a
add rdx, 0xdedb736
not rax
sub rax, rdx
mov rdx, rcx
mov rcx, r15
call rax
mov eax, dword [rsi + 0x2f4]
lea r9, [rbp + 0x140]
xor eax, 0x3e4810c7
mov dword [rbp + 0x144], ebx
mov r8, r13
mov dword [rbp + 0x140], eax
mov rdx, r15
mov rcx, rsi
call fcn.1400416ec
test al, al
je 0x140040b48
mov rax, qword [rbp + 0xe0]
lea r14, [rbp + 0x80]
test rax, rax
pushf
mov r13d, 0x6b0b6f76
sub r13d, 0xc721554
sub r13d, 0x5e995a02
popf
cmove r14, r13
test rax, rax
je 0x1400409df
shl rax, 5
lea rcx, [rbp + 0x60]
add rcx, rax
jmp 0x1400409e2
mov rcx, rbx
cmp r14, rcx
jae 0x140040a0f
lea r9, [rbp + 0x140]
mov r8, r14
mov rdx, r15
mov rcx, rsi
call fcn.1400416ec
mov rax, qword [rbp + 0xe0]
add r14, r13
jmp 0x1400409c6
mov eax, r12d
imul eax, edi
movsxd rcx, eax
mov eax, 0x5d54416b
xor eax, 0x58d953a3
xor eax, 0x58d12cc
mul rcx
pushf
movabs rcx, 0xffffffff776056b1
sub rcx, 0x5f08f5ff
xor rcx, 0x7cd77336
add rcx, 0x7fffffff
add rcx, 0x1b7fec7c
popf
cmovo rax, rcx
mov rcx, rax
call fcn.140091f90
mov r9, rax
mov rax, qword [rbp + 0x148]
mov qword [rax], r9
test r12d, r12d
jle 0x140040ad2
movsxd r10, edi
mov r14, r12
shl r10, 2
mov r8, rbx
mov r12d, 0x59c2c8c1
xor r12d, 0x3ba67fe5
xor r12d, 0x6264b725
test edi, edi
jle 0x140040ac6
mov rdx, r8
mov r11d, edi
mov rax, qword [rbp + 0x28]
mov ecx, dword [rax + rdx]
shl ecx, 0x18
or ecx, 0xffffff
mov dword [r9 + rdx], ecx
lea rdx, [rdx + 4]
sub r11, r12
jne 0x140040aa5
add r8, r10
sub r14, r12
jne 0x140040a97
mov rax, qword [rsp + 0x48]
test byte [rax], 2
je 0x140040b0e
xor r8d, r8d
mov rdx, r9
mov rcx, rsi
call fcn.14003e0b8
mov r14d, 0x2a27bad8
xor r14d, 0x1a8e5634
sub r14d, 0x17e4ce15
xor r14d, 0x18c51ed6
jmp 0x140040b39
mov r14d, 0x16775b72
add r14d, 0x2521dd83
sub r14d, 0x3b9938f4
test byte [rax], r14b
je 0x140040b39
mov r8b, r14b
mov rdx, r9
mov rcx, rsi
call fcn.14003e0b8
mov r12b, r14b
mov byte [rbp + 0x150], r14b
jmp 0x140040b4b
mov r12b, bl
mov rax, qword [0x1400ef7d8]
movabs rcx, 0xe95a0e17aef8a46
xor rcx, 0x6980311d
add rcx, 0x7fffffff
xor rcx, 0x76d76435
not rax
sub rax, rcx
movabs rcx, 0x1edbcdaf0e50f364
add rcx, 0x3fd3beea
add rcx, 0x7fffffff
add rcx, 0x1df9e96d
rol rax, 0xb
not rax
ror rax, 0x22
add rax, rcx
mov rcx, qword [rbp + 0x158]
call rax
jmp 0x140040bb5
mov r12b, bl
mov rdx, qword [0x1400ef7e0]
movabs rcx, 0x3896c7275c869567
add rcx, 0x1d15e0db
add rcx, 0x7fffffff
sub rcx, 0x2ca97abe
add rdx, rcx
movabs rax, 0xf6b157303356db00
xor rax, 0x4cb7d849
xor rax, 0x676ff99b
xor rdx, rax
mov rcx, r15
movabs rax, 0x5dab76b37670a0ae
sub rax, 0x29c9ff6f
add rax, 0xa913345
xor rax, 0x5bef4d23
sub rdx, rax
movabs rax, 0x73a898a43907755f
sub rax, 0x3490ac0c
add rax, 0x277dcafc
add rax, 0x7fffffff
xor rax, 0xd42cf1f
xor rdx, rax
call rdx
cmp qword [rbp + 0xe0], rbx
jbe 0x140040c8e
lea rdi, [rbp + 0x60]
mov r12d, 0x7864830f
sub r12d, 0x37a3a885
add r12d, 0x4315a4c
sub r12d, 0x44f234b6
mov rcx, rdi
call fcn.14003db90
add rbx, r14
add rdi, r12
cmp rbx, qword [rbp + 0xe0]
jb 0x140040c6c
mov r12b, byte [rbp + 0x150]
mov al, r12b
neg rsp
add rsp, 0xfffffffffffffe08
neg rsp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret