Function at 0x14003d0a4
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x310
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x190], r9
mov qword [rbp + 0x1d8], r8
mov qword [rbp + 0x198], rdx
mov qword [rbp + 0x1d0], rcx
mov qword [rbp + 0x1a0], rcx
mov eax, 0x10
mov qword [rbp + 0x1b8], rax
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x1b8]
mov rcx, rsp
mov qword [rbp + 0x1a8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x1b0], rax
mov eax, 0x800
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x1b8]
mov rcx, rsp
mov qword [rbp + 0x1c0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x1c8], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x1d0]
mov r8, qword [rbp + 0x1d8]
add rsp, 0x20
add rax, 0x60
mov qword [rbp + 0x1e0], rax
movups xmm0, xmmword [0x14019a978]
movups xmmword [rcx], xmm0
mov rax, qword [r8]
mov qword [rbp + 0x1e8], rax
test rax, rax
je 0x14003d1a5
jmp 0x14003d18f
mov rax, qword [rbp + 0x1e8]
sub rax, 1
je 0x14003d1da
jmp 0x14003def2
mov rdx, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0x1d0]
mov rax, qword [rbp + 0x198]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140021260
add rsp, 0x20
jmp 0x14003ec02
mov rax, qword [rbp + 0x190]
mov rcx, qword [rbp + 0x1d0]
mov rdx, qword [rbp + 0x1b0]
mov r8, qword [rbp + 0x198]
mov r9, qword [rbp + 0x1d8]
mov r9, qword [r9 + 8]
mov r9b, byte [r9 + 8]
mov byte [rbp + 0x167], r9b
mov r8, qword [r8]
movabs r9, 0x1b040c12072df81e
movabs r10, 0xe4fbf3edf8d207e1
xor r9, r10
add r8, r9
mov qword [rbp + 0x168], r8
add rdx, 8
mov qword [rbp + 0x170], rdx
add rcx, 8
mov qword [rbp + 0x178], rcx
add rax, 8
mov qword [rbp + 0x180], rax
xor eax, eax
mov qword [rbp + 0x188], rax
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0x158], rax
movabs rcx, 0x1fcfa1083a9de8f9
movabs rdx, 0x1fcfa1083a9de8f9
xor rcx, rdx
cmp rax, rcx
jge 0x14003d2dd
mov rcx, qword [rbp + 0x158]
movabs rdx, 0x604fb7c822ce71ef
movabs rax, 0x604fb7c822ce71ef
xor rdx, rax
movabs r8, 0x8acaa8678b796cfd
movabs rax, 0xf535579874869302
xor r8, rax
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0x158]
add rsp, 0x20
mov qword [rbp + 0x150], rax
jmp 0x14003dacb
mov r9, qword [rbp + 0x168]
mov r8, qword [rbp + 0x158]
mov dl, byte [rbp + 0x167]
mov rax, qword [rbp + 0x198]
mov rcx, qword [rax]
mov qword [rbp + 0x270], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x278], rax
lea rcx, [rbp + 0x270]
sub rsp, 0x20
call fcn.14003a195
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x1e0]
mov qword [rbp + 0x148], rcx
cmp byte [rax], 0
jne 0x14003ec02
mov rax, qword [rbp + 0x148]
movabs rcx, 0x860d92bda895849b
movabs rdx, 0x860d92bda895849b
xor rcx, rdx
cmp rax, rcx
jl 0x14003daee
mov rax, qword [rbp + 0x148]
movabs rdx, 0xfd1b7d50b09ec970
movabs rcx, 0x2e482af4f61368f
xor rdx, rcx
mov rcx, rax
and rcx, rdx
movabs rdx, 0x16a8c5fd1aa904ea
movabs r8, 0x16a8c5fd1aa904e8
xor rdx, r8
imul rcx, rdx
movabs rdx, 0xc8e18dd66b8cef01
movabs r8, 0x371e7229947310fe
xor rdx, r8
mov r9, rax
xor r9, rdx
add r9, rcx
mov qword [rbp + 0x140], r9
movabs rdx, 0xa57d0996e1ac95f0
movabs rcx, 0x5a82f6691e536a0f
xor rdx, rcx
mov rcx, r9
xor rcx, rdx
movabs rdx, 0x45dadad11b3bc4e5
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0x45dadad11b3bc4e5
xor r10, rdx
and r9, r10
movabs r8, 0x97f0b58d0e936395
movabs rdx, 0x680f4a72f16c9c6a
xor r8, rdx
mov rdx, rax
xor rdx, r8
movabs r8, 0x58918612074e8bba
movabs r11, 0x1d4b5cc31c754f5f
xor r8, r11
and rdx, r8
mov r8, rax
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
movabs rdx, 0x746209443b47f64
movabs r8, 0x746209443b47f64
xor rdx, r8
cmp rcx, rdx
setl cl
cmp rax, 0
setne al
and al, cl
test al, 1
jne 0x14003d482
jmp 0x14003d4a2
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x158]
add rsp, 0x20
mov qword [rbp + 0x150], rax
jmp 0x14003dacb
mov rcx, qword [rbp + 0x1b0]
mov r9, qword [rbp + 0x140]
mov r8, qword [rbp + 0x158]
mov rax, qword [rbp + 0x198]
mov rdx, qword [rax]
mov qword [rbp + 0x260], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x268], rax
lea rdx, [rbp + 0x260]
sub rsp, 0x20
call fcn.140022157
mov rdx, qword [rbp + 0x1b0]
mov rax, qword [rbp + 0x170]
mov rcx, qword [rbp + 0x1d0]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp + 0x138], rdx
mov rax, qword [rax]
mov qword [rbp + 0x130], rax
sub rsp, 0x20
call fcn.140022539
mov rax, qword [rbp + 0x138]
add rsp, 0x20
movabs rcx, 0xf514bb23a8af472a
movabs rdx, 0xf514bb23a8af472a
xor rcx, rdx
cmp rax, rcx
jle 0x14003d786
mov r9, qword [rbp + 0x138]
mov rax, r9
and rax, 1
mov rcx, r9
or rcx, 1
add rax, rcx
mov qword [rbp + 0x128], rax
movabs rdx, 0xa13faa6d24db3a1
movabs rcx, 0xf5ec05592db24c5e
xor rdx, rcx
mov rcx, r9
xor rcx, rdx
movabs rdx, 0x5fac30da3fa2d849
and rcx, rdx
mov r8, 0xffffffffffffffff
movabs rdx, 0x5fac30da3fa2d849
xor r8, rdx
and r9, r8
movabs rdx, 0xe27ff6081711eeed
movabs r10, 0x1d8009f7e8ee1112
xor rdx, r10
movabs r10, 0xd47c8326de6e870
movabs r11, 0xf2b837cd9219178f
xor r10, r11
xor rdx, r10
movabs r10, 0x5fac30da3fa2d849
and rdx, r10
and r8, 0xffffffffffffffff
or rcx, r9
or rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14003d60e
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14003d786
mov rax, qword [rbp + 0x128]
cmp rax, 0
jge 0x14003d646
mov rcx, qword [rbp + 0x128]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x14003d786
mov rax, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x178]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rbp + 0x110], rcx
add rax, 8
mov qword [rbp + 0x118], rax
xor eax, eax
mov qword [rbp + 0x120], rax
mov rcx, qword [rbp + 0x120]
mov rdx, qword [rbp + 0x138]
mov rax, qword [rbp + 0x110]
mov r8, qword [rbp + 0x118]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0x671944bfdcdd2c19
movabs rax, 0x671944bfdcdd2c18
xor r8, rax
mov rax, rcx
add rax, r8
cmp rcx, rdx
mov qword [rbp + 0x120], rax
jne 0x14003d680
mov rcx, qword [rbp + 0x138]
mov rax, qword [rbp + 0x1d0]
mov r8, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs rdx, 0xb51fc958663dc4d2
movabs r9, 0xb51fc958663dc4d2
xor rdx, r9
movabs r9, 0x7fb1b37b77b1b177
movabs r10, 0x7fb1b37b77b1b176
xor r9, r10
sub rdx, r9
sub rax, rdx
mov rdx, r8
sub rdx, rax
mov qword [rbp + 0x108], rdx
mov rax, rdx
xor rax, r8
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs r8, 0xabfd6e9ff9022de0
movabs r9, 0x5402916006fdd21f
xor r8, r9
xor rcx, r8
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x14003d775
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14003d786
mov rax, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x108]
mov qword [rax], rcx
mov rax, qword [rbp + 0x190]
mov rcx, qword [rbp + 0x1d0]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140022539
mov rax, qword [rbp + 0x190]
mov rcx, qword [rbp + 0x180]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp + 0xf8], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x100], rcx
movabs rcx, 0xec192a11960b0113
movabs rdx, 0xec192a11960b0113
xor rcx, rdx
cmp rax, rcx
jle 0x14003d9c6
mov rcx, qword [rbp + 0xf8]
movabs rdx, 0x401f9a8d051165ea
movabs rax, 0x401f9a8d051165eb
xor rdx, rax
mov rax, rcx
add rax, rdx
mov qword [rbp + 0xf0], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x9ae7f6e1b38125e4
movabs rdx, 0x9ae7f6e1b38125e4
xor rcx, rdx
cmp rax, rcx
jge 0x14003d84a
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14003d9c6
mov rax, qword [rbp + 0xf0]
cmp rax, 0
jge 0x14003d882
mov rcx, qword [rbp + 0xf0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x14003d9c6
mov rax, qword [rbp + 0x100]
mov rdx, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x178]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rbp + 0xd8], rcx
add rax, 8
mov qword [rbp + 0xe0], rax
xor eax, eax
mov qword [rbp + 0xe8], rax
mov rcx, qword [rbp + 0xe8]
mov rdx, qword [rbp + 0xf8]
mov rax, qword [rbp + 0xd8]
mov r8, qword [rbp + 0xe0]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0xeb52333ec7c386fa
movabs rax, 0xeb52333ec7c386fa
xor r8, rax
sub r8, rcx
xor eax, eax
sub rax, 1
add r8, rax
movabs rax, 0xbf8cae403ac9087
movabs r9, 0xbf8cae403ac9087
xor rax, r9
sub rax, r8
cmp rcx, rdx
mov qword [rbp + 0xe8], rax
jne 0x14003d8bc
mov r8, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x1d0]
mov r9, qword [rax]
movabs rax, 0x6645dd2b20d86219
movabs rcx, 0x6645dd2b20d86219
xor rax, rcx
sub rax, r9
xor ecx, ecx
sub rcx, r8
add rax, rcx
xor ecx, ecx
sub rcx, rax
mov qword [rbp + 0xd0], rcx
mov rdx, rcx
xor rdx, 0xffffffffffffffff
mov rax, r9
and rax, rdx
xor r9, 0xffffffffffffffff
mov rdx, rcx
and rdx, r9
or rax, rdx
mov rdx, rcx
and rdx, r8
shl rdx, 1
add rcx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14003d9b5
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14003d9c6
mov rax, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0xd0]
mov qword [rax], rcx
mov rdx, qword [rbp + 0x148]
mov rax, rdx
and rax, 1
movabs r8, 0x7c9be430cda7dfb0
movabs rcx, 0x7c9be430cda7dfb1
xor r8, rcx
mov rcx, rdx
or rcx, r8
add rax, rcx
movabs rcx, 0xb4becf2109d4daff
movabs r8, 0x4b4130def62b2500
xor rcx, r8
xor rdx, rcx
xor rdx, 0xffffffffffffffff
mov rcx, rax
xor rcx, rdx
and rcx, rax
cmp rcx, 0
mov qword [rbp + 0xc8], rax
jge 0x14003da47
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x158]
add rsp, 0x20
mov qword [rbp + 0xc8], rax
mov rcx, qword [rbp + 0x130]
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0xc0], rax
cmp rcx, 0
mov qword [rbp + 0x150], rax
je 0x14003dacb
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0x130]
mov rcx, qword [rcx]
movabs rdx, 0xf87b6cbd0ad42c3d
movabs r8, 0xb87b6cbd0ad42c3d
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x150], rax
jne 0x14003dacb
mov rcx, qword [rbp + 0x130]
sub rsp, 0x20
call fcn.1400121d0
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov qword [rbp + 0x150], rax
mov rcx, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x150]
cmp byte [rcx], 0
mov qword [rbp + 0x188], rax
je 0x14003d25a
jmp 0x14003ec02
mov r8, qword [rbp + 0x158]
mov rax, qword [rbp + 0x198]
mov rcx, qword [rax]
mov qword [rbp + 0x240], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x248], rax
lea rcx, [rbp + 0x250]
lea rdx, [rbp + 0x240]
sub rsp, 0x20
call fcn.14002979b
mov rcx, qword [rbp + 0x1d0]
add rsp, 0x20
mov rdx, qword [rbp + 0x250]
mov qword [rbp + 0xb8], rdx
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0xb0], rax
sub rsp, 0x20
call fcn.140022539
mov rax, qword [rbp + 0xb8]
add rsp, 0x20
cmp rax, 0
jle 0x14003de1b
mov rcx, qword [rbp + 0xb8]
xor eax, eax
mov edx, eax
sub rdx, rcx
movabs rax, 0x17c3fedbe4c0eb46
movabs r8, 0x17c3fedbe4c0eb46
xor rax, r8
movabs r8, 0x25d9f93db5a1806a
movabs r9, 0x25d9f93db5a1806b
xor r8, r9
sub rax, r8
add rdx, rax
xor eax, eax
sub rax, rdx
mov qword [rbp + 0xa8], rax
movabs rdx, 0xe73e338d5c7921e7
movabs r8, 0x18c1cc72a386de18
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14003dbf4
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14003de1b
mov rax, qword [rbp + 0xa8]
cmp rax, 0
jge 0x14003dc4c
mov rcx, qword [rbp + 0xa8]
movabs rdx, 0x81c70bfe3971208c
movabs rax, 0x81c70bfe3971208c
xor rdx, rax
movabs r8, 0x2014a0c543f5862d
movabs rax, 0x5feb5f3abc0a79d2
xor r8, rax
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x14003de1b
mov rax, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x178]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rbp + 0x90], rcx
add rax, 8
mov qword [rbp + 0x98], rax
xor eax, eax
mov qword [rbp + 0xa0], rax
mov rcx, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0x90]
mov r8, qword [rbp + 0x98]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0x45f3cadf6dd144cf
movabs rax, 0x45f3cadf6dd144ce
xor r8, rax
mov rax, rcx
add rax, r8
cmp rcx, rdx
mov qword [rbp + 0xa0], rax
jne 0x14003dc86
mov rcx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0x1d0]
mov r9, qword [rax]
mov rdx, r9
add rdx, rcx
mov qword [rbp + 0x88], rdx
mov rax, rdx
or rax, rax
movabs r8, 0x797c7d6a25642ed3
movabs r10, 0x86838295da9bd12c
xor r8, r10
xor rax, r8
movabs r10, 0x4f390ee3b9e81931
movabs r8, 0xb0c6f11c4617e6ce
xor r10, r8
mov r8, r9
xor r8, r10
mov r10, r9
xor r10, 0xffffffffffffffff
and r8, r10
or rax, r8
xor rax, 0xffffffffffffffff
mov r8, rdx
or r8, r9
movabs r9, 0x6aadd4525b5e767f
movabs r10, 0x95522bada4a18980
xor r9, r10
xor r8, r9
or rax, r8
xor rax, 0xffffffffffffffff
xor rdx, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0xe83e98b73fd5df48
movabs r8, 0x17c16748c02a20b7
xor rcx, r8
xor rdx, rcx
movabs rcx, 0xfe4d6e2717da8e2d
movabs r8, 0x36bcf34a0a5e4b3e
xor rcx, r8
movabs r8, 0x14bb48261aff8feb
movabs r9, 0xeb44b7d9e5007014
xor r8, r9
xor rcx, r8
or rax, rdx
movabs rdx, 0xc8f19d6d1d84c513
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xaa3392a28ad74578
movabs rdx, 0xaa3392a28ad74578
xor rcx, rdx
cmp rax, rcx
jge 0x14003de05
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14003de2c
mov rax, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x88]
mov qword [rax], rcx
jmp 0x14003de2c
mov rax, qword [rbp + 0xb0]
cmp rax, 0
je 0x14003ec02
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
xor rax, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
movabs rdx, 0x520d4ef52a867a93
movabs r8, 0xd64d7ae198c184bf
xor rdx, r8
movabs r8, 0x3e9e8a0784dbbcb5
movabs r9, 0xc16175f87b24434a
xor r8, r9
xor rdx, r8
or rax, rcx
movabs rcx, 0xa9a995aea0f9f0db
movabs r8, 0x2de9a1ba12be0ef7
xor rcx, r8
or rcx, rdx
movabs rdx, 0xa31dd4e54c137ada
movabs r8, 0x5ce22b1ab3ec8525
xor rdx, r8
xor rax, rdx
and rax, rcx
movabs rcx, 0x4f20fad856847f10
movabs rdx, 0x4f20fad856847f10
xor rcx, rdx
cmp rax, rcx
jne 0x14003ec02
mov rcx, qword [rbp + 0xb0]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
jmp 0x14003ec02
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x1c0]
xorps xmm0, xmm0
movaps xmmword [rcx + rax], xmm0
add rax, 0x10
movabs rcx, 0xfcdb164e43797c09
movabs rdx, 0xfcdb164e43797409
xor rcx, rdx
cmp rax, rcx
mov qword [rbp + 0x80], rax
jne 0x14003df11
mov rax, qword [rbp + 0x1d8]
mov rcx, qword [rax]
mov qword [rbp + 0x280], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x288], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x1c0]
add rsp, 0x20
lea rdx, [rbp + 0x280]
sub rsp, 0x20
call fcn.14003bf11
mov rax, qword [rbp + 0x1e0]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x53
xor cl, 0x53
cmp al, cl
jne 0x14003ec02
mov rax, qword [rbp + 0x190]
mov rcx, qword [rbp + 0x1d0]
mov rdx, qword [rbp + 0x198]
mov rdx, qword [rdx]
movabs r8, 0x18c18b3a4d1d489c
movabs r9, 0x18c18b3a4d1d489c
xor r8, r9
movabs r9, 0x14178c76ac3a6ca
movabs r10, 0xfebe8738953c5935
xor r9, r10
sub r8, r9
sub rdx, r8
mov qword [rbp + 0x58], rdx
lea rdx, [rbp + 0x220]
add rdx, 8
mov qword [rbp + 0x60], rdx
add rcx, 8
mov qword [rbp + 0x68], rcx
add rax, 8
mov qword [rbp + 0x70], rax
xor eax, eax
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x50], rax
movabs rcx, 0x94e0937622e9417b
movabs rdx, 0x94e0937622e9417b
xor rcx, rdx
cmp rax, rcx
jge 0x14003e07d
mov rcx, qword [rbp + 0x50]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov qword [rbp + 0x48], rax
jmp 0x14003e8a9
mov rax, qword [rbp + 0x58]
mov r9, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x1c8]
mov rcx, qword [rbp + 0x1c0]
mov r8, qword [rbp + 0x1d8]
mov r10, qword [rbp + 0x198]
mov r11, qword [r10]
mov qword [rdx], r11
mov r10, qword [r10 + 8]
mov qword [rdx + 8], r10
mov r10, qword [r8]
mov qword [rbp + 0x230], r10
mov r8, qword [r8 + 8]
mov qword [rbp + 0x238], r8
lea r8, [rbp + 0x230]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14003b6bd
add rsp, 0x30
mov rcx, rax
mov rax, qword [rbp + 0x1e0]
mov qword [rbp + 0x40], rcx
mov al, byte [rax]
mov cl, 0x65
xor cl, 0x65
cmp al, cl
jne 0x14003ec02
mov rax, qword [rbp + 0x40]
movabs rcx, 0x6b4a66ea029aa09d
movabs rdx, 0x6b4a66ea029aa09d
xor rcx, rdx
cmp rax, rcx
jl 0x14003e8cc
mov rax, qword [rbp + 0x40]
mov rdx, rax
add rdx, 0xffffffffffffffff
mov qword [rbp + 0x38], rdx
mov r8, rdx
xor r8, 0xffffffffffffffff
mov rcx, rax
and rcx, r8
mov r8, rax
xor r8, 0xffffffffffffffff
and rdx, r8
or rcx, rdx
movabs rdx, 0x2f5c89203ac4ad41
movabs r8, 0x2f5c89203ac4ad41
xor rdx, r8
cmp rcx, rdx
setl cl
movabs rdx, 0x491def1eff7dbf84
movabs r8, 0x491def1eff7dbf84
xor rdx, r8
cmp rax, rdx
setne al
and al, cl
test al, 1
jne 0x14003e190
jmp 0x14003e1aa
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov qword [rbp + 0x48], rax
jmp 0x14003e8a9
mov r9, qword [rbp + 0x38]
mov r8, qword [rbp + 0x50]
mov rax, qword [rbp + 0x198]
mov rcx, qword [rax]
mov qword [rbp + 0x210], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x218], rax
lea rcx, [rbp + 0x220]
lea rdx, [rbp + 0x210]
sub rsp, 0x20
call fcn.140022157
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x1d0]
add rsp, 0x20
mov rdx, qword [rbp + 0x220]
mov qword [rbp + 0x30], rdx
mov rax, qword [rax]
mov qword [rbp + 0x28], rax
sub rsp, 0x20
call fcn.140022539
mov rax, qword [rbp + 0x30]
add rsp, 0x20
movabs rcx, 0xd6964ae7592ce24c
movabs rdx, 0xd6964ae7592ce24c
xor rcx, rdx
cmp rax, rcx
jle 0x14003e420
mov rcx, qword [rbp + 0x30]
mov rax, rcx
add rax, 1
mov qword [rbp + 0x20], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x2c7eeab3b6ee7304
movabs rdx, 0x2c7eeab3b6ee7304
xor rcx, rdx
cmp rax, rcx
jge 0x14003e27f
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14003e420
mov rax, qword [rbp + 0x20]
movabs rcx, 0x3bd717479062ffbf
movabs rdx, 0x3bd717479062ffbf
xor rcx, rdx
cmp rax, rcx
jge 0x14003e2e7
mov rcx, qword [rbp + 0x20]
movabs rdx, 0x1576056f7cbbb037
movabs rax, 0x1576056f7cbbb037
xor rdx, rax
movabs r8, 0xa725c3d7b610fb01
movabs rax, 0xd8da3c2849ef04fe
xor r8, rax
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x14003e420
mov rax, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x68]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rbp + 8], rcx
add rax, 8
mov qword [rbp + 0x10], rax
xor eax, eax
mov qword [rbp + 0x18], rax
mov rcx, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp + 8]
mov r8, qword [rbp + 0x10]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0x60ea9348f1508038
movabs rax, 0x60ea9348f1508038
xor r8, rax
movabs rax, 0xca06622d6071d6aa
movabs r9, 0xca06622d6071d6ab
xor rax, r9
sub r8, rax
mov rax, rcx
sub rax, r8
cmp rcx, rdx
mov qword [rbp + 0x18], rax
jne 0x14003e312
mov r8, qword [rbp + 0x30]
mov rax, qword [rbp + 0x1d0]
mov r9, qword [rax]
mov rcx, r9
add rcx, r8
mov qword [rbp], rcx
movabs rax, 0xa7a78da4a4476beb
movabs rdx, 0x5858725b5bb89414
xor rax, rdx
mov rdx, rcx
xor rdx, rax
mov rax, r9
and rax, rdx
movabs rdx, 0xe2caaa308dd92542
movabs r10, 0x1d3555cf7226dabd
xor rdx, r10
xor r9, rdx
mov rdx, rcx
and rdx, r9
or rax, rdx
mov r9, rcx
and r9, r8
movabs rdx, 0xc26f8c3eda657e6f
movabs r10, 0xc26f8c3eda657e6d
xor rdx, r10
imul rdx, r9
add rcx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14003e412
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14003e420
mov rax, qword [rbp + 0x1d0]
mov rcx, qword [rbp]
mov qword [rax], rcx
mov rax, qword [rbp + 0x190]
mov rcx, qword [rbp + 0x1d0]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140022539
mov rax, qword [rbp + 0x190]
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
mov rcx, qword [rcx]
mov qword [rbp - 8], rcx
movabs rcx, 0x36e73167a13ce868
movabs rdx, 0x36e73167a13ce868
xor rcx, rdx
cmp rax, rcx
jle 0x14003e6e2
mov r9, qword [rbp - 0x10]
xor eax, eax
mov ecx, eax
sub rcx, 1
mov rax, r9
sub rax, rcx
mov qword [rbp - 0x18], rax
movabs rcx, 0xfc93343bce25a130
movabs rdx, 0x36ccbc431da5ecf
xor rcx, rdx
mov rdx, r9
xor rdx, rcx
movabs rcx, 0x93b0abaf189fa55b
movabs r8, 0xde76a008a6415b64
xor rcx, r8
and rcx, rdx
mov r8, 0xffffffffffffffff
movabs rdx, 0x4dc60ba7bedefe3f
xor r8, rdx
and r9, r8
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r10, 0x27816e998ef2873f
movabs r11, 0x6a47653e302c7900
xor r10, r11
and rdx, r10
and r8, 0xffffffffffffffff
or rcx, r9
or rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14003e52c
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14003e6e2
mov rax, qword [rbp - 0x18]
cmp rax, 0
jge 0x14003e55e
mov rcx, qword [rbp - 0x18]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x14003e6e2
mov rax, qword [rbp - 8]
mov rdx, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x68]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rbp - 0x30], rcx
add rax, 8
mov qword [rbp - 0x28], rax
xor eax, eax
mov qword [rbp - 0x20], rax
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x10]
mov rax, qword [rbp - 0x30]
mov r8, qword [rbp - 0x28]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov rax, rcx
and rax, 1
mov r8, rcx
or r8, 1
add rax, r8
cmp rcx, rdx
mov qword [rbp - 0x20], rax
jne 0x14003e589
mov r8, qword [rbp - 0x10]
mov rax, qword [rbp + 0x1d0]
mov rax, qword [rax]
xor ecx, ecx
sub rcx, rax
movabs rdx, 0x5d1ca0be2dd1a8c6
movabs r9, 0x5d1ca0be2dd1a8c6
xor rdx, r9
sub rdx, r8
add rcx, rdx
movabs rdx, 0x744f5d3fceab035
movabs r9, 0x744f5d3fceab035
xor rdx, r9
sub rdx, rcx
mov qword [rbp - 0x38], rdx
mov rcx, rdx
xor rcx, rax
mov rax, rdx
and rax, r8
shl rax, 1
add rdx, r8
sub rdx, rax
movabs r8, 0xe9e2b9780df8dd8
movabs rax, 0xf161d4687f207227
xor r8, rax
mov rax, rcx
xor rax, r8
movabs r8, 0x90fcd7eb53055ba
movabs r9, 0xf6f032814acfaa45
xor r8, r9
xor rcx, r8
and rax, rcx
movabs r8, 0xcd6160b33c09e5ff
movabs rcx, 0x329e9f4cc3f61a00
xor r8, rcx
mov rcx, rdx
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0xa6fa616ca78e3e5
movabs r8, 0xf59059e935871c1a
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x6f1d15d70f8216ee
movabs rdx, 0x6f1d15d70f8216ee
xor rcx, rdx
cmp rax, rcx
jge 0x14003e6d4
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14003e6e2
mov rax, qword [rbp + 0x1d0]
mov rcx, qword [rbp - 0x38]
mov qword [rax], rcx
mov rdx, qword [rbp + 0x1e8]
mov r9, qword [rbp + 0x40]
mov rax, r9
and rax, rdx
mov rcx, r9
or rcx, rdx
add rax, rcx
mov rcx, rax
and rcx, r9
movabs r8, 0xc2e1eb5c668a0e34
movabs r10, 0xc2e1eb5c668a0e36
xor r8, r10
imul r8, rcx
mov rcx, rax
add rcx, r9
sub rcx, r8
mov r8, rax
xor r8, rdx
movabs rdx, 0x7f1308a4846d657e
movabs r9, 0x80ecf75b7b929a81
xor rdx, r9
xor rcx, rdx
movabs rdx, 0x17a6db3c848f50fa
movabs r9, 0xe85924c37b70af05
xor rdx, r9
xor r8, rdx
mov rdx, 0xffffffffffffffff
movabs r9, 0x2ae1207e5a5124de
xor rdx, r9
or rcx, r8
movabs r8, 0x2ae1207e5a5124de
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0xbccca199fb8323d3
movabs r8, 0xbccca199fb8323d3
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x40], rax
jge 0x14003e7c4
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov qword [rbp - 0x40], rax
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x48], rax
cmp rcx, 0
mov qword [rbp + 0x48], rax
je 0x14003e8a9
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x28]
mov rdx, qword [rcx]
movabs r8, 0xb84522649aa926d4
movabs rcx, 0x47badd9b6556d92b
xor r8, rcx
mov rcx, rdx
xor rcx, r8
movabs r8, 0xa79ee5207c2451fc
movabs r9, 0xe79ee5207c2451fc
xor r8, r9
movabs r9, 0xe9de51e3103ceee3
movabs r10, 0x1621ae1cefc3111c
xor r9, r10
xor r8, r9
or rcx, r8
movabs r8, 0x4000000000000000
and rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xf2ed5d9308626788
movabs r9, 0xd12a26cf79d9877
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
movabs rdx, 0x92f704739cc6f31b
movabs r8, 0x92f704739cc6f31b
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x48], rax
jne 0x14003e8a9
mov rcx, qword [rbp + 0x28]
sub rsp, 0x20
call fcn.1400121d0
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov qword [rbp + 0x48], rax
mov rcx, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x48]
mov cl, byte [rcx]
mov dl, 0x36
xor dl, 0x36
cmp cl, dl
mov qword [rbp + 0x78], rax
je 0x14003e029
jmp 0x14003ec02
mov r8, qword [rbp + 0x50]
mov rax, qword [rbp + 0x198]
mov rcx, qword [rax]
mov qword [rbp + 0x1f0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1f8], rax
lea rcx, [rbp + 0x200]
lea rdx, [rbp + 0x1f0]
sub rsp, 0x20
call fcn.14002979b
mov rcx, qword [rbp + 0x1d0]
add rsp, 0x20
mov rdx, qword [rbp + 0x200]
mov qword [rbp - 0x50], rdx
mov rax, qword [rbp + 0x208]
mov qword [rbp - 0x58], rax
sub rsp, 0x20
call fcn.140022539
mov rax, qword [rbp - 0x50]
add rsp, 0x20
cmp rax, 0
jle 0x14003eb8b
mov rdx, qword [rbp - 0x50]
mov rcx, rdx
add rcx, 1
mov qword [rbp - 0x60], rcx
movabs rax, 0x2d2c190b618ca623
movabs r8, 0xd2d3e6f49e7359dc
xor rax, r8
xor rdx, rax
movabs rax, 0xfec0a0f579f6a641
movabs r8, 0x13f5f0a860959be
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0x869f76711c3f693
movabs rdx, 0x869f76711c3f693
xor rcx, rdx
cmp rax, rcx
jge 0x14003e9bd
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14003eb8b
mov rax, qword [rbp - 0x60]
movabs rcx, 0x5f0c4eb549c147e6
movabs rdx, 0x5f0c4eb549c147e6
xor rcx, rdx
cmp rax, rcx
jge 0x14003ea25
mov rcx, qword [rbp - 0x60]
movabs rdx, 0x8eed625f49d7dc6f
movabs rax, 0x8eed625f49d7dc6f
xor rdx, rax
movabs r8, 0xf079a4af81e49e66
movabs rax, 0x8f865b507e1b6199
xor r8, rax
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x14003eb8b
mov rax, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x68]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rbp - 0x78], rcx
add rax, 8
mov qword [rbp - 0x70], rax
xor eax, eax
mov qword [rbp - 0x68], rax
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x78]
mov r8, qword [rbp - 0x70]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov rax, rcx
add rax, 1
cmp rcx, rdx
mov qword [rbp - 0x68], rax
jne 0x14003ea50
mov r9, qword [rbp - 0x50]
mov rax, qword [rbp + 0x1d0]
mov rdx, qword [rax]
movabs rcx, 0xf76fb2a36c9048e5
movabs rax, 0xf76fb2a36c9048e5
xor rcx, rax
sub rcx, r9
mov rax, rdx
sub rax, rcx
mov qword [rbp - 0x80], rax
mov rcx, rax
xor rcx, rdx
mov rdx, rax
and rdx, rdx
movabs r8, 0x9bcd41835bf41591
movabs r10, 0x6432be7ca40bea6e
xor r8, r10
xor rdx, r8
and rdx, r9
xor rdx, 0xffffffffffffffff
mov r8, r9
xor r8, 0xffffffffffffffff
movabs r10, 0x35dabe84379cb1e9
movabs r11, 0xca25417bc8634e16
xor r10, r11
xor r9, r10
or r8, r9
and rax, r8
movabs r8, 0xe1dc1b36365167c9
movabs r9, 0x1e23e4c9c9ae9836
xor r8, r9
xor rax, r8
and rdx, rax
xor rdx, 0xffffffffffffffff
movabs rax, 0x67e4ea6865098ac9
movabs r8, 0x981b15979af67536
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0xdef625c0a6622c4
movabs rdx, 0xdef625c0a6622c4
xor rcx, rdx
cmp rax, rcx
jge 0x14003eb78
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x14003eb99
mov rax, qword [rbp + 0x1d0]
mov rcx, qword [rbp - 0x80]
mov qword [rax], rcx
jmp 0x14003eb99
mov rax, qword [rbp - 0x58]
cmp rax, 0
je 0x14003ec02
mov rax, qword [rbp - 0x58]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
movabs rdx, 0xace1d23d7d229942
movabs r8, 0x531e2dc282dd66bd
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x9761c12c9397eae7
movabs r8, 0xd761c12c9397eae7
xor rdx, r8
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14003ec02
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x1a0]
lea rsp, [rbp + 0x290]
pop rbp
ret