Function at 0x140086b70
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x178
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0xe0], xmm6
mov qword [rbp + 0x78], rdx
mov eax, dword [0x14158e338]
or eax, dword [0x14158e33c]
add eax, 0xd542a871
xor eax, 0x28bff46e
mov r8d, 0xadbddb09
imul r8, rax
shr r8, 0x3f
cmp r8d, 0xc514d4c2
jbe 0x140086c10
mov eax, 0x400
call fcn.14020e090
sub rsp, rax
mov eax, 0x400
call fcn.14020e090
sub rsp, rax
mov eax, 0x400
call fcn.14020e090
sub rsp, rax
mov eax, 0x400
call fcn.14020e090
sub rsp, rax
mov eax, 0x400
call fcn.14020e090
sub rsp, rax
nop word cs:[rax + rax]
mov eax, dword [0x14158e340]
imul eax, dword [0x14158e344]
mov r8d, eax
and r8d, 0x6c127225
add r8d, r8d
mov r9d, eax
sub r9d, r8d
neg r8d
add eax, r8d
add eax, 0x6c127225
not eax
or eax, 0x8e4db6af
lea r11d, [rax + r9]
add r11d, 0x6c127226
xor r11d, 0x16a0e85d
mov eax, 0x400
call fcn.14020e090
sub rsp, rax
mov rdi, rsp
mov eax, 0x400
call fcn.14020e090
sub rsp, rax
mov rdx, rsp
mov eax, 0x400
call fcn.14020e090
sub rsp, rax
mov r8, rsp
mov eax, 0x400
call fcn.14020e090
sub rsp, rax
mov r9, rsp
mov eax, 0x400
call fcn.14020e090
sub rsp, rax
mov rax, rsp
cmp r11d, 0x4e1109a4
jb 0x140086c10
mov qword [rbp - 0x38], rdx
mov qword [rbp - 0x48], r9
mov qword [rbp + 0xa8], rax
mov qword [rbp - 8], r8
mov qword [rbp - 0x20], rcx
mov eax, dword [0x14158e348]
and eax, dword [0x14158e34c]
mov ecx, eax
xor ecx, 0xd3e6da2f
or eax, 0x2c1925d0
and eax, ecx
imul eax, eax, 0x6b21d847
add eax, 0x689c161b
cmp eax, 0x510a4f71
jae 0x140086dc0
mov eax, 0x400
call fcn.14020e090
sub rsp, rax
mov eax, 0x400
call fcn.14020e090
sub rsp, rax
mov eax, 0x50
call fcn.14020e090
sub rsp, rax
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov eax, 0xe0
call fcn.14020e090
sub rsp, rax
mov eax, 0x50
call fcn.14020e090
sub rsp, rax
nop dword [rax]
mov r11d, dword [0x14158e350]
xor r11d, dword [0x14158e354]
mov eax, 0xa89baa4b
imul r11, rax
shr r11, 0x3f
or r11d, 0x870cba10
mov eax, 0x400
call fcn.14020e090
sub rsp, rax
mov qword [rbp + 0xc8], rsp
mov eax, 0x400
call fcn.14020e090
sub rsp, rax
mov qword [rbp + 0xb0], rsp
mov eax, 0x50
call fcn.14020e090
sub rsp, rax
mov qword [rbp + 0xd0], rsp
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov qword [rbp + 0x60], rsp
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov r14, rsp
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov r15, rsp
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov rcx, rsp
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov rdx, rsp
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov rbx, rsp
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov r10, rsp
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov r9, rsp
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov r8, rsp
mov eax, 0x10
call fcn.14020e090
sub rsp, rax
mov rsi, rsp
mov eax, 0xe0
call fcn.14020e090
sub rsp, rax
mov r12, rsp
mov eax, 0x50
call fcn.14020e090
sub rsp, rax
mov r13, rsp
cmp r11d, 0x5501988
je 0x140086dc0
mov qword [rbp + 8], rsi
mov qword [rbp], r8
mov qword [rbp + 0x70], r9
mov qword [rbp + 0x68], rbx
mov qword [rbp + 0x90], rdx
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x80], r14
mov rdx, qword [rbp + 0x78]
mov r15d, dword [rdx + 0x44]
mov esi, dword [rdx + 0x58]
mov eax, esi
not eax
and eax, r15d
mov ecx, r15d
not ecx
and ecx, esi
imul rcx, rax
mov eax, esi
and eax, r15d
mov rdx, rsi
or rdx, r15
imul rdx, rax
add rdx, rcx
mov qword [rbp + 0xa0], rdx
mov qword [rbp + 0x88], r15
mov qword [rbp + 0x50], r10
je 0x14008708e
shl rdx, 0xa
nop dword [rax]
mov eax, dword [0x14158e358]
and eax, dword [0x14158e35c]
mov ecx, eax
not ecx
mov r8d, eax
and r8d, 0x751370b8
and ecx, 0x8aec8f47
imul ecx, r8d
mov r8d, eax
and r8d, 0x8aec8f47
or eax, 0x8aec8f47
imul eax, r8d
add eax, ecx
mov ecx, eax
xor ecx, 0x149e259
and eax, 0x2b61da6
add eax, eax
sub eax, ecx
or eax, 0xf9ed4100
cmp eax, 0x996c5413
jb 0x140086f60
mov rax, qword [rbp + 0xa0]
shr rax, 0x35
jne 0x1400870ad
movzx eax, byte [0x1415acbd0]
sub rsp, 0x20
xor r14d, r14d
xor ecx, ecx
mov rbx, rdx
call fcn.14020ae90
add rsp, 0x20
mov qword [rbp + 0xc0], rax
nop word [rax + rax]
test r14b, r14b
jne 0x140086ff0
mov rcx, qword [rbp + 0xc0]
test rcx, rcx
mov rax, qword [rbp + 0xa0]
je 0x140087129
cmp rax, 2
mov r14, qword [rbp + 0x48]
jb 0x14008725f
mov rax, rbx
and rax, 0xfffffffffffffc00
or rbx, 0xfffffffffffffc00
add rbx, rax
mov eax, dword [0x14158e380]
imul eax, dword [0x14158e384]
mov ecx, eax
xor ecx, 0x912987dd
and eax, 0x6ed67822
add eax, eax
sub eax, ecx
add eax, 0x351de75a
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x39c0d27d
and ecx, 0xc63f2d82
imul ecx, edx
mov edx, eax
and edx, 0xc63f2d82
or eax, 0xc63f2d82
imul eax, edx
add eax, ecx
cmp eax, 0xfed78269
mov r15, qword [rbp + 0xc0]
jbe 0x1400871c9
jmp 0x1400871fc
mov eax, 8
mov qword [rbp + 0xc0], rax
mov r14, qword [rbp + 0x48]
mov rbx, r10
mov r9, qword [rbp + 0xd0]
jmp 0x14008727f
mov eax, dword [0x14158e360]
add eax, dword [0x14158e364]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x4dc16728
and ecx, 0xb23e98d7
imul ecx, edx
mov edx, eax
and edx, 0xb23e98d7
or eax, 0xb23e98d7
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xf256263a
and eax, 0xda9d9c5
add eax, eax
sub eax, ecx
imul eax, eax, 0x1054fd89
cmp eax, 0x3b39eef6
jae 0x140087100
ud2
mov eax, dword [0x14158e368]
xor edx, edx
div dword [0x14158e36c]
mov ecx, eax
not ecx
or ecx, 0xbfd0f76c
add ecx, eax
ud2
mov eax, dword [0x14158e370]
mov ecx, dword [0x14158e374]
not eax
not ecx
or ecx, eax
not ecx
mov eax, ecx
and eax, 0x6e6b2c1e
and ecx, 0x6c6a040e
sub eax, ecx
add eax, 0xed6e144f
mov ecx, eax
not ecx
and ecx, 0xd1a09482
mov edx, eax
and edx, 0x2e5f6b7c
imul edx, ecx
mov ecx, eax
and ecx, 0xd1a09483
or eax, 0xd1a09483
imul eax, ecx
add eax, edx
cmp eax, 0x1be6cd34
jne 0x140087190
ud2
mov eax, dword [0x14158e37c]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [0x14158e378]
xor ecx, eax
imul eax, ecx, 0x31be42a0
mov ecx, eax
and ecx, 0xce051f20
xor eax, 0xce051f26
or eax, ecx
xor eax, 0x52037d6f
ud2
mov r14d, dword [0x14158e388]
add r14d, dword [0x14158e38c]
or r14d, 0x324317d2
sub rsp, 0x20
mov rcx, r15
xor edx, edx
mov r8, rbx
call fcn.14021c2d0
add rsp, 0x20
cmp r14d, 0x10ee0b12
jne 0x140087213
sub rsp, 0x20
mov rcx, r15
xor edx, edx
mov r8, rbx
call fcn.14021c2d0
add rsp, 0x20
jmp 0x1400871c9
mov eax, dword [0x14158e390]
xor edx, edx
div dword [0x14158e394]
mov r8, rbx
mov rcx, qword [rbp + 0xc0]
add rcx, rbx
mov r15, qword [rbp + 0x88]
mov r14, qword [rbp + 0x48]
nop dword [rax]
mov eax, dword [0x14158e398]
xor edx, edx
div dword [0x14158e39c]
or eax, 0xab2d34b0
add eax, 0x335b3b30
cmp eax, 0x5fe0726f
jb 0x140087240
sub rsp, 0x20
mov r8d, 0x400
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
mov r9, qword [rbp + 0xd0]
mov rbx, qword [rbp + 0x50]
mov qword [rbp + 0x20], rsi
mov eax, dword [0x14158e3a0]
mov ecx, dword [0x14158e3a4]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
add eax, 0xe723a032
mov ecx, eax
and ecx, 0xaa0796c6
mov edx, ecx
not edx
and edx, 0xc5192172
mov r8d, eax
and r8d, 0x2a069684
imul r8d, edx
and eax, 0x80010042
or ecx, 0xc5192172
imul ecx, eax
add ecx, r8d
cmp ecx, 0x3a06dd29
jae 0x1400874cf
mov rcx, qword [rbp + 0x78]
mov eax, dword [rcx + 0x40]
mov r10, qword [rbp]
mov dword [r10], eax
mov eax, dword [rcx + 0x48]
mov r9, qword [rbp + 0x70]
mov dword [r9], eax
mov eax, dword [rcx + 0x4c]
mov dword [rbx], eax
movzx eax, byte [rcx + 0x50]
mov r8, qword [rbp + 0x68]
mov dword [r8], eax
movzx eax, byte [rcx + 0x51]
mov rdx, qword [rbp + 0x90]
mov dword [rdx], eax
mov rax, qword [rcx]
mov r11, qword [rbp + 8]
mov qword [r12], r11
mov qword [r12 + 8], 4
mov qword [r12 + 0x10], r10
mov qword [r12 + 0x18], 4
mov qword [r12 + 0x20], r9
mov qword [r12 + 0x28], 4
mov qword [r12 + 0x30], rbx
mov qword [r12 + 0x38], 4
mov qword [r12 + 0x40], r8
mov qword [r12 + 0x48], 4
mov qword [r12 + 0x50], rdx
mov qword [r12 + 0x58], 4
mov qword [r12 + 0x60], r14
mov qword [r12 + 0x68], 4
mov qword [r12 + 0x70], rax
mov rax, qword [rcx + 8]
mov dword [r14], eax
mov qword [r12 + 0x78], rax
mov rax, qword [rcx + 0x10]
mov rdx, qword [rbp + 0x38]
mov qword [r12 + 0x80], rdx
mov qword [r12 + 0x88], 4
mov qword [r12 + 0x90], rax
mov rax, qword [rcx + 0x18]
mov dword [rdx], eax
mov qword [r12 + 0x98], rax
mov rax, qword [rcx + 0x30]
mov rdx, qword [rbp + 0x80]
mov qword [r12 + 0xa0], rdx
mov qword [r12 + 0xa8], 4
mov qword [r12 + 0xb0], rax
mov rax, qword [rcx + 0x38]
mov dword [rdx], eax
mov qword [r12 + 0xb8], rax
mov rax, qword [rcx + 0x20]
mov rdx, qword [rbp + 0x60]
mov qword [r12 + 0xc0], rdx
mov qword [r12 + 0xc8], 4
mov qword [r12 + 0xd0], rax
mov rax, qword [rcx + 0x28]
mov dword [rdx], eax
mov qword [r12 + 0xd8], rax
mov dword [r11], r15d
xorps xmm0, xmm0
mov rax, qword [rbp + 0xd0]
movups xmmword [rax + 0x30], xmm0
mov rax, qword [rbp + 0xd0]
movups xmmword [rax + 0x20], xmm0
mov rax, qword [rbp + 0xd0]
movups xmmword [rax + 0x10], xmm0
mov rax, qword [rbp + 0xd0]
movups xmmword [rax], xmm0
mov rax, qword [rbp + 0xd0]
mov qword [rax + 0x40], 0
sub rsp, 0x20
mov edx, 0x40
mov r9d, 0xe
mov rcx, qword [rbp + 0xd0]
mov r8, r12
call fcn.14020c140
mov r9, qword [rbp + 0xd0]
add rsp, 0x20
movdqu xmm0, xmmword [r9]
movdqu xmm1, xmmword [r9 + 0x10]
movdqu xmm2, xmmword [r9 + 0x20]
movdqu xmm3, xmmword [r9 + 0x30]
movdqu xmmword [r13 + 0x30], xmm3
movdqu xmmword [r13 + 0x20], xmm2
movdqu xmmword [r13 + 0x10], xmm1
movdqu xmmword [r13], xmm0
xorps xmm6, xmm6
mov rsi, qword [rbp + 0x78]
mov rbx, r9
nop dword [rax]
mov r14d, dword [0x14158e3a8]
xor r14d, dword [0x14158e3ac]
or r14d, 0x98d12851
and r14d, 0x98d32a71
xor r14d, 0x747ff508
mov rax, qword [rbp + 0x88]
mov r10, qword [rbp + 8]
mov dword [r10], eax
mov eax, dword [rsi + 0x40]
mov r9, qword [rbp]
mov qword [rbp - 0x40], rax
mov dword [r9], eax
mov eax, dword [rsi + 0x48]
mov r8, qword [rbp + 0x70]
mov dword [r8], eax
mov eax, dword [rsi + 0x4c]
mov rcx, qword [rbp + 0x50]
mov qword [rbp + 0x18], rax
mov dword [rcx], eax
movzx eax, byte [rsi + 0x50]
mov rdx, qword [rbp + 0x68]
mov dword [rbp + 0x9c], eax
mov dword [rdx], eax
mov rax, qword [rsi]
mov qword [r12], r10
mov qword [r12 + 8], 4
mov qword [r12 + 0x10], r9
mov qword [r12 + 0x18], 4
mov qword [r12 + 0x20], r8
mov qword [r12 + 0x28], 4
mov qword [r12 + 0x30], rcx
mov qword [r12 + 0x38], 4
mov qword [r12 + 0x40], rdx
mov qword [r12 + 0x48], 4
mov rdx, qword [rbp + 0x90]
mov qword [r12 + 0x50], rdx
mov qword [r12 + 0x58], 4
mov rcx, qword [rbp + 0x48]
mov qword [r12 + 0x60], rcx
mov qword [r12 + 0x68], 4
mov qword [r12 + 0x70], rax
mov rax, qword [rsi + 8]
mov dword [rcx], eax
mov qword [r12 + 0x78], rax
mov rax, qword [rsi + 0x10]
mov rcx, qword [rbp + 0x38]
mov qword [r12 + 0x80], rcx
mov qword [r12 + 0x88], 4
mov qword [r12 + 0x90], rax
mov rax, qword [rsi + 0x18]
mov dword [rcx], eax
mov qword [r12 + 0x98], rax
mov rax, qword [rsi + 0x30]
mov rcx, qword [rbp + 0x80]
mov qword [r12 + 0xa0], rcx
mov qword [r12 + 0xa8], 4
mov qword [r12 + 0xb0], rax
mov rax, qword [rsi + 0x38]
mov dword [rcx], eax
mov qword [r12 + 0xb8], rax
mov rax, qword [rsi + 0x20]
mov rcx, qword [rbp + 0x60]
mov qword [r12 + 0xc0], rcx
mov qword [r12 + 0xc8], 4
mov qword [r12 + 0xd0], rax
mov rax, qword [rsi + 0x28]
mov dword [rcx], eax
mov qword [r12 + 0xd8], rax
movzx r15d, byte [rsi + 0x51]
mov dword [rdx], r15d
movups xmmword [rbx + 0x30], xmm6
movups xmmword [rbx + 0x20], xmm6
movups xmmword [rbx + 0x10], xmm6
movups xmmword [rbx], xmm6
mov qword [rbx + 0x40], 0
sub rsp, 0x20
mov edx, 0x40
mov r9d, 0xe
mov rcx, rbx
mov r8, r12
call fcn.14020c140
add rsp, 0x20
movdqu xmm0, xmmword [rbx]
movdqu xmm1, xmmword [rbx + 0x10]
movdqu xmm2, xmmword [rbx + 0x20]
movdqu xmm3, xmmword [rbx + 0x30]
movdqu xmmword [r13 + 0x30], xmm3
movdqu xmmword [r13 + 0x20], xmm2
movdqu xmmword [r13 + 0x10], xmm1
movdqu xmmword [r13], xmm0
cmp r14d, 0xc9fac85f
jb 0x1400874e0
mov qword [rbp + 0x58], r15
mov r10, qword [rbp + 0x88]
test r10d, r10d
mov rsi, qword [rbp + 0x20]
je 0x140087954
xor r14d, r14d
mov rax, rsi
not rax
mov qword [rbp + 0xd0], rax
xor r15d, r15d
jmp 0x140087714
mov r10, qword [rbp + 0x88]
mov r15, qword [rbp + 0x60]
cmp r15, r10
je 0x140087954
mov eax, dword [0x14158e3b0]
sub eax, dword [0x14158e3b4]
xor eax, 0x55c9fc72
imul rcx, rax, 0x265219a5
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1c
mov ecx, eax
not ecx
mov edx, eax
and edx, 2
and ecx, 0x5831f16d
imul ecx, edx
mov edx, eax
and edx, 0xfffffffd
or eax, 0x5831f16d
imul eax, edx
add eax, ecx
cmp eax, 0x1dffdec5
jb 0x1400878c0
nop word cs:[rax + rax]
mov dword [r13 + 0x40], 0
mov dword [r13 + 0x44], r15d
test r14b, r14b
jne 0x1400878c0
mov rax, r15
mov rdx, qword [rbp + 0xd0]
and rax, rdx
mov rcx, r15
or rcx, rdx
not rcx
imul rcx, rax
mov eax, r15d
and eax, esi
mov r12, r15
or r12, rsi
imul r12, rax
add r12, rcx
cmp r12, qword [rbp + 0xa0]
jae 0x140089273
mov rbx, r12
shl rbx, 0xa
add rbx, qword [rbp + 0xc0]
mov eax, dword [0x14158e3d0]
and eax, dword [0x14158e3d4]
imul eax, eax, 0xf0557d5e
mov ecx, eax
not ecx
and ecx, 0xea082188
and eax, 0x15f7de76
sub eax, ecx
imul eax, eax, 0xa59b8768
cmp eax, 0xf8b6dc39
jne 0x140087822
sub rsp, 0x20
mov edx, 0x400
mov r9d, 0x48
mov rcx, rbx
mov r8, r13
call fcn.14008b710
add rsp, 0x20
mov dword [r13 + 0x40], 1
inc r15
nop word cs:[rax + rax]
sub rsp, 0x20
mov edx, 0x400
mov r9d, 0x48
mov rcx, rbx
mov r8, r13
call fcn.14020c160
add rsp, 0x20
mov dword [r13 + 0x40], 1
test r14b, r14b
jne 0x140087830
inc r12
nop
test r14b, r14b
jne 0x140087860
mov qword [rbp + 0x60], r15
cmp r12, qword [rbp + 0xa0]
jae 0x14008930e
mov eax, dword [0x14158e3f0]
mov ecx, dword [0x14158e3f4]
not eax
not ecx
or ecx, eax
mov eax, ecx
not eax
xor ecx, 0x5235df94
add ecx, eax
and eax, 0x5235df94
sub ecx, eax
mov eax, ecx
and eax, 0x63071f94
and ecx, 0x63070810
sub eax, ecx
add eax, 0x73ef883b
cmp eax, 0xbf36dc8c
mov r15, qword [rbp + 0xc0]
jbe 0x1400878e0
jmp 0x14008792d
mov dword [r13 + 0x40], 0
mov dword [r13 + 0x44], r15d
jmp 0x140087770
mov eax, dword [0x14158e3f8]
xor eax, dword [0x14158e3fc]
xor eax, 0x447d0051
or eax, 0xbb022f2c
imul ebx, eax, 0x70367005
mov rcx, r12
shl rcx, 0xa
add rcx, r15
sub rsp, 0x20
mov edx, 0x400
mov r9d, 0x48
mov r8, r13
call fcn.14008b710
add rsp, 0x20
cmp ebx, 0x1b10a5b1
jne 0x140087700
mov rcx, r12
shl rcx, 0xa
add rcx, r15
sub rsp, 0x20
mov edx, 0x400
mov r9d, 0x48
mov r8, r13
call fcn.14008b710
add rsp, 0x20
jmp 0x1400878e0
mov rbx, qword [rbp + 0xc0]
nop dword [rax + rax]
mov eax, dword [0x14158e400]
sub eax, dword [0x14158e404]
lea ecx, [rax + 0x36349766]
mov edx, ecx
and edx, 0xa5b3a9
xor ecx, 0x3f5a4c56
add eax, ecx
add eax, 0x36349766
sub eax, edx
not eax
or eax, 0xde31ca5b
cmp eax, 0x7adc4d65
jb 0x140087960
nop word [rax + rax]
mov eax, dword [0x14158e408]
xor edx, edx
div dword [0x14158e40c]
add eax, 0x6300f663
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x321dffc4
and ecx, 0xcde2003b
imul ecx, edx
mov edx, eax
and edx, 0xcde2003b
or eax, 0xcde2003b
imul eax, edx
add eax, ecx
cmp eax, 0x62758770
je 0x1400879a0
cmp qword [rbp + 0x18], 0
je 0x140088e20
mov rax, qword [rbp + 0xc8]
add rax, 0x30
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x78]
mov r9d, dword [rax + 0x5c]
mov ecx, dword [rax + 0x60]
mov r11d, ecx
not r11d
lea eax, [rsi + r11]
mov qword [rbp - 0x78], rax
mov eax, 0x9099d919
mov r14d, ecx
neg ecx
mov dword [rbp - 0x18], ecx
nop word cs:[rax + rax]
mov ecx, dword [0x14158e410]
add ecx, dword [0x14158e414]
mov edx, ecx
not edx
and edx, 0x2d8be0d3
mov r8d, ecx
and r8d, 0xd2741f2c
imul r8d, edx
mov edx, ecx
and edx, 0x2d8be0d3
or ecx, 0x2d8be0d3
imul ecx, edx
add ecx, r8d
imul rcx, rax
shr rcx, 0x3e
add ecx, 0xf41a9cc5
cmp ecx, 0x1f7f7e38
jb 0x140087a30
test r10d, r10d
je 0x14008900c
nop word [rax + rax]
mov eax, dword [0x14158e418]
sub eax, dword [0x14158e41c]
imul rax, rax, 0x6b086327
shr rax, 0x3b
or eax, 0x968f29b2
xor eax, 0xf87d36a7
cmp eax, 0x48b14a23
jb 0x140087a90
mov qword [rbp + 0x78], r11
mov qword [rbp - 0x28], r9
test rsi, rsi
je 0x140088ed0
movabs rax, 0x2a22cee656e493fd
xor r13d, r13d
not rax
xor edx, edx
mov r11d, r14d
mov dword [rbp + 0xbc], r14d
mov qword [rbp - 0x68], rax
mov qword [rbp + 0xc0], rbx
mov qword [rbp + 0x28], rdx
nop word cs:[rax + rax]
mov eax, dword [0x14158e428]
imul eax, dword [0x14158e42c]
imul rcx, rax, 0x2ae3d7b
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0x4c56b253
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x922715c
and ecx, 0xf6dd8ea3
imul ecx, edx
mov edx, eax
and edx, 0x76dd8ea3
or eax, 0xf6dd8ea3
imul eax, edx
mov rdx, qword [rbp + 0x28]
add eax, ecx
test rdx, rdx
sete cl
cmp eax, 0x89cf0f54
ja 0x140087b00
lea rax, [rdx + 1]
mov qword [rbp - 0x50], rax
xor eax, eax
mov qword [rbp + 0x30], rax
mov byte [rbp + 0xdf], cl
mov r12, qword [rbp + 0x28]
mov r11, qword [rbp + 0x30]
nop dword [rax + rax]
mov eax, dword [0x14158e430]
mov ecx, dword [0x14158e434]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
imul ecx, eax, 0xcf8edacb
mov eax, ecx
xor eax, 0x6113f4ab
add eax, ecx
and ecx, 0x9eec0b54
sub eax, ecx
or eax, 0x7c9a8497
lea r15, [r11 + 1]
test r11, r11
sete bl
mov rcx, r11
not rcx
mov rdx, r12
not rdx
mov r8, rcx
movabs r10, 0x2a22cee656e493fd
and r8, r10
mov r9, r11
mov r14, qword [rbp - 0x68]
and r9, r14
or r9, r8
or rcx, rdx
and rdx, r10
mov r8, r12
and r8, r14
or r8, rdx
xor r8, r9
not rcx
or rcx, r8
mov r9, rcx
not r9
mov edx, 0xffffffff
or r9, rdx
add r9, rcx
xor r14d, r14d
inc r9
sete r10b
mov ecx, r15d
and ecx, dword [rbp + 0x78]
mov edx, r15d
not edx
mov r8d, dword [rbp + 0xbc]
and edx, r8d
imul edx, ecx
mov ecx, r8d
and ecx, r15d
or r8d, r15d
imul r8d, ecx
add r8d, edx
cmp r11, 3
mov ecx, 0
cmovne rcx, r8
cmp eax, 0x25db3544
jb 0x140087b80
mov qword [rbp - 0x70], rcx
mov byte [rbp + 0xde], bl
mov byte [rbp + 0xdd], r10b
mov r14b, r10b
add r14d, r14d
mov dword [rbp - 0xc], r14d
mov ecx, dword [rbp + 0xbc]
mov r12d, ecx
imul r12d, r11d
lea eax, [r12 - 1]
mov dword [rbp - 0x10], eax
xor r14d, r14d
mov qword [rbp - 0x58], r15
mov rbx, r9
mov qword [rbp + 8], r9
mov qword [rbp + 0x38], r12
mov r11d, ecx
mov r15, qword [rbp + 0xb0]
nop word cs:[rax + rax]
mov eax, dword [0x14158e438]
mov ecx, dword [0x14158e43c]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
or eax, 0x1796d44a
cmp eax, 0xbd9fc974
je 0x140087cb0
mov rax, qword [rbp + 0x58]
cmp rax, 2
mov qword [rbp + 0x80], r14
jge 0x140087d45
cmp eax, 1
jne 0x140087d55
sub rsp, 0x20
mov r8d, 0x400
mov rcx, r15
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
mov eax, dword [0x14158e450]
and eax, dword [0x14158e454]
and eax, 0x2981087a
add eax, 0xa611f438
or eax, 0xc916d8eb
cmp eax, 0x174704cc
mov r15, qword [rbp - 0x30]
jne 0x140088b8c
jmp 0x140088be3
cmp eax, 2
jne 0x140087d55
cmp qword [rbp + 0x28], 0
je 0x140088a5f
sub rsp, 0x20
mov r8d, 0x400
mov rcx, r15
xor edx, edx
mov r15d, r11d
call fcn.14021c2d0
mov r8d, 0x400
mov rcx, qword [rbp + 0xc8]
xor edx, edx
call fcn.14021c2d0
mov r8d, 0x400
mov rcx, qword [rbp + 0xa8]
xor edx, edx
call fcn.14021c2d0
mov r11d, r15d
add rsp, 0x20
mov al, 1
mov qword [rbp + 0x68], rax
xor eax, eax
mov qword [rbp + 0x40], rax
movzx eax, byte [rbp + 0xdd]
mov qword [rbp + 0x70], rax
movzx eax, byte [rbp + 0xde]
mov qword [rbp + 0x10], rax
movzx eax, byte [rbp + 0xdf]
mov byte [rbp + 0x90], al
mov eax, dword [rbp - 0xc]
mov r10d, eax
mov r9d, dword [rbp + 0x9c]
lea rax, [r14 + 1]
mov qword [rbp - 0x60], rax
mov eax, dword [0x14158e470]
xor edx, edx
div dword [0x14158e474]
imul rax, rax, 0x412d2cb3
shr rax, 0x3d
or eax, 0xfffecfdc
cmp eax, 0xdad19f02
je 0x140087ddf
cmp r10d, r11d
jae 0x1400889d0
nop dword [rax]
mov eax, dword [0x14158e478]
xor edx, edx
div dword [0x14158e47c]
mov ecx, eax
and ecx, 0xec3181e2
add ecx, 0x91b09898
mov eax, ecx
xor eax, 0x2d56a95d
or ecx, 0xd0a112a2
and ecx, eax
mov r8d, esi
imul r8d, r14d
add r8d, r12d
lea r15d, [r8 + r10]
mov eax, r15d
xor edx, edx
div esi
cmp ecx, 0x9d85ad9c
je 0x140087e10
lea ecx, [r10 + r8]
dec ecx
nop
test edx, edx
mov eax, 0
cmove eax, esi
test r13b, r13b
jne 0x140087e60
add ecx, eax
cmp r9b, 0x10
sete r8b
movzx edx, byte [rbp + 0x90]
mov eax, edx
and al, r8b
add r8b, dl
add r8b, al
inc r8b
mov byte [rbp], r8b
nop word cs:[rax + rax]
mov eax, r15d
xor edx, edx
div esi
lea eax, [r15 - 1]
cmp edx, 1
cmovne eax, ecx
mov qword [rbp + 0x48], rax
mov eax, eax
cmp byte [rbp + 0x68], 0
mov qword [rbp + 0x60], r15
mov qword [rbp + 0xd0], rax
je 0x140088040
mov eax, dword [0x14158e4b8]
mov ecx, dword [0x14158e4bc]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
mov ecx, eax
and ecx, 0x36385b17
xor eax, 0xb6385b17
lea eax, [rax + rcx*2]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xa1d12a5
and ecx, 0xf5e2ed5a
imul ecx, edx
mov edx, eax
and edx, 0xf5e2ed5a
or eax, 0xf5e2ed5a
imul eax, edx
add eax, ecx
or eax, 0x73a40d2e
cmp eax, 0x4505e120
jb 0x140087ecc
mov r9, qword [rbp + 0xc0]
nop dword [rax]
mov eax, dword [0x14158e4c0]
mov ecx, dword [0x14158e4c4]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
add eax, 0xe6610389
mov ecx, eax
not ecx
and ecx, 0xbccf4720
and eax, 0x4330b8df
sub eax, ecx
cmp eax, 0x1e803f47
ja 0x140087f30
nop dword [rax + rax]
mov eax, dword [0x14158e4c8]
xor eax, dword [0x14158e4cc]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xbaecea0d
and ecx, 0x451315f2
imul ecx, edx
mov edx, eax
and edx, 0x451315f2
or eax, 0x451315f2
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0xf0505ff4
mov edx, eax
and edx, 0xfafa00a
imul edx, ecx
mov ecx, eax
and ecx, 0xf0505ff4
or eax, 0xf0505ff4
imul eax, ecx
add eax, edx
or eax, 0x77a3621
cmp eax, 0xed3aa784
ja 0x140087f80
mov rax, qword [rbp + 0xd0]
cmp qword [rbp + 0xa0], rax
jbe 0x14008923e
shl rax, 0xa
add rax, r9
nop word cs:[rax + rax]
mov ecx, dword [0x14158e4d0]
add ecx, dword [0x14158e4d4]
imul rcx, rcx, 0xa65d58f
shr rcx, 0x3b
or ecx, 0xf6eca480
cmp ecx, 0xcd36b89c
je 0x140088010
jmp 0x1400882c3
mov eax, dword [0x14158e480]
or eax, dword [0x14158e484]
and eax, 0xccf9dd7a
imul eax, eax, 0x133950ae
cmp eax, 0x2fcbf9
je 0x140088040
mov eax, r10d
xor eax, 0xffffff80
mov edx, r10d
or edx, 0x7f
and edx, eax
mov eax, dword [0x14158e488]
mov ecx, dword [0x14158e48c]
xor ecx, eax
not ecx
and ecx, eax
imul eax, ecx, 0x6e6f71d2
mov ecx, eax
not ecx
and ecx, 0xbb95012e
and eax, 0x446afed0
sub eax, ecx
xor eax, 0x256c0434
cmp eax, 0x225279c6
jb 0x14008806c
nop word cs:[rax + rax]
test r13b, r13b
jne 0x1400880b0
test edx, edx
jne 0x140088290
mov dword [rbp - 0x14], edx
mov eax, dword [0x14158e490]
mov ecx, dword [0x14158e494]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
mov ecx, eax
not ecx
or ecx, 0x50498270
and ecx, 0x59cb9ff8
mov edx, eax
and edx, 0x6104000
or edx, ecx
xor edx, 0xb0130b33
and eax, 0x9901488
or eax, edx
mov ecx, eax
and ecx, 0x4f925dc8
xor ecx, 0x245ee534
and eax, 0x84124503
or eax, ecx
cmp eax, 0xd50c4343
jb 0x1400880c0
mov r13, qword [rbp + 0x40]
nop dword [rax + rax]
mov eax, dword [0x14158e498]
sub eax, dword [0x14158e49c]
shr eax, 6
imul rax, rax, 0x2248b41
shr rax, 0x33
not eax
and eax, 0xe9942cc7
neg eax
cmp eax, 0xaf6b9f0c
ja 0x140088120
mov qword [rbp + 0x50], r10
inc r13
mov eax, dword [0x14158e4a0]
or eax, dword [0x14158e4a4]
mov ecx, eax
xor ecx, 0xa0830002
xor eax, 0x20489a4
and eax, 0x32c9bb5
and ecx, 0xfcd3644a
sub ecx, eax
imul eax, ecx, 0xc08bc8fb
cmp eax, 0xbbffe4d7
jne 0x1400881d9
mov rdx, qword [rbp + 0xc8]
mov qword [rdx + 0x30], r13
sub rsp, 0x20
mov rsi, qword [rbp + 0xb0]
mov rcx, rsi
mov rbx, qword [rbp + 0xa8]
mov r8, rbx
xor r9d, r9d
call fcn.14008bfc0
mov r8d, 0x400
mov r14, qword [rbp - 0x38]
mov rcx, r14
mov rdx, rbx
call fcn.14021bb50
mov rcx, rsi
mov rdx, r14
mov r8, rbx
xor r9d, r9d
call fcn.14008bfc0
add rsp, 0x20
mov r15, qword [rbp + 0xa8]
mov rsi, qword [rbp + 0xc8]
mov r14, qword [rbp + 0xb0]
mov r12, qword [rbp - 0x38]
nop word cs:[rax + rax]
mov eax, dword [0x14158e4a8]
xor eax, dword [0x14158e4ac]
xor eax, 0x8a6f2fe4
imul ebx, eax, 0x761772b5
xor ebx, 0x57ead4ef
mov qword [rsi + 0x30], r13
sub rsp, 0x20
mov rcx, r14
mov rdx, rsi
mov r8, r15
xor r9d, r9d
call fcn.14008bfc0
mov r8d, 0x400
mov rcx, r12
mov rdx, r15
call fcn.14021bb50
mov rcx, r14
mov rdx, r12
mov r8, r15
xor r9d, r9d
call fcn.14008bfc0
add rsp, 0x20
cmp ebx, 0x5284459c
jb 0x140088200
mov qword [rbp + 0x40], r13
mov rsi, qword [rbp + 0x20]
mov r11d, dword [rbp + 0xbc]
mov r12, qword [rbp + 0x38]
mov r14, qword [rbp + 0x80]
xor r13d, r13d
mov r10, qword [rbp + 0x50]
mov edx, dword [rbp - 0x14]
nop dword [rax + rax]
mov eax, dword [0x14158e4b0]
imul eax, dword [0x14158e4b4]
imul eax, eax, 0x61a229d3
add eax, 0xf0d19ceb
not eax
or eax, 0xf3f80594
cmp eax, 0x59693886
jbe 0x140088290
mov eax, edx
mov rcx, qword [rbp + 0xa8]
lea rax, [rcx + rax*8]
lea ecx, [r10 + 1]
mov dword [rbp + 0x50], ecx
nop word [rax + rax]
mov ecx, dword [0x14158e4d8]
imul ecx, dword [0x14158e4dc]
mov edx, 0x804dca8c
sub edx, ecx
add ecx, 0x7fb23573
and edx, 0xead8492b
mov r8d, ecx
and r8d, 0x1527b6d4
imul r8d, edx
mov edx, ecx
and edx, 0xead8492b
or ecx, 0xead8492b
imul ecx, edx
add ecx, r8d
cmp ecx, 0xfdf9ed10
je 0x1400882d0
mov rcx, qword [rax]
mov edx, r14d
cmp byte [rbp + 0x70], 0
jne 0x1400883ea
mov rbx, r10
nop dword [rax]
mov eax, dword [0x14158e4e0]
mov edx, dword [0x14158e4e4]
mov r8d, eax
xor r8d, edx
not r8d
and r8d, edx
add r8d, r8d
sub edx, r8d
add eax, edx
add eax, 0x19d26c80
or eax, 0x9f4e943c
add eax, 0xf917cea6
cmp eax, 0xdd78fa91
ja 0x140088330
mov rax, rcx
shr rax, 0x20
xor edx, edx
div dword [rbp + 0x88]
nop word cs:[rax + rax]
mov eax, dword [0x14158e4e8]
mov r8d, dword [0x14158e4ec]
mov r9d, eax
not r9d
and r9d, r8d
mov r10d, r8d
not r10d
and r10d, eax
imul r10d, r9d
mov r9d, eax
and r9d, r8d
or eax, r8d
imul eax, r9d
add eax, r10d
imul eax, eax, 0x964bc075
mov r8d, eax
not r8d
or r8d, 0x9f5cc518
or eax, 0x60a33ae7
and eax, r8d
mov r8d, eax
and r8d, 0x93dc1ff4
or eax, 0x93dc1ff4
add eax, r8d
cmp eax, 0x2f365e1c
jb 0x140088380
mov r10, rbx
mov r8d, edx
cmp byte [rbp + 0x90], 0
je 0x140088470
mov rbx, r10
cmp byte [rbp + 0x10], 0
je 0x140088510
mov eax, dword [0x14158e518]
mov edx, dword [0x14158e51c]
mov r9d, edx
not r9d
mov r10d, eax
and r10d, r9d
or r9d, eax
not r9d
imul r9d, r10d
mov r10d, eax
and r10d, edx
or eax, edx
imul eax, r10d
add eax, r9d
imul eax, eax, 0xa1e31c12
lea edx, [rax + 0x1a0c7c49]
not edx
or edx, 0x3e0a8eb5
add eax, edx
add eax, 0x1a0c7c4a
cmp eax, 0x26afb5aa
ja 0x140088403
dec ebx
nop dword [rax + rax]
test r13b, r13b
jne 0x140088460
jmp 0x1400885c9
test r13b, r13b
jne 0x140088470
mov rax, qword [rbp - 0x78]
add eax, r10d
test r10d, r10d
mov r9d, dword [rbp - 0x18]
cmove r9d, dword [rbp + 0x78]
add r9d, esi
cmp r14, r8
cmove r9d, eax
nop word cs:[rax + rax]
mov eax, dword [0x14158e4f0]
mov edx, dword [0x14158e4f4]
mov r10d, eax
and r10d, edx
add r10d, r10d
add eax, edx
sub eax, r10d
mov edx, eax
not edx
and edx, 0x35b86e9
mov r10d, eax
and r10d, 0xfca47916
imul r10d, edx
mov edx, eax
and edx, 0x35b86e9
or eax, 0x35b86e9
imul eax, edx
add eax, r10d
mov edx, eax
not edx
or edx, 0x2449008
and edx, 0xd344b48e
and eax, 0xcba4071
or eax, edx
cmp eax, 0x2c01abee
je 0x1400884a0
mov r15d, r11d
mov r10, qword [rbp - 0x70]
jmp 0x14008868d
mov eax, dword [0x14158e4f8]
mov edx, dword [0x14158e4fc]
mov r9d, edx
not r9d
mov r10d, eax
and r10d, r9d
or r9d, eax
not r9d
imul r9d, r10d
mov r10d, eax
and r10d, edx
or eax, edx
imul eax, r10d
add eax, r9d
add eax, 0x7eacb246
mov edx, eax
not edx
and edx, 0x627b5441
mov r9d, eax
and r9d, 0x9d84abbe
imul r9d, edx
mov edx, eax
and edx, 0x627b5441
or eax, 0x627b5441
imul eax, edx
add eax, r9d
and eax, 0xa1f7f0a2
cmp eax, 0x56552213
jb 0x140088510
cmp r14, r8
jne 0x1400885e0
add ebx, dword [rbp - 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x14158e510]
mov edx, dword [0x14158e514]
mov r9d, eax
and r9d, edx
xor eax, edx
lea eax, [rax + r9*2]
or eax, 0xc7d4822e
mov edx, eax
and edx, 0x66a6cba
xor eax, 0x866a6cba
lea eax, [rax + rdx*2]
add eax, 0xe2f7a2fd
cmp eax, 0xfc941873
jae 0x140088590
mov r15d, r11d
mov r9d, ebx
jmp 0x14008868a
mov eax, dword [0x14158e500]
sub eax, dword [0x14158e504]
mov edx, eax
not edx
and edx, 0xeb94026a
mov r9d, eax
and r9d, 0x146bfd95
imul r9d, edx
mov edx, eax
and edx, 0xeb94026a
or eax, 0xeb94026a
imul eax, edx
lea edx, [rax + r9]
add edx, 0x37f61bcb
add eax, r9d
not edx
or edx, 0x57a8361b
add eax, edx
add eax, 0x37f61bcc
cmp eax, 0x2eb0ad10
ja 0x1400885e0
nop word [rax + rax]
mov eax, dword [0x14158e508]
mov edx, dword [0x14158e50c]
not edx
mov r9d, eax
or r9d, edx
and edx, eax
not r9d
or r9d, edx
mov eax, r9d
and eax, 0xf34db4e7
and r9d, 0x63042422
add r9d, r9d
sub eax, r9d
add eax, 0x8f04a8d4
cmp ebx, 1
mov r9d, r12d
sbb r9d, 0
cmp eax, 0x39232096
jb 0x140088640
mov r15d, r11d
xor r10d, r10d
mov edx, dword [0x14158e524]
mov eax, edx
xor eax, edx
not eax
and eax, dword [0x14158e520]
xor eax, edx
mov edx, eax
xor edx, 0x45078084
xor eax, 0xaf86f33
mov r11d, eax
and r11d, 0x3ac03648
and edx, 0x453fc9b7
imul edx, r11d
mov r11d, eax
and r11d, 0x453fc9b7
or eax, 0x453fc9b7
imul eax, r11d
add eax, edx
or eax, 0xa5fc59b4
mov r11d, r9d
cmp eax, 0x5ddcab1d
jae 0x140088781
mov eax, 0xffffffff
xor rax, rcx
not rax
and rax, rcx
imul rax, rax
shr rax, 0x20
mov rdx, r11
not rdx
mov ebx, eax
and ebx, edx
or rdx, rax
not rdx
imul rdx, rbx
mov ebx, eax
and ebx, r9d
or rax, r11
imul rax, rbx
add rax, rdx
shr rax, 0x20
not rax
add rax, r10
add rax, r11
mov rdx, rax
shr rdx, 0x20
je 0x140088740
xor edx, edx
div rsi
jmp 0x140088781
xor edx, edx
div esi
jmp 0x140088781
xor edx, edx
div rsi
mov r12, rdx
and r14d, 0x3fffffff
xor r14d, 0x256400e5
add r14d, 0xdc4735bd
or r14d, 0xc6addf57
cmp r14d, 0xa27b99f9
jne 0x140088810
mov r14d, dword [0x14158e528]
xor r14d, dword [0x14158e52c]
mov rax, rcx
not rax
mov edx, 0xffffffff
or rax, rdx
add rax, rcx
inc rax
imul rax, rax
shr rax, 0x20
mov rdx, r11
not rdx
mov ebx, eax
and ebx, edx
or rdx, rax
not rdx
imul rdx, rbx
mov ebx, eax
and ebx, r9d
or rax, r11
imul rax, rbx
add rax, rdx
shr rax, 0x20
lea rdx, [rax + rax]
not rdx
add rdx, rax
mov ebx, r10d
and ebx, r9d
mov rax, r10
or rax, r11
add rax, rbx
add rax, rdx
mov rdx, rax
shr rdx, 0x20
jne 0x140088750
xor edx, edx
div esi
mov r12d, edx
jmp 0x140088758
mov r14d, dword [rbp + 0x60]
cmp qword [rbp + 0xa0], r14
jbe 0x14008916d
imul r8, rsi
add r12, r8
shl r14, 0xa
mov rbx, qword [rbp + 0xc0]
add r14, rbx
sub rsp, 0x20
mov r8d, 0x400
mov rcx, qword [rbp - 0x48]
mov rdx, r14
call fcn.14021bb50
add rsp, 0x20
mov ecx, 0xba5fe1b1
nop word cs:[rax + rax]
test r13b, r13b
jne 0x140088860
nop word cs:[rax + rax]
mov eax, dword [0x14158e530]
xor edx, edx
div dword [0x14158e534]
add eax, 0x5f4b881c
imul rax, rcx
shr rax, 0x3d
and eax, 0xfffffffe
cmp eax, 0x3a5c7514
ja 0x140088870
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0xd0]
cmp rax, rcx
jbe 0x14008919e
cmp r12, rax
jae 0x140089206
shl rcx, 0xa
add rcx, rbx
shl r12, 0xa
add r12, rbx
sub rsp, 0x20
movzx r9d, byte [rbp]
and r9b, 1
mov rdx, r12
mov r12, qword [rbp - 0x48]
mov r8, r12
call fcn.14020c190
mov r8d, 0x400
mov rcx, r14
mov rdx, r12
call fcn.14021bb50
add rsp, 0x20
mov rbx, qword [rbp + 8]
mov r12, qword [rbp + 0x38]
mov r14, qword [rbp + 0x80]
mov r11d, r15d
nop word cs:[rax + rax]
mov eax, dword [0x14158e538]
mov ecx, dword [0x14158e53c]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
mov eax, ecx
xor eax, 0x4c8ce744
or ecx, 0xb37318bb
and ecx, eax
mov eax, ecx
and eax, 0x3604393c
add eax, eax
mov edx, ecx
sub edx, eax
neg eax
add eax, ecx
add eax, 0x3604393c
not eax
or eax, 0x968bba10
add eax, edx
add eax, 0x3604393d
cmp eax, 0x85fcbfa5
ja 0x140088910
mov r15, qword [rbp + 0x60]
inc r15d
mov rcx, qword [rbp + 0x48]
mov eax, ecx
and eax, 1
xor ecx, 1
lea ecx, [rcx + rax*2]
nop dword [rax + rax]
mov eax, dword [0x14158e540]
mov edx, dword [0x14158e544]
mov r8d, eax
and r8d, edx
or eax, edx
not r8d
and r8d, eax
add r8d, 0x8c843b89
mov eax, r8d
and eax, 0x29333aea
add eax, eax
sub r8d, eax
cmp r8d, 0x506e5d7
je 0x140088980
mov eax, dword [rbp + 0x50]
mov r10d, eax
cmp eax, r11d
jne 0x140087ea0
nop word cs:[rax + rax]
mov eax, dword [0x14158e548]
imul eax, dword [0x14158e54c]
mov ecx, eax
not ecx
or ecx, 0x2b449224
lea edx, [rax + rcx]
inc edx
add eax, ecx
mov ecx, edx
and ecx, 0x792de966
xor edx, 0x86d21699
add eax, edx
inc eax
sub eax, ecx
imul eax, eax, 0x349de100
cmp eax, 0x14b31c75
jb 0x1400889d0
mov r15, qword [rbp + 0xb0]
test r13b, r13b
jne 0x140088a16
mov ecx, 0x988fefb7
mov eax, dword [0x14158e550]
or eax, dword [0x14158e554]
imul rax, rcx
shr rax, 0x3f
xor eax, 0xcc42a9c3
imul eax, eax, 0xfab5e902
cmp eax, 0xc8f251a2
ja 0x140088a20
mov rax, qword [rbp - 0x60]
mov r14, rax
cmp rax, qword [rbp + 0x88]
jne 0x140087cb0
jmp 0x140088d90
sub rsp, 0x20
mov r8d, 0x400
mov rcx, r15
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
test r13b, r13b
je 0x140088a98
sub rsp, 0x20
mov r8d, 0x400
mov rcx, qword [rbp + 0xc8]
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
mov rsi, qword [rbp + 0xc8]
nop
mov r14d, dword [0x14158e440]
xor r14d, dword [0x14158e444]
or r14d, 0x657b508b
add r14d, 0xdd215e9c
sub rsp, 0x20
mov r8d, 0x400
mov rcx, rsi
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
cmp r14d, 0xf8ed9058
ja 0x140088aa0
test r13b, r13b
mov r15, qword [rbp + 0xa8]
mov rsi, qword [rbp + 0x20]
jne 0x140088b5c
mov r14d, dword [0x14158e44c]
sub r14d, dword [0x14158e448]
add r14d, 0x4a1069e7
or r14d, 0x55f1f4ce
sub rsp, 0x20
mov r8d, 0x400
mov rcx, r15
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
cmp r14d, 0xae965079
je 0x140088b5c
mov rdx, qword [rbp + 0x30]
cmp rdx, 2
jb 0x140088c1d
xor eax, eax
mov qword [rbp + 0x40], rax
mov byte [rbp + 0x90], 1
xor eax, eax
mov qword [rbp + 0x70], rax
xor eax, eax
mov qword [rbp + 0x10], rax
mov al, 1
mov qword [rbp + 0x68], rax
xor r10d, r10d
jmp 0x140088b79
sub rsp, 0x20
mov r8d, 0x400
mov rcx, r15
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
jmp 0x140088aed
mov r11d, dword [rbp + 0xbc]
mov r14, qword [rbp + 0x80]
jmp 0x140087dd0
mov eax, dword [0x14158e458]
mov ecx, dword [0x14158e45c]
not ecx
mov edx, eax
or edx, ecx
and ecx, eax
not edx
or edx, ecx
imul eax, edx, 0x39135d2b
mov ecx, eax
xor ecx, 0x832e1082
and eax, 0x7cd1ef7d
add eax, eax
sub eax, ecx
imul r14d, eax, 0x4ea63d57
sub rsp, 0x20
mov r8d, 0x3d0
mov rcx, r15
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
cmp r14d, 0x105bc8d6
jae 0x140088bfd
sub rsp, 0x20
mov r8d, 0x3d0
mov rcx, r15
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
jmp 0x140088b8c
sub rsp, 0x20
mov r8d, 0x400
mov rcx, qword [rbp + 0xa8]
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0x28]
mov qword [rax], rcx
mov r14, qword [rbp + 0x80]
mov qword [rax + 8], r14
mov qword [rax + 0x10], rdx
mov rcx, qword [rbp - 0x28]
mov qword [rax + 0x18], rcx
mov rcx, qword [rbp + 0x18]
mov qword [rax + 0x20], rcx
mov rcx, qword [rbp + 0x58]
mov qword [rax + 0x28], rcx
test rbx, rbx
mov r11d, dword [rbp + 0xbc]
mov r9d, dword [rbp + 0x9c]
je 0x140088c97
xor eax, eax
mov qword [rbp + 0x40], rax
xor eax, eax
mov qword [rbp + 0x70], rax
movzx eax, byte [rbp + 0xde]
mov qword [rbp + 0x10], rax
movzx eax, byte [rbp + 0xdf]
mov byte [rbp + 0x90], al
xor eax, eax
mov qword [rbp + 0x68], rax
xor r10d, r10d
jmp 0x140087dd7
mov eax, dword [0x14158e460]
mov ecx, dword [0x14158e464]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
add eax, 0xe45f737d
shr eax, 1
mov ecx, 0x821a510b
imul rax, rcx
shr rax, 0x3a
xor eax, 0xfca661d
cmp eax, 0x358eab5a
mov rsi, qword [rbp + 0xb0]
mov rcx, qword [rbp - 0x30]
jbe 0x140088ce0
mov qword [rcx], 1
nop
mov eax, dword [0x14158e468]
sub eax, dword [0x14158e46c]
add eax, 0x4d8af94b
not eax
or eax, 0xf7ffff3f
mov qword [rcx], 1
add eax, 0x226a867a
jae 0x140088ce0
sub rsp, 0x20
xor eax, eax
mov qword [rbp + 0x68], rax
mov rcx, rsi
mov rdx, qword [rbp + 0xc8]
mov r15, qword [rbp + 0xa8]
mov r8, r15
xor r9d, r9d
call fcn.14008bfc0
mov r8d, 0x400
mov r14, qword [rbp - 8]
mov rcx, r14
mov rdx, r15
call fcn.14021bb50
mov rcx, rsi
mov rdx, r14
mov r8, r15
xor r9d, r9d
call fcn.14008bfc0
add rsp, 0x20
mov r10d, 2
mov al, 1
mov qword [rbp + 0x70], rax
mov eax, 1
mov qword [rbp + 0x40], rax
movzx eax, byte [rbp + 0xde]
mov qword [rbp + 0x10], rax
movzx eax, byte [rbp + 0xdf]
mov byte [rbp + 0x90], al
mov rsi, qword [rbp + 0x20]
jmp 0x140088b79
mov eax, dword [0x14158e558]
xor edx, edx
div dword [0x14158e55c]
mov eax, dword [0x14158e560]
mov ecx, dword [0x14158e564]
not eax
not ecx
or ecx, eax
not ecx
or ecx, 0x42458c2b
and ecx, 0xc247adef
add ecx, 0x5a34e968
cmp ecx, 0x904e9615
jb 0x140088d9e
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0x30], rax
cmp rax, 4
jne 0x140087b73
nop
mov eax, dword [0x14158e568]
or eax, dword [0x14158e56c]
mov ecx, eax
xor ecx, 0x20408400
and ecx, eax
or ecx, 0x1bab3baf
xor ecx, 0x3b379750
cmp ecx, 0xce58c27e
ja 0x140088de0
mov rax, qword [rbp - 0x50]
mov rdx, rax
cmp rax, qword [rbp + 0x18]
jne 0x140087af0
nop dword [rax + rax]
mov eax, dword [0x14158e618]
mov ecx, dword [0x14158e61c]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
imul eax, ecx, 0xf34af2d3
mov ecx, eax
not ecx
or ecx, 0x290840
and ecx, 0x673b1849
and eax, 0x800067b4
sub eax, ecx
cmp eax, 0x31391319
je 0x140088e20
lea r14d, [rsi - 1]
cmp qword [rbp + 0xa0], r14
mov r12, qword [rbp - 0x20]
mov r13, qword [rbp - 0x40]
jbe 0x14008934f
mov rbx, r14
shl rbx, 0xa
add rbx, qword [rbp + 0xc0]
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140088e90
mov eax, dword [0x14158e660]
add eax, dword [0x14158e664]
mov ecx, eax
xor ecx, 0x4142404
xor eax, 0x404028
and eax, 0xa1425129
and ecx, 0x5ebdaed6
or ecx, eax
cmp ecx, 0xb6520b39
jne 0x140089c33
jmp 0x140089c86
mov eax, dword [0x14158e420]
mov ecx, dword [0x14158e424]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x487b2358
and ecx, 0xb784dca7
imul ecx, edx
mov edx, eax
and edx, 0xb784dca7
or eax, 0xb784dca7
imul eax, edx
add eax, ecx
shr eax, 4
imul rax, rax, 0x107720ad
shr rax, 0x38
or eax, 0x56a9466c
cmp eax, 0xba85d3dc
je 0x140088ed0
cmp qword [rbp + 0x58], 2
jge 0x1400893b1
cmp dword [rbp + 0x58], 1
jne 0x140089535
sub rsp, 0x20
mov r8d, 0x400
mov rcx, qword [rbp + 0xb0]
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
mov eax, 0xc8220773
mov ecx, dword [0x14158e598]
sub ecx, dword [0x14158e59c]
add ecx, 0x74140b5e
imul rcx, rax
shr rcx, 0x3d
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0xfffffffe
and edx, 0xad4f36b1
imul edx, r8d
mov r8d, ecx
and r8d, 1
or ecx, 0xad4f36b1
imul ecx, r8d
add ecx, edx
cmp ecx, 0x7bc7e401
jb 0x140088f72
mov eax, dword [0x14158e5a0]
or eax, dword [0x14158e5a4]
mov ecx, eax
and ecx, 0x7fb27c5b
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xffb27c5b
mov ecx, eax
xor ecx, 0x684e4b49
and ecx, eax
mov eax, ecx
xor eax, 0x7d2f7ae9
or ecx, 0x82d08516
and ecx, eax
cmp ecx, 0x350840fd
mov rbx, qword [rbp + 0xc8]
jbe 0x1400895f0
jmp 0x14008965a
mov r12, qword [rbp - 0x20]
mov r13, qword [rbp - 0x40]
nop word cs:[rax + rax]
mov eax, dword [0x14158e620]
mov ecx, dword [0x14158e624]
not eax
not ecx
and ecx, eax
not ecx
add ecx, 0xc03556d0
not ecx
or ecx, 0x9fb2dc74
cmp ecx, 0xc8da4e94
jb 0x140089020
mov eax, dword [0x14158e628]
xor edx, edx
div dword [0x14158e62c]
mov eax, 0x8656c78b
nop dword [rax]
mov ecx, dword [0x14158e630]
mov edx, dword [0x14158e634]
mov r8d, ecx
and r8d, edx
xor ecx, edx
lea ecx, [rcx + r8*2]
shr ecx, 1
imul rcx, rax
shr rcx, 0x3e
add ecx, 0x8a0682c3
cmp ecx, 0x92e01fb9
ja 0x140089060
dec esi
nop word cs:[rax + rax]
mov eax, dword [0x14158e638]
and eax, dword [0x14158e63c]
xor eax, 0x2dc27c96
imul rax, rax, 0x38cf4561
shr rax, 0x3a
or eax, 0x66df0c59
cmp eax, 0x8681095d
ja 0x1400890a0
cmp qword [rbp + 0xa0], rsi
jbe 0x14008934f
shl rsi, 0xa
add rsi, rbx
nop dword [rax]
mov eax, dword [0x14158e640]
mov ecx, eax
not ecx
or ecx, dword [0x14158e644]
add eax, ecx
inc eax
and eax, 0x8aafaf12
imul eax, eax, 0x16e832a9
add eax, 0xf25c406e
cmp eax, 0xf3709d4c
ja 0x1400890e0
sub rsp, 0x20
mov r8d, 0x400
mov rcx, rdi
mov rdx, rsi
call fcn.14021bb50
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x14158e648]
mov ecx, dword [0x14158e64c]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
imul eax, eax, 0x77172568
cmp eax, 0x116004dd
je 0x140089130
jmp 0x140089980
ud2
ud2
mov eax, dword [0x14158e600]
or eax, dword [0x14158e604]
mov ecx, eax
xor ecx, 0xaf76fc9a
add ecx, eax
and eax, 0x50890365
sub ecx, eax
imul eax, ecx, 0x860bbdb1
add eax, 0xbc05c905
cmp eax, 0x44aba5fa
jae 0x14008990f
jmp 0x140089949
xor eax, eax
test al, al
je 0x140089250
ud2
mov eax, dword [0x14158e5ec]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [0x14158e5e8]
xor ecx, eax
ud2
mov eax, dword [0x14158e3b8]
mov ecx, dword [0x14158e3bc]
mov edx, eax
and edx, ecx
not eax
not ecx
or ecx, eax
not ecx
or ecx, edx
imul eax, ecx, 0x6afbc71
xor eax, 0x4834a7ad
cmp eax, 0x34c908c3
jae 0x1400892b0
ud2
mov eax, dword [0x14158e3c0]
mov ecx, eax
not ecx
or ecx, dword [0x14158e3c4]
add eax, ecx
add eax, 0x5d41a8c3
or eax, 0xc1818688
and eax, 0xf181ee9d
ud2
mov eax, dword [0x14158e3d8]
mov ecx, dword [0x14158e3dc]
not eax
not ecx
mov edx, eax
or edx, ecx
not edx
and ecx, eax
or ecx, edx
xor ecx, 0xb9f80837
add ecx, 0x1ecada7b
imul rax, rcx, 0x80509ef
shr rax, 0x39
cmp eax, 0x18a86552
jbe 0x140089561
jmp 0x1400895b2
mov eax, dword [0x14158e650]
xor eax, dword [0x14158e654]
mov ecx, 0x9140ba85
imul rcx, rax
shr rcx, 0x3f
imul eax, ecx, 0xb592900
cmp eax, 0x26398d77
jne 0x140089380
ud2
mov eax, dword [0x14158e658]
mov ecx, eax
not ecx
or ecx, dword [0x14158e65c]
add eax, ecx
inc eax
xor eax, 0x181003
or eax, 0x24404880
and eax, 0x245879c3
ud2
cmp dword [rbp + 0x58], 2
jne 0x140089535
mov eax, dword [0x14158e570]
xor edx, edx
div dword [0x14158e574]
add eax, 0x63472f9
xor eax, 0x5c3690d7
mov ecx, 0xe406cebf
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x4ff11f44
jbe 0x140089404
sub rsp, 0x20
mov r8d, 0x400
mov rcx, qword [rbp + 0xb0]
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
mov rsi, qword [rbp + 0xc8]
add rsi, 0x38
mov eax, dword [0x14158e578]
mov ecx, eax
not ecx
or ecx, dword [0x14158e57c]
add eax, ecx
inc eax
imul rdi, rax, 0x3cacd87d
shr rdi, 0x3a
add edi, 0x1bc15223
sub rsp, 0x20
mov r8d, 0x400
mov rcx, qword [rbp + 0xb0]
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
cmp edi, 0x5b9dd5aa
ja 0x14008940f
mov eax, dword [0x14158e580]
mov ecx, dword [0x14158e584]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
add eax, 0xfbf71f92
or eax, 0xf1d100b9
and eax, 0xf1d14ab9
cmp eax, 0xcf7db2e6
jae 0x1400894b2
sub rsp, 0x20
mov r8d, 0x3c8
mov rcx, rsi
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
mov edi, dword [0x14158e58c]
add edi, dword [0x14158e588]
mov eax, edi
not eax
mov ecx, edi
or ecx, 0x7e3dbffd
and eax, 0xc00000
mov edx, ecx
and edx, 0xcd22cf9e
imul edx, eax
and ecx, 0x32dd3061
or edi, 0x7efdbffd
imul edi, ecx
add edi, edx
sub rsp, 0x20
mov r8d, 0x3c8
mov rcx, rsi
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
cmp edi, 0xb50c9d2c
ja 0x1400894b2
mov rbx, qword [rbp + 0xc8]
mov eax, dword [0x14158e590]
imul eax, dword [0x14158e594]
or eax, 0x20100000
and eax, 0x20101000
cmp eax, 0x7fabfaf9
je 0x140089512
jmp 0x140089678
mov eax, dword [0x14158e5d0]
xor edx, edx
div dword [0x14158e5d4]
mov ecx, eax
not ecx
or eax, 0xa6c434ac
or ecx, 0x593bcb53
and ecx, eax
cmp ecx, 0x139c8a29
je 0x140089535
jmp 0x14008989f
mov eax, dword [0x14158e3e0]
mov ecx, dword [0x14158e3e4]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
add eax, 0xfbbaf2b4
imul rcx, rax, 0x23323d9
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1a
and eax, 7
ud2
ud2
mov esi, dword [0x14158e5a8]
xor esi, dword [0x14158e5ac]
mov eax, esi
xor eax, 0xd3398210
and esi, 0x2cc67def
add esi, esi
sub esi, eax
mov eax, esi
not eax
and eax, 0xabcb09cb
mov ecx, esi
and ecx, 0x5434f634
imul ecx, eax
mov eax, esi
and eax, 0xabcb09cb
or esi, 0xabcb09cb
imul esi, eax
add esi, ecx
xor esi, 0xfb654a9
lea rcx, [rbx + 0x38]
sub rsp, 0x20
mov r8d, 0x3c8
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
cmp esi, 0x965cc3d3
jne 0x140089678
lea rcx, [rbx + 0x38]
sub rsp, 0x20
mov r8d, 0x3c8
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
jmp 0x1400895f0
mov eax, dword [0x14158e5b0]
mov ecx, dword [0x14158e5b4]
not eax
not ecx
and ecx, eax
mov eax, ecx
not eax
and ecx, 0xfb970525
and eax, 0x468fada
sub eax, ecx
mov ecx, eax
xor ecx, 0xf2f87a37
xor eax, 0x57b63b35
add eax, ecx
and ecx, 0x5ab1befd
sub eax, ecx
cmp eax, 0x9674b03e
mov rdi, qword [rbp + 0xa8]
mov r14, qword [rbp + 0x18]
mov r15, qword [rbp + 0x58]
mov r12, qword [rbp - 0x28]
jb 0x140089707
sub rsp, 0x20
xor esi, esi
mov r8d, 0x400
mov rcx, rdi
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
pxor xmm0, xmm0
movdqu xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], r12
mov qword [rbx + 0x20], r14
mov qword [rbx + 0x28], r15
test sil, sil
je 0x14008973d
sub rsp, 0x20
mov r8d, 0x400
mov rcx, rdi
xor edx, edx
call fcn.14021c2d0
add rsp, 0x20
pxor xmm0, xmm0
movdqu xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], r12
mov qword [rbx + 0x20], r14
mov qword [rbx + 0x28], r15
jmp 0x1400896cc
mov eax, dword [0x14158e5b8]
mov ecx, dword [0x14158e5bc]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
add eax, 0xf4ea4ce2
and eax, 0x5eb344dc
mov ecx, eax
not ecx
or eax, 0x6d5b7f9a
or ecx, 0x92a48065
and ecx, eax
cmp ecx, 0xc70997ff
jne 0x1400897cf
mov rdx, qword [rbp + 0xc8]
mov qword [rdx + 0x30], 1
sub rsp, 0x20
mov rbx, qword [rbp + 0xb0]
mov rcx, rbx
mov rdi, qword [rbp + 0xa8]
mov r8, rdi
xor r9d, r9d
call fcn.14008bfc0
mov r8d, 0x400
mov rsi, qword [rbp - 8]
mov rcx, rsi
mov rdx, rdi
call fcn.14021bb50
mov rcx, rbx
mov rdx, rsi
mov r8, rdi
xor r9d, r9d
call fcn.14008bfc0
add rsp, 0x20
mov rdi, qword [rbp - 8]
mov rbx, qword [rbp + 0xa8]
mov r14, qword [rbp + 0xc8]
mov r15, qword [rbp + 0xb0]
mov eax, dword [0x14158e5c0]
sub eax, dword [0x14158e5c4]
mov ecx, eax
xor ecx, 0x601cc833
and ecx, 0x653cc8f3
xor eax, 0x87e222c8
lea eax, [rax + rcx*2]
imul rsi, rax, 0x34987f93
shr rsi, 0x3d
mov qword [r14 + 0x30], 1
sub rsp, 0x20
mov rcx, r15
mov rdx, r14
mov r8, rbx
xor r9d, r9d
call fcn.14008bfc0
mov r8d, 0x400
mov rcx, rdi
mov rdx, rbx
call fcn.14021bb50
mov rcx, r15
mov rdx, rdi
mov r8, rbx
xor r9d, r9d
call fcn.14020c190
add rsp, 0x20
cmp esi, 0xe1e0cf2d
ja 0x1400897e8
mov eax, dword [0x14158e5c8]
or eax, dword [0x14158e5cc]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x3ddc0ef1
and ecx, 0xc223f10e
imul ecx, edx
mov edx, eax
and edx, 0xc223f10e
or eax, 0xc223f10e
imul eax, edx
add eax, ecx
add eax, 0x536bf22c
cmp eax, 0x567f63f4
jb 0x140089860
mov eax, dword [0x14158e5d8]
add eax, dword [0x14158e5dc]
and eax, 0x97a95a5f
mov ecx, eax
xor ecx, 0x3285856
xor eax, 0xd8930620
or eax, 0x2764f9d9
add eax, ecx
inc eax
cmp eax, 0xd1c8930c
jbe 0x1400898d0
ud2
mov eax, dword [0x14158e5e0]
mov ecx, dword [0x14158e5e4]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
mov ecx, eax
xor ecx, 0xa43d632c
and eax, 0x5bc29cd3
add eax, eax
sub eax, ecx
or eax, 0x51be5293
add eax, 0x2ce30299
ud2
mov eax, dword [0x14158e608]
xor eax, dword [0x14158e60c]
mov ecx, eax
xor ecx, 0xca54237c
and eax, 0x35abdc83
add eax, eax
sub eax, ecx
mov ecx, eax
and ecx, 0x2e6c75ee
or eax, 0x2e6c75ee
add eax, ecx
xor eax, 0x4d6390cb
ud2
ud2
mov eax, dword [0x14158e680]
sub eax, dword [0x14158e684]
imul rcx, rax, 0x1b848ac1
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0x41d5de29
je 0x140089980
mov ecx, 0x91335153
nop dword [rax]
mov eax, dword [0x14158e688]
xor edx, edx
div dword [0x14158e68c]
imul rax, rcx
shr rax, 0x3c
mov edx, eax
or edx, 0xe25e1484
xor edx, 0x8559f875
or eax, 0x6206048a
and eax, edx
cmp eax, 0x9a095e30
ja 0x1400899b0
test r13, r13
je 0x140089abc
sub rsp, 0x20
mov ecx, 8
mov rdx, r13
call fcn.1401ac910
add rsp, 0x20
mov rsi, rax
mov eax, dword [0x14158e690]
xor edx, edx
div dword [0x14158e694]
nop word cs:[rax + rax]
mov eax, dword [0x14158e69c]
add eax, dword [0x14158e698]
xor eax, 0x8d267b1c
add eax, 0x2cf9adf8
mov ecx, eax
not ecx
and ecx, 0x8b21638a
mov edx, eax
and edx, 0x74de9c75
imul edx, ecx
mov ecx, eax
and ecx, 0x8b21638a
or eax, 0x8b21638a
imul eax, ecx
add eax, edx
cmp eax, 0x6461d309
ja 0x140089a20
nop word cs:[rax + rax]
mov eax, dword [0x14158e6a0]
xor eax, dword [0x14158e6a4]
mov ecx, eax
and ecx, 0x33da4609
or eax, 0x33da4609
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0xd58ed5d3
and eax, 0x2a712a2c
sub eax, ecx
add eax, 0x346e7a75
cmp eax, 0x7e1cca25
jb 0x140089a70
test rsi, rsi
jne 0x140089ac1
xor eax, eax
test al, al
je 0x14008a11f
jmp 0x14008a157
mov esi, 1
mov eax, dword [0x14158e700]
mov ecx, dword [0x14158e704]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
mov ecx, eax
not ecx
and ecx, 0x59442f3d
mov edx, eax
and edx, 0xa6bbd0c2
imul edx, ecx
mov ecx, eax
and ecx, 0x59442f3d
or eax, 0x59442f3d
imul eax, ecx
add eax, edx
mov ecx, eax
not ecx
and ecx, 0xc982b2d
and eax, 0xf367d4d2
sub eax, ecx
imul rax, rax, 0x4e7bf57f
shr rax, 0x3c
cmp eax, 0xf1cb67eb
jbe 0x140089b7a
mov qword [r12], r13
mov qword [r12 + 8], rsi
mov qword [r12 + 0x10], r13
sub rsp, 0x20
mov r9d, 0x400
mov rcx, rsi
mov rdx, r13
mov r8, rdi
call fcn.14008b710
add rsp, 0x20
mov rcx, qword [0x1415acb98]
sub rsp, 0x20
xor edx, edx
mov r8, rbx
call fcn.14020ae70
add rsp, 0x20
mov r15, rbx
mov ebx, 0x9f37f7eb
nop word cs:[rax + rax]
mov eax, dword [0x14158e708]
mov ecx, dword [0x14158e70c]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
imul rax, rbx
shr rax, 0x3e
or eax, 0xa55d7fc8
mov r14d, eax
not r14d
xor eax, 0xce2ac4f9
or r14d, 0x4a228031
and r14d, eax
mov qword [r12], r13
mov qword [r12 + 8], rsi
mov qword [r12 + 0x10], r13
sub rsp, 0x20
mov r9d, 0x400
mov rcx, rsi
mov rdx, r13
mov r8, rdi
call fcn.14008b710
add rsp, 0x20
mov rcx, qword [0x1415acb98]
sub rsp, 0x20
xor edx, edx
mov r8, r15
call fcn.14020ae70
add rsp, 0x20
cmp r14d, 0x5b352b64
je 0x140089b90
movaps xmm6, xmmword [rbp + 0xe0]
lea rsp, [rbp + 0xf8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x14158e668]
mov ecx, dword [0x14158e66c]
xor ecx, eax
not ecx
and ecx, eax
mov eax, ecx
and eax, 0x66695d7c
xor ecx, 0xe6695d7c
lea r15d, [rcx + rax*2]
add r15d, 0x31837825
xor r15d, 0xda62f02c
sub rsp, 0x20
mov r8d, 0x400
mov rcx, rdi
mov rdx, rbx
call fcn.14021bb50
add rsp, 0x20
cmp r15d, 0xc783ead4
jne 0x140089ca1
sub rsp, 0x20
mov r8d, 0x400
mov rcx, rdi
mov rdx, rbx
call fcn.14021bb50
add rsp, 0x20
jmp 0x140089c33
mov eax, dword [0x14158e670]
xor edx, edx
div dword [0x14158e674]
mov rbx, qword [rbp + 0xc0]
mov r15, qword [rbp + 0xa0]
nop dword [rax]
mov eax, dword [0x14158e678]
or eax, dword [0x14158e67c]
and eax, 0x10808348
or eax, 0x877d64b3
imul rax, rax, 0x4e676e3f
shr rax, 0x3d
cmp eax, 0x1d493c1d
ja 0x140089cc0
cmp dword [rbp + 0x88], 2
jb 0x140089980
mov ecx, 1
xor r8d, r8d
pcmpeqd xmm0, xmm0
mov r9d, 0xd0c5b121
nop word [rax + rax]
mov eax, dword [0x14158e6b0]
sub eax, dword [0x14158e6b4]
add eax, 0x797f3a38
or eax, 0x4be84d20
and eax, 0xdff9df70
cmp eax, 0xe96f1a9f
ja 0x140089d10
mov eax, esi
not eax
and eax, ecx
mov edx, ecx
not edx
and edx, esi
imul edx, eax
mov eax, esi
and eax, ecx
mov r10d, esi
or r10d, ecx
imul r10d, eax
add r10d, edx
mov eax, r10d
and eax, r14d
xor r10d, r14d
lea r10d, [r10 + rax*2]
cmp r15, r10
jbe 0x14008a03d
mov eax, ecx
and eax, 1
xor rcx, 1
lea rcx, [rcx + rax*2]
mov eax, dword [0x14158e6d0]
mov edx, dword [0x14158e6d4]
mov r11d, eax
and r11d, edx
or eax, edx
add eax, r11d
mov edx, eax
not edx
or eax, 0xa2854346
or edx, 0x5d7abcb9
and edx, eax
mov eax, edx
not eax
and edx, 0x4703b381
mov r11d, eax
and r11d, 0xb8fc4c7e
imul r11d, edx
mov edx, eax
and edx, 0x4703b381
or eax, 0x4703b381
imul eax, edx
add eax, r11d
imul rax, rax, 0x5e89a90b
shr rax, 0x3e
cmp eax, 0xe18dae6a
je 0x140089d75
shl r10, 0xa
add r10, rbx
mov eax, dword [0x14158e6d8]
xor edx, edx
div dword [0x14158e6dc]
mov eax, dword [0x14158e6e0]
xor eax, dword [0x14158e6e4]
mov edx, eax
or edx, 0x6dbc123a
mov r11d, eax
not r11d
and r11d, 0x92006804
mov ebx, edx
and ebx, 0x46387d3
imul ebx, r11d
and edx, 0xfb9c782c
or eax, 0xffbc7a3e
imul eax, edx
add eax, ebx
mov edx, eax
not edx
and edx, 0xe26599c8
mov r11d, eax
and r11d, 0x1d9a6634
imul r11d, edx
mov edx, eax
and edx, 0xe26599c8
or eax, 0xe26599c8
imul eax, edx
add eax, r11d
cmp eax, 0xabc52e97
je 0x140089def
xor eax, eax
test r8b, r8b
je 0x140089ee0
lea rdx, [rax*8]
movdqu xmm1, xmmword [r10 + rax*8]
movups xmm2, xmmword [r10 + rax*8 + 0x10]
movdqu xmm3, xmmword [rdi + rax*8]
movups xmm4, xmmword [rdi + rax*8 + 0x10]
xorps xmm4, xmm2
movdqa xmm2, xmm1
pxor xmm2, xmm0
por xmm2, xmm3
pandn xmm1, xmm3
pandn xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rdi + rax*8], xmm1
movups xmmword [rdi + rax*8 + 0x10], xmm4
or rdx, 0x20
movdqu xmm1, xmmword [r10 + rdx]
movups xmm2, xmmword [r10 + rdx + 0x10]
movdqu xmm3, xmmword [rdi + rdx]
movups xmm4, xmmword [rdi + rdx + 0x10]
xorps xmm4, xmm2
movdqa xmm2, xmm3
pandn xmm2, xmm1
pandn xmm1, xmm3
por xmm1, xmm2
movdqu xmmword [rdi + rdx], xmm1
movups xmmword [rdi + rdx + 0x10], xmm4
nop
mov edx, dword [0x14158e6e8]
sub edx, dword [0x14158e6ec]
add edx, 0xf4738392
not edx
or edx, 0x160f625b
and edx, 0x1f1ffafb
lea r11, [rax*8]
or r11, 0x20
movdqu xmm1, xmmword [r10 + rax*8]
movups xmm2, xmmword [r10 + rax*8 + 0x10]
movdqu xmm3, xmmword [rdi + rax*8]
movups xmm4, xmmword [rdi + rax*8 + 0x10]
xorps xmm4, xmm2
movdqa xmm2, xmm3
pand xmm2, xmm1
paddq xmm2, xmm2
paddq xmm3, xmm1
psubq xmm3, xmm2
movdqu xmmword [rdi + rax*8], xmm3
movups xmmword [rdi + rax*8 + 0x10], xmm4
movdqu xmm1, xmmword [r10 + r11]
movups xmm2, xmmword [r10 + r11 + 0x10]
movdqu xmm3, xmmword [rdi + r11]
movups xmm4, xmmword [rdi + r11 + 0x10]
xorps xmm4, xmm2
movdqa xmm2, xmm1
pxor xmm2, xmm0
por xmm2, xmm3
pandn xmm1, xmm3
pandn xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rdi + r11], xmm1
movups xmmword [rdi + r11 + 0x10], xmm4
cmp edx, 0x21dd1f34
ja 0x140089ee0
add rax, 8
cmp rax, 0x80
jne 0x140089e60
nop
mov eax, dword [0x14158e6f0]
xor eax, dword [0x14158e6f4]
or eax, 0x4f9400f6
mov edx, eax
xor edx, 0x28ae23a0
add edx, eax
and eax, 0x5751dc5f
sub edx, eax
and edx, 0x523ff062
cmp edx, 0xc62a611e
je 0x140089fa0
mov rbx, qword [rbp + 0xc0]
nop word [rax + rax]
mov eax, dword [0x14158e6f8]
mov edx, dword [0x14158e6fc]
mov r10d, edx
not r10d
mov r11d, eax
and r11d, r10d
or r10d, eax
not r10d
imul r10d, r11d
mov r11d, eax
and r11d, edx
or eax, edx
imul eax, r11d
add eax, r10d
and eax, 0xc4635fca
imul eax, eax, 0xeb8705bc
imul rax, r9
shr rax, 0x3e
cmp eax, 0x76cf672e
ja 0x140089fe0
cmp rcx, qword [rbp + 0x88]
jne 0x140089d10
jmp 0x140089980
mov eax, dword [0x14158e6b8]
mov ecx, dword [0x14158e6bc]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
add eax, 0x6e0816e3
mov ecx, eax
and ecx, 0x1d085c23
add ecx, ecx
sub eax, ecx
cmp eax, 0x1e65bb24
jne 0x14008a090
ud2
mov ecx, dword [0x14158e6c0]
mov eax, dword [0x14158e6c4]
mov edx, ecx
not edx
or ecx, eax
not eax
or eax, edx
and eax, ecx
mov ecx, eax
not ecx
and ecx, 0x86d5396
mov edx, eax
and edx, 0x7792ac69
imul edx, ecx
mov ecx, eax
and ecx, 0x86d5396
or eax, 0x86d5396
imul eax, ecx
add eax, edx
not eax
and eax, 0x52510020
ud2
mov eax, dword [0x14158e6a8]
add eax, dword [0x14158e6ac]
and eax, 0xc564ddd5
add eax, 0x7a553a37
mov ecx, eax
and ecx, 0xc5efffff
xor ecx, 0x83dd505
and eax, 0x322dd505
or eax, ecx
ud2
ud2