Function at 0x1400bf408
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x498
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x350], rdx
mov qword [rbp + 0x340], rcx
mov qword [rbp + 0x2d8], rcx
mov eax, 0x10
mov qword [rbp + 0x328], rax
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x328]
mov rcx, rsp
mov qword [rbp + 0x2e0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x328]
mov rcx, rsp
mov qword [rbp + 0x2e8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x328]
mov rcx, rsp
mov qword [rbp + 0x2f0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x328]
mov rcx, rsp
mov qword [rbp + 0x358], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x328]
mov rcx, rsp
mov qword [rbp + 0x2f8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x328]
mov rcx, rsp
mov qword [rbp + 0x300], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x328]
mov rcx, rsp
mov qword [rbp + 0x308], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x328]
mov rcx, rsp
mov qword [rbp + 0x310], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x328]
mov rcx, rsp
mov qword [rbp + 0x318], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x328]
mov rcx, rsp
mov qword [rbp + 0x320], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x328]
mov rcx, rsp
mov qword [rbp + 0x330], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x338], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x340]
add rsp, 0x20
mov qword [rbp + 0x348], rax
movabs rax, 0xee235a0e0a27b449
movabs rdx, 0xee235a0e0a27b449
xor rax, rdx
mov qword [rcx], rax
mov qword [rcx + 8], 0
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.14002caa2
mov rdx, qword [rbp + 0x350]
mov rcx, qword [rbp + 0x358]
add rsp, 0x20
mov rdx, qword [rdx]
movabs rax, 0xbe0443628f29b1b0
movabs r8, 0x2635e3e3e420fa85
xor rax, r8
sub rdx, rax
movabs rax, 0xa8e81f395cf6a939
movabs r8, 0xa8e81f395cf6a93d
xor rax, r8
add rdx, rax
movabs rax, 0xe078cb0dfa148487
movabs r8, 0x78496b8c911dcfb2
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140021f70
mov rax, qword [rbp + 0x358]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x360], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x368], rax
add rax, 8
add rax, rcx
mov qword [rbp + 0x370], rax
xor eax, eax
mov qword [rbp + 0x378], rax
mov rcx, qword [rbp + 0x378]
mov rax, qword [rbp + 0x370]
lea rdx, [0x14019f610]
mov dl, byte [rdx + rcx + 8]
mov byte [rax + rcx], dl
movabs rax, 0xabd6e2969666e40a
movabs rdx, 0xabd6e2969666e40b
xor rax, rdx
mov rdx, rcx
and rdx, rax
movabs rax, 0x66f647648ed4c4f2
movabs r8, 0x66f647648ed4c4f0
xor rax, r8
imul rdx, rax
movabs r8, 0xe61fac874b1fc6
movabs rax, 0xe61fac874b1fc7
xor r8, rax
mov rax, rcx
xor rax, r8
add rax, rdx
cmp rcx, 4
mov qword [rbp + 0x378], rax
jne 0x1400bf655
mov r8, qword [rbp + 0x360]
mov rax, qword [rbp + 0x348]
add rax, 0x60
mov qword [rbp + 0x2c8], rax
movabs rcx, 0x4fe267ccd4331d13
movabs rax, 0x4fe267ccd4331d17
xor rcx, rax
mov rax, r8
add rax, rcx
movabs rcx, 0x4ba7b700a1701cad
movabs rdx, 0xb45848ff5e8fe352
xor rcx, rdx
xor r8, rcx
movabs rdx, 0x29de9ec7b8277afe
movabs rcx, 0xd621613847d88501
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
mov rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
movabs r9, 0xa96440a53ef3b773
movabs rdx, 0x569bbf5ac10c488c
xor r9, rdx
mov rdx, rax
xor rdx, r9
movabs r9, 0xf5c2a52f98e4717
movabs r10, 0xf0a3d5ad0671b8e8
xor r9, r10
xor r8, r9
or rdx, r8
and rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x7f4563e3e9b7df39
movabs r8, 0x7f4563e3e9b7df39
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x2d0], rax
jge 0x1400bf7d4
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x360]
add rsp, 0x20
mov qword [rbp + 0x2d0], rax
mov rdx, qword [rbp + 0x350]
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x2a0], rax
mov rcx, qword [rdx]
mov qword [rbp + 0x2a8], rcx
mov r8, rdx
add r8, 8
mov qword [rbp + 0x2b0], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x2b8], rdx
movabs rdx, 0xdb52d4803e7e5905
movabs r8, 0xdb52d4803e7e5905
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x2c0], rax
jle 0x1400bfad3
mov rcx, qword [rbp + 0x2a8]
xor eax, eax
mov edx, eax
sub rdx, rcx
movabs rax, 0x5943f45a377a0014
movabs r8, 0x5943f45a377a0014
xor rax, r8
movabs r8, 0x8139b3e021c853cc
movabs r9, 0x8139b3e021c853cd
xor r8, r9
sub rax, r8
add rdx, rax
movabs rax, 0x36f2e57907caedb
movabs r8, 0x36f2e57907caedb
xor rax, r8
sub rax, rdx
mov qword [rbp + 0x298], rax
mov r8, rcx
xor r8, 0xffffffffffffffff
movabs rdx, 0xc1dc769f9f5196a7
movabs r9, 0x3e23896060ae6958
xor rdx, r9
xor r8, rdx
and r8, 0xffffffffffffffff
movabs rdx, 0x6b782d031c2f5665
movabs r9, 0x6b782d031c2f5667
xor rdx, r9
imul rdx, r8
movabs r8, 0x1a74282361932b18
movabs r9, 0xe58bd7dc9e6cd4e7
xor r8, r9
sub rdx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400bf920
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x2a0]
add rsp, 0x20
mov qword [rbp + 0x2c0], rax
jmp 0x1400bfad3
mov rax, qword [rbp + 0x298]
movabs rcx, 0xa76684fced9482a
movabs rdx, 0xa76684fced9482a
xor rcx, rdx
cmp rax, rcx
jge 0x1400bf99c
mov rcx, qword [rbp + 0x298]
movabs rdx, 0x8f9fbc6e367e325a
movabs rax, 0x8f9fbc6e367e325a
xor rdx, rax
movabs r8, 0x9181d49825989a3f
movabs rax, 0xee7e2b67da6765c0
xor r8, rax
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0x2a0]
add rsp, 0x20
mov qword [rbp + 0x2c0], rax
jmp 0x1400bfad3
mov rax, qword [rbp + 0x2b8]
mov rdx, qword [rbp + 0x2a0]
mov rcx, qword [rbp + 0x368]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0x280], rcx
add rax, 8
mov qword [rbp + 0x288], rax
xor eax, eax
mov qword [rbp + 0x290], rax
mov rcx, qword [rbp + 0x290]
mov rdx, qword [rbp + 0x2a8]
mov rax, qword [rbp + 0x280]
mov r8, qword [rbp + 0x288]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov rax, rcx
add rax, 1
cmp rcx, rdx
mov qword [rbp + 0x290], rax
jne 0x1400bf9d3
mov r9, qword [rbp + 0x2a8]
mov rcx, qword [rbp + 0x2a0]
mov rax, r9
add rax, rcx
mov rdx, rax
xor rdx, rcx
movabs r8, 0x921eb827357768ee
movabs rcx, 0x6de147d8ca889711
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
movabs r9, 0x1022873846febaa6
movabs rcx, 0xefdd78c7b9014559
xor r9, rcx
mov rcx, rdx
xor rcx, r9
movabs r10, 0x1ff395dac085d1bd
movabs r9, 0xe00c6a253f7a2e42
xor r10, r9
mov r9, r8
xor r9, r10
or rcx, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x2c0], rax
jge 0x1400bfad3
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x2a0]
add rsp, 0x20
mov qword [rbp + 0x2c0], rax
mov rax, qword [rbp + 0x2c0]
mov qword [rbp + 0x270], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x368]
mov r8, qword [rbp + 0x270]
add rsp, 0x20
add rcx, 8
lea rdx, [0x14019f620]
cmp r8, 0
cmove rcx, rdx
mov qword [rbp + 0x278], rcx
cmp byte [rax + 0x60], 0
jne 0x1400bfb83
mov rax, qword [rbp + 0x270]
cmp rax, 0
jge 0x1400bfb61
mov rcx, qword [rbp + 0x270]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x1400bfb83
mov r8, qword [rbp + 0x270]
mov rdx, qword [rbp + 0x278]
lea rcx, [rbp + 0x3d8]
sub rsp, 0x20
call fcn.14009e8d0
add rsp, 0x20
mov rax, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x3d8]
mov qword [rbp + 0x260], rcx
mov rcx, qword [rbp + 0x3e0]
mov qword [rbp + 0x268], rcx
cmp byte [rax], 0
jne 0x1400c1d1a
mov rax, qword [rbp + 0x260]
mov ecx, 2
cqo
idiv rcx
mov r8, rax
mov rax, qword [rbp + 0x260]
movabs rdx, 0xd88bcd41e834ef24
movabs rcx, 0x277432be17cb10db
xor rdx, rcx
mov rcx, r8
add rcx, rdx
mov qword [rbp + 0x258], rcx
mov r9, rcx
xor r9, r8
movabs rdx, 0x3060f6229ac90266
movabs r10, 0xcf9f09dd6536fd99
xor rdx, r10
xor r9, rdx
mov rdx, r8
and rdx, r9
shl rdx, 1
sub rdx, r8
sub rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 1
setg al
and al, cl
test al, 1
jne 0x1400bfc52
mov rcx, qword [rbp + 0x258]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x250], rax
jmp 0x1400bfc75
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x2c8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x6b
xor cl, 0x6b
cmp al, cl
jne 0x1400c1d1a
mov rax, qword [rbp + 0x250]
mov qword [rbp + 0x230], rax
movabs rcx, 0xd1dced726d44276
movabs rdx, 0xd1dced726d44277
xor rcx, rdx
shl rax, cl
mov rcx, qword [rbp + 0x230]
mov qword [rbp + 0x238], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x14019f3d0]
mulsd xmm0, xmm1
movsd qword [rbp + 0x240], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x248], xmm1
ucomisd xmm0, xmm1
jne 0x1400bfce6
jp 0x1400bfce6
jmp 0x1400bfd57
movsd xmm1, qword [rbp + 0x240]
movsd xmm0, qword [rbp + 0x248]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x240]
movsd qword [rbp + 0x228], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0x228]
add rsp, 0x20
movsd xmm2, qword [0x14019f3d8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x1400bfd57
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x1400c1d1a
mov rax, qword [rbp + 0x350]
mov rcx, qword [rbp + 0x2e0]
mov rdx, qword [rbp + 0x238]
mov word [rcx], dx
mov rdx, qword [rax]
movabs rcx, 0x353fffd8e1699f0a
movabs rax, 0x353fffd8e1699f0e
xor rcx, rax
mov rax, rdx
and rax, rcx
shl rax, 1
movabs rcx, 0x1238e2acae94f84d
movabs r8, 0x1238e2acae94f849
xor rcx, r8
xor rdx, rcx
add rdx, rax
lea rcx, [rbp + 0x3c8]
sub rsp, 0x20
call fcn.140021f70
add rsp, 0x20
mov rcx, qword [rbp + 0x3c8]
mov qword [rbp + 0x208], rcx
mov rax, qword [rbp + 0x3d0]
mov qword [rbp + 0x210], rax
add rax, 8
add rax, rcx
mov qword [rbp + 0x218], rax
xor eax, eax
mov qword [rbp + 0x220], rax
mov rcx, qword [rbp + 0x220]
mov rax, qword [rbp + 0x218]
lea rdx, [0x14019f610]
mov dl, byte [rdx + rcx + 8]
mov byte [rax + rcx], dl
movabs rdx, 0x8c68593b4c198417
movabs rax, 0x8c68593b4c198416
xor rdx, rax
movabs rax, 0x3dadeaa73016e357
movabs r8, 0xc2521558cfe91ca8
xor rax, r8
xor rdx, rax
xor eax, eax
sub rax, 1
sub rdx, rax
mov rax, rcx
sub rax, rdx
movabs rdx, 0x2c2d2465ac7d1a81
movabs r8, 0x2c2d2465ac7d1a85
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x220], rax
jne 0x1400bfdf7
mov r8, qword [rbp + 0x208]
movabs rcx, 0xfb29d0fd97317b58
movabs rax, 0xfb29d0fd97317b5c
xor rcx, rax
mov rax, r8
add rax, rcx
movabs rcx, 0xcfdf0ba6a25c3cb7
movabs rdx, 0x3020f4595da3c348
xor rcx, rdx
xor r8, rcx
mov rdx, rax
xor rdx, r8
xor rdx, 0xffffffffffffffff
mov rcx, rax
or rcx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x200], rax
jge 0x1400bfef7
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x208]
add rsp, 0x20
mov qword [rbp + 0x200], rax
mov rdx, qword [rbp + 0x2b0]
mov rcx, qword [rbp + 0x350]
mov rax, qword [rbp + 0x200]
mov qword [rbp + 0x1e0], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x1e8], rcx
mov rdx, qword [rdx]
mov qword [rbp + 0x1f0], rdx
cmp rcx, 0
mov qword [rbp + 0x1f8], rax
jle 0x1400c0232
mov rdx, qword [rbp + 0x1e8]
mov rcx, rdx
add rcx, 1
mov qword [rbp + 0x1d8], rcx
xor rdx, 0xffffffffffffffff
mov rax, rcx
and rax, rdx
movabs r8, 0xa6e102417c80e19c
movabs r9, 0x591efdbe837f1e63
xor r8, r9
xor rax, r8
and rcx, rdx
movabs rdx, 0x1135faa4e0ebd7b6
movabs r8, 0xeeca055b1f142849
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x7a3f387bbfd27ba0
movabs r8, 0x85c0c784402d845f
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
or rax, rcx
movabs rcx, 0xd4a1af229df0dd18
movabs rdx, 0xd4a1af229df0dd18
xor rcx, rdx
cmp rax, rcx
jge 0x1400bffef
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x1e0]
add rsp, 0x20
mov qword [rbp + 0x1f8], rax
jmp 0x1400c0232
mov rax, qword [rbp + 0x1d8]
cmp rax, 0
jge 0x1400c0055
mov rcx, qword [rbp + 0x1d8]
movabs rdx, 0x437ad1a9cdbc4183
movabs rax, 0x437ad1a9cdbc4183
xor rdx, rax
movabs r8, 0x8887adf80ad58ab9
movabs rax, 0xf7785207f52a7546
xor r8, rax
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0x1e0]
add rsp, 0x20
mov qword [rbp + 0x1f8], rax
jmp 0x1400c0232
mov rax, qword [rbp + 0x1f0]
mov rdx, qword [rbp + 0x1e0]
mov rcx, qword [rbp + 0x210]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0x1c0], rcx
add rax, 8
mov qword [rbp + 0x1c8], rax
xor eax, eax
mov qword [rbp + 0x1d0], rax
mov rcx, qword [rbp + 0x1d0]
mov rdx, qword [rbp + 0x1e8]
mov rax, qword [rbp + 0x1c0]
mov r8, qword [rbp + 0x1c8]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
xor eax, eax
mov r8d, eax
sub r8, 1
mov rax, rcx
sub rax, r8
cmp rcx, rdx
mov qword [rbp + 0x1d0], rax
jne 0x1400c008c
mov r9, qword [rbp + 0x1e8]
mov r8, qword [rbp + 0x1e0]
movabs rcx, 0xe2ab4596f191aea2
mov rax, r9
add rax, rcx
add rax, r8
movabs rcx, 0x28c84d3710748dc8
movabs rdx, 0xca6308a1e1e5236a
xor rcx, rdx
sub rax, rcx
mov rdx, rax
xor rdx, 0xffffffffffffffff
mov rcx, rax
xor rcx, 0xffffffffffffffff
and rdx, rcx
mov rcx, r8
or rcx, rcx
movabs r10, 0x54d0e8de3c89f39f
movabs r11, 0xab2f1721c3760c60
xor r10, r11
xor rcx, r10
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rdx, rcx
mov rcx, rax
or rcx, r8
movabs r8, 0x84bc0dd27f187441
movabs r10, 0x7b43f22d80e78bbe
xor r8, r10
xor rcx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x1cecb7580aeaee2b
movabs r10, 0xe31348a7f51511d4
xor r8, r10
xor rcx, r8
and rdx, rcx
movabs r8, 0x62aeba633bfa721d
movabs rcx, 0x9d51459cc4058de2
xor r8, rcx
mov rcx, rax
xor rcx, r8
mov r8, r9
and r8, rcx
movabs rcx, 0x843f312cb396ab33
movabs r10, 0x7bc0ced34c6954cc
xor rcx, r10
xor r9, rcx
mov rcx, rax
and rcx, r9
or r8, rcx
movabs rcx, 0xfd64eddf19750615
movabs r9, 0x29b1220e68af9ea
xor rcx, r9
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
movabs rdx, 0x51c15eef73ffdd51
movabs r8, 0x51c15eef73ffdd51
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x1f8], rax
jge 0x1400c0232
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x1e0]
add rsp, 0x20
mov qword [rbp + 0x1f8], rax
mov rax, qword [rbp + 0x1f8]
mov qword [rbp + 0x1b0], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x210]
mov r8, qword [rbp + 0x1b0]
add rsp, 0x20
movabs r9, 0x90d2a8ccb6a48ae9
movabs rdx, 0x90d2a8ccb6a48ae9
xor r9, rdx
add rcx, 8
lea rdx, [0x14019f620]
cmp r8, r9
cmove rcx, rdx
mov qword [rbp + 0x1b8], rcx
cmp byte [rax + 0x60], 0
jne 0x1400c032e
mov rax, qword [rbp + 0x1b0]
movabs rcx, 0x62789453ccb74f74
movabs rdx, 0x62789453ccb74f74
xor rcx, rdx
cmp rax, rcx
jge 0x1400c030c
mov rcx, qword [rbp + 0x1b0]
movabs rdx, 0x3ba8361a6853134
movabs rax, 0x3ba8361a6853134
xor rdx, rax
movabs r8, 0xdb7395f231f51f56
movabs rax, 0xa48c6a0dce0ae0a9
xor r8, rax
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x1400c032e
mov r8, qword [rbp + 0x1b0]
mov rdx, qword [rbp + 0x1b8]
mov rcx, qword [rbp + 0x2f8]
sub rsp, 0x20
call fcn.14009e8d0
add rsp, 0x20
mov rax, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2f8]
mov rdx, qword [rcx]
mov qword [rbp + 0x1a0], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x1a8], rcx
mov al, byte [rax]
mov cl, 0x18
xor cl, 0x18
cmp al, cl
jne 0x1400c1bef
mov rax, qword [rbp + 0x1a0]
mov ecx, 2
cqo
idiv rcx
mov r8, rax
mov rax, qword [rbp + 0x1a0]
mov rcx, r8
and rcx, 0xffffffffffffffff
shl rcx, 1
movabs r9, 0x5dc46931b33259d7
movabs rdx, 0xa23b96ce4ccda628
xor r9, rdx
mov rdx, r8
xor rdx, r9
add rdx, rcx
mov qword [rbp + 0x198], rdx
movabs r9, 0xfedb66b15b325df6
movabs rcx, 0x124994ea4cda209
xor r9, rcx
mov rcx, rdx
xor rcx, r9
mov r9, rdx
xor r9, 0xffffffffffffffff
and rcx, r9
mov r9, r8
or r9, r9
xor r9, 0xffffffffffffffff
or rcx, r9
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
movabs r8, 0xd3fffc780c615123
movabs r9, 0x2c000387f39eaedc
xor r8, r9
xor rcx, r8
movabs r8, 0xdd4f66bd386a6ca0
movabs r9, 0x22b09942c795935f
xor r8, r9
xor rdx, r8
and rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 1
setg al
and al, cl
test al, 1
jne 0x1400c045b
mov rcx, qword [rbp + 0x198]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x190], rax
jmp 0x1400c047e
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x2c8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x85
xor cl, 0x85
cmp al, cl
jne 0x1400c1bef
mov rax, qword [rbp + 0x190]
mov qword [rbp + 0x170], rax
movabs rcx, 0x5ca457d32adada3f
movabs rdx, 0x5ca457d32adada3e
xor rcx, rdx
shl rax, cl
mov rcx, qword [rbp + 0x170]
mov qword [rbp + 0x178], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x14019f3d0]
mulsd xmm0, xmm1
movsd qword [rbp + 0x180], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x188], xmm1
ucomisd xmm0, xmm1
jne 0x1400c04ef
jp 0x1400c04ef
jmp 0x1400c0560
movsd xmm1, qword [rbp + 0x180]
movsd xmm0, qword [rbp + 0x188]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x180]
movsd qword [rbp + 0x168], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0x168]
add rsp, 0x20
movsd xmm2, qword [0x14019f3d8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x1400c0560
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x1400c1bef
mov rcx, qword [rbp + 0x300]
mov rax, qword [rbp + 0x350]
mov rdx, qword [rbp + 0x2e0]
mov r8, qword [rbp + 0x178]
mov r9w, 0x3b02
xor r9w, 0x5542
add r8w, r9w
add r8w, 2
sub r8w, 0x6e40
mov word [rdx + 2], r8w
mov rdx, qword [rax]
movabs r8, 0xbd52877e71912d9c
movabs rax, 0xbd52877e71912d98
xor r8, rax
mov rax, rdx
and rax, r8
movabs r8, 0x9c8f70b24c76841b
movabs r9, 0x9c8f70b24c768419
xor r8, r9
imul rax, r8
xor rdx, 4
add rdx, rax
sub rsp, 0x20
call fcn.140021f70
mov rax, qword [rbp + 0x300]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x148], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x150], rax
add rax, 8
add rax, rcx
mov qword [rbp + 0x158], rax
xor eax, eax
mov qword [rbp + 0x160], rax
mov rcx, qword [rbp + 0x160]
mov rax, qword [rbp + 0x158]
lea rdx, [0x14019f610]
mov dl, byte [rdx + rcx + 8]
mov byte [rax + rcx], dl
mov rax, rcx
add rax, 1
movabs rdx, 0xb2d3a1cfcea9228b
movabs r8, 0xb2d3a1cfcea9228f
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x160], rax
jne 0x1400c061d
mov rcx, qword [rbp + 0x148]
mov rax, rcx
add rax, 4
mov rdx, rcx
xor rdx, 0xffffffffffffffff
movabs r8, 0x4dc47f99f0af9d18
movabs r9, 0xb23b80660f5062e7
xor r8, r9
and r8, rdx
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or r8, rcx
movabs rdx, 0x6dc4ea28cd86a198
movabs rcx, 0x923b15d732795e67
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs r9, 0xf7e0fd0ec0d75df8
movabs rdx, 0x81f02f13f28a207
xor r9, rdx
mov rdx, r8
xor rdx, r9
or rcx, rdx
mov rdx, rax
and rdx, r8
movabs r8, 0xc45df74c14c404de
movabs r9, 0x3ba208b3eb3bfb21
xor r8, r9
xor rdx, r8
movabs r8, 0x6a4327c8d25d1583
movabs r9, 0x95bcd8372da2ea7c
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x140], rax
jge 0x1400c0751
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x148]
add rsp, 0x20
mov qword [rbp + 0x140], rax
mov rdx, qword [rbp + 0x2b0]
mov rcx, qword [rbp + 0x350]
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x120], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x128], rcx
mov rdx, qword [rdx]
mov qword [rbp + 0x130], rdx
movabs rdx, 0x7f082ffe60ed62a2
movabs r8, 0x7f082ffe60ed62a2
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x138], rax
jle 0x1400c0a67
mov r9, qword [rbp + 0x128]
movabs rax, 0x699126f16f9955a5
movabs rcx, 0x699126f16f9955a4
xor rax, rcx
mov rcx, r9
and rcx, rax
shl rcx, 1
mov rax, r9
xor rax, 1
add rax, rcx
mov qword [rbp + 0x118], rax
mov rdx, r9
xor rdx, 0xffffffffffffffff
movabs rcx, 0xbb4d4eccbc840ee2
movabs r8, 0x4a185cad5e0cd6c7
xor rcx, r8
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0xf1551261e288d825
xor r10, rdx
and r9, r10
movabs rdx, 0xf89dbcfc2659f43
movabs r8, 0xf07624303d9a60bc
xor rdx, r8
movabs r8, 0x88fdbce7fec7fb24
movabs r11, 0x77024318013804db
xor r8, r11
xor rdx, r8
movabs r8, 0x9083214a90d4326c
movabs r11, 0x61d6332b725cea49
xor r8, r11
and rdx, r8
movabs r8, 0x77e6a56b85510f8d
movabs r11, 0x88195a947aaef072
xor r8, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0xb662104292c92036
movabs rdx, 0xb662104292c92036
xor rcx, rdx
cmp rax, rcx
jge 0x1400c08ca
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x120]
add rsp, 0x20
mov qword [rbp + 0x138], rax
jmp 0x1400c0a67
mov rax, qword [rbp + 0x118]
movabs rcx, 0xd8f6295e9bd78b79
movabs rdx, 0xd8f6295e9bd78b79
xor rcx, rdx
cmp rax, rcx
jge 0x1400c0926
mov rcx, qword [rbp + 0x118]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
mov rax, qword [rbp + 0x120]
add rsp, 0x20
mov qword [rbp + 0x138], rax
jmp 0x1400c0a67
mov rax, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x120]
mov rcx, qword [rbp + 0x150]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0x100], rcx
add rax, 8
mov qword [rbp + 0x108], rax
xor eax, eax
mov qword [rbp + 0x110], rax
mov rcx, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x100]
mov r8, qword [rbp + 0x108]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0x4706e211177b1840
mov rax, rcx
sub rax, r8
movabs r8, 0xb4a97994d41d0e7c
movabs r9, 0xb4a97994d41d0e7d
xor r8, r9
add rax, r8
movabs r8, 0x4706e211177b1840
add rax, r8
cmp rcx, rdx
mov qword [rbp + 0x110], rax
jne 0x1400c095d
mov r8, qword [rbp + 0x128]
mov r9, qword [rbp + 0x120]
movabs rax, 0xf51373e71becf2e3
movabs rcx, 0xaec8c18e4130d1c
xor rax, rcx
mov rcx, r9
xor rcx, rax
xor eax, eax
sub rax, 1
sub rcx, rax
mov rax, r8
sub rax, rcx
movabs rcx, 0x550833fdbac93d9b
movabs rdx, 0xaaf7cc024536c264
xor rcx, rdx
mov rdx, rax
xor rdx, rcx
mov rcx, r9
and rcx, rdx
xor r9, 0xffffffffffffffff
mov rdx, rax
and rdx, r9
or rcx, rdx
mov rdx, rax
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x138], rax
jge 0x1400c0a67
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x120]
add rsp, 0x20
mov qword [rbp + 0x138], rax
mov rax, qword [rbp + 0x138]
mov qword [rbp + 0xf0], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x150]
mov r8, qword [rbp + 0xf0]
add rsp, 0x20
add rcx, 8
lea rdx, [0x14019f620]
cmp r8, 0
cmove rcx, rdx
mov qword [rbp + 0xf8], rcx
cmp byte [rax + 0x60], 0
jne 0x1400c0b17
mov rax, qword [rbp + 0xf0]
cmp rax, 0
jge 0x1400c0af5
mov rcx, qword [rbp + 0xf0]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x1400c0b17
mov r8, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x308]
sub rsp, 0x20
call fcn.14009e8d0
add rsp, 0x20
mov rax, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x308]
mov rdx, qword [rcx]
mov qword [rbp + 0xe0], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xe8], rcx
mov al, byte [rax]
mov cl, 0x46
xor cl, 0x46
cmp al, cl
jne 0x1400c1b2d
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rdx, qword [rbp + 0xe8]
mov r9, qword [rbp + 0xe0]
mov rcx, qword [rbp + 0x2e0]
add rsp, 0x20
mov rax, qword [rbp + 0x2c8]
movabs r10, 0x92ca43dbd55696a
movabs r8, 0x92ca43dbd55696a
xor r10, r8
add rdx, 8
lea r8, [0x14019f620]
cmp r9, r10
cmove rdx, r8
mov qword [rcx + 8], rdx
cmp byte [rax], 0
jne 0x1400c1b2d
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0xd8], rax
mov rcx, qword [rbp + 0xd8]
xorps xmm0, xmm0
movups xmmword [rbp + rcx + 0x3e8], xmm0
mov rax, rcx
and rax, 0x10
movabs rdx, 0xe3b9be7095108355
movabs r8, 0xe3b9be7095108345
xor rdx, r8
or rcx, rdx
add rax, rcx
cmp rax, 0x30
mov qword [rbp + 0xd8], rax
jne 0x1400c0bd0
mov rax, qword [rbp + 0x2e8]
mov rcx, qword [rbp + 0x2e0]
mov dword [rbp + 0x3e8], 0x30
mov qword [rbp + 0x3f8], rcx
mov dword [rbp + 0x400], 0x40
xor ecx, ecx
mov qword [rbp + 0x3f0], rcx
mov qword [rbp + 0x408], rcx
mov qword [rbp + 0x410], rcx
mov qword [rax], rcx
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x2e8]
mov r9, qword [rbp + 0x2f0]
add rsp, 0x20
xorps xmm0, xmm0
movaps xmmword [r9], xmm0
mov edx, 0x80000000
lea r8, [rbp + 0x3e8]
mov rax, qword [0x1401a1660]
sub rsp, 0x30
mov dword [rsp + 0x20], 7
mov dword [rsp + 0x28], 1
call qword [rax]
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp + 0x2c8]
mov dword [rbp + 0xd4], ecx
mov al, byte [rax]
mov cl, pe_nt_image_headers64
xor cl, 0x80
cmp al, cl
jne 0x1400c1b2d
mov ecx, dword [rbp + 0xd4]
sub rsp, 0x20
call fcn.1400b6967
mov rax, qword [rbp + 0x2c8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400c1b2d
mov ecx, dword [rbp + 0xd4]
sub rsp, 0x20
call fcn.1400b6a26
mov rax, qword [rbp + 0x2c8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xd
xor cl, 0xd
cmp al, cl
jne 0x1400c1b2d
mov r8, qword [rbp + 0x310]
mov edx, dword [rbp + 0xd4]
mov rax, qword [rbp + 0x350]
mov rcx, qword [rbp + 0x2e8]
mov rcx, qword [rcx]
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.1400b6ae5
mov rax, qword [rbp + 0x2c8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xe0
xor cl, 0xe0
cmp al, cl
jne 0x1400c1b2d
mov rax, qword [rbp + 0x2e8]
mov rax, qword [rax]
movabs rcx, 0xb2f8c1313617f876
movabs rdx, 0xb2f8c1313617f877
xor rcx, rdx
cmp rax, rcx
jge 0x1400c0ddb
mov ecx, dword [rbp + 0xd4]
mov rax, qword [0x14019f590]
mov qword [rbp + 0x3b8], rax
mov rax, qword [0x14019f598]
mov qword [rbp + 0x3c0], rax
lea rdx, [rbp + 0x3b8]
sub rsp, 0x20
call fcn.1400a216b
mov rax, qword [rbp + 0x2c8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400c1b2d
movabs rcx, 0x19898be524072847
movabs rax, 0x19898be52406fc87
xor rcx, rax
sub rsp, 0x20
call fcn.14000dc72
mov r10, qword [rbp + 0x2f0]
mov r9, qword [rbp + 0x318]
mov r8, qword [rbp + 0x330]
mov rdx, qword [rbp + 0x320]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x338]
add r10, 8
mov qword [rbp + 0x90], r10
lea r10, [rbp + 0x3a0]
add r10, 8
mov qword [rbp + 0x98], r10
add r9, 8
mov qword [rbp + 0xa0], r9
add r8, 8
mov qword [rbp + 0xa8], r8
add rdx, 8
mov qword [rbp + 0xb0], rdx
add rax, 8
mov qword [rbp + 0xb8], rax
mov edx, 0x1d4c0
mov al, 1
mov qword [rbp + 0xc0], rdx
mov qword [rbp + 0xc8], rcx
mov byte [rbp + 0xd3], al
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0xc8]
mov al, byte [rbp + 0xd3]
mov qword [rbp + 0x78], rdx
mov qword [rbp + 0x80], rcx
mov byte [rbp + 0x8f], al
mov r11, qword [rbp + 0x78]
mov rsi, qword [rbp + 0x2f0]
mov rcx, qword [rbp + 0x2e8]
mov r10b, byte [rbp + 0x8f]
mov byte [rbp + 0x6b], r10b
mov rax, qword [0x1401a1680]
mov rax, qword [rax]
mov rcx, qword [rcx]
xor edx, edx
mov r9d, edx
xor edx, edx
sub rsp, 0x60
mov rdx, r9
mov r8, r9
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x30], 0x1d4c0
mov dword [rsp + 0x38], 3
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov byte [rsp + 0x50], r10b
call rax
mov rcx, qword [rbp + 0x2c8]
add rsp, 0x60
mov edx, eax
mov rax, qword [rbp + 0x78]
mov dword [rbp + 0x6c], edx
mov cl, byte [rcx]
mov dl, 0x5e
xor dl, 0x5e
cmp cl, dl
mov qword [rbp + 0x70], rax
jne 0x1400c1ac0
mov eax, dword [rbp + 0x6c]
mov ecx, 0xc1aff0b8
xor ecx, 0xc1aff1bb
cmp eax, ecx
mov dword [rbp + 0x64], eax
jne 0x1400c1101
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x2e8]
add rsp, 0x20
mov qword [rbp + 0x3b0], 0
mov qword [rbp + 0x3b0], 0xffffffffffb3b4c0
mov rax, qword [0x1401a16b0]
mov rax, qword [rax]
mov rcx, qword [rcx]
mov dl, 0xdb
xor dl, 0xda
lea r8, [rbp + 0x3b0]
sub rsp, 0x20
call rax
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x2c8]
mov dword [rbp + 0x60], ecx
cmp byte [rax], 0
jne 0x1400c10f4
mov eax, dword [rbp + 0x60]
test eax, eax
je 0x1400c10e3
jmp 0x1400c0fd6
mov eax, dword [rbp + 0x60]
sub eax, 0x102
jne 0x1400c1066
jmp 0x1400c0fe9
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a1618]
mov qword [rcx], rax
lea rax, [0x14019f56d]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14019f6c8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14019f6d0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14019f56d]
lea r8, [0x14019f5a0]
lea r9, [0x14019f473]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffff86c50ffb
call fcn.140019b17
add rsp, 0x30
jmp 0x1400c10f4
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a1618]
mov qword [rcx], rax
lea rax, [0x14019f56d]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14019f6c8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14019f6d0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14019f56d]
lea r8, [0x14019f5a0]
lea r9, [0x14019f473]
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffff841e2fd7
call fcn.140019b17
add rsp, 0x30
jmp 0x1400c10f4
mov rax, qword [rbp + 0x2f0]
mov eax, dword [rax]
mov dword [rbp + 0x64], eax
jmp 0x1400c1101
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x70], rax
jmp 0x1400c1ac0
mov rdx, qword [rbp + 0x90]
mov ecx, dword [rbp + 0x64]
mov dword [rbp + 0x58], ecx
mov eax, ecx
sub eax, 0x80000005
sete al
test ecx, ecx
sete cl
mov byte [rbp + 0x5f], cl
mov rdx, qword [rdx]
test rdx, rdx
sete dl
and cl, dl
or al, cl
test al, 1
jne 0x1400c113a
jmp 0x1400c1340
mov rax, qword [rbp + 0x80]
movabs rcx, 0x41a74cc6686c6f28
movabs rdx, 0x41a74cc6686c6f29
xor rcx, rdx
shl rax, cl
mov rcx, qword [rbp + 0x80]
mov qword [rbp + 0x40], rax
cvtsi2sd xmm0, rcx
movsd xmm1, qword [0x14019f3d0]
mulsd xmm0, xmm1
movsd qword [rbp + 0x48], xmm0
cvtsi2sd xmm1, rax
movsd qword [rbp + 0x50], xmm1
ucomisd xmm0, xmm1
jne 0x1400c119b
jp 0x1400c119b
jmp 0x1400c1205
movsd xmm1, qword [rbp + 0x48]
movsd xmm0, qword [rbp + 0x50]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140195ba0
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x48]
movsd qword [rbp + 0x38], xmm1
sub rsp, 0x20
call fcn.140195ba0
movsd xmm1, qword [rbp + 0x38]
add rsp, 0x20
movsd xmm2, qword [0x14019f3d8]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x1400c1205
sub rsp, 0x20
call fcn.14000a590
mov rax, qword [rbp + 0x78]
add rsp, 0x20
mov qword [rbp + 0x70], rax
jmp 0x1400c1ac0
mov rax, qword [rbp + 0x40]
cmp rax, 0x100000
jl 0x1400c12ad
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a15c8]
mov qword [rcx], rax
lea rax, [0x14019f4cb]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14019f6c8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14019f6d0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x66b7fb9bb0e790ef
movabs rdx, 0x99480464783087ac
xor rax, rdx
lea rdx, [0x14019f4cb]
lea r8, [0x14019f5a0]
lea r9, [0x14019f473]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140019b17
mov rax, qword [rbp + 0x78]
add rsp, 0x30
mov qword [rbp + 0x70], rax
jmp 0x1400c1ac0
mov rcx, qword [rbp + 0x78]
sub rsp, 0x20
call fcn.1400259f3
mov rax, qword [rbp + 0x40]
add rsp, 0x20
movabs rcx, 0x6c6c6934fee8accc
movabs rdx, 0x6c6c6934fee8accc
xor rcx, rdx
cmp rax, rcx
jge 0x1400c130c
mov rcx, qword [rbp + 0x40]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x70], rax
jmp 0x1400c1ac0
mov rcx, qword [rbp + 0x40]
sub rsp, 0x20
call fcn.14000dc72
mov rdx, qword [rbp + 0x40]
add rsp, 0x20
mov rcx, rax
mov al, byte [rbp + 0x6b]
mov qword [rbp + 0xc0], rdx
mov qword [rbp + 0xc8], rcx
mov byte [rbp + 0xd3], al
jmp 0x1400c0e89
mov rax, qword [rbp + 0x78]
mov cl, byte [rbp + 0x5f]
test cl, 1
mov qword [rbp + 0x30], rax
jne 0x1400c1359
jmp 0x1400c19fe
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x20], rax
mov ecx, dword [rax + 0x38]
not ecx
and ecx, 0x10
sub rsp, 0x20
call fcn.14009c717
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x2c8]
mov al, byte [rax]
movzx edx, cl
add edx, 0x15
test al, al
mov ecx, 0x14
cmove ecx, edx
mov dword [rbp + 0x28], ecx
sub ecx, 0x14
mov byte [rbp + 0x2f], al
je 0x1400c1906
jmp 0x1400c13a5
mov eax, dword [rbp + 0x28]
sub eax, 0x15
jne 0x1400c191e
jmp 0x1400c13b6
mov rax, qword [rbp + 0x20]
mov eax, dword [rax + 0x3c]
mov dword [rbp + 0x1c], eax
test eax, eax
je 0x1400c191e
jmp 0x1400c13cd
mov eax, dword [rbp + 0x1c]
sub eax, 2
je 0x1400c14e9
jmp 0x1400c13de
mov eax, dword [rbp + 0x1c]
sub eax, 4
jne 0x1400c1563
jmp 0x1400c13ef
mov rax, qword [rbp + 0x20]
mov rcx, rax
add rcx, 0x5e
mov qword [rbp + 0x10], rcx
mov ax, word [rax + 0x5e]
mov word [rbp + 0x1a], ax
cmp ax, 0xff
jbe 0x1400c1435
mov ax, word [rbp + 0x1a]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x1400c18fa
mov ax, word [rbp + 0x1a]
mov cx, 0x2699
xor cx, 0x26b7
cmp ax, cx
jne 0x1400c15e1
mov rax, qword [rbp + 0x10]
movabs rcx, 0x20abb4a8e47578b1
movabs rdx, 0xca8a84ff485fd808
xor rcx, rdx
add rax, rcx
movabs rcx, 0xe58b77ad25f2b9c5
movabs rdx, 0xe58b77ad25f2b9c7
xor rcx, rdx
add rax, rcx
movabs rcx, 0xea213057ac2aa0b9
sub rax, rcx
mov ax, word [rax]
mov word [rbp + 0xe], ax
mov cx, 0xd83b
xor cx, 0xd8c4
cmp ax, cx
jbe 0x1400c14ce
mov ax, word [rbp + 0xe]
movzx eax, ax
mov ecx, eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x1400c18fa
mov ax, word [rbp + 0xe]
mov cx, 0x99ce
xor cx, 0x99e0
cmp ax, cx
je 0x1400c191e
jmp 0x1400c15e1
mov rax, qword [rbp + 0x20]
mov ax, word [rax + 0x5e]
mov word [rbp + 0xc], ax
cmp ax, 0xff
jbe 0x1400c1548
mov ax, word [rbp + 0xc]
movzx eax, ax
mov ecx, eax
movabs rdx, 0xfab1c6edd00f69a
movabs rax, 0xfab1c6edd00f69a
xor rdx, rax
movabs r8, 0x3dc415112aea3da8
movabs rax, 0x3dc415112aea3d57
xor r8, rax
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x1400c18fa
mov ax, word [rbp + 0xc]
mov cx, 0xcf27
xor cx, 0xcf09
cmp ax, cx
je 0x1400c191e
jmp 0x1400c15e1
mov eax, dword [rbp + 0x1c]
mov ecx, 0x1cad2cc2
xor ecx, 0xe352d33d
cmp eax, ecx
jge 0x1400c15e1
mov ecx, dword [rbp + 0x1c]
mov eax, 0xb897c8a4
xor eax, 0xb897c8a4
sub eax, ecx
shr eax, 1
mov ecx, 0x88eddefa
xor ecx, 0x77122105
xor eax, ecx
add eax, 0
add eax, 1
movsxd rcx, eax
movabs rdx, 0x5520ed3c94a3e5ee
movabs rax, 0x5520ed3c94a3e5ee
xor rdx, rax
movabs r8, 0x8416d8058706437f
movabs rax, 0xfbe927fa78f9bc80
xor r8, rax
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x1400c18fa
mov eax, dword [rbp + 0x1c]
mov rcx, qword [rbp + 0x20]
add rcx, 0x5e
mov qword [rbp - 0x18], rcx
mov ecx, 2
cdq
idiv ecx
mov rdx, qword [rbp - 0x18]
mov eax, eax
mov r8d, eax
lea rcx, [rbp + 0x3a0]
sub rsp, 0x20
call fcn.14009f071
mov rax, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x2c8]
add rsp, 0x20
mov rdx, qword [rbp + 0x3a0]
mov qword [rbp - 0x10], rdx
mov rax, qword [rax]
mov qword [rbp - 8], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp], rax
jne 0x1400c186e
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov qword [rbp - 0x28], rax
add rax, 0x60
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp - 8]
mov r8, qword [rbp - 0x10]
add rsp, 0x20
mov rax, qword [rbp - 0x28]
add rcx, 8
lea rdx, [0x14019f620]
cmp r8, 0
cmove rcx, rdx
mov qword [rbp - 0x20], rcx
mov al, byte [rax + 0x60]
mov cl, 3
xor cl, 3
cmp al, cl
jne 0x1400c171f
mov rax, qword [rbp - 0x10]
mov rcx, rax
shr rcx, 0x3f
mov rdx, rax
add rdx, rcx
sar rdx, 1
mov rcx, rdx
dec rcx
mov qword [rbp - 0x30], rcx
xor rcx, rdx
sets dl
sub rax, 2
setge al
setl cl
or cl, dl
add al, cl
inc al
test al, 1
jne 0x1400c1712
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x318]
mov rax, qword [rbp - 0x30]
xor r8d, r8d
test rax, rax
cmovg r8, rax
sub rsp, 0x20
call fcn.14009eb59
add rsp, 0x20
jmp 0x1400c171f
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
mov rcx, qword [rbp + 0x2c8]
mov rax, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0x318]
mov rdx, qword [rdx]
mov qword [rbp - 0x40], rdx
mov rax, qword [rax]
mov qword [rbp - 0x38], rax
cmp byte [rcx], 0
mov qword [rbp], rax
jne 0x1400c186e
mov rsi, qword [rbp + 0x320]
mov ecx, 0x28
mov edx, 8
sub rsp, 0x20
call fcn.140024940
mov rdx, qword [rbp + 0x330]
mov r8, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x38]
add rsp, 0x20
mov r9, rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp - 0x48], r9
lea r10, [0x1401964e8]
mov qword [r9], r10
mov qword [rdx], r8
mov qword [rax], rcx
sub rsp, 0x20
mov rcx, rsi
call fcn.140024b17
mov r11, qword [rbp + 0xb0]
mov r9, qword [rbp + 0x350]
mov rdx, qword [rbp - 0x40]
mov rax, qword [rbp + 0xb8]
mov r8, qword [rbp + 0x338]
mov r10, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x38]
add rsp, 0x20
mov rsi, qword [rsi]
mov r11, qword [r11]
mov qword [r10 + 8], rsi
mov qword [r10 + 0x10], r11
mov r10, qword [r9]
mov qword [rbp + 0x380], r10
mov r9, qword [r9 + 8]
mov qword [rbp + 0x388], r9
mov qword [r8], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x390]
lea rdx, [rbp + 0x380]
sub rsp, 0x20
call fcn.14004973b
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x2c8]
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov r8, qword [rbp + 0x390]
mov qword [rdx + 0x18], r8
mov r8, qword [rbp + 0x398]
mov qword [rdx + 0x20], r8
mov cl, byte [rcx]
mov dl, 0x56
xor dl, 0x56
cmp cl, dl
mov qword [rbp], rax
jne 0x1400c186e
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x340]
sub rsp, 0x20
call fcn.14002cafc
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov qword [rbp], rax
mov rax, qword [rbp - 8]
mov rcx, qword [rbp]
mov qword [rbp - 0x50], rcx
cmp rax, 0
je 0x1400c18b0
mov rcx, qword [rbp - 8]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1400c18b0
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp - 0x50]
cmp rax, 0
je 0x1400c18fa
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
movabs rcx, 0xf6e453f3634b6747
movabs rdx, 0xb6e453f3634b6747
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1400c18fa
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x2c8]
mov al, byte [rax]
mov byte [rbp + 0x2f], al
mov rax, qword [rbp + 0x78]
mov cl, byte [rbp + 0x2f]
mov dl, 0x41
xor dl, 0x41
cmp cl, dl
mov qword [rbp + 0x70], rax
jne 0x1400c1ac0
mov rax, qword [rbp + 0x20]
mov ecx, dword [rax]
mov dword [rbp - 0x54], ecx
xor eax, eax
cmp ecx, 1
mov byte [rbp + 0x8f], al
jl 0x1400c0eae
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rcx, rax
add rcx, 0x60
mov qword [rbp - 0x60], rcx
mov al, byte [rax + 0x60]
mov cl, 0xd0
xor cl, 0xd0
cmp al, cl
jne 0x1400c19d0
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rax, qword [rbp - 0x60]
cmp byte [rax], 0
jne 0x1400c19d0
mov rcx, qword [rbp + 0x20]
mov eax, dword [rbp - 0x54]
mov eax, eax
movabs rdx, 0x9e09fcd49cc350ac
movabs r8, 0x819a46ce2d9efa70
xor rdx, r8
sub rax, rdx
add rax, rcx
movabs rcx, 0x5c6b27028eefcd3a
movabs rdx, 0x43f89d183fb267e6
xor rcx, rdx
add rax, rcx
mov qword [rbp - 0x68], rax
mov rax, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x2c8]
mov rcx, qword [rbp - 0x68]
mov dl, byte [rdx]
mov r8b, 0x19
xor r8b, 0x19
cmp dl, r8b
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x70], rax
je 0x1400c1359
jmp 0x1400c1ac0
mov rax, qword [rbp + 0x78]
mov ecx, dword [rbp + 0x58]
mov edx, 0xc5a66e39
xor edx, 0x45a66e3f
cmp ecx, edx
mov qword [rbp + 0x70], rax
je 0x1400c1ac0
movabs rcx, 0xf78534fd52e39bcc
movabs rax, 0xf78534fd52e39b8c
xor rcx, rax
movabs rdx, 0x8a87730332ac3a14
movabs rax, 0x8a87730332ac3a1c
xor rdx, rax
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a1618]
mov qword [rcx], rax
lea rax, [0x14019f56d]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14019f6c8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14019f6d0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14019f56d]
lea r8, [0x14019f5a0]
lea r9, [0x14019f473]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x2875904e
call fcn.140019b17
mov rax, qword [rbp + 0x78]
add rsp, 0x30
mov qword [rbp + 0x70], rax
mov rcx, qword [rbp + 0x70]
sub rsp, 0x20
call fcn.1400259f3
mov rcx, qword [rbp + 0x2c8]
mov rax, qword [rbp + 0x2e8]
add rsp, 0x20
mov dl, byte [rcx]
mov byte [rbp - 0x71], dl
mov dl, 0xf9
xor dl, 0xf9
mov byte [rcx], dl
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
jle 0x1400c1b21
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x1401a1650]
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov rax, qword [rbp + 0x2c8]
cmp byte [rax], 0
jne 0x1400c1b2d
mov rax, qword [rbp + 0x2c8]
mov cl, byte [rbp - 0x71]
mov byte [rax], cl
mov rax, qword [rbp + 0xe8]
cmp rax, 0
je 0x1400c1b86
mov rcx, qword [rbp + 0xe8]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0xda313abca4b36bf1
movabs rdx, 0xda313abca4b36bf1
xor rcx, rdx
cmp rax, rcx
jne 0x1400c1b86
mov rcx, qword [rbp + 0xe8]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x150]
cmp rax, 0
je 0x1400c1bef
mov rax, qword [rbp + 0x150]
mov rax, qword [rax]
movabs rcx, 0x91805fe49fc14467
movabs rdx, 0xd1805fe49fc14467
xor rcx, rdx
and rax, rcx
movabs rcx, 0x32a6b8ebd6876240
movabs rdx, 0x32a6b8ebd6876240
xor rcx, rdx
cmp rax, rcx
jne 0x1400c1bef
mov rcx, qword [rbp + 0x150]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x1a8]
cmp rax, 0
je 0x1400c1cb1
mov rax, qword [rbp + 0x1a8]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
movabs rdx, 0xa0ba439cfedf2cb5
movabs r8, 0x5f45bc630120d34a
xor rdx, r8
xor rcx, rdx
movabs rdx, 0x4ae11b4707809d75
movabs r8, 0xae11b4707809d75
xor rdx, r8
movabs r8, 0xaaf7d196bd041b3
movabs r9, 0xf55082e6942fbe4c
xor r8, r9
xor rdx, r8
or rcx, rdx
and rax, rcx
movabs rcx, 0x970213023667a310
movabs rdx, 0x68fdecfdc9985cef
xor rcx, rdx
xor rax, rcx
cmp rax, 0
jne 0x1400c1cb1
mov rcx, qword [rbp + 0x1a8]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x210]
cmp rax, 0
je 0x1400c1d1a
mov rax, qword [rbp + 0x210]
mov rax, qword [rax]
movabs rcx, 0x725d27160df0d415
movabs rdx, 0x325d27160df0d415
xor rcx, rdx
and rax, rcx
movabs rcx, 0xdf46061ce95f79bf
movabs rdx, 0xdf46061ce95f79bf
xor rcx, rdx
cmp rax, rcx
jne 0x1400c1d1a
mov rcx, qword [rbp + 0x210]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x268]
cmp rax, 0
je 0x1400c1d73
mov rcx, qword [rbp + 0x268]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x9bf4d70c3abcbd18
movabs rdx, 0x9bf4d70c3abcbd18
xor rcx, rdx
cmp rax, rcx
jne 0x1400c1d73
mov rcx, qword [rbp + 0x268]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x368]
cmp rax, 0
je 0x1400c1ddc
mov rax, qword [rbp + 0x368]
mov rax, qword [rax]
movabs rcx, 0x27295e62e80f6b40
movabs rdx, 0x67295e62e80f6b40
xor rcx, rdx
and rax, rcx
movabs rcx, 0x64d8fff1e28e25e6
movabs rdx, 0x64d8fff1e28e25e6
xor rcx, rdx
cmp rax, rcx
jne 0x1400c1ddc
mov rcx, qword [rbp + 0x368]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x2d8]
lea rsp, [rbp + 0x418]
pop rsi
pop rbp
ret