Function at 0x140126850
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x2e0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1a0], r9
mov qword [rbp + 0x170], r8
mov qword [rbp + 0x1a8], rdx
mov qword [rbp + 0x178], rcx
mov rax, qword [rbp + 0x290]
mov qword [rbp + 0x190], rax
mov eax, 0x20
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x180], rax
mov eax, 0x10
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x188], rax
sub rsp, 0x20
call fcn.1401241f8
mov rcx, qword [rbp + 0x190]
add rsp, 0x20
mov qword [rbp + 0x198], rax
movabs rdx, 0x246f294dacb31854
movabs rax, 0x246f294dacb31874
xor rdx, rax
sub rsp, 0x20
call fcn.140124412
add rsp, 0x20
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.140013970
mov r9, qword [rbp + 0x1a0]
mov rdx, qword [rbp + 0x1a8]
add rsp, 0x20
mov qword [rbp + 0x1b0], rax
lea rcx, [0x1401faf90]
mov qword [rax], rcx
mov rcx, rax
add rcx, 0x10
mov qword [rbp + 0x1b8], rcx
mov qword [rax + 0x10], r9
xor eax, eax
test rdx, rdx
cmovg rax, rdx
mov qword [rbp + 0x1c0], rax
xor eax, eax
mov rcx, rax
mov qword [rbp + 0x1c8], rcx
mov rcx, rax
mov qword [rbp + 0x1d0], rcx
mov qword [rbp + 0x1d8], rax
mov rcx, qword [rbp + 0x1c0]
mov rax, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x1d0]
mov r8, qword [rbp + 0x1d8]
mov qword [rbp + 0x158], r8
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rax
cmp rax, rcx
je 0x140126a18
mov rdx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x158]
mov rcx, qword [rbp + 0x160]
mov r8, qword [rbp + 0x178]
mov r8d, dword [r8 + rdx*4]
mov r9d, 0x557aafe4
xor r9d, 0x557aafe4
cmp r8d, r9d
setne r10b
and r10b, 1
movzx r10d, r10b
xor r10, 0xffffffffffffffff
xor r11d, r11d
sub r11, 1
sub r10, r11
sub rcx, r10
cmp r8d, r9d
cmovne rax, rdx
add rdx, 1
mov qword [rbp + 0x1c8], rdx
mov qword [rbp + 0x1d0], rcx
mov qword [rbp + 0x1d8], rax
jmp 0x14012696c
mov rax, qword [rbp + 0x158]
mov rdx, qword [rbp + 0x170]
mov rcx, rax
sub rcx, rdx
cmovg rdx, rax
inc rdx
mov qword [rbp + 0x128], rdx
sub rsp, 0x20
lea rcx, [rbp + 0x240]
call fcn.140025999
mov rdx, qword [rbp + 0x128]
add rsp, 0x20
mov rax, qword [rbp + 0x240]
mov qword [rbp + 0x130], rax
mov rax, qword [rbp + 0x248]
mov qword [rbp + 0x138], rax
sub rsp, 0x20
lea rcx, [rbp + 0x230]
call fcn.140025b6e
mov rax, qword [rbp + 0x160]
add rsp, 0x20
mov rcx, qword [rbp + 0x230]
mov qword [rbp + 0x140], rcx
mov rcx, qword [rbp + 0x238]
mov qword [rbp + 0x148], rcx
xor ecx, ecx
mov qword [rbp + 0x150], rcx
test rax, rax
je 0x140126ae3
jmp 0x140126abf
mov rax, qword [rbp + 0x150]
mov rcx, qword [rbp + 0x160]
sub rcx, 1
mov qword [rbp + 0x120], rax
je 0x140126c1b
jmp 0x140126cdc
mov ecx, dword [0x1401fb188]
mov edx, dword [0x1401fb18c]
mov eax, ecx
xor eax, 0xffffffff
and eax, edx
xor edx, 0xffffffff
and ecx, edx
sub ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x1bfc30bb
mov r8d, 0x5af87bed
xor r8d, 0x41044b56
mov eax, 0x3d71c7a0
xor eax, 0xc28e385f
xor r8d, eax
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x1bfc30bb
or ecx, 0x1bfc30bb
imul ecx, edx
add ecx, eax
and ecx, 0x96d1aba7
mov eax, ecx
and eax, 0xc94affbf
or ecx, 0xc94affbf
add eax, ecx
cmp eax, 0x7e7f9822
je 0x140127b89
mov rcx, qword [rbp + 0x148]
mov eax, dword [0x1401fb190]
xor eax, 0xd938b44e
mov r8d, dword [0x1401fb194]
mov edx, eax
and edx, r8d
or eax, r8d
add edx, eax
mov r8d, 0x58029752
xor r8d, 0xd919b758
mov eax, edx
and eax, r8d
mov r8d, 0x126e462
xor r8d, 0x803dc468
xor edx, r8d
or eax, edx
and eax, 0x39ab2756
mov r9d, 0x63c203c0
xor r9d, 0xb5a2e25d
mov edx, 0x4fc366a3
xor edx, 0xb03c995c
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r9d, 0x3c955d46
xor r9d, 0xeaf5bcdb
mov r8d, eax
and r8d, r9d
mov r9d, 0x5b1cd65f
xor r9d, 0x8d7c37c2
or eax, r9d
imul eax, r8d
add eax, edx
mov dl, 0x33
xor dl, 0x32
mov byte [rcx + 8], dl
mov byte [rcx + 9], 1
cmp eax, 0xbaacc446
jae 0x140127b89
jmp 0x1401276f9
mov rcx, qword [rbp + 0x1c0]
mov rax, qword [rbp + 0x120]
mov qword [rbp + 0x118], rax
cmp rax, rcx
je 0x1401276f9
mov rax, qword [rbp + 0x178]
mov rcx, qword [rbp + 0x118]
mov eax, dword [rax + rcx*4]
mov ecx, 0xe4935448
xor ecx, 0xe4935448
cmp eax, ecx
je 0x140126c9e
mov rax, qword [rbp + 0x118]
mov rcx, qword [rbp + 0x148]
mov dl, 0xfa
xor dl, 0xfb
mov byte [rcx + rax + 8], dl
cmp rax, 0
jne 0x140126c8e
mov rax, qword [rbp + 0x148]
mov byte [rax + 9], 1
jmp 0x1401276f9
mov rax, qword [rbp + 0x148]
mov byte [rax + 8], 1
jmp 0x1401276f9
mov rax, qword [rbp + 0x118]
movabs rcx, 0x17f75b69356d4dca
add rax, rcx
add rax, 1
movabs rcx, 0x9f2d30a574d6f102
movabs rdx, 0x88da6bcc41bbbcc8
xor rcx, rdx
sub rax, rcx
mov qword [rbp + 0x120], rax
jmp 0x140126c1b
mov eax, dword [0x1401fb198]
mov ecx, dword [0x1401fb19c]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
mov ecx, 0x1b0afadd
xor edx, edx
div ecx
mov ecx, 0xd881abd9
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0x8dfe3b6d
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x8dfe3b6d
or eax, 0x8dfe3b6d
imul eax, edx
add eax, ecx
cmp eax, 0xd1c15c9
je 0x140127b92
mov ecx, dword [0x1401fb1a0]
mov edx, dword [0x1401fb1a4]
xor edx, 0x2e6cb726
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xe8e8fcd6
mov r8d, 0xffffffff
xor r8d, 0xe8e8fcd6
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xe8e8fcd6
or eax, 0xe8e8fcd6
imul eax, edx
add eax, ecx
mov ecx, 0xc013b973
xor ecx, 0xeab7a0b6
xor edx, edx
div ecx
mov ecx, 0xafbf042d
xor ecx, 0x5040fbd2
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0x5be6c497
mov ecx, 0xffffffff
xor ecx, 0x5948b696
or eax, edx
or ecx, 0x5948b696
mov edx, 0x313548f3
xor edx, 0xcecab70c
xor eax, edx
and eax, ecx
mov qword [rbp + 0x220], 0
lea rcx, [rbp + 0x220]
add rcx, 8
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x228], 0
cmp eax, 0x427ec2c9
jae 0x140127b92
xor eax, eax
mov qword [rbp + 0x108], rax
jmp 0x140126e1d
mov rcx, qword [rbp + 0x1c0]
mov rax, qword [rbp + 0x108]
mov qword [rbp + 0x100], rax
cmp rax, rcx
je 0x1401270dc
mov eax, dword [0x1401fb1a8]
mov ecx, 0x432aaa1c
xor ecx, 0x7ef1c16e
xor eax, ecx
imul eax, dword [0x1401fb1ac]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdb653aba
or ecx, edx
and eax, 0xdb653aba
mov edx, 0xb36d3392
xor edx, 0x4c92cc6d
xor eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0xfec23f79
mov edx, 0x28d4d5a1
xor edx, 0xd72b2a5e
xor eax, edx
mov edx, 0x7319066d
xor edx, 0x8ddb3914
mov r8d, 0xe8552a2a
xor r8d, 0x16971553
and edx, r8d
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
add eax, 0xad374f8f
sub eax, 0xb7f08236
mov ecx, 0xe3f67155
xor ecx, 0x4ec13eda
sub eax, ecx
cmp eax, 0x138074f0
jbe 0x140127b9b
mov rcx, qword [rbp + 0x178]
mov rdx, qword [rbp + 0x100]
mov eax, dword [0x1401fb1b0]
xor eax, 0x1135195e
mov r9d, dword [0x1401fb1b4]
xor eax, 0xffffffff
xor r9d, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x373b243
or eax, r9d
or r8d, 0x373b243
xor eax, 0xffffffff
and eax, r8d
imul r8d, eax, 0x8b99c61c
mov r9d, 0xd48de831
xor r9d, 0xad7a20c2
mov eax, 0xf38edf9e
xor eax, 0xc712061
xor r9d, eax
mov eax, r8d
xor eax, r9d
and eax, r8d
or eax, eax
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x25522f74
mov r9d, 0xffffffff
xor r9d, 0x25522f74
and r8d, r9d
or eax, r8d
xor eax, 0xffffffff
mov ecx, dword [rcx + rdx*4]
mov dword [rbp + 0xf8], ecx
mov edx, 0x93e30015
xor edx, 0x93e30015
cmp ecx, edx
sete cl
mov byte [rbp + 0xff], cl
cmp eax, 0xca3693aa
je 0x140126eef
mov al, byte [rbp + 0xff]
test al, 1
jne 0x14012702a
jmp 0x140126fc2
movabs rcx, 0xc76a43180d70605d
movabs rax, 0xc76a43180d70607d
xor rcx, rax
movabs rdx, 0x83b1019a0aedb078
movabs rax, 0x83b1019a0aedb070
xor rdx, rax
sub rsp, 0x20
call fcn.140013970
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0xf8]
mov qword [rdx], rcx
mov eax, eax
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x220]
sub rsp, 0x20
call fcn.140025ba0
add rsp, 0x20
mov eax, dword [0x1401fb1b8]
xor eax, 0x4219d879
mov ecx, dword [0x1401fb1bc]
mov edx, 0xdcc68b8d
xor edx, 0xbfcca741
xor ecx, edx
sub eax, ecx
mov ecx, 0x8df0df29
xor ecx, 0x48f6bf0b
xor edx, edx
div ecx
and eax, 0xe20b5c2c
and eax, 0xc3f8b7d2
cmp eax, 0x86bc6206
ja 0x140127ba4
mov rdx, qword [rbp + 0x100]
mov eax, dword [0x1401fb1c0]
mov ecx, dword [0x1401fb1c4]
xor ecx, 0x8e01f210
imul eax, ecx
xor eax, 0x6512d5ac
mov ecx, 0x37f3a7b6
xor ecx, 0x3e488364
sub eax, ecx
add eax, 0xcccdd31a
add eax, 0x9bb24d2
add eax, 0xcb7e0234
mov ecx, 0xf5883687
xor ecx, 0xf63958e3
add rdx, 1
mov qword [rbp + 0xf0], rdx
cmp eax, ecx
jbe 0x14012706e
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0x108], rax
jmp 0x140126e1d
lea rcx, [rbp + 0x210]
mov edx, 0x10
sub rsp, 0x20
call fcn.140124412
mov rdx, qword [rbp + 0x1b0]
add rsp, 0x20
mov rax, qword [rbp + 0x220]
mov qword [rbp + 0x200], rax
mov rax, qword [rbp + 0x228]
mov qword [rbp + 0x208], rax
lea rcx, [rbp + 0x200]
sub rsp, 0x20
call fcn.140125b90
mov rcx, qword [rbp + 0x198]
add rsp, 0x20
mov byte [rbp + 0xee], al
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xef], al
jne 0x14012767e
mov al, byte [rbp + 0xee]
test al, 1
jne 0x14012715d
jmp 0x140127603
mov rax, qword [rbp + 0x110]
mov rcx, qword [rbp + 0x220]
mov rax, qword [rax]
mov qword [rbp + 0xc8], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0xd0], rax
xor eax, eax
mov rcx, rax
mov qword [rbp + 0xd8], rcx
mov qword [rbp + 0xe0], rax
mov rcx, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc0], rdx
cmp rax, rcx
je 0x140127203
mov rax, qword [rbp + 0xb8]
mov rdx, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xc8]
mov rcx, qword [rcx + rax*8 + 8]
mov rcx, qword [rcx + 8]
mov r8, rdx
sub r8, rcx
cmovg rcx, rdx
add rax, 1
mov qword [rbp + 0xd8], rcx
mov qword [rbp + 0xe0], rax
jmp 0x140127198
mov rcx, qword [rbp + 0x188]
mov rdx, qword [rbp + 0xc0]
add rdx, 1
sub rsp, 0x20
call fcn.1400265c8
mov rcx, qword [rbp + 0x188]
mov rax, qword [rbp + 0x110]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x90], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x98], rcx
mov rcx, qword [rbp + 0x220]
mov rax, qword [rax]
mov qword [rbp + 0xa0], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0xa8], rax
xor eax, eax
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0xb0]
mov qword [rbp + 0x80], rcx
cmp rcx, rdx
mov qword [rbp + 0x88], rax
je 0x140127337
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x98]
mov rdx, qword [rbp + 0xa0]
mov rdx, qword [rdx + rax*8 + 8]
mov rdx, qword [rdx + 8]
mov r9, qword [rcx + rdx*8 + 8]
mov r8, r9
and r8, 1
or r9, 1
add r8, r9
mov qword [rcx + rdx*8 + 8], r8
add rax, 1
mov qword [rbp + 0xb0], rax
jmp 0x14012726f
mov rax, qword [rbp + 0x1b8]
mov rcx, qword [rbp + 0x78]
cmp qword [rax], rcx
jge 0x140127472
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x58]
mov rcx, qword [rcx]
mov qword [rbp + 0x68], rcx
cmp rcx, 0
mov qword [rbp + 0x70], rax
jne 0x1401273bb
mov rax, qword [rbp + 0x78]
movabs rcx, 0x5eb87a66b601aafd
movabs rdx, 0xa147859949fe5502
xor rcx, rdx
add rax, rcx
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x88]
mov qword [rbp + 0x78], rcx
mov rdx, rax
add rdx, 8
mov r8, rcx
shl r8, 3
add rdx, r8
mov qword [rbp + 0x58], rdx
movabs rdx, 0x9438a23c548e5816
movabs r8, 0x6bc75dc3ab71a7e8
xor rdx, r8
mov r8, rcx
add r8, rdx
mov qword [rbp + 0x60], r8
mov rdx, r8
sar rdx, 0x3f
and rdx, r8
mov qword [rbp + 0x48], rdx
movabs rdx, 0xcdbe3554d87ca3fd
movabs r8, 0x3241caab27835c02
xor rdx, r8
add rcx, rdx
add rax, 8
shl rcx, 3
add rax, rcx
mov qword [rbp + 0x50], rax
jmp 0x1401272e1
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x70]
mov qword [rbp + 0x38], rcx
cmp rcx, 0
mov qword [rbp + 0x40], rax
jle 0x140127425
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x98]
mov rdx, qword [rcx + rax*8 + 8]
movabs r8, 0x21c601d6ec54795a
movabs rcx, 0xfaeb797b1cb7701a
xor r8, rcx
mov rcx, rax
sub rcx, r8
add rcx, 0xffffffffffffffff
movabs r8, 0xdb2d78adf0e30940
add rcx, r8
cmp rdx, 0
mov qword [rbp + 0x70], rcx
mov qword [rbp + 0x40], rax
je 0x1401273bb
mov rax, qword [rbp + 0x98]
mov rdx, qword [rbp + 0x50]
mov r8, qword [rbp + 0x58]
mov r9, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x40]
add r9, 0xfffffffffffffffe
mov qword [r8], r9
mov r8, qword [rdx]
inc r8
mov qword [rdx], r8
movups xmm1, xmmword [rax + rcx*8 + 8]
movaps xmm2, xmmword [0x140208100]
movaps xmm0, xmm1
pand xmm0, xmm2
por xmm1, xmm2
paddq xmm0, xmm1
movdqu xmmword [rax + rcx*8 + 8], xmm0
jmp 0x1401272e1
mov r8, qword [rbp + 0x220]
add r8, 0xffffffffffffffff
lea rcx, [rbp + 0x220]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.1401261f0
mov rax, qword [rbp + 0x198]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x87
xor cl, 0x87
cmp al, cl
jne 0x1401275bb
mov rax, qword [rbp + 0x110]
mov rcx, qword [rbp + 0x220]
mov rax, qword [rax]
mov qword [rbp + 0x18], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x20], rax
mov ecx, 1
xor eax, eax
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
mov rdx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x30]
mov qword [rbp + 8], rcx
cmp rcx, rdx
mov qword [rbp + 0x10], rax
je 0x1401275bb
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x98]
mov qword [rbp], rdx
mov rcx, qword [rax + rdx*8 + 8]
movabs r8, 0x37430c4796bd7e93
movabs rax, 0x37430c4796bd7e92
xor r8, rax
mov rax, rdx
and rax, r8
or rdx, 1
add rax, rdx
cmp rcx, 0
mov qword [rbp + 0x10], rax
je 0x1401274f9
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov rdx, qword [rbp + 0x98]
mov r8, qword [rbp + 0x18]
mov r8, qword [r8 + rax*8 + 8]
mov qword [r8 + 8], rcx
mov r8, qword [rdx + rcx*8 + 8]
movabs r9, 0xbfca61b4fd59429
add r8, r9
add r8, 0xffffffffffffffff
movabs r9, 0xbfca61b4fd59429
sub r8, r9
mov qword [rdx + rcx*8 + 8], r8
movabs rdx, 0xbd511b62eacd2b4a
add rax, rdx
add rax, 1
movabs rdx, 0x6c75103ba0e0e1a4
movabs r8, 0xd1240b594a2dcaee
xor rdx, r8
sub rax, rdx
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0x30], rax
jmp 0x1401274dc
mov rax, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x90]
mov qword [rbp + 0x1f0], rcx
mov qword [rbp + 0x1f8], rax
lea rcx, [rbp + 0x1f0]
sub rsp, 0x20
call fcn.14005e870
mov rcx, qword [rbp + 0x198]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xef], al
jne 0x14012767e
mov rcx, qword [rbp + 0x220]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x10], rax
xor eax, eax
mov qword [rbp - 8], rax
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
mov qword [rbp - 0x18], rax
cmp rax, rcx
je 0x14012766f
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp + 0x148]
mov rdx, qword [rbp + 0x110]
mov rdx, qword [rdx]
mov rdx, qword [rdx + rcx*8 + 8]
mov r8, qword [rdx + 8]
mov rdx, qword [rdx]
mov byte [rax + rdx + 8], r8b
mov rax, rcx
and rax, 1
or rcx, 1
add rax, rcx
mov qword [rbp - 8], rax
jmp 0x14012761d
mov rax, qword [rbp + 0x198]
mov al, byte [rax]
mov byte [rbp + 0xef], al
mov rax, qword [rbp + 0x198]
mov cl, byte [rbp + 0xef]
mov byte [rbp - 0x19], cl
mov cl, 0x19
xor cl, 0x19
mov byte [rax], cl
mov rax, qword [rbp + 0x220]
mov qword [rbp + 0x1e0], rax
mov rax, qword [rbp + 0x228]
mov qword [rbp + 0x1e8], rax
lea rcx, [rbp + 0x1e0]
sub rsp, 0x20
call fcn.1401235d0
mov rax, qword [rbp + 0x198]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x6b
xor cl, 0x6b
cmp al, cl
jne 0x1401276f4
mov al, byte [rbp - 0x19]
mov rdx, qword [rbp + 0x198]
mov cl, 0x92
xor cl, 0x92
mov byte [rdx], al
cmp al, cl
je 0x1401276f9
jmp 0x140127b6f
lea rcx, [rbp + 0x250]
mov edx, 0x10
sub rsp, 0x20
call fcn.140124412
mov rcx, qword [rbp + 0x140]
add rsp, 0x20
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x30], rax
xor eax, eax
mov qword [rbp - 0x28], rax
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x38], rax
cmp rax, rcx
je 0x140127775
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp + 0x148]
movzx ecx, byte [rcx + rax + 8]
mov dl, byte [rbp + rcx + 0x250]
add dl, 0x6f
add dl, 1
sub dl, 0x6f
mov byte [rbp + rcx + 0x250], dl
add rax, 1
mov qword [rbp - 0x28], rax
jmp 0x14012772c
mov rcx, qword [rbp + 0x180]
mov byte [rbp + 0x250], 0
movabs rdx, 0xa3a6aa4a2f582984
movabs rax, 0xa3a6aa4a2f5829a4
xor rdx, rax
sub rsp, 0x20
call fcn.140124412
add rsp, 0x20
mov eax, 1
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x48], rax
cmp rax, 0x10
jne 0x140127918
mov eax, dword [0x1401fb1c8]
mov ecx, 0xcdc2793a
xor ecx, 0x1ede21cf
xor eax, ecx
mov edx, dword [0x1401fb1cc]
xor edx, 0x193aabed
mov r8d, 0xf0ac60d5
xor r8d, 0xf539f2a
mov ecx, eax
xor ecx, r8d
mov r8d, edx
xor r8d, 0xffffffff
and ecx, r8d
mov r8d, 0x416c0eb8
xor r8d, 0xbe93f147
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x1147dd86
mov edx, 0x945c55c8
xor edx, 0x851b884e
mov r8d, 0x5da3c46e
xor r8d, 0xa25c3b91
xor edx, r8d
and ecx, edx
sub ecx, eax
mov edx, 0x2bbf309b
xor edx, 0xd440cf64
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
mov edx, 0x5f326b62
xor edx, 0x9c1a102b
and eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc3287b49
mov r8d, 0x999865ad
xor r8d, 0x5ab01ee4
mov r9d, 0x2795409e
xor r9d, 0xd86abf61
xor r8d, r9d
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x15239cbb
xor edx, edx
div ecx
cmp eax, 0x3626c4d9
jae 0x140127bad
mov rdx, qword [rbp + 0x130]
mov eax, dword [0x1401fb1d0]
mov ecx, dword [0x1401fb1d4]
mov r8d, 0x618132ed
xor r8d, 0xfe5fce84
xor ecx, r8d
imul eax, ecx
xor ecx, ecx
sub ecx, 0xb727eb2
sub eax, ecx
imul eax, eax, 0xa6c0959c
mov ecx, 0xe62e84d7
xor ecx, 0xa2d253ef
or eax, ecx
xor ecx, ecx
test rdx, rdx
cmovg rcx, rdx
mov qword [rbp - 0x50], rcx
cmp eax, 0x9d331559
jbe 0x1401278b2
xor eax, eax
mov qword [rbp - 0x58], rax
jmp 0x140127a6c
mov eax, dword [0x1401fb1d8]
mov edx, dword [0x1401fb1dc]
xor ecx, ecx
sub ecx, edx
add eax, ecx
sub eax, 0x4f17440c
mov ecx, 0x763da541
xor edx, edx
div ecx
add eax, 0xd3a219b8
cmp eax, 0x3529ad7b
jb 0x140127bb6
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp + 0x180]
mov r8d, dword [0x1401fb1e0]
sub r8d, dword [0x1401fb1e4]
mov eax, r8d
or eax, eax
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xbc382660
mov r10d, 0xffffffff
xor r10d, 0xbc382660
and r9d, r10d
xor eax, 0xffffffff
xor r9d, 0xffffffff
and eax, r9d
or r8d, 0xbc382660
mov r9d, 0xd3e66be4
xor r9d, 0x2c19941b
xor r8d, r9d
mov r9d, 0x38cc8ea7
xor r9d, 0xc7337158
xor eax, r9d
mov r9d, 0x53608552
xor r9d, 0xac9f7aad
xor r8d, r9d
and eax, r8d
and eax, 0x52273485
imul eax, eax, 0xb7251a
mov r8w, word [rdx + rcx*2 - 2]
movzx ecx, byte [rbp + rcx + 0x24f]
mov r9w, 0xf7ae
xor r9w, 0x1a22
add r8w, r9w
add r8w, cx
sub r8w, 0xed8c
mov cx, 0x7501
xor cx, 0x7500
shl r8w, cl
mov rcx, qword [rbp - 0x48]
mov word [rdx + rcx*2], r8w
movabs rdx, 0xf7b973329a2280af
movabs r8, 0xf7b973329a2280ae
xor rdx, r8
movabs r8, 0xe478fec1e64e08ed
movabs r9, 0x1b87013e19b1f712
xor r8, r9
xor rdx, r8
xor r8d, r8d
sub r8, 1
sub rdx, r8
sub rcx, rdx
mov qword [rbp - 0x60], rcx
cmp eax, 0x401ffa19
jbe 0x140127948
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x40], rax
jmp 0x1401277b0
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x68], rax
cmp rax, rcx
je 0x140127b3d
mov rax, qword [rbp + 0x148]
mov rcx, qword [rbp - 0x68]
mov rdx, rax
add rdx, 8
add rdx, rcx
mov qword [rbp - 0x78], rdx
mov al, byte [rax + rcx + 8]
mov byte [rbp - 0x69], al
mov cl, 0x17
xor cl, 0x17
cmp al, cl
je 0x140127b2c
mov rax, qword [rbp + 0x180]
mov cl, byte [rbp - 0x69]
movzx ecx, cl
mov cx, word [rax + rcx*2]
sub rsp, 0x20
call fcn.140033560
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x198]
mov word [rbp - 0x7a], cx
cmp byte [rax], 0
jne 0x140127b6f
mov rax, qword [rbp + 0x180]
mov rcx, qword [rbp - 0x78]
mov rdx, qword [rbp + 0x138]
mov r8, qword [rbp - 0x68]
mov r9w, word [rbp - 0x7a]
movzx r9d, r9w
mov cl, byte [rcx]
xor cl, 0xff
add cl, 0x10
add cl, 1
movzx ecx, cl
shr r9d, cl
mov rcx, qword [rbp - 0x78]
mov word [rdx + r8*2 + 8], r9w
movzx ecx, byte [rcx]
mov dx, word [rax + rcx*2]
add dx, 1
mov word [rax + rcx*2], dx
mov rax, qword [rbp - 0x68]
add rax, 1
mov qword [rbp - 0x58], rax
rol byte [rcx], 0x48
mov dword [rbp - 0x58], eax
jmp 0x140127a6c
mov rax, qword [rbp + 0x190]
mov rcx, qword [rbp + 0x148]
mov rdx, qword [rbp + 0x140]
mov r8, qword [rbp + 0x138]
add dword [rax], eax
add byte [rax - 0x75], cl
xchg ebp, eax
add dword [rax], eax
add byte [rbx + rcx*4 - 0x7b], cl
cmp byte [rcx], al
add byte [rax], al
mov r9, qword [rbp + 0x130]
mov qword [rax], r9
mov qword [rax + 8], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rcx
mov rcx, qword [rbp + 0x1b0]
sub rsp, 0x20
call fcn.140126818
nop
lea rsp, [rbp + 0x260]
pop rbp
ret
xor edi, dword [rsi + 0x7b]
jmp 0x140126b5d
jns 0x140127b32
add dword [rbx], edx
jmp 0x140126d3c
push rdx
jmp 0x140127c06
invalid
in eax, 0x2d
je 0x140127b48
jmp 0x1401278b2
xor byte [rsi - 0x761658fa], cl
std
invalid
or al, 0
sub rsp, rax
mov rax, qword [rbp + 0x480]
mov rcx, rsp
mov qword [rbp + 0x448], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x480]
mov rcx, rsp
mov qword [rbp + 0x450], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x458], rax
mov eax, 0x20
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x460], rax
mov eax, 0x50
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x468], rax
mov eax, 0x30
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x480]
mov rcx, rsp
mov qword [rbp + 0x470], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x480]
mov rcx, rsp
mov qword [rbp + 0x478], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0x480]
mov rcx, rsp
mov qword [rbp + 0x488], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x490], rax
sub rsp, 0x20
call fcn.1401241f8
mov r9, qword [rbp + 0x498]
add rsp, 0x20
mov qword [rbp + 0x4a0], rax
movabs rax, 0xa2398f2d65f70f3c
movabs rcx, 0xa2398f2d65f70f3c
xor rax, rcx
mov qword [rbp + 0xbf8], rax
lea rax, [rbp + 0xbf8]
add rax, 8
mov qword [rbp + 0x4a8], rax
mov qword [rbp + 0xc00], 0
xor eax, eax
mov ecx, eax
sub rcx, r9
xor eax, eax
sub rax, 0xfffffffffffffff6
add rcx, rax
xor eax, eax
sub rax, rcx
cmp rax, 0xfffffffffffffff4
jae 0x140127dc9
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140013970
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140209088]
mov qword [rcx], rax
lea rax, [0x14020812c]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140208190]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140208198]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14020812c]
lea r8, [0x140208137]
lea r9, str.XeRL_
sub rsp, 0x30
mov qword [rsp + 0x20], 0xec9782c
call fcn.14001302b
add rsp, 0x30
jmp 0x14012abcf
mov rbx, qword [rbp + 0x430]
mov rsi, qword [rbp + 0x440]
movabs rdx, 0x8393cabc5c8d9c0e
movabs rax, 0x8393cabc5c8d9c1e
xor rdx, rax
lea rcx, [rbp + 0xbe8]
sub rsp, 0x20
call fcn.140124412
mov r11, qword [rbp + 0x448]
mov r10, qword [rbp + 0x450]
mov r9, qword [rbp + 0x498]
mov r8, qword [rbp + 0x458]
mov rdx, qword [rbp + 0x460]
mov rcx, qword [rbp + 0x478]
mov rax, qword [rbp + 0x490]
add rsp, 0x20
mov rsi, qword [rsi]
mov qword [rbp + 0xbe8], rsi
movabs rdi, 0x77a3b5f328acece1
movabs rsi, 0x77a3b5f32893131e
xor rdi, rsi
mov rsi, rbx
add rsi, rdi
shr rsi, 0x16
movabs r14, 0x6e1628dcc69d2fe2
movabs rdi, 0x6e1628dcc69d2fe3
xor r14, rdi
movabs rdi, 0xfb3f81532ef9e78e
movabs r15, 0xfb3f81532ef9e78f
xor rdi, r15
cmp rbx, r14
cmovl rsi, rdi
mov qword [rbp + 0x358], rsi
mov qword [rbp + 0xbe0], 0
add rsi, 0xffffffffffffffff
mov qword [rbp + 0x360], rsi
cmp r9, 0xfffffffffffffffe
sete bl
mov byte [rbp + 0x36f], bl
lea rsi, [rbp + 0x6a8]
add rsi, 0x4f0
mov qword [rbp + 0x370], rsi
lea rsi, [rbp + 0x698]
add rsi, 8
mov qword [rbp + 0x378], rsi
lea rsi, [rbp + 0x688]
add rsi, 8
mov qword [rbp + 0x380], rsi
add r11, 8
mov qword [rbp + 0x388], r11
add r10, 8
mov qword [rbp + 0x390], r10
cmp r9, 7
setl r9b
mov byte [rbp + 0x39f], r9b
lea r9, [rbp + 0xbc0]
add r9, 8
mov qword [rbp + 0x3a0], r9
lea r9, [rbp + 0xbc0]
add r9, 0x10
mov qword [rbp + 0x3a8], r9
lea r9, [rbp + 0xbc0]
add r9, 0x18
mov qword [rbp + 0x3b0], r9
lea r9, [rbp + 0x6a8]
add r9, 0x478
mov qword [rbp + 0x3b8], r9
lea r9, [rbp + 0xba0]
add r9, 8
mov qword [rbp + 0x3c0], r9
lea r9, [rbp + 0xba0]
add r9, 0x10
mov qword [rbp + 0x3c8], r9
lea r9, [rbp + 0xba0]
add r9, 0x18
mov qword [rbp + 0x3d0], r9
add r8, 8
mov qword [rbp + 0x3d8], r8
mov r8, rdx
add r8, 8
mov qword [rbp + 0x3e0], r8
mov r8, rdx
add r8, 0x10
mov qword [rbp + 0x3e8], r8
add rdx, 0x18
mov qword [rbp + 0x3f0], rdx
lea rdx, [rbp + 0x4f0]
add rdx, 8
mov qword [rbp + 0x3f8], rdx
add rcx, 8
mov qword [rbp + 0x400], rcx
add rax, 8
mov qword [rbp + 0x408], rax
lea rax, [rbp + 0x4e0]
add rax, 8
mov qword [rbp + 0x410], rax
lea rax, [rbp + 0x4d0]
add rax, 8
mov qword [rbp + 0x418], rax
lea rax, [rbp + 0x4c0]
add rax, 8
mov qword [rbp + 0x420], rax
xor eax, eax
mov qword [rbp + 0x428], rax
mov rcx, qword [rbp + 0x358]
mov rax, qword [rbp + 0x428]
mov qword [rbp + 0x350], rax
cmp rax, rcx
je 0x14012ab90
lea rcx, [rbp + 0xbc0]
mov edx, 0x20
sub rsp, 0x20
call fcn.140124412
add rsp, 0x20
lea rcx, [rbp + 0xba0]
mov edx, 0x20
sub rsp, 0x20
call fcn.140124412
mov r8, qword [rbp + 0x430]
mov rcx, qword [rbp + 0x360]
mov rax, qword [rbp + 0x350]
add rsp, 0x20
mov rdx, rax
shl rdx, 0x16
mov qword [rbp + 0x2f8], rdx
sub r8, rdx
mov rdx, r8
sub rdx, 0x400000
mov edx, 0x400000
cmovl rdx, r8
mov qword [rbp + 0x300], rdx
cmp rax, rcx
sete al
mov byte [rbp + 0x2f7], al
mov qword [rbp + 0xbe0], 0
lea rcx, [rbp + 0x6a8]
mov edx, 0x4f8
sub rsp, 0x20
call fcn.140124412
mov r11, qword [rbp + 0x438]
mov r10, qword [rbp + 0x2f8]
mov rax, qword [rbp + 0x300]
add rsp, 0x20
lea rcx, [rbp + 0xbf8]
lea rdx, [rbp + 0xbe0]
mov r8, qword [0x140209318]
lea r9, [rbp + 0x6a8]
sub rsp, 0x40
mov qword [rsp + 0x20], r11
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x30], rax
call fcn.140120170
mov rax, qword [rbp + 0x4a0]
add rsp, 0x40
mov cl, byte [rax]
mov dl, 0x62
xor dl, 0x62
xor eax, eax
mov qword [rbp + 0x308], rax
cmp cl, dl
mov rcx, rax
mov qword [rbp + 0x310], rcx
mov rcx, rax
mov qword [rbp + 0x318], rcx
mov rcx, rax
mov qword [rbp + 0x320], rcx
mov rcx, rax
mov qword [rbp + 0x328], rcx
mov rcx, rax
mov qword [rbp + 0x330], rcx
mov rcx, rax
mov qword [rbp + 0x338], rcx
mov rcx, rax
mov qword [rbp + 0x340], rcx
mov qword [rbp + 0x348], rax
jne 0x14012a93d
mov al, byte [rbp + 0x36f]
test al, 1
jne 0x1401284ce
jmp 0x1401281c1
mov rax, qword [rbp + 0x370]
mov rcx, qword [rbp + 0x300]
cvtsi2ss xmm0, rcx
cvtss2sd xmm0, xmm0
movsd xmm1, qword [0x140208110]
mulsd xmm0, xmm1
cvttsd2si rcx, xmm0
cmp qword [rax], rcx
jl 0x1401284ce
mov r9, qword [rbp + 0x2f8]
mov r8, qword [rbp + 0x438]
mov rdx, qword [rbp + 0x440]
mov rcx, qword [rbp + 0x300]
mov r10b, byte [rbp + 0x2f7]
sub rsp, 0x30
and r10b, 1
mov rax, rsp
mov byte [rax + 0x28], r10b
mov qword [rax + 0x20], rcx
lea rcx, [rbp + 0xbe8]
call fcn.140123c20
mov rcx, qword [rbp + 0x4a0]
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x2e8], rax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x310], rcx
mov rcx, rax
mov qword [rbp + 0x318], rcx
mov rcx, rax
mov qword [rbp + 0x320], rcx
mov rcx, rax
mov qword [rbp + 0x328], rcx
mov rcx, rax
mov qword [rbp + 0x330], rcx
mov rcx, rax
mov qword [rbp + 0x338], rcx
mov rcx, rax
mov qword [rbp + 0x340], rcx
mov qword [rbp + 0x348], rax
jne 0x14012a93d
mov eax, dword [0x1401fb1e8]
xor edx, edx
div dword [str.w_nUb8]
or eax, 0x46092af0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xb215a2f3
mov edx, 0xffffffff
xor edx, 0xb215a2f3
and eax, edx
sub eax, ecx
mov ecx, 0x53187dd6
xor ecx, 0x90cd0eb7
sub eax, ecx
cmp eax, 0x192cc0b3
jbe 0x14012ac10
mov rax, qword [rbp + 0x378]
mov r9d, dword [0x1401fb1f0]
mov r8d, dword [0x1401fb1f4]
xor r8d, 0x257691e0
mov ecx, r9d
xor ecx, 0xffffffff
mov edx, 0x24053cee
xor edx, 0xa1b9fee9
and edx, ecx
mov r10d, 0xffffffff
xor r10d, 0x85bcc207
and r9d, r10d
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0x85bcc207
and r8d, r10d
or edx, r9d
or ecx, r8d
xor edx, ecx
mov ecx, edx
or ecx, ecx
mov r8d, 0x3726677c
xor r8d, 0xc8d99883
xor ecx, r8d
mov r8d, 0x6cd084fa
xor r8d, 0xb7b7a432
mov r9d, 0x845e75b1
xor r9d, 0x5f395579
or r8d, r9d
mov r9d, 0xee95551e
xor r9d, 0x116aaae1
xor r8d, r9d
xor ecx, 0xffffffff
mov r9d, 0xee1c9868
xor r9d, 0x11e36797
xor r8d, r9d
and ecx, r8d
mov r8d, 0xaf6a193c
xor r8d, 0x5095e6c3
xor edx, r8d
mov r8d, 0x5f00ffe5
xor r8d, 0x8467df2d
mov r9d, 0x2e0680ee
xor r9d, 0xd1f97f11
xor r8d, r9d
and edx, r8d
mov r8d, 0x369023f1
xor r8d, 0xc96fdc0e
xor ecx, r8d
xor edx, 0xffffffff
and ecx, edx
xor edx, edx
sub edx, 0x7f43faf2
add ecx, edx
imul ecx, ecx, 0x3720bf1f
mov dword [rbp + 0x2e4], ecx
mov qword [rbp + 0x698], 0
mov qword [rax], 0
lea rcx, [rbp + 0x698]
sub rsp, 0x20
call fcn.14002208d
mov rax, qword [rbp + 0x380]
add rsp, 0x20
mov qword [rbp + 0x688], 0
mov qword [rax], 0
lea rcx, [rbp + 0x688]
sub rsp, 0x20
call fcn.140025937
add rsp, 0x20
lea rcx, [rbp + 0xba0]
sub rsp, 0x20
call fcn.140124213
mov rax, qword [rbp + 0x388]
mov rcx, qword [rbp + 0x448]
add rsp, 0x20
mov qword [rcx], 0
mov qword [rax], 0
sub rsp, 0x20
call fcn.14002208d
mov rax, qword [rbp + 0x390]
mov rcx, qword [rbp + 0x450]
add rsp, 0x20
mov qword [rcx], 0
mov qword [rax], 0
sub rsp, 0x20
call fcn.140025937
add rsp, 0x20
lea rcx, [rbp + 0xbc0]
sub rsp, 0x20
call fcn.140124213
mov eax, dword [rbp + 0x2e4]
add rsp, 0x20
cmp eax, 0x8d6c2bf8
jb 0x14012ac10
jmp 0x14012aa6d
mov al, byte [rbp + 0x39f]
mov rcx, qword [rbp + 0x300]
sub rcx, 0x801
setl cl
and al, cl
mov byte [rbp + 0x2e3], al
test al, 1
jne 0x1401284fa
jmp 0x1401286a6
mov eax, dword [0x1401fb1f8]
xor eax, 0x73efe8f6
mov edx, dword [0x1401fb1fc]
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, edx
sub eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xbd41f358
mov edx, 0xe7574a0d
xor edx, 0x5a16b955
mov r8d, 0xc2912e58
xor r8d, 0x3d6ed1a7
xor edx, r8d
or ecx, edx
mov edx, 0x9e4b12c1
xor edx, 0x61b4ed3e
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xbfae75c2
xor ecx, 0x992cb43c
and eax, ecx
mov edx, 0xc9b91c05
xor edx, 0xd431ae7c
mov ecx, eax
xor ecx, edx
mov edx, 0x90800273
xor edx, 0x8d08b00a
mov r8d, 0x43beec01
xor r8d, 0xbc4113fe
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0x881c98a8
je 0x14012ac19
mov r11d, dword [0x1401fb200]
and r11d, dword [0x1401fb204]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xfb138d28
mov edx, 0xffffffff
xor edx, 0x9911001e
mov r9d, 0xe434f6a0
xor r9d, 0x7d25f6be
mov eax, ecx
and eax, r9d
and r11d, edx
mov r9d, r8d
and r9d, 0x9911001e
mov r10d, edx
and r10d, 0xfb138d28
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x9911001e
and ecx, edx
or eax, ecx
sub eax, 0x8236eb7e
mov ecx, 0x51f2e968
xor ecx, 0xf8156715
or eax, ecx
mov dword [rbp + 0x2dc], eax
lea rcx, [rbp + 0x668]
mov edx, 0x20
sub rsp, 0x20
call fcn.140124412
add rsp, 0x20
lea rcx, [0x140208150]
lea rdx, [rbp + 0x668]
sub rsp, 0x20
call fcn.140124260
mov eax, dword [rbp + 0x2dc]
add rsp, 0x20
mov rcx, qword [rbp + 0x668]
mov qword [rbp + 0xbc0], rcx
mov rcx, qword [rbp + 0x670]
mov qword [rbp + 0xbc8], rcx
mov rcx, qword [rbp + 0x678]
mov qword [rbp + 0xbd0], rcx
mov rcx, qword [rbp + 0x680]
mov qword [rbp + 0xbd8], rcx
cmp eax, 0x5410572e
je 0x14012859e
jmp 0x14012873d
lea rcx, [rbp + 0x6a8]
mov edx, 0x11e
mov r8d, 0x101
mov r9d, 0xf
lea rax, [rbp + 0xbc0]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140126850
mov rcx, qword [rbp + 0x4a0]
add rsp, 0x30
xor eax, eax
mov qword [rbp + 0x2d0], rax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x310], rcx
mov rcx, rax
mov qword [rbp + 0x318], rcx
mov rcx, rax
mov qword [rbp + 0x320], rcx
mov rcx, rax
mov qword [rbp + 0x328], rcx
mov rcx, rax
mov qword [rbp + 0x330], rcx
mov rcx, rax
mov qword [rbp + 0x338], rcx
mov rcx, rax
mov qword [rbp + 0x340], rcx
mov qword [rbp + 0x348], rax
jne 0x14012a93d
mov rax, qword [rbp + 0x3a0]
mov rcx, qword [rbp + 0xbc0]
mov qword [rbp + 0x2b0], rcx
mov rax, qword [rax]
mov qword [rbp + 0x2b8], rax
lea rcx, [rbp + 0xbc0]
sub rsp, 0x20
call fcn.1400265f2
mov rax, qword [rbp + 0x3b0]
mov rcx, qword [rbp + 0x3a8]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x2c0], rdx
mov rax, qword [rax]
mov qword [rbp + 0x2c8], rax
sub rsp, 0x20
call fcn.140026602
mov al, byte [rbp + 0x2e3]
add rsp, 0x20
test al, 1
jne 0x1401287b2
jmp 0x140128823
lea rcx, [rbp + 0x648]
mov edx, 0x20
sub rsp, 0x20
call fcn.140124412
add rsp, 0x20
lea rcx, [0x140208170]
lea rdx, [rbp + 0x648]
sub rsp, 0x20
call fcn.140124260
add rsp, 0x20
mov rax, qword [rbp + 0x648]
mov qword [rbp + 0xba0], rax
mov rax, qword [rbp + 0x650]
mov qword [rbp + 0xba8], rax
mov rax, qword [rbp + 0x658]
mov qword [rbp + 0xbb0], rax
mov rax, qword [rbp + 0x660]
mov qword [rbp + 0xbb8], rax
jmp 0x1401288f9
mov rcx, qword [rbp + 0x3b8]
movabs rdx, 0x468644bc570bcb2d
movabs rax, 0x468644bc570bcb33
xor rdx, rax
movabs r8, 0x1cfb788299f4cea8
movabs rax, 0x1cfb788299f4ceaa
xor r8, rax
movabs r9, 0x1d814a04aa67f8b8
movabs rax, 0x1d814a04aa67f8b7
xor r9, rax
lea rax, [rbp + 0xba0]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140126850
mov r10, qword [rbp + 0x4a0]
mov r8, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2b0]
mov rax, qword [rbp + 0x2b8]
add rsp, 0x30
xor r9d, r9d
cmp byte [r10], 0
mov r10, r9
mov qword [rbp + 0x310], r10
mov r10, r9
mov qword [rbp + 0x318], r10
mov r10, r9
mov qword [rbp + 0x320], r10
mov qword [rbp + 0x328], r9
mov qword [rbp + 0x330], r8
mov qword [rbp + 0x338], rdx
mov qword [rbp + 0x340], rcx
mov qword [rbp + 0x348], rax
jne 0x14012a93d
mov rax, qword [rbp + 0x3c0]
mov rcx, qword [rbp + 0xba0]
mov qword [rbp + 0x290], rcx
mov rax, qword [rax]
mov qword [rbp + 0x298], rax
lea rcx, [rbp + 0xba0]
sub rsp, 0x20
call fcn.1400265f2
mov rax, qword [rbp + 0x3d0]
mov rcx, qword [rbp + 0x3c8]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x2a0], rdx
mov rax, qword [rax]
mov qword [rbp + 0x2a8], rax
sub rsp, 0x20
call fcn.140026602
mov al, byte [rbp + 0x2e3]
add rsp, 0x20
test al, 1
jne 0x14012896e
jmp 0x140128adf
mov rsi, qword [rbp + 0x2a0]
mov rdi, qword [rbp + 0x4a0]
mov rdx, qword [rbp + 0x440]
mov al, byte [rbp + 0x2f7]
and al, 1
movzx r8d, al
lea rcx, [rbp + 0xbe8]
mov r9d, 1
sub rsp, 0x20
call fcn.14011f980
mov r11, qword [rbp + 0x2a8]
mov r10, qword [rbp + 0x290]
mov r9, qword [rbp + 0x298]
mov r8, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2b0]
mov rax, qword [rbp + 0x2b8]
add rsp, 0x20
cmp byte [rdi], 0
mov qword [rbp + 0x310], rsi
mov qword [rbp + 0x318], r11
mov qword [rbp + 0x320], r10
mov qword [rbp + 0x328], r9
mov qword [rbp + 0x330], r8
mov qword [rbp + 0x338], rdx
mov qword [rbp + 0x340], rcx
mov qword [rbp + 0x348], rax
jne 0x14012a93d
mov rsi, qword [rbp + 0x2a0]
mov rdi, qword [rbp + 0x4a0]
mov rdx, qword [rbp + 0x440]
mov r8d, 0x91d0e5ed
xor r8d, 0x91d0e5ec
movabs r9, 0xba2cab12945dd2d3
movabs rax, 0xba2cab12945dd2d1
xor r9, rax
lea rcx, [rbp + 0xbe8]
sub rsp, 0x20
call fcn.14011f980
mov r11, qword [rbp + 0x2a8]
mov r10, qword [rbp + 0x290]
mov r9, qword [rbp + 0x298]
mov r8, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2b0]
mov rax, qword [rbp + 0x2b8]
add rsp, 0x20
cmp byte [rdi], 0
mov qword [rbp + 0x310], rsi
mov qword [rbp + 0x318], r11
mov qword [rbp + 0x320], r10
mov qword [rbp + 0x328], r9
mov qword [rbp + 0x330], r8
mov qword [rbp + 0x338], rdx
mov qword [rbp + 0x340], rcx
mov qword [rbp + 0x348], rax
je 0x140129db9
jmp 0x14012a93d
mov rcx, qword [rbp + 0x460]
mov rax, qword [rbp + 0x3d8]
mov rdx, qword [rbp + 0x458]
mov qword [rdx], 0
mov qword [rax], 0
movabs rdx, 0xf3e8d038c876981
movabs rax, 0xf3e8d038c8769a1
xor rdx, rax
sub rsp, 0x20
call fcn.140124412
add rsp, 0x20
lea rcx, [rbp + 0x500]
mov edx, 0x13c
sub rsp, 0x20
call fcn.140124412
mov rcx, qword [rbp + 0x2b0]
add rsp, 0x20
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x280], rax
xor eax, eax
mov qword [rbp + 0x288], rax
mov rcx, qword [rbp + 0x280]
mov rax, qword [rbp + 0x288]
mov qword [rbp + 0x278], rax
cmp rax, rcx
jne 0x140128bb0
mov rcx, qword [rbp + 0x280]
mov rdx, qword [rbp + 0x290]
xor eax, eax
test rdx, rdx
cmovg rax, rdx
mov qword [rbp + 0x260], rax
xor eax, eax
mov qword [rbp + 0x268], rcx
mov qword [rbp + 0x270], rax
jmp 0x140128c98
mov eax, dword [0x1401fb208]
xor eax, dword [0x1401fb20c]
mov ecx, 0x4c29fd74
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xffffffff
xor edx, 0x9e64c6e0
mov eax, ecx
xor eax, edx
and eax, ecx
xor eax, 0x2b230fa7
cmp eax, 0x8bd7fcc7
jae 0x14012ac22
mov rcx, qword [rbp + 0x278]
mov eax, dword [0x1401fb210]
mov r8d, dword [0x1401fb214]
mov edx, 0x9fac9dca
xor edx, 0x2859151f
xor r8d, edx
or eax, eax
xor eax, 0xffffffff
mov r9d, 0xe15e8124
xor r9d, 0x1ea17edb
mov edx, r8d
xor edx, r9d
xor r8d, 0xffffffff
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0x1b926059
xor edx, 0x3e2b0d78
add eax, edx
add eax, 0x2794d877
mov edx, 0x9ab165cf
xor edx, 0xbf0808ee
sub eax, edx
mov r8d, 0xb020fd38
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x2c8]
add eax, 0x1c118c1c
mov dl, byte [rdx + rcx + 8]
mov byte [rbp + rcx + 0x500], dl
add rcx, 1
mov qword [rbp + 0x258], rcx
cmp eax, 0x6e8cacf5
je 0x14012ac22
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x288], rax
jmp 0x140128b5f
mov rcx, qword [rbp + 0x260]
mov rdx, qword [rbp + 0x268]
mov rax, qword [rbp + 0x270]
mov qword [rbp + 0x248], rax
mov qword [rbp + 0x250], rdx
cmp rax, rcx
je 0x140128cff
mov rax, qword [rbp + 0x248]
mov rcx, qword [rbp + 0x250]
mov rdx, qword [rbp + 0x2a8]
mov dl, byte [rdx + rax + 8]
mov byte [rbp + rcx + 0x500], dl
add rcx, 1
add rax, 1
mov qword [rbp + 0x268], rcx
mov qword [rbp + 0x270], rax
jmp 0x140128c98
mov rax, qword [rbp + 0x3d8]
mov rcx, qword [rbp + 0x458]
mov r8, qword [rbp + 0x2b0]
mov rdx, qword [rbp + 0x290]
add rdx, r8
mov qword [rbp + 0x238], rdx
mov qword [rcx], 0
mov qword [rax], 0
xor eax, eax
mov qword [rbp + 0x240], rax
mov rcx, qword [rbp + 0x238]
mov rax, qword [rbp + 0x240]
mov qword [rbp + 0x230], rax
cmp rax, rcx
jge 0x140129228
mov rax, qword [rbp + 0x230]
mov al, byte [rbp + rax + 0x500]
mov byte [rbp + 0x227], al
xor eax, eax
mov qword [rbp + 0x228], rax
mov rcx, qword [rbp + 0x238]
mov r8, qword [rbp + 0x230]
mov rax, qword [rbp + 0x228]
mov qword [rbp + 0x208], rax
add rax, 1
mov qword [rbp + 0x210], rax
xor edx, edx
sub rdx, rax
xor eax, eax
sub rax, r8
add rdx, rax
xor eax, eax
sub rax, rdx
mov qword [rbp + 0x218], rax
cmp rax, rcx
jge 0x140128de8
mov rax, qword [rbp + 0x210]
mov rcx, qword [rbp + 0x218]
mov dl, byte [rbp + 0x227]
cmp byte [rbp + rcx + 0x500], dl
mov qword [rbp + 0x228], rax
je 0x140128d77
mov rcx, qword [rbp + 0x208]
mov al, byte [rbp + 0x227]
test al, al
sete al
sub rcx, 2
setae cl
and al, cl
test al, 1
jne 0x140128e10
jmp 0x140128f2e
mov rcx, qword [rbp + 0x208]
mov al, 0x11
mov dl, 0x12
mov byte [rbp + 0x206], dl
cmp rcx, 0xa
mov byte [rbp + 0x207], al
jb 0x140128e3d
mov al, byte [rbp + 0x206]
mov byte [rbp + 0x207], al
mov rcx, qword [rbp + 0x208]
mov rdx, qword [rbp + 0x210]
mov al, byte [rbp + 0x207]
mov byte [rbp + 0x1f7], al
mov eax, 0x8a
cmp rcx, 0x8a
cmovb rax, rdx
mov qword [rbp + 0x1f8], rax
mov al, 0xfd
mov dl, 0xf5
mov byte [rbp + 0x204], dl
cmp rcx, 0xa
mov byte [rbp + 0x205], al
jb 0x140128e94
mov al, byte [rbp + 0x204]
mov byte [rbp + 0x205], al
mov rcx, qword [rbp + 0x458]
mov dl, byte [rbp + 0x1f7]
mov al, byte [rbp + 0x205]
mov byte [rbp + 0x1e7], al
sub rsp, 0x20
call fcn.140022100
mov dl, byte [rbp + 0x1e7]
mov rcx, qword [rbp + 0x458]
mov rax, qword [rbp + 0x1f8]
add rsp, 0x20
add dl, al
sub rsp, 0x20
call fcn.140022100
mov rax, qword [rbp + 0x230]
mov rdx, qword [rbp + 0x1f8]
add rsp, 0x20
movabs rcx, 0x676e608f9b71e7e1
movabs r8, 0x98919f70648e181e
xor rcx, r8
add rax, rcx
movabs rcx, 0x91a71cda9a2ddd98
movabs r8, 0x91a71cda9a2ddd98
xor rcx, r8
sub rcx, rdx
sub rax, rcx
mov qword [rbp + 0x1e8], rax
jmp 0x14012920c
mov dl, byte [rbp + 0x227]
mov rcx, qword [rbp + 0x458]
sub rsp, 0x20
call fcn.140022100
mov rcx, qword [rbp + 0x208]
mov rax, qword [rbp + 0x230]
add rsp, 0x20
cmp rcx, 2
mov qword [rbp + 0x1e8], rax
jbe 0x14012920c
mov rax, qword [rbp + 0x208]
mov ecx, 6
xor edx, edx
div rcx
mov rcx, rax
mov rax, qword [rbp + 0x208]
mov qword [rbp + 0x1c8], rcx
movabs rcx, 0x4c034ae7009af491
movabs rdx, 0x4c034ae7009af497
xor rcx, rdx
xor edx, edx
div rcx
mov qword [rbp + 0x1d0], rdx
xor eax, eax
mov qword [rbp + 0x1d8], rax
mov rcx, qword [rbp + 0x1c8]
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x1c0], rax
cmp rax, rcx
je 0x14012904c
mov rcx, qword [rbp + 0x458]
mov dl, 0xc8
xor dl, 0xd8
sub rsp, 0x20
call fcn.140022100
mov rcx, qword [rbp + 0x458]
add rsp, 0x20
mov dl, 0xfc
xor dl, 0xff
sub rsp, 0x20
call fcn.140022100
mov rax, qword [rbp + 0x1c0]
add rsp, 0x20
movabs rcx, 0xe8eeb6e1b21fcddf
add rax, rcx
movabs rcx, 0x64e3d59aedca6cd6
movabs rdx, 0x64e3d59aedca6cd7
xor rcx, rdx
add rax, rcx
movabs rcx, 0xe8eeb6e1b21fcddf
sub rax, rcx
mov qword [rbp + 0x1d8], rax
jmp 0x140128fb5
mov rax, qword [rbp + 0x1d0]
cmp rax, 2
jbe 0x1401290a9
mov rcx, qword [rbp + 0x458]
mov dl, 0xc
xor dl, 0x1c
sub rsp, 0x20
call fcn.140022100
mov rax, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x458]
add rsp, 0x20
mov dl, al
add dl, 0xfd
sub rsp, 0x20
call fcn.140022100
mov rax, qword [rbp + 0x208]
add rsp, 0x20
mov qword [rbp + 0x1b8], rax
jmp 0x1401290d2
mov rax, qword [rbp + 0x208]
mov rdx, qword [rbp + 0x1d0]
mov rcx, rax
xor rcx, 0xffffffffffffffff
and rcx, rdx
xor rdx, 0xffffffffffffffff
and rax, rdx
sub rax, rcx
mov qword [rbp + 0x1b8], rax
mov rax, qword [rbp + 0x1b8]
mov qword [rbp + 0x1b0], rax
mov eax, dword [0x1401fb218]
xor eax, 0x9481bf54
mov ecx, dword [0x1401fb21c]
xor ecx, 0x880ca0e4
add eax, 0xf819f583
sub eax, ecx
mov ecx, 0x73ba4932
xor ecx, 0x8ba3bcb1
sub eax, ecx
mov ecx, 0xd833d212
xor ecx, 0x76b34266
and eax, ecx
mov r8d, 0x63aa2ed7
xor r8d, 0x7dfa7bd8
mov ecx, 0x6d12329e
xor ecx, 0x92edcd61
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xfe4f7be5
xor r8d, 0x1b0841a
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x1e50550f
or eax, 0x1e50550f
imul eax, edx
add eax, ecx
imul eax, eax, 0x5f330ea7
mov ecx, 0xf2fc5c0b
xor ecx, 0xfd2e1a0f
cmp eax, ecx
ja 0x14012ac2b
mov r8, qword [rbp + 0x230]
mov rcx, qword [rbp + 0x1b0]
mov edx, dword [0x1401fb220]
mov r9d, dword [0x1401fb224]
xor r9d, 0xffffffff
mov eax, edx
xor eax, r9d
and eax, edx
mov edx, 0xb31ae941
xor edx, 0x4598ea73
add eax, edx
add eax, 0xb427a84e
mov edx, 0xa7632fc4
xor edx, 0xa43082ed
add eax, edx
movabs rdx, 0x93e74b89839b8a66
movabs r9, 0x93e74b89839b8a66
xor rdx, r9
sub rdx, rcx
xor ecx, ecx
sub rcx, r8
add rdx, rcx
xor ecx, ecx
sub rcx, rdx
mov qword [rbp + 0x1a8], rcx
cmp eax, 0xaa05c326
jb 0x14012917b
mov rax, qword [rbp + 0x1a8]
mov qword [rbp + 0x1e8], rax
jmp 0x14012920c
mov rax, qword [rbp + 0x1e8]
xor ecx, ecx
sub rcx, 1
sub rax, rcx
mov qword [rbp + 0x240], rax
jmp 0x140128d3c
mov rcx, qword [rbp + 0x468]
mov edx, 0x4c
sub rsp, 0x20
call fcn.140124412
mov rcx, qword [rbp + 0x458]
mov rax, qword [rbp + 0x3d8]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp + 0x190], rcx
mov rax, qword [rax]
mov qword [rbp + 0x198], rax
xor eax, eax
mov qword [rbp + 0x1a0], rax
mov rcx, qword [rbp + 0x190]
mov rax, qword [rbp + 0x1a0]
mov qword [rbp + 0x188], rax
cmp rax, rcx
jge 0x140129415
mov eax, dword [0x1401fb228]
mov edx, dword [0x1401fb22c]
mov ecx, 0x18d2549e
xor ecx, 0x18d2549e
sub ecx, edx
sub eax, ecx
mov ecx, 0x6e4d9d3f
xor ecx, 0xe6999069
add eax, ecx
add eax, 0x23499679
sub eax, 0x88d40d56
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xb4748d3c
xor ecx, 0xf0d9ccc1
mov edx, 0x35f847b1
xor edx, 0x7155064c
or ecx, edx
mov edx, 0x10c41bce
xor edx, 0xef3be431
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
imul eax, eax, 0x61677de2
cmp eax, 0x1f28131b
je 0x14012ac34
mov rdx, qword [rbp + 0x188]
mov r9, qword [rbp + 0x468]
mov r8, qword [rbp + 0x198]
mov ecx, dword [0x1401fb230]
or ecx, dword [0x1401fb234]
sub ecx, 0xaf98a34
mov eax, ecx
xor eax, 0xb62084e
xor eax, 0xffffffff
or ecx, 0xb62084e
and ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r10d, 0x2a40da35
xor r10d, 0xbe3ea560
mov r11d, 0xdb4963b7
xor r11d, 0x24b69c48
xor r10d, r11d
and eax, r10d
mov r10d, 0x619415fe
xor r10d, 0x9e6bea01
xor ecx, r10d
mov r10d, 0xffffffff
xor r10d, 0x947e7f55
and ecx, r10d
or eax, ecx
mov ecx, 0x44eb3c1f
xor ecx, 0xbb14c3e0
xor eax, ecx
mov ecx, 0x22100502
xor ecx, 0xcf524f2b
mov r8b, byte [r8 + rdx + 8]
movzx r10d, r8b
mov r11d, dword [r9 + r10*4]
add r11d, 1
mov dword [r9 + r10*4], r11d
cmp r8b, 0xf
seta r8b
and r8b, 1
movzx r8d, r8b
movabs r9, 0x432e0f261bbe96d3
movabs r10, 0x432e0f261bbe96d3
xor r9, r10
movabs r10, 0xe93487e3a1344562
movabs r11, 0xe93487e3a1344563
xor r10, r11
sub r9, r10
sub rdx, r9
add rdx, r8
mov qword [rbp + 0x180], rdx
cmp eax, ecx
jae 0x1401292ff
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x1a0], rax
jmp 0x14012926c
mov rax, qword [rbp + 0x460]
mov rcx, qword [rbp + 0x468]
mov r8d, 0x13
mov r9d, 7
sub rsp, 0x30
mov rdx, r8
mov qword [rsp + 0x20], rax
call fcn.140126850
mov rax, qword [rbp + 0x4a0]
add rsp, 0x30
cmp byte [rax], 0
jne 0x140129b94
mov rcx, qword [rbp + 0x460]
mov rax, qword [rbp + 0x3e0]
mov rdx, qword [rcx]
mov qword [rbp + 0x158], rdx
mov rax, qword [rax]
mov qword [rbp + 0x160], rax
sub rsp, 0x20
call fcn.1400265f2
mov rax, qword [rbp + 0x3f0]
mov rcx, qword [rbp + 0x3e8]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x168], rdx
mov rax, qword [rax]
mov qword [rbp + 0x170], rax
sub rsp, 0x20
call fcn.140026602
mov rcx, qword [rbp + 0x470]
add rsp, 0x20
mov edx, 0x26
sub rsp, 0x20
call fcn.140124412
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x178], rax
mov rcx, qword [rbp + 0x178]
mov qword [rbp + 0x148], rcx
mov eax, 0x13
cmp rcx, 0x13
mov qword [rbp + 0x150], rax
je 0x140129533
mov rax, qword [rbp + 0x148]
mov rcx, qword [rbp + 0x470]
mov rdx, qword [rbp + 0x170]
mov r8, qword [0x140209310]
movzx r8d, byte [r8 + rax]
movzx edx, byte [rdx + r8 + 8]
mov word [rcx + rax*2], dx
add rax, 1
mov qword [rbp + 0x178], rax
jmp 0x1401294d4
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x140], rax
mov eax, dword [0x1401fb238]
mov ecx, dword [0x1401fb23c]
xor ecx, 0xf42e4867
and eax, ecx
and eax, 0xed9df6e5
mov r8d, 0xffffffff
xor r8d, 0x2bf58283
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xe2b67d9
xor r8d, 0x25dee55a
mov edx, eax
and edx, r8d
mov r8d, 0xd1276ed3
xor r8d, 0xfad2ec50
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x7c2231a9
xor ecx, 0x66de55ba
and eax, ecx
cmp eax, 0x90b92dbe
je 0x14012ac3d
mov rcx, qword [rbp + 0x470]
mov eax, dword [0x1401fb240]
mov edx, dword [0x1401fb244]
xor edx, 0x554b5c7f
sub eax, edx
mov r8d, 0x2b5b5bdc
xor r8d, 0x60289a5
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x140]
mov r8d, eax
and r8d, 0xef2ab22b
shl r8d, 1
xor eax, 0xef2ab22b
add eax, r8d
or eax, 0x6c5a7251
mov r8, rdx
add r8, 0xffffffffffffffff
mov qword [rbp + 0x130], r8
cmp word [rcx + rdx*2 - 2], 0
sete cl
mov byte [rbp + 0x13f], cl
cmp eax, 0xd72ccfba
jb 0x1401295b6
mov rax, qword [rbp + 0x130]
mov cl, byte [rbp + 0x13f]
test cl, 1
mov qword [rbp + 0x150], rax
jne 0x140129533
jmp 0x14012964f
mov rdx, qword [rbp + 0x440]
mov al, byte [rbp + 0x2f7]
and al, 1
movzx r8d, al
lea rcx, [rbp + 0xbe8]
mov r9d, 1
sub rsp, 0x20
call fcn.14011f980
mov rax, qword [rbp + 0x4a0]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140129b94
mov rdx, qword [rbp + 0x440]
lea rcx, [rbp + 0xbe8]
mov r8d, 2
mov r9d, 2
sub rsp, 0x20
call fcn.14011f980
mov rax, qword [rbp + 0x4a0]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140129b94
mov rdx, qword [rbp + 0x440]
mov rax, qword [rbp + 0x2b0]
mov r8d, eax
add r8d, 0xfffffeff
movabs r9, 0x2d2c9f984ef403c7
movabs rax, 0x2d2c9f984ef403c2
xor r9, rax
lea rcx, [rbp + 0xbe8]
sub rsp, 0x20
call fcn.14011f980
mov rax, qword [rbp + 0x4a0]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140129b94
mov rdx, qword [rbp + 0x440]
mov rax, qword [rbp + 0x290]
mov r8d, eax
mov eax, r8d
and eax, 0xffffffff
shl eax, 1
xor r8d, 0xffffffff
add r8d, eax
movabs r9, 0x568fb19959c061ee
movabs rax, 0x568fb19959c061eb
xor r9, rax
lea rcx, [rbp + 0xbe8]
sub rsp, 0x20
call fcn.14011f980
mov rax, qword [rbp + 0x4a0]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140129b94
mov rdx, qword [rbp + 0x440]
mov rax, qword [rbp + 0x140]
mov r8d, eax
add r8d, 0xfffffffc
lea rcx, [rbp + 0xbe8]
mov r9d, 4
sub rsp, 0x20
call fcn.14011f980
mov rax, qword [rbp + 0x4a0]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140129b94
mov rcx, qword [rbp + 0x140]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x120], rax
xor eax, eax
mov qword [rbp + 0x128], rax
mov rdx, qword [rbp + 0x120]
mov rcx, qword [rbp + 0x128]
mov qword [rbp + 0x110], rcx
xor eax, eax
cmp rcx, rdx
mov qword [rbp + 0x118], rax
je 0x140129952
mov eax, dword [0x1401fb248]
sub eax, dword [0x1401fb24c]
mov ecx, 0xffffffff
xor ecx, 0xad4fd155
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x48059d3b
xor edx, edx
div ecx
add eax, 0xfadd63bb
cmp eax, 0x583850fa
je 0x14012ac46
mov rcx, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x440]
mov rax, qword [rbp + 0x470]
mov r8d, dword [0x1401fb250]
mov r11d, dword [0x1401fb254]
mov esi, r11d
xor esi, 0xffffffff
mov r10d, r8d
and r10d, esi
mov r9d, r8d
or r9d, esi
xor r9d, 0xffffffff
imul r9d, r10d
mov r10d, r8d
and r10d, r11d
or r8d, r11d
imul r8d, r10d
add r8d, r9d
add r8d, 0xbcd4a806
imul r8d, r8d, 0xbddfe255
sub r8d, 0xdbd0b510
mov dword [rbp + 0x100], r8d
mov r8d, 0xc4985a5c
xor r8d, 0xf394f475
mov dword [rbp + 0xfc], r8d
movzx r8d, word [rax + rcx*2]
movabs r9, 0xd6495dbdfd639593
movabs rax, 0xd6495dbdfd639590
xor r9, rax
lea rcx, [rbp + 0xbe8]
sub rsp, 0x20
call fcn.14011f980
mov r8, qword [rbp + 0x4a0]
mov rdx, qword [rbp + 0x110]
mov ecx, dword [rbp + 0xfc]
mov eax, dword [rbp + 0x100]
add rsp, 0x20
cmp byte [r8], 0
sete r8b
mov byte [rbp + 0x107], r8b
movabs r8, 0x7eb4495b5498c742
movabs r9, 0x7eb4495b5498c743
xor r8, r9
add rdx, r8
mov qword [rbp + 0x108], rdx
cmp eax, ecx
jbe 0x14012ac46
mov rax, qword [rbp + 0x108]
mov cl, byte [rbp + 0x107]
test cl, 1
mov qword [rbp + 0x128], rax
jne 0x1401297d1
jmp 0x140129b94
mov rcx, qword [rbp + 0x458]
mov rax, qword [rbp + 0x118]
mov qword [rbp + 0xf0], rax
cmp rax, qword [rcx]
jge 0x140129c09
mov rdx, qword [rbp + 0x440]
mov rax, qword [rbp + 0x170]
mov r8, qword [rbp + 0x160]
mov r9, qword [rbp + 0xf0]
mov rcx, qword [rbp + 0x3d8]
mov rcx, qword [rcx]
mov cl, byte [rcx + r9 + 8]
mov byte [rbp + 0xef], cl
movzx ecx, cl
movzx r8d, word [r8 + rcx*2 + 8]
movzx eax, byte [rax + rcx + 8]
mov r9d, eax
lea rcx, [rbp + 0xbe8]
sub rsp, 0x20
call fcn.14011f980
mov rax, qword [rbp + 0x4a0]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140129b94
mov al, byte [rbp + 0xef]
mov rcx, qword [rbp + 0xf0]
inc rcx
mov qword [rbp + 0xe0], rcx
sub al, 0x10
je 0x140129a2f
jmp 0x1401299fa
mov al, byte [rbp + 0xef]
sub al, 0x11
je 0x140129a94
jmp 0x140129a0d
mov rax, qword [rbp + 0xe0]
mov cl, byte [rbp + 0xef]
sub cl, 0x12
mov qword [rbp + 0xd8], rax
je 0x140129b0b
jmp 0x140129b81
mov rdx, qword [rbp + 0x440]
mov rcx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0x3d8]
mov rax, qword [rax]
movzx r8d, byte [rax + rcx + 8]
lea rcx, [rbp + 0xbe8]
mov r9d, 2
sub rsp, 0x20
call fcn.14011f980
mov rcx, qword [rbp + 0x4a0]
mov rax, qword [rbp + 0xf0]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x94
xor dl, 0x94
add rax, 2
cmp cl, dl
mov qword [rbp + 0xd8], rax
je 0x140129b81
jmp 0x140129b94
mov rdx, qword [rbp + 0x440]
mov rcx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0x3d8]
mov rax, qword [rax]
movzx r8d, byte [rax + rcx + 8]
movabs r9, 0x7d4ff753c47459d8
movabs rax, 0x7d4ff753c47459db
xor r9, rax
lea rcx, [rbp + 0xbe8]
sub rsp, 0x20
call fcn.14011f980
mov rcx, qword [rbp + 0x4a0]
mov rax, qword [rbp + 0xf0]
add rsp, 0x20
mov cl, byte [rcx]
xor edx, edx
sub rdx, 2
sub rax, rdx
cmp cl, 0
mov qword [rbp + 0xd8], rax
je 0x140129b81
jmp 0x140129b94
mov rdx, qword [rbp + 0x440]
mov rcx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0x3d8]
mov rax, qword [rax]
movzx r8d, byte [rax + rcx + 8]
lea rcx, [rbp + 0xbe8]
mov r9d, 7
sub rsp, 0x20
call fcn.14011f980
mov rcx, qword [rbp + 0x4a0]
mov rax, qword [rbp + 0xf0]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xa
xor dl, 0xa
movabs r8, 0xfbb8877df3f70cf4
movabs r9, 0xfbb8877df3f70cf6
xor r8, r9
add rax, r8
cmp cl, dl
mov qword [rbp + 0xd8], rax
jne 0x140129b94
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x118], rax
jmp 0x140129952
mov rax, qword [rbp + 0x2b8]
mov rcx, qword [rbp + 0x2b0]
mov rdx, qword [rbp + 0x2c8]
mov r8, qword [rbp + 0x2c0]
mov r9, qword [rbp + 0x298]
mov r10, qword [rbp + 0x290]
mov r11, qword [rbp + 0x2a8]
mov rsi, qword [rbp + 0x2a0]
mov qword [rbp + 0x310], rsi
mov qword [rbp + 0x318], r11
mov qword [rbp + 0x320], r10
mov qword [rbp + 0x328], r9
mov qword [rbp + 0x330], r8
mov qword [rbp + 0x338], rdx
mov qword [rbp + 0x340], rcx
mov qword [rbp + 0x348], rax
jmp 0x14012a93d
mov eax, dword [0x1401fb258]
add eax, dword [0x1401fb25c]
mov ecx, eax
xor ecx, 0x210a4592
xor ecx, 0xffffffff
and ecx, 0x210a4592
shl ecx, 1
mov edx, 0xcdd78a32
xor edx, 0xecddcfa0
sub ecx, edx
sub eax, ecx
mov ecx, 0xf8e40fda
xor edx, edx
div ecx
mov r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0xa829ac91
xor eax, 0x776a0ff2
and eax, ecx
mov edx, 0xffffffff
xor edx, 0xdf43a363
and r8d, edx
mov ecx, 0xca421159
xor ecx, 0xd6747fbc
mov r9d, 0x60a925a
xor r9d, 0xf9f56da5
xor ecx, r9d
and ecx, 0xdf43a363
and edx, 0x1c366ee5
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x31b85b05
xor ecx, 0x9ef0f7a5
cmp eax, ecx
jae 0x14012ac4f
mov rcx, qword [rbp + 0x170]
mov eax, dword [0x1401fb260]
add eax, dword [0x1401fb264]
mov edx, 0xaff92348
xor edx, 0x18fecbfb
xor eax, edx
mov edx, eax
and edx, 0x7325a5fb
xor edx, 0xffffffff
add eax, 0x7325a5fb
mov r8d, 0x7c308d46
xor r8d, 0x7c308d47
add eax, r8d
add eax, edx
mov r8d, 0xe66c1955
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x168]
mov r8d, eax
mov rax, qword [rbp + 0x3f8]
mov dword [rbp + 0xd4], r8d
mov r8d, 0xcad978a1
xor r8d, 0x6f811456
mov dword [rbp + 0xd0], r8d
mov qword [rbp + 0x4f0], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x4f0]
sub rsp, 0x20
call fcn.14002208d
mov r8, qword [rbp + 0x158]
mov rdx, qword [rbp + 0x160]
mov rax, qword [rbp + 0x400]
mov rcx, qword [rbp + 0x478]
add rsp, 0x20
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.140025937
mov rcx, qword [rbp + 0x460]
call fcn.140124213
mov rax, qword [rbp + 0x458]
mov rcx, qword [rbp + 0x488]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14002208d
mov ecx, dword [rbp + 0xd0]
mov eax, dword [rbp + 0xd4]
add rsp, 0x20
cmp eax, ecx
ja 0x140129ca5
jmp 0x140129db9
mov eax, dword [0x1401fb268]
xor eax, 0x2301c510
xor edx, edx
div dword [0x1401fb26c]
add eax, 0x12134c77
add eax, 0xc8a76b06
mov ecx, 0xb74c24c8
xor ecx, 0x3c71510b
xor eax, ecx
cmp eax, 0xf1b82f99
ja 0x14012ac58
mov eax, dword [0x1401fb270]
xor edx, edx
div dword [0x1401fb274]
mov ecx, 0x6fd2982b
xor edx, edx
div ecx
xor eax, 0x6f422c64
mov ecx, 0x96e9ff96
xor ecx, 0x4c883439
and eax, ecx
mov ecx, 0xb000e63e
xor ecx, 0x98c73304
cmp eax, ecx
jb 0x14012ac58
mov rcx, qword [rbp + 0x2f8]
xor eax, eax
mov qword [rbp + 0xc0], rcx
mov qword [rbp + 0xc8], rax
jmp 0x140129e46
mov rcx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xb0], rcx
mov rcx, qword [rbp + 0xbe0]
mov qword [rbp + 0xb8], rcx
cmp rax, rcx
jge 0x14012a649
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0x4a8]
mov rax, qword [rax]
mov qword [rbp + 0x98], rax
mov ax, word [rax + rcx*2 + 8]
mov word [rbp + 0xa6], ax
cmp ax, 0xffff
jg 0x14012a306
mov r10, qword [rbp + 0x2b8]
mov rcx, qword [rbp + 0x2c8]
mov rbx, qword [rbp + 0x298]
mov rsi, qword [rbp + 0xb0]
mov r15, qword [rbp + 0xa8]
mov r8w, word [rbp + 0xa6]
mov rax, qword [rbp + 0x98]
movabs r9, 0xb057a34ffb3b10bd
mov rdx, r15
sub rdx, r9
add rdx, 1
movabs r9, 0x2d8f949eb78ee079
movabs r11, 0x9dd837d14cb5f0c4
xor r9, r11
add rdx, r9
mov r9w, word [rax + rdx*2 + 8]
xor edx, edx
mov r11d, edx
sub r11, r15
xor edx, edx
sub rdx, 2
add r11, rdx
xor edx, edx
sub rdx, r11
mov di, word [rax + rdx*2 + 8]
mov ax, r8w
shr ax, 8
mov dx, ax
xor dx, 0xffff
mov r11w, 0x2d14
xor r11w, 0xd2eb
xor ax, r11w
and dx, ax
mov ax, 0xffff
xor ax, 0x7f
mov r11w, 0xffff
xor r11w, 0x7f
and ax, r11w
or dx, ax
mov ax, 0x1bea
xor ax, 0xe415
xor dx, ax
mov ax, r8w
xor ax, 0xff
mov r11w, 0x5a21
xor r11w, 0xa5de
xor ax, r11w
or r8w, 0xff
and r8w, ax
movzx eax, dx
mov r11d, eax
mov rax, qword [0x1402092b8]
movzx eax, byte [rax + r11]
mov r14d, eax
mov rax, qword [0x1402092c0]
mov r11w, word [rax + r11*2]
mov ax, di
sub ax, 0x1864
sub ax, r11w
add ax, 0x1864
movzx r8d, r8w
mov r11d, r8d
mov r8, qword [0x1402092a0]
movzx r8d, byte [r8 + r11]
mov r12, qword [0x1402092a8]
mov r13w, word [r12 + r11*2]
mov r12w, r9w
xor r12w, 0xffff
and r12w, r13w
xor r13w, 0xffff
and r9w, r13w
sub r9w, r12w
add r15, 3
mov qword [rbp + 0x58], r15
movzx edi, di
mov r15d, edi
mov rdi, rsi
and rdi, r15
shl rdi, 1
xor rsi, r15
add rsi, rdi
mov qword [rbp + 0x60], rsi
add dx, 0x101
movzx edx, dx
movzx r10d, word [r10 + rdx*2 + 8]
movzx ecx, byte [rcx + rdx + 8]
mov qword [rbp + 0x68], rcx
movzx eax, ax
mov esi, eax
shl rsi, cl
mov rcx, qword [rbp + 0x68]
mov r15, rsi
xor r15, 0xffffffffffffffff
mov rdx, r10
xor rdx, 0xffffffffffffffff
movabs r13, 0x31a195bdd6b5eccf
movabs rax, 0x29ac0704ecd22bf0
xor r13, rax
movabs rax, 0x23b8579d9fc4d62a
movabs rdi, 0xdc47a862603b29d5
xor rax, rdi
xor r13, rax
movabs rdi, 0x180d92b93a67c73f
mov rax, r15
and rax, rdi
and rsi, r13
movabs rdi, 0x180d92b93a67c73f
mov r12, rdx
and r12, rdi
mov rdi, qword [rbp + 0x4a0]
and r10, r13
or rax, rsi
mov rsi, qword [rbp + 0x2a0]
or r12, r10
mov r10, qword [rbp + 0x2a8]
xor rax, r12
or r15, rdx
movabs rdx, 0x7c868a906d74d8fb
movabs r12, 0x8379756f928b2704
xor rdx, r12
xor r15, rdx
movabs r12, 0x5f81a06aa3fb8ae9
movabs rdx, 0x478c32d3999c4dd6
xor r12, rdx
mov rdx, qword [rbp + 0x440]
or r12, r13
and r15, r12
or rax, r15
add rcx, r14
mov qword [rbp + 0x70], rcx
movzx ebx, word [rbx + r11*2 + 8]
shl rbx, cl
mov rcx, qword [rbp + 0x70]
or rax, rbx
movzx r10d, byte [r10 + r11 + 8]
add rcx, r10
mov qword [rbp + 0x78], rcx
movzx r9d, r9w
shl r9, cl
mov rcx, qword [rbp + 0x78]
or rax, r9
mov qword [rbp + 0x80], rax
add rcx, r8
mov qword [rbp + 0x88], rcx
mov r8, rcx
sub r8, 0x20
mov r9d, 0x20
cmovl r9, rcx
mov qword [rbp + 0x90], r9
mov r8d, eax
lea rcx, [rbp + 0xbe8]
sub rsp, 0x20
call fcn.14011f980
mov r11, qword [rbp + 0x2a8]
mov r10, qword [rbp + 0x290]
mov r9, qword [rbp + 0x298]
mov r8, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2b0]
mov rax, qword [rbp + 0x2b8]
add rsp, 0x20
mov bl, byte [rdi]
mov dil, 0x16
xor dil, 0x16
cmp bl, dil
mov qword [rbp + 0x310], rsi
mov qword [rbp + 0x318], r11
mov qword [rbp + 0x320], r10
mov qword [rbp + 0x328], r9
mov qword [rbp + 0x330], r8
mov qword [rbp + 0x338], rdx
mov qword [rbp + 0x340], rcx
mov qword [rbp + 0x348], rax
jne 0x14012a93d
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x88]
mov r8, qword [rbp + 0x90]
xor r8, 0xffffffffffffffff
add rdx, r8
add rdx, 1
mov qword [rbp + 0x40], rdx
cmp rdx, 0
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x50], rax
jle 0x14012a2eb
mov rsi, qword [rbp + 0x2a0]
mov rdi, qword [rbp + 0x58]
mov rbx, qword [rbp + 0x60]
mov r14, qword [rbp + 0x4a0]
mov r9, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x440]
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x90]
shr rax, cl
mov r8d, eax
lea rcx, [rbp + 0xbe8]
sub rsp, 0x20
call fcn.14011f980
mov r11, qword [rbp + 0x2a8]
mov r10, qword [rbp + 0x290]
mov r9, qword [rbp + 0x298]
mov r8, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2b0]
mov rax, qword [rbp + 0x2b8]
add rsp, 0x20
cmp byte [r14], 0
mov qword [rbp + 0x48], rbx
mov qword [rbp + 0x50], rdi
mov qword [rbp + 0x310], rsi
mov qword [rbp + 0x318], r11
mov qword [rbp + 0x320], r10
mov qword [rbp + 0x328], r9
mov qword [rbp + 0x330], r8
mov qword [rbp + 0x338], rdx
mov qword [rbp + 0x340], rcx
mov qword [rbp + 0x348], rax
jne 0x14012a93d
mov rcx, qword [rbp + 0x48]
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0xc0], rcx
mov qword [rbp + 0xc8], rax
jmp 0x140129e46
mov rdx, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xa8]
mov ax, word [rbp + 0xa6]
movzx eax, ax
mov qword [rbp + 0x10], rax
mov rax, rcx
and rax, 1
or rcx, 1
add rax, rcx
mov qword [rbp + 0x18], rax
xor ecx, ecx
xor eax, eax
mov qword [rbp + 0x20], rdx
mov dword [rbp + 0x2c], ecx
mov rcx, rax
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rax
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x20]
mov r8d, dword [rbp + 0x2c]
mov r9, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], r9
mov dword [rbp + 4], r8d
mov qword [rbp + 8], rdx
cmp rax, rcx
je 0x14012a569
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 4]
mov r8, qword [rbp + 0x2c8]
mov rdx, qword [rbp + 0x438]
mov r9, qword [rbp + 8]
mov r10, rdx
add r10, r9
mov qword [rbp - 0x38], r10
movzx edx, byte [rdx + r9]
movzx r8d, byte [r8 + rdx + 8]
mov r9d, r8d
mov qword [rbp - 0x30], r9
mov r8, rax
add r8, r9
movabs r9, 0x420fa67348e35584
movabs r10, 0x420fa67348e355a4
xor r9, r10
cmp r8, r9
mov qword [rbp - 0x28], rdx
mov dword [rbp - 0x1c], ecx
mov qword [rbp - 0x18], rax
jle 0x14012a498
mov rsi, qword [rbp + 0x2a0]
mov rdi, qword [rbp + 0x4a0]
mov r9, qword [rbp - 8]
mov r8d, dword [rbp + 4]
mov rdx, qword [rbp + 0x440]
lea rcx, [rbp + 0xbe8]
sub rsp, 0x20
call fcn.14011f980
mov r11, qword [rbp + 0x2a8]
mov r10, qword [rbp + 0x290]
mov r9, qword [rbp + 0x298]
mov r8, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2b0]
mov rax, qword [rbp + 0x2b8]
add rsp, 0x20
cmp byte [rdi], 0
mov qword [rbp + 0x310], rsi
mov qword [rbp + 0x318], r11
mov qword [rbp + 0x320], r10
mov qword [rbp + 0x328], r9
mov qword [rbp + 0x330], r8
mov qword [rbp + 0x338], rdx
mov qword [rbp + 0x340], rcx
mov qword [rbp + 0x348], rax
jne 0x14012a93d
mov rax, qword [rbp - 0x38]
movzx eax, byte [rax]
mov edx, eax
xor ecx, ecx
xor eax, eax
mov qword [rbp - 0x28], rdx
mov dword [rbp - 0x1c], ecx
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x10]
mov r8, qword [rbp + 8]
mov r10, qword [rbp - 0x30]
mov rdx, qword [rbp + 0x2b8]
mov r9, qword [rbp - 0x28]
mov r11d, dword [rbp - 0x1c]
mov rcx, qword [rbp - 0x18]
mov qword [rbp - 0x40], rcx
movzx edx, word [rdx + r9*2 + 8]
shl rdx, cl
mov rcx, qword [rbp - 0x40]
mov r9d, edx
mov edx, r11d
xor edx, 0xffffffff
mov esi, 0x3748d2c1
xor esi, 0xc8b72d3e
xor r11d, esi
or edx, r11d
and r9d, r9d
xor r9d, 0xffffffff
xor edx, 0xffffffff
mov r11d, 0xd79433ca
xor r11d, 0x286bcc35
xor r9d, r11d
or edx, r9d
xor r9d, r9d
sub r9, rcx
xor ecx, ecx
sub rcx, r10
add r9, rcx
xor ecx, ecx
sub rcx, r9
movabs r9, 0xff0b953710935c29
movabs r10, 0xff0b953710935c28
xor r9, r10
add r8, r9
xor r9d, r9d
sub r9, rax
xor eax, eax
sub rax, 1
add r9, rax
movabs rax, 0xa4789368f1670c58
movabs r10, 0xa4789368f1670c58
xor rax, r10
sub rax, r9
mov qword [rbp + 0x20], r8
mov dword [rbp + 0x2c], edx
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x38], rax
jmp 0x14012a34a
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 8]
cmp rdx, 0
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x50], rax
jle 0x14012a2eb
mov rsi, qword [rbp + 0x2a0]
mov rdi, qword [rbp + 0x18]
mov rbx, qword [rbp + 8]
mov r14, qword [rbp + 0x4a0]
mov r9, qword [rbp - 8]
mov r8d, dword [rbp + 4]
mov rdx, qword [rbp + 0x440]
lea rcx, [rbp + 0xbe8]
sub rsp, 0x20
call fcn.14011f980
mov r11, qword [rbp + 0x2a8]
mov r10, qword [rbp + 0x290]
mov r9, qword [rbp + 0x298]
mov r8, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2b0]
mov rax, qword [rbp + 0x2b8]
add rsp, 0x20
mov r14b, byte [r14]
mov r15b, 0xa4
xor r15b, 0xa4
cmp r14b, r15b
mov qword [rbp + 0x48], rbx
mov qword [rbp + 0x50], rdi
mov qword [rbp + 0x310], rsi
mov qword [rbp + 0x318], r11
mov qword [rbp + 0x320], r10
mov qword [rbp + 0x328], r9
mov qword [rbp + 0x330], r8
mov qword [rbp + 0x338], rdx
mov qword [rbp + 0x340], rcx
mov qword [rbp + 0x348], rax
je 0x14012a2eb
jmp 0x14012a93d
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0xb8]
cmp rax, rcx
je 0x14012a771
mov rsi, qword [rbp + 0x2a0]
movabs rcx, 0xc3cb631372c427dc
movabs rax, 0xc3cb631372c4279c
xor rcx, rax
movabs rdx, 0x471d60c0aefd15a7
movabs rax, 0x471d60c0aefd15af
xor rdx, rax
sub rsp, 0x20
call fcn.140013970
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140209088]
mov qword [rcx], rax
lea rax, [0x14020812c]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140208190]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140208198]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14020812c]
lea r8, [0x140208137]
lea r9, str.XeRL_
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffd963b33
call fcn.14001302b
mov r11, qword [rbp + 0x2a8]
mov r10, qword [rbp + 0x290]
mov r9, qword [rbp + 0x298]
mov r8, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2b0]
mov rax, qword [rbp + 0x2b8]
add rsp, 0x30
mov qword [rbp + 0x310], rsi
mov qword [rbp + 0x318], r11
mov qword [rbp + 0x320], r10
mov qword [rbp + 0x328], r9
mov qword [rbp + 0x330], r8
mov qword [rbp + 0x338], rdx
mov qword [rbp + 0x340], rcx
mov qword [rbp + 0x348], rax
jmp 0x14012a93d
mov rax, qword [rbp + 0x2c8]
mov al, byte [rax + 0x108]
mov byte [rbp - 0x41], al
cmp al, 0
jne 0x14012a89a
mov rsi, qword [rbp + 0x2a0]
movabs rcx, 0x5ddb7adab3edc78d
movabs rax, 0x5ddb7adab3edc7cd
xor rcx, rax
movabs rdx, 0x65d2db82ae825d87
movabs rax, 0x65d2db82ae825d8f
xor rdx, rax
sub rsp, 0x20
call fcn.140013970
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140209088]
mov qword [rcx], rax
lea rax, [0x14020812c]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140208190]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140208198]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14020812c]
lea r8, [0x140208137]
lea r9, str.XeRL_
sub rsp, 0x30
mov qword [rsp + 0x20], 0xffffffffb554222c
call fcn.14001302b
mov r11, qword [rbp + 0x2a8]
mov r10, qword [rbp + 0x290]
mov r9, qword [rbp + 0x298]
mov r8, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2b0]
mov rax, qword [rbp + 0x2b8]
add rsp, 0x30
mov qword [rbp + 0x310], rsi
mov qword [rbp + 0x318], r11
mov qword [rbp + 0x320], r10
mov qword [rbp + 0x328], r9
mov qword [rbp + 0x330], r8
mov qword [rbp + 0x338], rdx
mov qword [rbp + 0x340], rcx
mov qword [rbp + 0x348], rax
jmp 0x14012a93d
mov rcx, qword [rbp + 0x2b8]
mov rsi, qword [rbp + 0x2a0]
mov rdx, qword [rbp + 0x440]
mov al, byte [rbp - 0x41]
movzx r8d, word [rcx + 0x208]
movzx eax, al
mov r9d, eax
lea rcx, [rbp + 0xbe8]
sub rsp, 0x20
call fcn.14011f980
mov r11, qword [rbp + 0x2a8]
mov r10, qword [rbp + 0x290]
mov r9, qword [rbp + 0x298]
mov r8, qword [rbp + 0x2c0]
mov rdx, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2b0]
mov rax, qword [rbp + 0x2b8]
add rsp, 0x20
mov qword [rbp + 0x310], rsi
mov qword [rbp + 0x318], r11
mov qword [rbp + 0x320], r10
mov qword [rbp + 0x328], r9
mov qword [rbp + 0x330], r8
mov qword [rbp + 0x338], rdx
mov qword [rbp + 0x340], rcx
mov qword [rbp + 0x348], rax
mov rcx, qword [rbp + 0x490]
mov rax, qword [rbp + 0x408]
mov r8, qword [rbp + 0x310]
mov rdx, qword [rbp + 0x318]
mov r9, qword [rbp + 0x320]
mov r10, qword [rbp + 0x328]
mov r11, qword [rbp + 0x330]
mov rsi, qword [rbp + 0x338]
mov rdi, qword [rbp + 0x340]
mov rbx, qword [rbp + 0x348]
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x68], r11
mov qword [rbp - 0x70], r10
mov qword [rbp - 0x78], r9
mov qword [rcx], r8
mov qword [rax], rdx
sub rsp, 0x20
call fcn.14002208d
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x70]
mov rax, qword [rbp + 0x410]
add rsp, 0x20
mov qword [rbp + 0x4e0], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x4e0]
sub rsp, 0x20
call fcn.140025937
add rsp, 0x20
lea rcx, [rbp + 0xba0]
sub rsp, 0x20
call fcn.140124213
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
mov rax, qword [rbp + 0x418]
add rsp, 0x20
mov qword [rbp + 0x4d0], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x4d0]
sub rsp, 0x20
call fcn.14002208d
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x50]
mov rax, qword [rbp + 0x420]
add rsp, 0x20
mov qword [rbp + 0x4c0], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x4c0]
sub rsp, 0x20
call fcn.140025937
add rsp, 0x20
lea rcx, [rbp + 0xbc0]
sub rsp, 0x20
call fcn.140124213
mov rax, qword [rbp + 0x4a0]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012ab8b
mov eax, dword [0x1401fb278]
xor eax, 0x6f0efcf5
mov edx, dword [0x1401fb27c]
xor eax, 0xffffffff
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x88ec2265
or eax, edx
or ecx, 0x88ec2265
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x48032c3
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x7a09ae7
mov edx, 0x5358ba1c
xor edx, 0x54f820fb
or eax, edx
add ecx, eax
mov edx, 0xcf5b9fae
xor edx, 0x30a46051
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xb62611de
and ecx, 0xb62611de
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0xdb045c3
jbe 0x14012ac61
mov eax, dword [0x1401fb280]
mov ecx, dword [0x1401fb284]
add eax, 0xc8d654bf
sub eax, ecx
sub eax, 0xc8d654bf
mov ecx, 0x77de2e59
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x350]
add eax, 0xd4e2ed2f
sub eax, 0x5111ee81
mov ecx, 0xe0771824
xor ecx, 0x99b8c55b
movabs r8, 0x4d56236b00e36abb
sub rdx, r8
movabs r8, 0xa6abecd23b8f1a53
movabs r9, 0xa6abecd23b8f1a52
xor r8, r9
add rdx, r8
movabs r8, 0x9a36598ac430e54e
movabs r9, 0xd7607ae1c4d38ff5
xor r8, r9
add rdx, r8
mov qword [rbp - 0x80], rdx
cmp eax, ecx
je 0x14012ac61
mov rax, qword [rbp - 0x80]
mov qword [rbp + 0x428], rax
jmp 0x140128035
jmp 0x14012abcf
lea rcx, [rbp + 0xbe8]
sub rsp, 0x20
call fcn.14011fd61
mov rax, qword [rbp + 0x4a0]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012abcf
mov rcx, qword [rbp + 0x440]
mov rdx, qword [rbp + 0xbe8]
sub rsp, 0x20
call fcn.1400153b0
add rsp, 0x20
mov rax, qword [rbp + 0xbf8]
mov qword [rbp + 0x4b0], rax
mov rax, qword [rbp + 0xc00]
mov qword [rbp + 0x4b8], rax
lea rcx, [rbp + 0x4b0]
sub rsp, 0x20
call fcn.140025937
nop
lea rsp, [rbp + 0xc08]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp edx, esi
invalid
invalid
jmp 0x14012859e
test eax, 0xe95e7016
mov ebp, 0xe0ffffdf
push rdi
loopne 0x14012ac84
insb byte [rdi], dx
sub ebp, ecx
in eax, 0xff
push qword [rdx + 0x7a]
jb 0x14012acb0
mov ecx, 0xe6c2e9d1
invalid
jmp 0x1401292ff
int 0xd9
jo 0x14012ac1d
jmp 0x1401295b6
ficom word [rsi - 0x70]
or ch, cl
loop 0x14012ac38
invalid
xchg edi, eax
sub al, 0xf
jg 0x14012ac3d
invalid
invalid
out dx, al
sub al, 0x49
pop rcx
jmp 0x14012aaf1
or eax, 0xd05ff
sar byte [rdx - 1], 1