Function at 0x1400b4189
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x438
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x3a0], xmm8
movaps xmmword [rbp + 0x390], xmm7
movaps xmmword [rbp + 0x380], xmm6
mov byte [rbp + 0x2b7], dl
mov qword [rbp + 0x2e0], rcx
mov eax, 0x30
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x2b8], rax
mov eax, 0x10
mov qword [rbp + 0x2c8], rax
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x2c8]
mov rcx, rsp
mov qword [rbp + 0x2f0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x2c8]
mov rcx, rsp
mov qword [rbp + 0x2c0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x2c8]
mov rcx, rsp
mov qword [rbp + 0x2d0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x2d8], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x2f0]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x2e0]
mov qword [rbp + 0x2e8], rdx
mov rdx, qword [rax]
mov rax, rdx
and rax, 4
shl rax, 1
movabs r8, 0xe35b6e592f0fd236
movabs r9, 0xe35b6e592f0fd232
xor r8, r9
xor rdx, r8
add rdx, rax
sub rsp, 0x20
call fcn.140021f70
mov rax, qword [rbp + 0x2f0]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x2f8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x300], rax
add rax, 8
add rax, rcx
mov qword [rbp + 0x308], rax
xor eax, eax
mov qword [rbp + 0x310], rax
mov rcx, qword [rbp + 0x310]
mov rax, qword [rbp + 0x308]
lea rdx, [0x14019f610]
mov dl, byte [rdx + rcx + 8]
mov byte [rax + rcx], dl
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor eax, eax
sub rax, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
movabs rdx, 0x60229a7997f358a1
movabs r8, 0x60229a7997f358a5
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x310], rax
jne 0x1400b42d6
mov r8, qword [rbp + 0x2f8]
mov rax, qword [rbp + 0x2e8]
add rax, 0x60
mov qword [rbp + 0x2a0], rax
mov rax, r8
add rax, 4
movabs rdx, 0x115092f9a430b7a9
movabs rcx, 0xeeaf6d065bcf4856
xor rdx, rcx
mov rcx, r8
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x69afb2c70ae468b5
movabs r9, 0x96504d38f51b974a
xor rdx, r9
and rdx, rcx
movabs rcx, 0xae4d525a55b2956e
movabs r9, 0xae4d525a55b2956c
xor rcx, r9
imul rcx, rdx
sub rcx, 0xffffffffffffffff
sub r8, rcx
mov rcx, rax
or rcx, rcx
xor rcx, 0xffffffffffffffff
movabs r9, 0x1648f4fdb94b08c3
movabs rdx, 0xe9b70b0246b4f73c
xor r9, rdx
mov rdx, r8
xor rdx, r9
movabs r9, 0xb3e1aeb5bac8546
movabs r10, 0xf4c1e514a4537ab9
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, rdx
movabs rdx, 0xf512155cd5323543
movabs r8, 0xaedeaa32acdcabc
xor rdx, r8
xor rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x2a8], rax
jge 0x1400b443d
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x2f8]
add rsp, 0x20
mov qword [rbp + 0x2a8], rax
mov rdx, qword [rbp + 0x2e0]
mov rax, qword [rbp + 0x2a8]
mov qword [rbp + 0x278], rax
mov rcx, qword [rdx]
mov qword [rbp + 0x280], rcx
mov r8, rdx
add r8, 8
mov qword [rbp + 0x288], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x290], rdx
cmp rcx, 0
mov qword [rbp + 0x298], rax
jle 0x1400b46b4
mov rcx, qword [rbp + 0x280]
movabs rax, 0xabca1e92f029b046
movabs rdx, 0xabca1e92f029b047
xor rax, rdx
mov rdx, rcx
and rdx, rax
shl rdx, 1
mov rax, rcx
xor rax, 1
add rax, rdx
mov qword [rbp + 0x270], rax
mov r8, rcx
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
movabs rdx, 0x40b330b3537a4230
movabs r9, 0x40b330b3537a4232
xor rdx, r9
imul rdx, r8
sub rdx, 0xffffffffffffffff
sub rcx, rdx
and rax, rcx
movabs rcx, 0x572c499954016ee7
movabs rdx, 0x572c499954016ee7
xor rcx, rdx
cmp rax, rcx
jge 0x1400b4533
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x278]
add rsp, 0x20
mov qword [rbp + 0x298], rax
jmp 0x1400b46b4
mov rax, qword [rbp + 0x270]
movabs rcx, 0xbe5621a1292ec0ad
movabs rdx, 0xbe5621a1292ec0ad
xor rcx, rdx
cmp rax, rcx
jge 0x1400b458f
mov rcx, qword [rbp + 0x270]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0x278]
add rsp, 0x20
mov qword [rbp + 0x298], rax
jmp 0x1400b46b4
mov rax, qword [rbp + 0x290]
mov rdx, qword [rbp + 0x278]
mov rcx, qword [rbp + 0x300]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0x258], rcx
add rax, 8
mov qword [rbp + 0x260], rax
xor eax, eax
mov qword [rbp + 0x268], rax
mov rcx, qword [rbp + 0x268]
mov rdx, qword [rbp + 0x280]
mov rax, qword [rbp + 0x258]
mov r8, qword [rbp + 0x260]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0xe2118ae519aed7e2
movabs rax, 0xe2118ae519aed7e3
xor r8, rax
mov rax, rcx
and rax, r8
mov r8, rcx
or r8, 1
add rax, r8
cmp rcx, rdx
mov qword [rbp + 0x268], rax
jne 0x1400b45c6
mov rdx, qword [rbp + 0x280]
mov rcx, qword [rbp + 0x278]
mov rax, rdx
add rax, rcx
mov r9, rax
xor r9, rcx
movabs r8, 0x5ce35d1f9eea40c2
movabs r10, 0xa31ca2e06115bf3d
xor r8, r10
xor r9, r8
mov r8, rcx
and r8, r9
shl r8, 1
sub r8, rcx
mov rcx, rax
sub rcx, r8
mov r9, rax
xor r9, rdx
xor r9, 0xffffffffffffffff
mov r8, rdx
and r8, r9
shl r8, 1
sub r8, rdx
mov rdx, rax
sub rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x298], rax
jge 0x1400b46b4
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x278]
add rsp, 0x20
mov qword [rbp + 0x298], rax
mov rax, qword [rbp + 0x298]
mov qword [rbp + 0x248], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x300]
mov r8, qword [rbp + 0x248]
add rsp, 0x20
movabs r9, 0x250a205e099e3b7d
movabs rdx, 0x250a205e099e3b7d
xor r9, rdx
add rcx, 8
lea rdx, [0x14019f620]
cmp r8, r9
cmove rcx, rdx
mov qword [rbp + 0x250], rcx
mov al, byte [rax + 0x60]
mov cl, 0xbf
xor cl, 0xbf
cmp al, cl
jne 0x1400b4796
mov rax, qword [rbp + 0x248]
movabs rcx, 0x6f254250373a4cd2
movabs rdx, 0x6f254250373a4cd2
xor rcx, rdx
cmp rax, rcx
jge 0x1400b4774
mov rcx, qword [rbp + 0x248]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x1400b4796
mov r8, qword [rbp + 0x248]
mov rdx, qword [rbp + 0x250]
lea rcx, [rbp + 0x338]
sub rsp, 0x20
call fcn.14009e8d0
add rsp, 0x20
mov rax, qword [rbp + 0x2a0]
mov rcx, qword [rbp + 0x338]
mov qword [rbp + 0x210], rcx
mov rcx, qword [rbp + 0x340]
mov qword [rbp + 0x218], rcx
mov dl, byte [rax]
mov r8b, 0x95
xor r8b, 0x95
xor eax, eax
mov cl, al
xor eax, eax
cmp dl, r8b
mov byte [rbp + 0x227], cl
mov rcx, rax
mov qword [rbp + 0x228], rcx
mov rcx, rax
mov qword [rbp + 0x230], rcx
mov rcx, rax
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
jne 0x1400b641d
mov rax, qword [rbp + 0x210]
mov ecx, 2
cqo
idiv rcx
mov rdx, rax
mov rax, qword [rbp + 0x210]
mov rcx, rdx
and rcx, 0xffffffffffffffff
movabs r9, 0x3d07db9b0e1adb3e
movabs r8, 0xc2f82464f1e524c1
xor r9, r8
mov r8, rdx
or r8, r9
add rcx, r8
mov qword [rbp + 0x208], rcx
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 1
setg al
and al, cl
test al, 1
jne 0x1400b487c
mov rcx, qword [rbp + 0x208]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x200], rax
jmp 0x1400b48d3
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x2a0]
add rsp, 0x20
mov dl, byte [rax]
mov r8b, 0x36
xor r8b, 0x36
xor eax, eax
mov cl, al
xor eax, eax
cmp dl, r8b
mov byte [rbp + 0x227], cl
mov rcx, rax
mov qword [rbp + 0x228], rcx
mov rcx, rax
mov qword [rbp + 0x230], rcx
mov rcx, rax
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
jne 0x1400b641d
mov rcx, qword [rbp + 0x200]
mov rax, rcx
shl rax, 1
mov qword [rbp + 0x1e8], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x14019f2e0]
mulsd xmm0, xmm1
movsd qword [rbp + 0x1f0], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x1f8], xmm1
ucomisd xmm0, xmm1
jne 0x1400b4923
jp 0x1400b4923
jmp 0x1400b49c5
movsd xmm1, qword [rbp + 0x1f0]
movsd xmm0, qword [rbp + 0x1f8]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x1f0]
movsd qword [rbp + 0x1e0], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0x1e0]
add rsp, 0x20
movsd xmm2, qword [0x14019f2e8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x1400b49c5
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
xor eax, eax
mov cl, al
xor eax, eax
mov byte [rbp + 0x227], cl
mov rcx, rax
mov qword [rbp + 0x228], rcx
mov rcx, rax
mov qword [rbp + 0x230], rcx
mov rcx, rax
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
jmp 0x1400b641d
mov rcx, qword [rbp + 0x2c0]
mov rax, qword [rbp + 0x2e0]
mov rdx, qword [rbp + 0x1e8]
mov word [rbp + 0x370], dx
mov rdx, qword [rax]
movabs rax, 0x8e887bcd9d1d1a96
movabs r8, 0x77b8631fe466f369
xor rax, r8
add rdx, rax
movabs rax, 0xd9c23342874128d
movabs r8, 0xd9c233428741289
xor rax, r8
add rdx, rax
movabs rax, 0xf93018d2797be9ff
sub rdx, rax
sub rsp, 0x20
call fcn.140021f70
mov rax, qword [rbp + 0x2c0]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x1c0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1c8], rax
add rax, 8
add rax, rcx
mov qword [rbp + 0x1d0], rax
xor eax, eax
mov qword [rbp + 0x1d8], rax
mov rcx, qword [rbp + 0x1d8]
mov rax, qword [rbp + 0x1d0]
lea rdx, [0x14019f610]
mov dl, byte [rdx + rcx + 8]
mov byte [rax + rcx], dl
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor eax, eax
sub rax, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
movabs rdx, 0x1a8602452698fb9a
movabs r8, 0x1a8602452698fb9e
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x1d8], rax
jne 0x1400b4a65
mov rcx, qword [rbp + 0x1c0]
movabs rdx, 0x66f3258d78e62445
movabs rax, 0x66f3258d78e62441
xor rdx, rax
mov rax, rcx
add rax, rdx
mov rdx, rcx
or rdx, rdx
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
or r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs r9, 0x96e064e3ace795ef
movabs r10, 0x691f9b1c53186a10
xor r9, r10
xor rdx, r9
movabs r9, 0x9e6a6b9d500d1919
movabs r10, 0x61959462aff2e6e6
xor r9, r10
xor r8, r9
and rdx, r8
or rcx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r8, 0xd482ef393f9133f6
movabs r9, 0x2b7d10c6c06ecc09
xor r8, r9
xor rdx, r8
xor rcx, 0xffffffffffffffff
and rdx, rcx
mov rcx, rax
and rcx, rdx
movabs rdx, 0x8fabfdd675717def
movabs r8, 0x8fabfdd675717def
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x1b8], rax
jge 0x1400b4ba7
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x1c0]
add rsp, 0x20
mov qword [rbp + 0x1b8], rax
mov rdx, qword [rbp + 0x288]
mov rcx, qword [rbp + 0x2e0]
mov rax, qword [rbp + 0x1b8]
mov qword [rbp + 0x198], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x1a0], rcx
mov rdx, qword [rdx]
mov qword [rbp + 0x1a8], rdx
movabs rdx, 0x772e25f3eff94893
movabs r8, 0x772e25f3eff94893
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x1b0], rax
jle 0x1400b4e3d
mov rcx, qword [rbp + 0x1a0]
mov rax, rcx
add rax, 1
mov qword [rbp + 0x190], rax
xor rcx, 0xffffffffffffffff
or rax, rax
xor rax, 0xffffffffffffffff
or rcx, rcx
xor rcx, 0xffffffffffffffff
or rax, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0xdb79fafd8a637c33
movabs rdx, 0xdb79fafd8a637c33
xor rcx, rdx
cmp rax, rcx
jge 0x1400b4c6c
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x198]
add rsp, 0x20
mov qword [rbp + 0x1b0], rax
jmp 0x1400b4e3d
mov rax, qword [rbp + 0x190]
movabs rcx, 0xc47ee36e7fcb3154
movabs rdx, 0xc47ee36e7fcb3154
xor rcx, rdx
cmp rax, rcx
jge 0x1400b4cc8
mov rcx, qword [rbp + 0x190]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0x198]
add rsp, 0x20
mov qword [rbp + 0x1b0], rax
jmp 0x1400b4e3d
mov rax, qword [rbp + 0x1a8]
mov rdx, qword [rbp + 0x198]
mov rcx, qword [rbp + 0x1c8]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0x178], rcx
add rax, 8
mov qword [rbp + 0x180], rax
xor eax, eax
mov qword [rbp + 0x188], rax
mov rcx, qword [rbp + 0x188]
mov rdx, qword [rbp + 0x1a0]
mov rax, qword [rbp + 0x178]
mov r8, qword [rbp + 0x180]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov rax, rcx
add rax, 1
cmp rcx, rdx
mov qword [rbp + 0x188], rax
jne 0x1400b4cff
mov r9, qword [rbp + 0x1a0]
mov rcx, qword [rbp + 0x198]
mov rdx, r9
and rdx, rcx
movabs rax, 0x8b687c37918d0016
movabs r8, 0x8b687c37918d0014
xor rax, r8
imul rdx, rax
mov rax, r9
xor rax, rcx
add rax, rdx
mov rdx, rax
xor rdx, rcx
movabs r8, 0x4a64be5bd897b452
movabs rcx, 0xb59b41a427684bad
xor r8, rcx
mov rcx, rax
xor rcx, r8
mov r8, r9
and r8, rcx
xor r9, 0xffffffffffffffff
mov rcx, rax
and rcx, r9
or r8, rcx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov r9, r8
xor r9, 0xffffffffffffffff
or rcx, r9
xor rdx, 0xffffffffffffffff
movabs r9, 0xe1a9c2d1a2f8bef0
movabs r10, 0x1e563d2e5d07410f
xor r9, r10
xor r8, r9
or rdx, r8
movabs r8, 0xb21667d2a4654645
movabs r9, 0x4de9982d5b9ab9ba
xor r8, r9
xor rcx, r8
movabs r8, 0xb66c5861815add39
movabs r9, 0x4993a79e7ea522c6
xor r8, r9
xor rdx, r8
or rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x1b0], rax
jge 0x1400b4e3d
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x198]
add rsp, 0x20
mov qword [rbp + 0x1b0], rax
mov rax, qword [rbp + 0x1b0]
mov qword [rbp + 0x168], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x1c8]
mov r8, qword [rbp + 0x168]
add rsp, 0x20
add rcx, 8
lea rdx, [0x14019f620]
cmp r8, 0
cmove rcx, rdx
mov qword [rbp + 0x170], rcx
mov al, byte [rax + 0x60]
mov cl, 0x34
xor cl, 0x34
cmp al, cl
jne 0x1400b4ef3
mov rax, qword [rbp + 0x168]
cmp rax, 0
jge 0x1400b4ed1
mov rcx, qword [rbp + 0x168]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x1400b4ef3
mov r8, qword [rbp + 0x168]
mov rdx, qword [rbp + 0x170]
mov rcx, qword [rbp + 0x2d0]
sub rsp, 0x20
call fcn.14009e8d0
add rsp, 0x20
mov rdx, qword [rbp + 0x1c8]
mov r9, qword [rbp + 0x2a0]
mov rax, qword [rbp + 0x2d0]
mov rcx, qword [rax]
mov qword [rbp + 0x158], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x160], rcx
xor eax, eax
mov r8b, al
xor eax, eax
cmp byte [r9], 0
mov byte [rbp + 0x227], r8b
mov qword [rbp + 0x228], rdx
mov qword [rbp + 0x230], rcx
mov rcx, rax
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
jne 0x1400b641d
mov rax, qword [rbp + 0x158]
movabs rcx, 0xe864e81f7fdca0a1
movabs rdx, 0xe864e81f7fdca0a3
xor rcx, rdx
cqo
idiv rcx
mov rdx, rax
mov rax, qword [rbp + 0x158]
movabs r8, 0xbb7a31ce4f8ee344
movabs rcx, 0x4485ce31b0711cbb
xor r8, rcx
mov rcx, rdx
add rcx, r8
mov qword [rbp + 0x150], rcx
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 1
setg al
xor al, 0xff
xor dl, 0xff
mov cl, 1
xor cl, 0
or al, dl
or cl, 0
mov dl, 1
xor dl, 0
xor al, dl
and al, cl
test al, 1
jne 0x1400b4ff2
mov rcx, qword [rbp + 0x150]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x148], rax
jmp 0x1400b504b
sub rsp, 0x20
call fcn.14000a590
mov r9, qword [rbp + 0x2a0]
mov rdx, qword [rbp + 0x1c8]
mov rcx, qword [rbp + 0x160]
add rsp, 0x20
xor eax, eax
mov r8b, al
xor eax, eax
cmp byte [r9], 0
mov byte [rbp + 0x227], r8b
mov qword [rbp + 0x228], rdx
mov qword [rbp + 0x230], rcx
mov rcx, rax
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
jne 0x1400b641d
mov rcx, qword [rbp + 0x148]
mov rax, rcx
shl rax, 1
mov qword [rbp + 0x130], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x14019f2e0]
mulsd xmm0, xmm1
movsd qword [rbp + 0x138], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x140], xmm1
ucomisd xmm0, xmm1
jne 0x1400b509b
jp 0x1400b509b
jmp 0x1400b5147
movsd xmm1, qword [rbp + 0x138]
movsd xmm0, qword [rbp + 0x140]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x138]
movsd qword [rbp + 0x128], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0x128]
add rsp, 0x20
movsd xmm2, qword [0x14019f2e8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x1400b5147
sub rsp, 0x20
call fcn.14000a590
mov rdx, qword [rbp + 0x1c8]
mov rcx, qword [rbp + 0x160]
add rsp, 0x20
xor eax, eax
mov r8b, al
xor eax, eax
mov byte [rbp + 0x227], r8b
mov qword [rbp + 0x228], rdx
mov qword [rbp + 0x230], rcx
mov rcx, rax
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
jmp 0x1400b641d
mov rcx, qword [rbp + 0x2d8]
mov rax, qword [rbp + 0x2e0]
mov rdx, qword [rbp + 0x130]
mov r8w, 0xffff
xor r8w, 2
mov r9w, 0x6f3f
xor r9w, 0x6f3f
mov r10w, 0x7a7e
xor r10w, 0x7a7f
sub r9w, r10w
sub r8w, r9w
sub dx, r8w
mov word [rbp + 0x372], dx
mov rdx, qword [rax]
movabs rax, 0xafbf9b27ad19afa8
movabs r8, 0x69ef15d50fbdb417
xor rax, r8
add rdx, rax
movabs rax, 0x6b206fd4f28ca379
movabs r8, 0x6b206fd4f28ca37d
xor rax, r8
add rdx, rax
movabs rax, 0xc6508ef2a2a41bbf
sub rdx, rax
sub rsp, 0x20
call fcn.140021f70
mov rax, qword [rbp + 0x2d8]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x108], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x110], rax
add rax, 8
add rax, rcx
mov qword [rbp + 0x118], rax
xor eax, eax
mov qword [rbp + 0x120], rax
mov rcx, qword [rbp + 0x120]
mov rax, qword [rbp + 0x118]
lea rdx, [0x14019f610]
mov dl, byte [rdx + rcx + 8]
mov byte [rax + rcx], dl
movabs rdx, 0x7e2899912159f74f
movabs rax, 0x7e2899912159f74e
xor rdx, rax
mov rax, rcx
add rax, rdx
movabs rdx, 0xe46b32d68b990a31
movabs r8, 0xe46b32d68b990a35
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x120], rax
jne 0x1400b5213
mov rdx, qword [rbp + 0x108]
movabs rcx, 0xf3a720944ecba23a
movabs rax, 0xf3a720944ecba23a
xor rcx, rax
movabs rax, 0xcfbe77f399bcdc8e
movabs r8, 0xcfbe77f399bcdc8a
xor rax, r8
sub rcx, rax
mov rax, rdx
sub rax, rcx
movabs rcx, 0xe1e8fbe7c648d1a5
movabs r8, 0x1e17041839b72e5a
xor rcx, r8
xor rdx, rcx
mov rcx, rax
and rcx, rdx
movabs rdx, 0x7da4e38c36a6e67
movabs r8, 0x7da4e38c36a6e67
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x100], rax
jge 0x1400b5313
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x108]
add rsp, 0x20
mov qword [rbp + 0x100], rax
mov rdx, qword [rbp + 0x288]
mov rcx, qword [rbp + 0x2e0]
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0xe0], rax
mov rcx, qword [rcx]
mov qword [rbp + 0xe8], rcx
mov rdx, qword [rdx]
mov qword [rbp + 0xf0], rdx
cmp rcx, 0
mov qword [rbp + 0xf8], rax
jle 0x1400b55c1
mov rdx, qword [rbp + 0xe8]
mov rax, rdx
add rax, 1
mov qword [rbp + 0xd8], rax
movabs rcx, 0x97ff6f2b80956921
movabs r8, 0x680090d47f6a96de
xor rcx, r8
mov r8, rdx
xor r8, rcx
movabs rcx, 0x28d4fd22126f6c97
movabs r9, 0xd72b02dded909368
xor rcx, r9
and rcx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
or rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400b53de
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0xe0]
add rsp, 0x20
mov qword [rbp + 0xf8], rax
jmp 0x1400b55c1
mov rax, qword [rbp + 0xd8]
cmp rax, 0
jge 0x1400b5424
mov rcx, qword [rbp + 0xd8]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0xe0]
add rsp, 0x20
mov qword [rbp + 0xf8], rax
jmp 0x1400b55c1
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0x110]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0xc0], rcx
add rax, 8
mov qword [rbp + 0xc8], rax
xor eax, eax
mov qword [rbp + 0xd0], rax
mov rcx, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0xe8]
mov rax, qword [rbp + 0xc0]
mov r8, qword [rbp + 0xc8]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0xbbdf84ffa8c7e369
movabs rax, 0xbbdf84ffa8c7e368
xor r8, rax
movabs rax, 0x82d91bde8862b7bf
movabs r9, 0x7d26e421779d4840
xor rax, r9
xor r8, rax
movabs rax, 0x9cf3297d63e00b90
movabs r9, 0x9cf3297d63e00b90
xor rax, r9
movabs r9, 0xde506b9a883041
movabs r10, 0xde506b9a883040
xor r9, r10
sub rax, r9
sub r8, rax
mov rax, rcx
sub rax, r8
cmp rcx, rdx
mov qword [rbp + 0xd0], rax
jne 0x1400b545b
mov r8, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xe0]
movabs rdx, 0x136df302e78b18c8
movabs rax, 0xe8cc8ad62366923
xor rdx, rax
mov rax, r8
sub rax, rdx
add rax, rcx
movabs rdx, 0xc7106ca2d6dd2fb0
movabs r9, 0xdaf1570d53605e5b
xor rdx, r9
add rax, rdx
mov rdx, rax
xor rdx, rcx
movabs r9, 0x712cd2b2808d1158
movabs r10, 0x8ed32d4d7f72eea7
xor r9, r10
xor rdx, r9
mov r9, rcx
and r9, rdx
movabs rdx, 0x92cd0e3d38647637
movabs r10, 0x92cd0e3d38647635
xor rdx, r10
imul rdx, r9
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
mov rdx, rax
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0xf8], rax
jge 0x1400b55c1
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0xe0]
add rsp, 0x20
mov qword [rbp + 0xf8], rax
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0xb0], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x110]
mov r8, qword [rbp + 0xb0]
add rsp, 0x20
movabs r9, 0x1f93582f67316827
movabs rdx, 0x1f93582f67316827
xor r9, rdx
add rcx, 8
lea rdx, [0x14019f620]
cmp r8, r9
cmove rcx, rdx
mov qword [rbp + 0xb8], rcx
mov al, byte [rax + 0x60]
mov cl, 0x47
xor cl, 0x47
cmp al, cl
jne 0x1400b568d
mov rax, qword [rbp + 0xb0]
cmp rax, 0
jge 0x1400b566b
mov rcx, qword [rbp + 0xb0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x1400b568d
mov r8, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xb8]
lea rcx, [rbp + 0x328]
sub rsp, 0x20
call fcn.14009e8d0
add rsp, 0x20
mov rcx, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x160]
mov r8, qword [rbp + 0x1c8]
mov r10, qword [rbp + 0x2a0]
mov rax, qword [rbp + 0x328]
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0x330]
mov qword [rbp + 0xa8], rax
xor r9d, r9d
cmp byte [r10], 0
mov byte [rbp + 0x227], r9b
mov qword [rbp + 0x228], r8
mov qword [rbp + 0x230], rdx
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
jne 0x1400b641d
mov rsi, qword [rbp + 0xa0]
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov r9, qword [rbp + 0x2a0]
mov r8, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x110]
add rsp, 0x20
mov rax, qword [rbp + 0xa8]
mov r10, rax
add r10, 8
lea r11, [0x14019f620]
cmp rsi, 0
cmove r10, r11
mov qword [rbp + 0x378], r10
mov r10b, byte [r9]
mov r11b, 0x9d
xor r11b, 0x9d
xor r9d, r9d
cmp r10b, r11b
mov byte [rbp + 0x227], r9b
mov qword [rbp + 0x228], r8
mov qword [rbp + 0x230], rdx
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
jne 0x1400b641d
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x98], rax
mov rax, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x2b8]
xorps xmm0, xmm0
movups xmmword [rcx + rax], xmm0
add rax, 0x10
cmp rax, 0x30
mov qword [rbp + 0x98], rax
jne 0x1400b57aa
mov rax, qword [rbp + 0x2b8]
mov dword [rax], 0x30
lea rcx, [rbp + 0x370]
sub rsp, 0x20
call fcn.14009c713
mov r9, qword [rbp + 0x2a0]
mov r8, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x110]
add rsp, 0x20
mov r10, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x90], r10
mov r10b, byte [r9]
mov r11b, 0xe1
xor r11b, 0xe1
xor r9d, r9d
cmp r10b, r11b
mov byte [rbp + 0x227], r9b
mov qword [rbp + 0x228], r8
mov qword [rbp + 0x230], rdx
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
jne 0x1400b641d
mov rax, qword [rbp + 0x2b8]
mov rcx, qword [rbp + 0x90]
mov qword [rax + 0x10], rcx
mov dword [rax + 0x18], 0x40
xor ecx, ecx
mov qword [rbp + 0x40], rcx
mov qword [rax + 8], rcx
mov qword [rax + 0x20], rcx
mov qword [rax + 0x28], rcx
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rax, qword [rbp + 0x40]
movaps xmm0, xmmword [0x14019f2f0]
movaps xmm1, xmmword [0x14019f300]
movaps xmm2, xmmword [0x14019f310]
movaps xmm3, xmmword [0x14019f320]
mov qword [rbp + 0x48], rax
movaps xmmword [rbp + 0x50], xmm3
movaps xmmword [rbp + 0x60], xmm2
movaps xmmword [rbp + 0x70], xmm1
movaps xmmword [rbp + 0x80], xmm0
jmp 0x1400b58d8
mov rax, qword [rbp + 0x48]
movaps xmm2, xmmword [rbp + 0x50]
movaps xmm7, xmmword [rbp + 0x60]
movaps xmm8, xmmword [rbp + 0x70]
movaps xmm5, xmmword [rbp + 0x80]
movaps xmmword [rbp - 0x20], xmm5
movaps xmmword [rbp - 0x10], xmm8
movaps xmmword [rbp], xmm7
movaps xmmword [rbp + 0x10], xmm2
mov qword [rbp + 0x28], rax
movaps xmm6, xmmword [0x14019f330]
pxor xmm2, xmm6
pshufd xmm1, xmm2, 0xf5
movaps xmm4, xmmword [0x14019f340]
pshufd xmm3, xmm4, 0xf5
movaps xmm0, xmm3
pcmpeqd xmm0, xmm1
movaps xmm1, xmm4
pcmpgtd xmm1, xmm2
pshufd xmm2, xmm1, 0xa0
pand xmm0, xmm2
pshufd xmm1, xmm1, 0xf5
por xmm0, xmm1
pxor xmm7, xmm6
pshufd xmm1, xmm7, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm1
movaps xmm1, xmm4
pcmpgtd xmm1, xmm7
pshufd xmm7, xmm1, 0xa0
pand xmm2, xmm7
pshufd xmm1, xmm1, 0xf5
por xmm2, xmm1
movaps xmm1, xmm0
packssdw xmm1, xmm2
pxor xmm8, xmm6
pshufd xmm7, xmm8, 0xf5
movaps xmm2, xmm3
pcmpeqd xmm2, xmm7
movaps xmm7, xmm4
pcmpgtd xmm7, xmm8
pshufd xmm8, xmm7, 0xa0
pand xmm2, xmm8
pshufd xmm7, xmm7, 0xf5
por xmm2, xmm7
pxor xmm5, xmm6
pshufd xmm6, xmm5, 0xf5
pcmpeqd xmm3, xmm6
pcmpgtd xmm4, xmm5
pshufd xmm5, xmm4, 0xa0
pand xmm3, xmm5
pshufd xmm4, xmm4, 0xf5
por xmm3, xmm4
packssdw xmm2, xmm3
packssdw xmm1, xmm2
movaps xmmword [rbp + 0x30], xmm1
movd eax, xmm0
test al, 1
jne 0x1400b59df
jmp 0x1400b59ef
mov rax, qword [rbp + 0x28]
mov cl, 0x25
xor cl, 0x25
mov byte [rbp + rax + 0x348], cl
movaps xmm0, xmmword [rbp + 0x30]
movd eax, xmm0
shr eax, 0x10
test al, 1
jne 0x1400b5a07
jmp 0x1400b5a2d
mov rax, qword [rbp + 0x28]
movabs rcx, 0x536718f14b1b7b0
movabs rdx, 0x536718f14b1b7b1
xor rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0x348], 0
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 2
test al, 1
jne 0x1400b5a43
jmp 0x1400b5a6d
mov rax, qword [rbp + 0x28]
movabs rcx, 0x5ad89434b4685ed7
movabs rdx, 0x5ad89434b4685ed5
xor rcx, rdx
or rax, rcx
mov cl, 0x7b
xor cl, 0x7b
mov byte [rbp + rax + 0x348], cl
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 3
test al, 1
jne 0x1400b5a83
jmp 0x1400b5b32
mov rax, qword [rbp + 0x28]
and rax, rax
xor rax, 0xffffffffffffffff
movabs rcx, 0x684ef96c42b7117e
movabs rdx, 0x684ef96c42b7117d
xor rcx, rdx
movabs rdx, 0xb45b78c477330917
movabs r8, 0x4ba4873b88ccf6e8
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x1aa37505d92bf1cc
movabs r8, 0x1aa37505d92bf1cf
xor rdx, r8
movabs r8, 0x58e1578508b166e
movabs r9, 0xfa71ea87af74e991
xor r8, r9
xor rdx, r8
or rcx, rdx
movabs rdx, 0x827f502950c85c72
movabs r8, 0x7d80afd6af37a38d
xor rdx, r8
xor rax, rdx
movabs rdx, 0xed9331f0151c7545
movabs r8, 0x126cce0feae38aba
xor rdx, r8
xor rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0x348], 0
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 4
test al, 1
jne 0x1400b5b48
jmp 0x1400b5b5c
mov rax, qword [rbp + 0x28]
or rax, 4
mov cl, 0xd5
xor cl, 0xd5
mov byte [rbp + rax + 0x348], cl
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 5
test al, 1
jne 0x1400b5b72
jmp 0x1400b5bc6
mov rax, qword [rbp + 0x28]
movabs rdx, 0xe24e3ff453255c2d
movabs rcx, 0xe24e3ff453255c28
xor rdx, rcx
movabs rcx, 0x1522463067677258
movabs r8, 0xeaddb9cf98988da7
xor rcx, r8
xor rdx, rcx
mov rcx, rax
and rcx, rdx
mov rdx, rax
xor rdx, 5
add rax, rdx
sub rax, rcx
mov cl, 0xed
xor cl, 0xed
mov byte [rbp + rax + 0x348], cl
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 6
test al, 1
jne 0x1400b5bdc
jmp 0x1400b5bfa
mov rcx, qword [rbp + 0x28]
mov rax, rcx
and rax, 6
xor rcx, 6
or rax, rcx
mov cl, 0x20
xor cl, 0x20
mov byte [rbp + rax + 0x348], cl
movaps xmm0, xmmword [rbp + 0x30]
pextrw eax, xmm0, 7
test al, 1
jne 0x1400b5c10
jmp 0x1400b5c36
mov rax, qword [rbp + 0x28]
movabs rcx, 0x25efdb6ca3cf6f57
movabs rdx, 0x25efdb6ca3cf6f50
xor rcx, rdx
or rax, rcx
mov byte [rbp + rax + 0x348], 0
movaps xmm0, xmmword [rbp - 0x20]
movaps xmm1, xmmword [rbp - 0x10]
movaps xmm2, xmmword [rbp]
movaps xmm3, xmmword [rbp + 0x10]
mov rax, qword [rbp + 0x28]
add rax, 8
movaps xmm4, xmmword [0x14019f350]
paddq xmm3, xmm4
paddq xmm2, xmm4
paddq xmm1, xmm4
paddq xmm0, xmm4
mov rcx, rax
sub rcx, 0x28
mov qword [rbp + 0x48], rax
movaps xmmword [rbp + 0x50], xmm3
movaps xmmword [rbp + 0x60], xmm2
movaps xmmword [rbp + 0x70], xmm1
movaps xmmword [rbp + 0x80], xmm0
jne 0x1400b58d8
jmp 0x1400b5c8e
mov rcx, qword [rbp + 0x2b8]
lea rdx, [rbp + 0x348]
mov rax, qword [0x1401a1678]
sub rsp, 0x20
call qword [rax]
mov r10, qword [rbp + 0x2a0]
mov r8, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x110]
add rsp, 0x20
mov r9d, eax
mov rax, qword [rbp + 0xa8]
mov dword [rbp - 0x24], r9d
xor r9d, r9d
cmp byte [r10], 0
mov byte [rbp + 0x227], r9b
mov qword [rbp + 0x228], r8
mov qword [rbp + 0x230], rdx
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
jne 0x1400b641d
mov eax, dword [rbp - 0x24]
sub eax, 0xc0000034
je 0x1400b5d2d
jmp 0x1400b5d1a
mov eax, dword [rbp - 0x24]
sub eax, 0xc000003a
jne 0x1400b6092
jmp 0x1400b5d2d
mov rax, qword [rbp + 0x288]
mov rax, qword [rax]
mov qword [rbp - 0x30], rax
cmp rax, 0
je 0x1400b5d87
mov rcx, qword [rbp - 0x30]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x1d6d680a03d3719e
movabs rdx, 0x1d6d680a03d3719e
xor rcx, rdx
cmp rax, rcx
jne 0x1400b5d87
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0xa8]
cmp rax, 0
je 0x1400b5de0
mov rcx, qword [rbp + 0xa8]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x909300103d3b8cb8
movabs rdx, 0x909300103d3b8cb8
xor rcx, rdx
cmp rax, rcx
jne 0x1400b5de0
mov rcx, qword [rbp + 0xa8]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x110]
cmp rax, 0
je 0x1400b5e69
mov rax, qword [rbp + 0x110]
mov rcx, qword [rax]
movabs rdx, 0xcf446d3722d112d0
movabs rax, 0x8f446d3722d112d0
xor rdx, rax
movabs rax, 0x84708dd5a8ea6870
movabs r8, 0x7b8f722a5715978f
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
movabs rcx, 0xcb97dd3e5f4d9ce3
movabs rdx, 0xcb97dd3e5f4d9ce3
xor rcx, rdx
cmp rax, rcx
jne 0x1400b5e69
mov rcx, qword [rbp + 0x110]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x160]
cmp rax, 0
je 0x1400b5f18
mov rax, qword [rbp + 0x160]
mov rcx, qword [rax]
movabs rdx, 0x3ca169d3126cb043
movabs rax, 0xc35e962ced934fbc
xor rdx, rax
mov rax, rcx
xor rax, rdx
movabs rdx, 0x95e6d3cbbd3596aa
movabs r8, 0x6a192c3442ca6955
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x4000000000000000
movabs rdx, 0x4000000000000000
or rcx, rdx
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs rdx, 0x635f1ebd25e6bb29
movabs r8, 0x9ca0e142da1944d6
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1400b5f18
mov rcx, qword [rbp + 0x160]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x1c8]
cmp rax, 0
je 0x1400b5f8b
mov rax, qword [rbp + 0x1c8]
mov rcx, qword [rax]
movabs rdx, 0x7a60cb7310850ac9
movabs rax, 0x3a60cb7310850ac9
xor rdx, rax
movabs rax, 0xf34da3d59bef97f
movabs r8, 0xf0cb25c2a6410680
xor rax, r8
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x1400b5f8b
mov rcx, qword [rbp + 0x1c8]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x218]
cmp rax, 0
je 0x1400b5ff4
mov rax, qword [rbp + 0x218]
mov rax, qword [rax]
movabs rcx, 0x7587e58451515868
movabs rdx, 0x3587e58451515868
xor rcx, rdx
and rax, rcx
movabs rcx, 0xbe31153992283eba
movabs rdx, 0xbe31153992283eba
xor rcx, rdx
cmp rax, rcx
jne 0x1400b5ff4
mov rcx, qword [rbp + 0x218]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rcx, qword [rbp + 0x300]
xor eax, eax
cmp rcx, 0
mov byte [rbp - 0x31], al
je 0x1400b6856
mov rax, qword [rbp + 0x300]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
and rcx, rdx
movabs rdx, 0xb0099f70c2158f01
movabs r8, 0x4ff6608f3dea70fe
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x4a2a8e458f4fe1a7
movabs r8, 0xa2a8e458f4fe1a7
xor rdx, r8
and rax, rdx
xor rax, 0xffffffffffffffff
and rcx, rax
xor rcx, 0xffffffffffffffff
movabs rdx, 0xfd62ba18832c2294
movabs rax, 0xfd62ba18832c2294
xor rdx, rax
xor eax, eax
cmp rcx, rdx
mov cl, al
mov byte [rbp - 0x32], cl
mov byte [rbp - 0x31], al
je 0x1400b6836
jmp 0x1400b6856
mov ecx, dword [rbp - 0x24]
mov rax, qword [0x14019f480]
mov qword [rbp + 0x318], rax
mov rax, qword [0x14019f488]
mov qword [rbp + 0x320], rax
lea rdx, [rbp + 0x318]
sub rsp, 0x20
call fcn.1400a216b
mov r10, qword [rbp + 0x2a0]
mov r8, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x110]
mov rax, qword [rbp + 0xa8]
add rsp, 0x20
xor r9d, r9d
cmp byte [r10], 0
mov byte [rbp + 0x227], r9b
mov qword [rbp + 0x228], r8
mov qword [rbp + 0x230], rdx
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
jne 0x1400b641d
mov al, byte [rbp + 0x2b7]
xor ecx, ecx
mov byte [rbp - 0x33], cl
test al, al
je 0x1400b6189
jmp 0x1400b6130
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x160]
mov r8, qword [rbp + 0x1c8]
mov r9b, byte [rbp - 0x33]
mov r10b, byte [rbp + 0x2b7]
sub r10b, 1
mov byte [rbp + 0x227], r9b
mov qword [rbp + 0x228], r8
mov qword [rbp + 0x230], rdx
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
je 0x1400b62d3
jmp 0x1400b641d
mov ecx, dword [rbp + 0x368]
mov eax, ecx
xor eax, 0xffffffef
or ecx, 0x10
and ecx, eax
sub rsp, 0x20
call fcn.14009c717
mov r9, qword [rbp + 0x2a0]
mov r8, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x110]
add rsp, 0x20
mov r11b, al
mov rax, qword [rbp + 0xa8]
mov r10b, byte [r9]
xor r9d, r9d
test r11b, r11b
mov r11d, 7
cmovne r11d, r9d
test r10b, r10b
mov r10d, 2
cmove r10d, r11d
mov dword [rbp - 0x38], r10d
mov byte [rbp - 0x34], r9b
test r10d, r10d
mov byte [rbp + 0x227], r9b
mov qword [rbp + 0x228], r8
mov qword [rbp + 0x230], rdx
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
je 0x1400b641d
jmp 0x1400b6225
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x160]
mov r8, qword [rbp + 0x1c8]
mov r9b, byte [rbp - 0x34]
mov r10d, dword [rbp - 0x38]
sub r10d, 2
mov byte [rbp + 0x227], r9b
mov qword [rbp + 0x228], r8
mov qword [rbp + 0x230], rdx
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
je 0x1400b641d
jmp 0x1400b627b
mov eax, dword [rbp - 0x38]
sub eax, 7
jne 0x1400b6866
jmp 0x1400b628c
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x160]
mov r8, qword [rbp + 0x1c8]
mov r9b, 1
mov byte [rbp + 0x227], r9b
mov qword [rbp + 0x228], r8
mov qword [rbp + 0x230], rdx
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
jmp 0x1400b641d
mov ecx, dword [rbp + 0x368]
and ecx, 0x10
sub rsp, 0x20
call fcn.14009c717
mov r9, qword [rbp + 0x2a0]
mov r8, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x110]
add rsp, 0x20
mov r11b, al
mov rax, qword [rbp + 0xa8]
mov r9b, byte [r9]
mov r10b, r11b
xor r10b, 1
test r9b, r9b
sete r9b
movzx esi, r10b
mov r10d, esi
lea esi, [r10 + r10*8]
mov r10d, 2
cmove r10d, esi
mov dword [rbp - 0x3c], r10d
and r9b, r11b
test r10d, r10d
mov byte [rbp + 0x227], r9b
mov qword [rbp + 0x228], r8
mov qword [rbp + 0x230], rdx
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
je 0x1400b641d
jmp 0x1400b636d
mov eax, dword [rbp - 0x3c]
sub eax, 2
je 0x1400b63d6
jmp 0x1400b637e
mov eax, dword [rbp - 0x3c]
sub eax, 9
jne 0x1400b6866
jmp 0x1400b638f
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x160]
mov r8, qword [rbp + 0x1c8]
xor r9d, r9d
mov byte [rbp + 0x227], r9b
mov qword [rbp + 0x228], r8
mov qword [rbp + 0x230], rdx
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
jmp 0x1400b641d
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x160]
mov r8, qword [rbp + 0x1c8]
xor r9d, r9d
mov byte [rbp + 0x227], r9b
mov qword [rbp + 0x228], r8
mov qword [rbp + 0x230], rdx
mov qword [rbp + 0x238], rcx
mov qword [rbp + 0x240], rax
jmp 0x1400b641d
mov rax, qword [rbp + 0x288]
mov cl, byte [rbp + 0x227]
mov rdx, qword [rbp + 0x228]
mov r8, qword [rbp + 0x230]
mov r9, qword [rbp + 0x238]
mov r10, qword [rbp + 0x240]
mov qword [rbp - 0x70], r10
mov qword [rbp - 0x68], r9
mov qword [rbp - 0x60], r8
mov qword [rbp - 0x58], rdx
mov byte [rbp - 0x49], cl
mov rax, qword [rax]
mov qword [rbp - 0x48], rax
cmp rax, 0
je 0x1400b64a9
mov rax, qword [rbp - 0x48]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x1400b64a9
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp - 0x70]
cmp rax, 0
je 0x1400b6532
mov rax, qword [rbp - 0x70]
mov rax, qword [rax]
movabs rcx, 0xdf6bb3f64175b368
movabs rdx, 0x20944c09be8a4c97
xor rcx, rdx
xor rax, rcx
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
mov rcx, 0xffffffffffffffff
movabs r8, 0x397b08b201d19e41
xor rcx, r8
or rax, rdx
movabs rdx, 0x397b08b201d19e41
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x1400b6532
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp - 0x68]
cmp rax, 0
je 0x1400b65cc
mov rax, qword [rbp - 0x68]
mov rax, qword [rax]
movabs rdx, 0x21bbd444df0918e5
movabs rcx, 0x61bbd444df0918e5
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x848cbeb15d1fb650
movabs r8, 0x7b73414ea2e049af
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x56547ba0a759d8b7
movabs r8, 0x16547ba0a759d8b7
xor rdx, r8
or rax, rdx
and rax, rcx
movabs rcx, 0xdac51aa8d23ca9b1
movabs rdx, 0xdac51aa8d23ca9b1
xor rcx, rdx
cmp rax, rcx
jne 0x1400b65cc
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp - 0x60]
cmp rax, 0
je 0x1400b6616
mov rax, qword [rbp - 0x60]
mov rax, qword [rax]
movabs rcx, 0xcc5a8a7c12d4a602
movabs rdx, 0x8c5a8a7c12d4a602
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1400b6616
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp - 0x58]
cmp rax, 0
je 0x1400b66e5
mov rax, qword [rbp - 0x58]
mov rcx, qword [rax]
movabs rdx, 0x915b7f31b996cb02
movabs rax, 0x6ea480ce466934fd
xor rdx, rax
mov rax, rcx
xor rax, rdx
movabs rdx, 0xa6f11d14ef24347f
movabs r8, 0xe6f11d14ef24347f
xor rdx, r8
movabs r8, 0x332d45f620728729
movabs r9, 0xccd2ba09df8d78d6
xor r8, r9
xor rdx, r8
or rax, rdx
movabs rdx, 0x256b26580cb2978f
movabs r8, 0xda94d9a7f34d6870
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0x5d3a73935d75ca6b
movabs rdx, 0x5d3a73935d75ca6b
xor rcx, rdx
cmp rax, rcx
jne 0x1400b66e5
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x218]
cmp rax, 0
je 0x1400b679a
mov rax, qword [rbp + 0x218]
mov rax, qword [rax]
movabs rcx, 0x3f728737cd95ea24
movabs rdx, 0xc08d78c8326a15db
xor rcx, rdx
xor rax, rcx
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x2fe966ea3ebc7cd5
xor rdx, r8
or rax, rcx
movabs rcx, 0x4f3d81e6056db97e
movabs r8, 0x60d4e70c3bd1c5ab
xor rcx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xb250e9a0d8e697ec
movabs rdx, 0xb250e9a0d8e697ec
xor rcx, rdx
cmp rax, rcx
jne 0x1400b679a
mov rcx, qword [rbp + 0x218]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov al, byte [rbp - 0x49]
mov rcx, qword [rbp + 0x300]
cmp rcx, 0
mov byte [rbp - 0x31], al
je 0x1400b6856
mov al, byte [rbp - 0x49]
mov rcx, qword [rbp + 0x300]
mov rcx, qword [rcx]
movabs rdx, 0xf10d7acac92f8530
movabs r8, 0xef2853536d07acf
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
mov r8, 0xffffffffffffffff
movabs r9, 0x6ae875e1b105774c
xor r8, r9
or rcx, rdx
movabs rdx, 0x3d6d25e0ad59c66d
movabs r9, 0x578550011c5cb121
xor rdx, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
mov cl, al
mov byte [rbp - 0x32], cl
mov byte [rbp - 0x31], al
jne 0x1400b6856
mov rcx, qword [rbp + 0x300]
mov al, byte [rbp - 0x32]
mov byte [rbp - 0x71], al
sub rsp, 0x20
call fcn.1400121d0
mov al, byte [rbp - 0x71]
add rsp, 0x20
mov byte [rbp - 0x31], al
mov al, byte [rbp - 0x31]
mov cl, 0xc8
xor cl, 0xc8
cmp al, cl
setne al
mov byte [rbp - 0x72], al
mov al, byte [rbp - 0x72]
and al, 1
movzx eax, al
movaps xmm6, xmmword [rbp + 0x380]
movaps xmm7, xmmword [rbp + 0x390]
movaps xmm8, xmmword [rbp + 0x3a0]
lea rsp, [rbp + 0x3b8]
pop rsi
pop rbp
ret