Function at 0x1400f308c
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 - 0x108]
add rsp, 0xfffffffffffffdf8
mov rax, qword [rcx + 0x318]
xor ebx, ebx
mov rsi, rcx
cmp byte [rax + 0xc0], bl
je 0x1400f30d0
xor al, al
jmp 0x1400f42c6
mov qword [rdx], rbx
lea rdi, [rcx + 0x2d8]
mov r14b, bl
mov qword [rsp + 0x58], rdi
mov r13d, 0xe222b16
xor r13d, 0x7a2b4311
xor r13d, 0x659c9125
sub r13d, 0x1195f921
mov byte [rbp + 0x160], bl
cmp qword [rcx + 0x300], rbx
jne 0x1400f3167
mov eax, dword [rdi]
lea edx, [r13 + 0xf]
and eax, 0x2000
neg eax
sbb rdi, rdi
and rdi, 0xffffffffffff0100
sub rdi, 0xffffffffffff0001
mov rcx, rdi
shl rcx, 4
call fcn.140098680
mov rcx, rax
movaps xmm0, xmmword [0x140146620]
movups xmmword [rax], xmm0
lea rax, [rax + 0x10]
sub rdi, r13
jne 0x1400f313d
mov qword [rsi + 0x300], rcx
lea rdi, [rsi + 0x2d8]
jmp 0x1400f316c
mov qword [rsp + 0x58], rdi
mov rdx, qword [0x140141740]
movabs rcx, 0xf60de1814858b83f
xor rcx, 0x5559aba9
xor rcx, 0x75d8495d
add rdx, rcx
movabs rax, 0x4713756c62f9e2bb
sub rax, 0x5f3ec5b1
add rax, 0x7fffffff
xor rax, 0x37baa7bb
not rdx
xor ecx, ecx
add rdx, rax
not rdx
rol rdx, 0x36
call rdx
mov qword [rsp + 0x50], rax
mov r12, rax
test rax, rax
je 0x1400f42c3
mov rax, qword [0x140141768]
movabs rcx, 0x4b88edc22e2b2c89
xor rcx, 0x76bd35e4
add rcx, 0x7fffffff
xor rcx, 0x6140fed
not rax
mov qword [rbp + 0xf0], rbx
xor rax, rcx
mov edx, r13d
rol rax, 0x23
movabs rcx, 0x3b344bec06075404
add rcx, 0x2cab9c55
xor rcx, 0x68fc5738
add rcx, 0x15460a35
xor rax, rcx
movabs rcx, 0x3d9a13bc480611e6
xor rcx, 0x55f21b4
sub rcx, 0x434b8bc4
add rcx, 0x4acd1cdb
ror rax, 0x3d
add rax, rcx
mov rcx, r12
ror rax, 0x1a
call rax
lea r8, [rsi + 0x298]
mov rcx, rsi
lea rdx, [rbp + 0x70]
call fcn.1400f1b90
mov qword [rbp + 0x28], rax
mov r15, rax
test rax, rax
je 0x1400f4205
mov rax, qword [0x140141780]
movabs rcx, 0x395d296090a2fdf
xor rcx, 0x6adf3c06
xor rcx, 0x535dbcec
mov rdx, qword [r15]
xor rax, rcx
rol rax, 0xf
movabs rcx, 0x64c9effc190a564c
add rcx, 0x299ce6c6
sub rcx, 0xa6abf48
sub rcx, 0x35d5e12b
add rax, rcx
movabs rcx, 0x670098122cf9c058
sub rcx, 0x38d4ab0
add rcx, 0x4d77b384
sub rcx, 0x67cd1f03
not rax
sub rax, rcx
mov rcx, r12
call rax
mov rax, qword [0x140141790]
movabs rcx, 0x89b9bd013f79a44a
sub rcx, 0x33ffe482
xor rcx, 0x246e990c
add rcx, 0x7fffffff
add rcx, 0x1ebb1fbd
ror rax, 1
mov edx, 0x6340e6bf
add edx, 0x19bc3d65
sub edx, 0x7bfd2425
not rax
rol rax, 0x16
xor rax, rcx
mov rcx, r12
rol rax, 0x3c
call rax
mov rax, qword [0x140141798]
movabs rcx, 0x309ab5072efbbb9a
sub rcx, 0x2449c85a
add rcx, 0x471f3383
add rcx, 0x7fffffff
add rcx, 0x28413872
not rax
xor edx, edx
ror rax, 0x3e
add rax, rcx
mov rcx, r12
rol rax, 0x25
call rax
mov rax, qword [0x1401417a0]
movabs rcx, 0x7837d6b12cf47e68
add rcx, 0x11489227
add rcx, 0x1ba6f09e
add rcx, 0x1e46e8c8
add rax, rcx
xor edx, edx
not rax
movabs rcx, 0x19a784294f8ba4e5
sub rcx, 0x1e4fd23c
add rcx, 0x3894b395
add rcx, 0x18183c6f
sub rax, rcx
mov rcx, r12
rol rax, 0x32
call rax
mov rax, qword [0x1401417a8]
lea r9, [rbp + 0x20]
movabs rcx, 0x87dc0db7381c1ade
xor rcx, 0x3c258813
add rcx, 0x4571ade0
add rcx, 0x807b5c
mov dword [rsp + 0x40], 0xee8b6d5
xor dword [rsp + 0x40], 0x24745e12
xor dword [rsp + 0x40], 0x55021fd0
xor dword [rsp + 0x40], 0x7f9ef737
add rax, rcx
lea rdx, [rsp + 0x40]
movabs rcx, 0x70bd1f5d540dfa9b
add rcx, 0x4621757
xor rcx, 0x69cff816
add rcx, 0x7fffffff
add rcx, 0x34b03243
mov r8d, r13d
xor rax, rcx
mov r14, r13
ror rax, 0x15
movabs rcx, 0x71164e9248eec767
add rcx, 0x3b9bb4e
xor rcx, 0x2980144b
add rcx, 0x7fffffff
sub rcx, 0xcabf593
add rax, rcx
mov rcx, r12
rol rax, 0x1c
call rax
mov eax, dword [rbp + 0x20]
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, r13d
xor eax, 0x3e6f4466
test dword [rdi], 0x2000
mov dword [rsi + 0x2f4], eax
je 0x1400f3531
mov ecx, 0x7ee7bf85
sub ecx, 0x59d480e4
add ecx, 0x46443a83
sub ecx, 0x6b577862
mov dword [r15 + 0x10], 0x43374f91
xor dword [r15 + 0x10], 0x14735d00
sub dword [r15 + 0x10], 0x57441231
call fcn.140098610
mov edi, 0x2e8545a9
xor edi, 0x5ed52dc8
xor edi, 0x70506841
mov qword [r15 + 8], rax
mov rcx, rax
mov edx, ebx
lea r13d, [rdi - 0x1e]
lea eax, [rdi + rdx]
add edx, r14d
mov word [rcx], ax
add rcx, r13
cmp edx, 0x60
jl 0x1400f350d
mov word [rcx], bx
mov rax, qword [rbp + 0xf0]
jmp 0x1400f3da7
test dword [rdi], 0x8000
pushf
mov r13d, 0x4af002b6
xor r13d, 0x5c689b8d
xor r13d, 0x16989939
popf
je 0x1400f38b7
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x7a2c1e06
xor dword [rsp + 0x30], 0x63b1ac04
add dword [rsp + 0x30], 0x1e793ab7
xor dword [rsp + 0x30], 0x514db04
lea rcx, [rsp + 0x68]
mov dword [rsp + 0x34], 0x119ed077
add dword [rsp + 0x34], 0x21117365
sub dword [rsp + 0x34], 0x9a2163d
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x38], 0xde4846d
add dword [rsp + 0x38], 0x699d72f4
xor dword [rsp + 0x38], 0xbe99e39
sub dword [rsp + 0x38], 0x4e2fead4
mov word [rsp + 0x3c], 0x7972
sub word [rsp + 0x3c], 0x62de
add word [rsp + 0x3c], 0x2524
lea eax, [r13 + 0xd]
mov byte [rsp + 0x3e], 0x2b
add byte [rsp + 0x3e], 0xe
sub byte [rsp + 0x3e], 0xe
sub byte [rsp + 0x3e], 0x23
mov qword [rsp + 0x60], rcx
mov qword [rbp - 0x68], rax
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbp - 0x78], xmm0
cmp rcx, rdx
je 0x1400f3610
call fcn.140098770
mov rax, qword [rbp - 0x68]
lea rdx, [rsp + 0x68]
xorps xmm0, xmm0
mov qword [rsp + 0x60], rdx
mov rcx, rbx
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbp - 0x78], xmm0
test rax, rax
je 0x1400f364d
movzx eax, byte [rsp + rcx + 0x30]
mov word [rdx + rcx*2], ax
add rcx, r14
cmp rcx, qword [rbp - 0x68]
jb 0x1400f3637
lea r8, [rsp + 0x60]
mov rcx, rsi
lea rdx, [rbp + 0x70]
call fcn.1400f1b90
mov rcx, qword [rsp + 0x60]
lea rax, [rsp + 0x68]
cmp rcx, rax
jne 0x1400f3682
xor eax, eax
lea rdi, [rsp + 0x68]
lea ecx, [rax + 0x30]
rep stosb byte [rdi], al
jmp 0x1400f3687
call fcn.140098770
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x378fcd5b
xor dword [rsp + 0x30], 0x3586ec68
xor dword [rsp + 0x30], 0x3cabdcd1
xor dword [rsp + 0x30], 0x24e3f05f
lea rcx, [rbp - 0x58]
mov dword [rsp + 0x34], 0x6565382b
xor dword [rsp + 0x34], 0x3bf7b5a5
xor dword [rsp + 0x34], 0x35353898
sub dword [rsp + 0x34], 0x4b81365d
mov r14d, 0x50d09270
xor r14d, 0x3cb5b2fe
sub r14d, 0x6c652081
mov dword [rsp + 0x38], 0x10e69576
add dword [rsp + 0x38], 0x20fc236
xor dword [rsp + 0x38], 0x3efe6128
lea rdx, [rbp - 0x58]
mov qword [rbp - 0x60], rcx
movups xmmword [rbp - 0x58], xmm0
lea eax, [r14 - 1]
mov qword [rbp - 0x28], rax
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
cmp rcx, rdx
je 0x1400f3728
call fcn.140098770
mov rax, qword [rbp - 0x28]
lea rdi, [rbp - 0x58]
xorps xmm0, xmm0
mov qword [rbp - 0x60], rdi
mov rcx, rbx
movups xmmword [rbp - 0x58], xmm0
movups xmmword [rbp - 0x48], xmm0
movups xmmword [rbp - 0x38], xmm0
test rax, rax
je 0x1400f3772
mov edx, 0x297f04d9
xor edx, 0x7de68d03
sub edx, 0x549989d9
movzx eax, byte [rsp + rcx + 0x30]
mov word [rdi + rcx*2], ax
add rcx, rdx
cmp rcx, qword [rbp - 0x28]
jb 0x1400f375c
lea r8, [rbp - 0x60]
mov rcx, rsi
lea rdx, [rbp + 0x70]
call fcn.1400f1b90
mov rcx, qword [rbp - 0x60]
lea rax, [rbp - 0x58]
cmp rcx, rax
jne 0x1400f37a3
xor eax, eax
lea rdi, [rbp - 0x58]
lea ecx, [rax + 0x30]
rep stosb byte [rdi], al
jmp 0x1400f37a8
call fcn.140098770
xorps xmm0, xmm0
mov dword [rsp + 0x30], 0x2257376e
xor dword [rsp + 0x30], 0x6d163486
sub dword [rsp + 0x30], 0x2733c42b
lea rcx, [rbp - 0x18]
mov dword [rsp + 0x34], 0x770602ab
sub dword [rsp + 0x34], 0x1d429a9f
xor dword [rsp + 0x34], 0x51825889
lea rax, [rbp - 0x18]
mov dword [rsp + 0x38], 0x4a11f58d
sub dword [rsp + 0x38], 0x3e496e45
add dword [rsp + 0x38], 0x1a40a357
mov byte [rsp + 0x3c], 0x67
add byte [rsp + 0x3c], 4
add byte [rsp + 0x3c], 0x28
mov qword [rbp - 0x20], rcx
mov qword [rbp + 0x18], r14
movups xmmword [rbp - 0x18], xmm0
movups xmmword [rbp - 8], xmm0
movups xmmword [rbp + 8], xmm0
cmp rcx, rax
je 0x1400f3830
call fcn.140098770
mov r14, qword [rbp + 0x18]
xorps xmm0, xmm0
lea rdx, [rbp - 0x18]
test r14, r14
mov qword [rbp - 0x20], rdx
movups xmmword [rbp - 0x18], xmm0
mov rcx, rbx
pushf
mov r14d, 0x2db8a0c3
add r14d, 0x790c031
sub r14d, 0x354960f3
popf
movups xmmword [rbp - 8], xmm0
movups xmmword [rbp + 8], xmm0
je 0x1400f3881
movzx eax, byte [rsp + rcx + 0x30]
mov word [rdx + rcx*2], ax
add rcx, r14
cmp rcx, qword [rbp + 0x18]
jb 0x1400f386b
lea r8, [rbp - 0x20]
mov rcx, rsi
lea rdx, [rbp + 0x70]
call fcn.1400f1b90
mov rcx, qword [rbp - 0x20]
lea rax, [rbp - 0x18]
cmp rcx, rax
jne 0x1400f38b2
xor eax, eax
lea rdi, [rbp - 0x18]
lea ecx, [rax + 0x30]
rep stosb byte [rdi], al
jmp 0x1400f38b7
call fcn.140098770
mov rcx, qword [0x1401417f0]
movabs rdi, 0x6e00692401bab802
add rdi, 0x1ddaff
add rdi, 0x7fffffff
add rdi, 0x3f090554
add rcx, rdi
movabs rax, 0x6dc87b5a2f990093
add rax, 0x41a30799
add rax, 0xedc997c
ror rcx, 0x17
xor edx, edx
add rax, rcx
movabs rcx, 0x429b349a6d6a4a83
sub rcx, 0x3c1522dd
add rcx, 0x2444b76e
xor rax, rcx
mov rcx, r12
ror rax, 0x1a
call rax
mov ecx, eax
call fcn.1400989f0
mov qword [r15 + 0x18], rax
mov rdx, rax
mov rcx, qword [0x1401417f0]
movabs rax, 0x6dc87b5a03be4d84
xor rax, 0x35aad68a
add rax, 0x7594a38
add rax, 0x42aabc62
add rcx, rdi
ror rcx, 0x17
add rax, rcx
movabs rcx, 0x429b349a0159b57e
xor rcx, 0x31bd9048
add rcx, 0x24b5b9de
xor rax, rcx
mov rcx, r12
ror rax, 0x1a
call rax
mov rax, qword [r15 + 0x18]
mov eax, dword [rax + 8]
mov dword [r15 + 0x10], eax
inc eax
movsxd rcx, eax
mov rax, r13
mul rcx
pushf
movabs rcx, 0xffffffff7d0f6fd6
sub rcx, 0x18ae992b
add rcx, 0x7fffffff
xor rcx, 0x1b9f2955
popf
cmovo rax, rcx
mov rcx, rax
call fcn.140098610
mov qword [r15 + 8], rax
mov rdi, rax
mov rax, qword [r15 + 0x18]
cmp dword [rax + 0xc], ebx
jbe 0x1400f3a2f
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 0x1400f3a17
lea eax, [r10 + rcx]
add cx, r14w
mov word [rdi], ax
add rdi, r13
cmp cx, r8w
jb 0x1400f39fb
mov rax, qword [r15 + 0x18]
nop
sub rdx, 0x1a97e743
add rdx, 0x1a97e747
sub r9, r14
jne 0x1400f39e2
mov word [rdi], bx
mov rdi, r14
mov rax, qword [rbp + 0xf0]
cmp r14, rax
jae 0x1400f3d90
lea r14, [rbp + 0xa8]
movabs rsi, 0x6e0069247f1c8dcc
sub rsi, 0x4296687f
xor rsi, 0x65e6d17d
add rsi, 0x7fffffff
xor rsi, 0x19816c7b
mov qword [rsp + 0x30], r14
movabs r15, 0x6dc87b5a49064475
sub r15, 0xb56516d
add r15, 0x1403d15a
add r15, 0x7fffffff
sub r15, 0x519b22b9
mov rax, qword [0x140141780]
movabs rcx, 0x395d2967a681c2a
xor rcx, 0x5e4fd0a9
xor rcx, 0x14af63b6
mov rdx, qword [r14 - 0x18]
xor rax, rcx
rol rax, 0xf
movabs rcx, 0x64c9effc43b4984c
add rcx, 0x27ff480a
sub rcx, 0x694d43b7
add rax, rcx
movabs rcx, 0x67009812782ac51f
sub rcx, 0x9bf6d9a
xor rcx, 0x617c5dac
not rax
sub rax, rcx
mov rcx, r12
call rax
mov rax, qword [0x1401417f0]
movabs rcx, 0x429b349a7f963ce8
xor rcx, 0x10e13a5a
sub rcx, 0x19dd279e
add rax, rsi
xor edx, edx
ror rax, 0x17
add rax, r15
xor rax, rcx
mov rcx, r12
ror rax, 0x1a
call rax
mov ecx, eax
call fcn.1400989f0
mov rdx, rax
mov qword [r14], rax
mov rax, qword [0x1401417f0]
movabs rcx, 0x429b349a2742fdd2
xor rcx, 0x4363ba65
sub rcx, 0x1afef1aa
add rcx, 0xc778907
add rax, rsi
ror rax, 0x17
add rax, r15
xor rax, rcx
mov rcx, r12
ror rax, 0x1a
call rax
mov rax, qword [r14]
mov edx, 0x4d026344
add edx, 0x3d91c11
sub edx, 0x50db7f54
nop
movabs rcx, 0xffffffff131bdbd2
add rcx, 0x1d388a98
add rcx, 0x896494d
add rcx, 0x7fffffff
add rcx, 0x47155049
add edx, dword [rax + 8]
mov rax, r13
mul rdx
cmovo rax, rcx
mov rcx, rax
call fcn.140098610
mov qword [r14 - 0x10], rax
mov rcx, rax
mov rax, qword [r14]
cmp dword [rax + 0xc], ebx
jbe 0x1400f3d3c
mov r8d, dword [rax + 0xc]
mov r11, rbx
mov qword [rsp + 0x48], r8
movzx edx, word [r11 + rax + 0x12]
movzx r10d, bx
movzx r12d, word [r11 + rax + 0x10]
mov word [rbp + 0x168], dx
cmp bx, dx
jae 0x1400f3cc7
mov r14d, 0x74785046
xor r14d, 0x73b8d75c
sub r14d, 0x7c086fa
lea r9d, [r12 + r10]
mov sil, bl
test rdi, rdi
je 0x1400f3ca5
lea r8, [rbp + 0x80]
mov r15, rdi
mov ebx, 0x699d7a2a
add ebx, 0x143a8072
xor ebx, 0x6284a9c5
sub ebx, 0x1f535358
mov rdx, qword [r8 - 8]
movsxd rax, dword [r8]
lea rax, [rdx + rax*2]
jmp 0x1400f3c76
cmp word [rdx], r9w
je 0x1400f3c84
add rdx, r13
cmp rdx, rax
jne 0x1400f3c69
jmp 0x1400f3c87
mov sil, bl
add r8, r14
sub r15, rbx
jne 0x1400f3c59
movzx edx, word [rbp + 0x168]
xor ebx, ebx
test sil, sil
jne 0x1400f3cac
mov word [rcx], r9w
add rcx, r13
inc r10w
cmp r10w, dx
jb 0x1400f3c28
mov r14, qword [rsp + 0x30]
mov r8, qword [rsp + 0x48]
mov rax, qword [r14]
nop
sub r11, 0x381206ff
add r11, 0x38120703
mov edx, 0x44311673
sub edx, 0x2d80edec
sub edx, 0x142fbf4b
xor edx, 0x280693d
sub r8, rdx
mov qword [rsp + 0x48], r8
jne 0x1400f3bf4
mov r12, qword [rsp + 0x50]
movabs rsi, 0x6e0069247fd5ea6c
sub rsi, 0xa0b0b2a
add rsi, 0x4b16b912
movabs r15, 0x6dc87b5a3a5d3c4e
sub r15, 0x37e20688
add r15, 0x7fffffff
xor r15, 0x263946d
jmp 0x1400f3d53
mov edx, 0x6e1373e8
sub edx, 0x1d346d63
sub edx, 0x2e4ff91d
sub edx, 0x228f0d67
mov word [rcx], bx
cmp rcx, qword [r14 - 0x10]
je 0x1400f3d6d
sub rcx, qword [r14 - 0x10]
sar rcx, 1
sub ecx, edx
mov dword [r14 - 8], ecx
mov rax, qword [rbp + 0xf0]
add r14, 0x20
add rdi, rdx
mov qword [rsp + 0x30], r14
cmp rdi, rax
jb 0x1400f3a9d
mov rsi, qword [rbp + 0x150]
mov edi, 0x428e8870
sub edi, 0x27639c72
sub edi, 0x3aa2087
xor edi, 0x1780cb57
test rax, rax
lea rcx, [rbp + 0x70]
cmove rcx, rbx
je 0x1400f3dc8
shl rax, 5
lea rdx, [rbp + 0x70]
add rdx, rax
jmp 0x1400f3dcb
mov rdx, rbx
cmp rcx, rdx
je 0x1400f3e10
mov eax, dword [rsi + 0x30c]
mov r8d, 0x6a6b7245
sub r8d, 0x109bb3f6
sub r8d, 0x50c15255
add r8d, 0x3560d86c
xor eax, r8d
add eax, dword [rcx + 0x10]
add rcx, rdi
xor eax, r8d
cmp rcx, rdx
jne 0x1400f3df5
mov dword [rsi + 0x30c], eax
lea rdx, [rbp + 0x168]
mov rcx, rsi
call fcn.1400f1a1c
mov r10, qword [0x140141750]
lea r9, [rbp + 0x30]
mov r15d, dword [rbp + 0x16c]
lea rdx, [rbp + 0x38]
mov rdi, qword [rbp + 0x168]
movabs rcx, 0xf05314333dd67d2d
xor rcx, 0x2835c94d
sub rcx, 0xc8ce184
add rcx, 0x7fffffff
add rcx, 0x3021e1b1
add r10, rcx
mov dword [rsp + 0x28], ebx
not r10
mov qword [rbp + 0x5c], rbx
mov eax, r15d
rol r10, 0xc
neg eax
mov dword [rbp + 0x38], 0x7609405
xor dword [rbp + 0x38], 0x2ca758e0
xor dword [rbp + 0x38], 0x2bc7cccd
mov dword [rbp + 0x40], eax
xorps xmm0, xmm0
movabs rax, 0x36d9685f2f232359
xor rax, 0x1858afdc
sub rax, 0xecae199
add rax, 0x373037cd
mov dword [rbp + 0x3c], edi
xor r10, rax
mov qword [rbp + 0x44], 0x548df4fc
sub qword [rbp + 0x44], 0x2df14699
xor qword [rbp + 0x44], 0x26bcae62
xor r8d, r8d
mov qword [rsp + 0x20], rbx
mov rcx, r12
movdqu xmmword [rbp + 0x4c], xmm0
call r10
mov qword [rsp + 0x30], rax
mov rcx, rax
test rax, rax
je 0x1400f41e3
mov r8, qword [0x140141780]
movabs rdx, 0x395d296557a8cc9
add rdx, 0xc8cd043
sub rdx, 0x317eadd7
xor r8, rdx
movabs rax, 0x670098122693b16d
xor rax, 0x5ab04817
sub rax, 0x126d0ce9
sub rax, 0x5a9fe268
rol r8, 0xf
movabs rdx, 0x64c9effc42d762d7
xor rdx, 0x7500572e
xor rdx, 0x35b1a966
add r8, rdx
mov rdx, rcx
not r8
mov rcx, r12
sub r8, rax
call r8
mov eax, dword [rsi + 0x2f4]
lea r9, [rbp + 0x150]
mov r8, qword [rbp + 0x28]
xor eax, 0x3e6f4466
mov rdx, r12
mov dword [rbp + 0x150], eax
mov rcx, rsi
mov dword [rbp + 0x154], ebx
call fcn.1400f4c3c
test al, al
je 0x1400f4151
mov rax, qword [rbp + 0xf0]
lea r14, [rbp + 0x90]
test rax, rax
pushf
mov edi, 0x760f7b46
sub edi, 0xc992dfe
sub edi, 0x2a4601c9
sub edi, 0x3f304b5f
popf
cmove r14, rdi
test rax, rax
je 0x1400f3fdc
shl rax, 5
lea rcx, [rbp + 0x70]
add rcx, rax
jmp 0x1400f3fdf
mov rcx, rbx
cmp r14, rcx
jae 0x1400f400c
lea r9, [rbp + 0x150]
mov r8, r14
mov rdx, r12
mov rcx, rsi
call fcn.1400f4c3c
mov rax, qword [rbp + 0xf0]
add r14, rdi
jmp 0x1400f3fc3
mov rdi, qword [rbp + 0x168]
mov eax, r15d
imul eax, edi
movsxd rcx, eax
mov eax, 0x1573267a
sub eax, 0x141a9930
xor eax, 0x1588d4e
mul rcx
pushf
movabs rcx, 0xffffffff32f4848b
xor rcx, 0x26b2c996
add rcx, 0x7fffffff
add rcx, 0x6bb9b2e3
popf
cmovo rax, rcx
mov rcx, rax
call fcn.140098610
mov r9, rax
mov rax, qword [rbp + 0x158]
mov qword [rax], r9
test r15d, r15d
jle 0x1400f40db
movsxd r10, edi
mov r8, rbx
shl r10, 2
mov r14, r15
mov r12d, 0x198666ed
xor r12d, 0x390671e7
add r12d, 0x3b8483b8
sub r12d, 0x5c049ac1
test edi, edi
jle 0x1400f40ca
mov rdx, r8
mov r11d, edi
mov rax, qword [rbp + 0x30]
mov ecx, dword [rdx + rax]
shl ecx, 0x18
or ecx, 0xffffff
mov dword [rdx + r9], ecx
lea rdx, [rdx + 4]
sub r11, r12
jne 0x1400f40a9
add r8, r10
sub r14, r12
jne 0x1400f409b
mov r12, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
test byte [rax], r13b
je 0x1400f4110
xor r8d, r8d
mov rdx, r9
mov rcx, rsi
call fcn.1400f15a8
mov r13d, 0x435d1e5d
xor r13d, 0x75dcd6e0
sub r13d, 0x3681c8bc
jmp 0x1400f4142
mov r13d, 0xaa31387
xor r13d, 0x1aa02a9d
add r13d, 0x4b9b99cf
sub r13d, 0x5b9ed2e8
test byte [rax], r13b
je 0x1400f4142
mov r8b, r13b
mov rdx, r9
mov rcx, rsi
call fcn.1400f15a8
mov r14b, r13b
mov byte [rbp + 0x160], r13b
jmp 0x1400f416c
mov r14b, byte [rbp + 0x160]
mov r13d, 0x61d5351c
xor r13d, 0xde8d555
xor r13d, 0x6c3de048
mov rdx, qword [0x1401417d8]
movabs rcx, 0x91d4a9aa5b0834d5
xor rcx, 0x65b62b3a
sub rcx, 0x6dcf
xor rcx, 0x34390393
ror rdx, 0x24
movabs rax, 0x5c7d53fb289c9d49
xor rax, 0x4a73ca73
xor rax, 0x52a505d7
add rax, 0x7fffffff
add rax, 0x1ac454ab
add rdx, rcx
mov rcx, qword [rsp + 0x30]
xor rdx, rax
movabs rax, 0x7ce5f06f06ea75eb
add rax, 0x6b955538
sub rax, 0x20389d08
add rdx, rax
call rdx
jmp 0x1400f4205
mov r14b, byte [rbp + 0x160]
mov r13d, 0x25000ada
xor r13d, 0x6abe71eb
sub r13d, 0x4b7111ad
sub r13d, 0x44d6983
mov rdx, qword [0x1401417e0]
movabs rcx, 0x669d3a55ec95f81
sub rcx, 0x11dd10ce
add rcx, 0x7fffffff
xor rcx, 0x2d952343
add rdx, rcx
movabs rax, 0xbdf895c042315d5
xor rax, 0x25e156f1
add rax, 0x3db79898
add rax, 0x7fffffff
sub rax, 0x49e7f24d
ror rdx, 0x22
mov rcx, r12
xor rdx, rax
movabs rax, 0x651da006284c42fc
add rax, 0x24a8ad7a
xor rax, 0x2c8ca8fc
sub rdx, rax
call rdx
cmp qword [rbp + 0xf0], rbx
jbe 0x1400f42c3
lea rdi, [rbp + 0x70]
mov r14d, 0x29e09594
sub r14d, 0x1107affd
add r14d, 0x3b2066df
sub r14d, 0x53f94c56
mov rcx, rdi
call fcn.1400f1014
add rbx, r13
add rdi, r14
cmp rbx, qword [rbp + 0xf0]
jb 0x1400f42a1
mov r14b, byte [rbp + 0x160]
mov al, r14b
sub rsp, 0xfffffffffffffdf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret