Function at 0x140288d10
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xe8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x50], xmm6
mov qword [rbp + 0x48], 0xfffffffffffffffe
mov ebx, r8d
mov rdi, rcx
cmp qword [rdx + 0x20], 0x10
jb 0x140288d4a
mov r14, qword [rdx + 8]
jmp 0x140288d4e
lea r14, [rdx + 8]
mov r13, qword [rdx + 0x18]
lea rax, [0x140446f0c]
movsxd r12, dword [0x140446f0c]
mov cl, 1
test cl, cl
jne 0x140288d81
nop word cs:[rax + rax]
mov ecx, dword [0x140576ea0]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x140288d70
lea rsi, [rbp - 0x40]
add r12, rax
mov eax, dword [0x140576ea4]
cmp eax, 0x26
jge 0x140288e07
mov eax, dword [0x140446f10]
cmp dword [0x140539470], 0x662a7714
jne 0x140288e07
mov dword [rbp + 0x30], eax
cmp r13, 0x10
jae 0x140288e1a
mov eax, dword [0x140576ea4]
cmp eax, 0x51
jle 0x140288dd8
nop dword [rax]
movups xmm0, xmmword [r14]
movups xmmword [rsi], xmm0
mov eax, dword [0x140576ea0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140288dc0
movups xmm0, xmmword [r14]
movups xmmword [rsi], xmm0
mov r15d, 0xf
jmp 0x140288ebb
mov eax, dword [0x140446f10]
mov eax, dword [0x140576ea0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x140288d93
mov eax, dword [0x140576ea4]
cmp eax, 0x3a
jle 0x140288df0
mov eax, dword [0x140446f10]
jmp 0x140288df0
mov r15, r13
or r15, 0xf
movabs rax, 0x7fffffffffffffff
cmp r15, rax
cmovae r15, rax
cmp r15, 0xfff
jb 0x140288e63
lea rcx, [r15 + 0x28]
mov edx, 0x6e397e87
mov r8d, 0xc8f7b6c2
mov r9d, 0x6f9bfe70
call fcn.1400aaae0
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140288e93
mov rcx, qword [0x140539468]
add rcx, r15
movabs rax, 0x211b1b0fd3c1a4cd
add rcx, rax
mov edx, 0x6e397e87
mov r8d, 0xc8f7b6c2
mov r9d, 0x6f9bfe70
call fcn.1400aaae0
mov rcx, rax
mov qword [rbp - 0x40], rcx
mov eax, r13d
not eax
and eax, 1
mov rdx, r13
and rdx, 0xfffffffffffffffe
or rdx, rax
mov eax, r13d
and eax, 1
lea r8, [rdx + rax*2]
mov rdx, r14
call fcn.14041d3c0
mov qword [rbp + 0x28], rsi
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x28], r15
lea rax, [0x1404388f8]
mov qword [rbp - 0x48], rax
mov byte [rbp - 0x20], bl
lea rcx, [rbp - 0x60]
call fcn.14028a170
mov rsi, qword [rbp - 0x60]
mov r14, qword [rsi + 8]
mov r9, qword [rsi + 0x10]
cmp r14, r9
mov qword [rbp], r15
mov qword [rbp - 0x18], rdi
je 0x140288f91
xorps xmm0, xmm0
movups xmmword [r14 + 0x18], xmm0
cmp r15, 0x10
jb 0x140288f11
mov rax, qword [rbp - 0x40]
mov qword [rbp + 0x28], rax
lea rdi, [r14 + 8]
cmp r13, 0xf
ja 0x1402890f5
mov rax, qword [rbp + 0x28]
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
mov r15d, 0xf
lea rdx, [0x1404388f8]
nop word cs:[rax + rax]
mov qword [r14 + 0x18], r13
mov qword [r14 + 0x20], r15
mov qword [r14], rdx
mov byte [r14 + 0x28], bl
add qword [rsi + 8], 0x30
mov eax, dword [0x140576ea0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x140289901
nop dword [rax]
mov qword [r14 + 0x18], r13
mov qword [r14 + 0x20], r15
mov qword [r14], rdx
mov byte [r14 + 0x28], bl
add qword [rsi + 8], 0x30
mov eax, dword [0x140576ea4]
cmp eax, 0x4a
jge 0x140288f70
jmp 0x140288f40
mov rax, qword [rsi]
mov rdx, r14
sub rdx, rax
sar rdx, 4
movabs rcx, 0xaaaaaaaaaaaaaaab
imul rdx, rcx
mov r8, rdx
mov qword [rbp + 0x38], rdx
inc rdx
mov qword [rbp + 8], rdx
sub r9, rax
sar r9, 4
imul r9, rcx
mov r15, r9
shr r15, 1
mov rax, qword [0x140539468]
movabs rcx, 0x267070652916fa21
mov rdx, rax
xor rdx, rcx
and rax, rcx
lea rax, [rdx + rax*2]
sub rax, r15
mov qword [rbp - 8], rax
mov eax, dword [0x140576ea4]
mov r10d, dword [0x140539310]
lea r8d, [r10 + 1]
mov qword [rbp - 0x10], r9
mov eax, dword [0x140576ea0]
mov ecx, dword [0x140539470]
add ecx, eax
dec ecx
imul ecx, eax
test cl, 1
nop dword [rax + rax]
mov eax, dword [0x140576ea4]
cmp eax, 0x1d
jg 0x140289020
mov eax, 0x99d588ec
lea rcx, [fcn.140288d10]
add ecx, ecx
add ecx, 0x4380
mov edx, ecx
not edx
and edx, ecx
mov r9d, 0x99d5893a
jmp 0x140289077
mov dword [0x140539310], r8d
mov ecx, dword [0x140576ea0]
mov r11d, dword [0x140539470]
neg r11d
add r11d, ecx
inc r11d
imul r11d, ecx
test r11b, 1
je 0x1402890ac
mov ecx, dword [0x140539470]
add ecx, eax
cmp edx, ecx
je 0x1402890ac
jmp 0x140289050
mov dword [0x140539310], r8d
mov ecx, dword [0x140576ea4]
mov r11d, dword [0x140539470]
add r11d, r9d
cmp ecx, r11d
jl 0x1402890c0
mov ecx, dword [0x140576ea0]
lea r11d, [rcx - 1]
imul r11d, ecx
test r11b, 1
jne 0x140289090
mov dword [0x140539310], r8d
mov ecx, dword [0x140576ea4]
cmp ecx, 0x2c
jg 0x140289090
mov ecx, dword [0x140576ea4]
cmp ecx, 0x1d
jg 0x140289050
mov eax, dword [0x140576ea4]
cmp eax, 0x28
jle 0x140289a36
jmp 0x140289a54
mov r15, r13
or r15, 0xf
movabs rax, 0x7fffffffffffffff
cmp r15, rax
cmovae r15, rax
cmp r15, 0xffe
jbe 0x14028916f
mov eax, dword [0x140576ea4]
cmp eax, 0x3b
nop
mov eax, dword [0x140576ea0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0x99d588ec
add eax, dword [0x140539470]
cmp ecx, eax
jne 0x140289120
lea rcx, [r15 + 0x28]
call fcn.1403f542c
mov rcx, qword [0x140539468]
add rcx, rax
movabs rdx, 0x211b1b0fd3c1a4f3
add rdx, rcx
mov r12, rdx
xor r12, 0x1f
and r12, rdx
mov qword [r12 - 8], rax
jmp 0x1402891c5
lea rcx, [r15 + 1]
mov r8d, 0x99d588ee
nop dword [rax]
mov eax, dword [0x140576ea0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1402891b0
mov edx, dword [0x140576ea0]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x140539470]
add r9d, r8d
xor edx, edx
div r9d
test edx, edx
je 0x1402891bd
mov eax, dword [0x140576ea4]
cmp eax, 0x17
jge 0x140289180
jmp 0x140289191
call fcn.1403f542c
mov r12, rax
lea rax, [r13 + 1]
mov qword [rbp + 0x40], rax
mov rax, r13
add rax, r13
mov rcx, r13
sub rcx, rax
imul rcx, rax
add rcx, r13
mov qword [rbp + 0x38], rcx
nop word cs:[rax + rax]
mov qword [rdi], r12
mov rcx, r12
mov rdx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x40]
call fcn.14041d3c0
mov eax, dword [0x140576ea0]
mov ecx, dword [0x140539470]
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
je 0x140288f2f
mov qword [rdi], r12
mov rcx, r12
mov rdx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x38]
call fcn.14041d3c0
jmp 0x1402891f0
call fcn.140085ac0
mov ecx, dword [0x140576ea0]
nop
mov ecx, dword [0x140576ea0]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x140289240
test r8d, r8d
setne dl
movzx r8d, byte [0x140446f08]
sub r8b, r9b
lea ecx, [rdx - 1]
xor cl, r8b
not r8b
neg dl
and dl, r8b
or cl, dl
not cl
movzx edx, byte [0x140575e51]
add dl, 0xb6
nop
mov r8d, dword [0x140576ea4]
cmp r8d, 0x36
jg 0x1402892a2
mov r8d, dword [0x140576ea0]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
je 0x1402892b9
mov r8d, dword [0x140576ea0]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x140289280
jmp 0x14028928d
add dl, cl
add dl, 0x4a
mov byte [0x140575e51], dl
mov ecx, dword [0x140576ea0]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x140539470]
mov r8d, ecx
xor r8d, 0x99d588ec
and ecx, 0x19d588ec
lea ecx, [r8 + rcx*2]
cmp edx, ecx
mov qword [rbp + 0x18], r10
nop word cs:[rax + rax]
mov ecx, dword [0x140539470]
lea edx, [rcx - 0x662a7713]
lea r8, [fcn.140288d10]
add r8d, r8d
add r8d, 0x29c0
xor edx, r8d
not edx
and edx, r8d
add ecx, 0x99d588ec
cmp edx, ecx
jne 0x140289300
mov rcx, r10
shl rcx, 4
lea rcx, [rcx + rcx*2]
cmp r10, 0x56
jb 0x14028935f
cmp r10, rax
jae 0x14028937d
add rcx, 0x27
call fcn.1403f542c
mov r8, rax
add r8, 0x27
and r8, 0xffffffffffffffe0
mov qword [r8 - 8], rax
jmp 0x140289371
test r10, r10
je 0x14028936e
call fcn.1403f542c
mov r8, rax
jmp 0x140289371
xor r8d, r8d
xor eax, eax
test al, al
mov qword [rbp + 0x40], r8
je 0x140289382
jmp 0x1402893d0
call fcn.140085ac0
mov rax, qword [rbp + 0x38]
lea rdi, [rax + rax*2]
shl rdi, 4
lea rdx, [r8 + rdi]
lea r9, [r8 + rdi]
add r9, 0x30
xorps xmm0, xmm0
movups xmmword [r8 + rdi + 0x18], xmm0
mov rax, qword [0x140539468]
movabs rcx, 0x211b1b0fd3c1a4db
add rax, rcx
lea r12, [rbp - 0x40]
cmp qword [rbp], rax
jbe 0x1402893c5
mov r12, qword [rbp - 0x40]
mov eax, dword [0x140576ea4]
cmp eax, 0x14
jl 0x140289429
mov rax, qword [rbp + 0x38]
lea r15, [rax + rax*2]
shl r15, 4
lea rdi, [0x14028b7c0]
xorps xmm6, xmm6
nop word cs:[rax + rax]
mov ecx, 0x54
call fcn.1403d5a14
mov qword [0x140576e90], rax
mov rcx, rdi
call fcn.1403f5a50
mov r8, qword [rbp + 0x40]
movups xmmword [r8 + r15 + 0x18], xmm6
mov eax, dword [0x140576ea0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x1402893f0
jmp 0x140289382
cmp r13, 0xf
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x30], r9
ja 0x140289451
mov eax, dword [0x140576ea0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x140289539
jmp 0x140289510
mov r15, r13
or r15, 0xf
movabs rax, 0x7fffffffffffffff
cmp r15, rax
cmovae r15, rax
cmp r15, 0xffe
jbe 0x1402894b4
lea rcx, [r15 + 0x28]
mov qword [rbp + 0x20], r9
call fcn.1403f542c
mov rdx, rax
add rdx, 0x27
mov r8, rdx
not r8
mov ecx, r8d
and ecx, 0x1f
mov r9, rdx
and r9, 0xffffffffffffffe0
or r9, rcx
mov rcx, r9
not rcx
xor r9, rdx
and rcx, r8
or rcx, r9
not rcx
mov qword [rcx - 8], rax
jmp 0x1402894f6
lea rcx, [r15 + 1]
mov eax, 0x99d588ec
nop dword [rax]
mov edx, dword [0x140576ea4]
cmp edx, 0x26
jle 0x1402894ea
mov edx, dword [0x140576ea0]
lea r8d, [rdx - 1]
imul r8d, edx
and r8d, 1
mov edx, dword [0x140539470]
add edx, eax
cmp r8d, edx
jmp 0x1402894c0
mov qword [rbp + 0x20], r9
call fcn.1403f542c
mov rcx, rax
mov rax, qword [rbp + 0x30]
mov qword [rax - 0x28], rcx
lea r8, [r13 + 1]
mov rdx, r12
call fcn.14041d3c0
mov r8, qword [rbp + 0x40]
jmp 0x14028954b
movups xmm0, xmmword [r12]
movups xmmword [r9 - 0x28], xmm0
mov ecx, dword [0x140576ea0]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0x99d588ee
add ecx, dword [0x140539470]
xor edx, edx
div ecx
test edx, edx
je 0x140289545
movups xmm0, xmmword [r12]
movups xmmword [r9 - 0x28], xmm0
jmp 0x140289510
mov r15d, 0xf
mov rcx, qword [rbp + 0x10]
mov qword [rcx + 0x18], r13
mov qword [rcx + 0x20], r15
lea rax, [0x1404388f8]
mov qword [rcx], rax
mov byte [r8 + rdi + 0x28], bl
mov rbx, qword [rsi]
mov rdx, qword [rsi + 8]
cmp rdx, r14
je 0x1402896d7
mov qword [rbp + 0x20], rcx
mov rcx, rbx
mov rdx, r14
call fcn.14028b500
mov rdx, qword [rsi + 8]
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x20], rax
mov rcx, r14
mov r8, qword [rbp + 0x30]
call fcn.14028b500
mov eax, dword [0x140576ea4]
cmp eax, 0xa
nop word cs:[rax + rax]
mov rbx, qword [rsi]
mov eax, dword [0x140576ea0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0x99d588ec
add eax, dword [0x140539470]
cmp ecx, eax
jne 0x1402895b0
test rbx, rbx
mov r15, qword [rbp + 0x18]
je 0x1402898d8
mov rdi, qword [rsi + 8]
jmp 0x140289613
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a87c0
mov qword [rbx - 0x18], 0
mov qword [rbx - 0x10], 0xf
mov byte [rbx - 0x28], 0
cmp rbx, rdi
je 0x14028964d
add rbx, 0x30
mov rax, qword [rbx - 0x10]
cmp rax, 0x10
jb 0x1402895ff
mov rcx, qword [rbx - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1402895fa
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jb 0x1402895f0
call fcn.1403d599c
mov r14, qword [rsi]
mov rax, qword [rsi + 0x10]
movabs rcx, 0x14e950e3527ea394
mov rdx, rax
xor rdx, rcx
and rax, rcx
lea rax, [rdx + rax*2]
sub rax, r14
movabs rbx, 0xeb16af1cad815c6c
add rbx, rax
cmp rbx, 0x1000
jb 0x1402896b0
mov rax, qword [r14 - 8]
sub r14, rax
add r14, 0xfffffffffffffff8
cmp r14, 0x20
jae 0x1402898af
sub rbx, qword [0x140539468]
movabs rcx, 0xdee4e4f02c3e5b5b
add rbx, rcx
mov r14, rax
mov eax, dword [0x140576ea0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0x99d588ec
add eax, dword [0x140539470]
cmp ecx, eax
je 0x1402898b4
jmp 0x1402898cb
cmp rbx, rdx
je 0x1402895d1
xorps xmm6, xmm6
movabs rcx, 0x211b1b0fd3c1a4dc
mov qword [rbp + 0x28], rdx
jmp 0x140289740
movups xmm0, xmmword [r14]
movups xmmword [r12], xmm0
mov r13d, 0xf
mov qword [r8 + 0x18], rdi
mov qword [r8 + 0x20], r13
lea rax, [0x1404388f8]
mov qword [r8], rax
movzx eax, byte [0x140575e51]
add al, byte [rbx + 0x28]
mov byte [r8 + 0x28], al
add r8, 0x30
add rbx, 0x30
cmp rbx, rdx
je 0x14028959d
movups xmmword [r8 + 0x18], xmm6
cmp qword [rbx + 0x20], 0x10
jb 0x140289760
mov r14, qword [rbx + 8]
jmp 0x140289764
lea r14, [rbx + 8]
lea r12, [r8 + 8]
mov rdi, qword [rbx + 0x18]
mov rax, qword [0x140539468]
add rax, rcx
cmp rdi, rax
jb 0x140289700
mov r13, rdi
or r13, 0xf
movabs rax, 0x7fffffffffffffff
cmp r13, rax
cmovae r13, rax
cmp r13, 0xfff
mov qword [rbp + 0x38], r8
jb 0x1402897d0
lea rcx, [r13 + 0x28]
call fcn.1403f542c
mov r15, rax
add r15, 0x27
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
cmp dword [0x140539470], 0x662a7714
jne 0x140289880
jmp 0x140289820
lea rax, [fcn.140288d10]
add eax, eax
add eax, 0x3960
mov ecx, eax
not ecx
test ecx, eax
je 0x1402897fb
nop word cs:[rax + rax]
mov eax, dword [0x140576ea4]
cmp eax, 0x53
jge 0x1402897f0
lea rcx, [r13 + 1]
call fcn.1403f542c
mov r15, rax
cmp dword [0x140539470], 0x662a7714
jne 0x140289880
nop word cs:[rax + rax]
mov qword [r12], r15
mov rax, qword [0x140575a60]
lea r8, [rdi + rax]
inc r8
mov rcx, r15
mov rdx, r14
call fcn.14041d3c0
mov eax, dword [0x140576ea0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x140539470]
mov edx, 0x99d588ec
add eax, edx
cmp ecx, eax
jne 0x140289880
mov r8, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x28]
movabs rcx, 0x211b1b0fd3c1a4dc
jmp 0x14028970f
mov qword [r12], r15
mov rcx, r15
mov rdx, r14
xor r8d, r8d
call fcn.14041d3c0
mov eax, dword [0x140576ea0]
mov ecx, dword [0x140539470]
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x140289880
jmp 0x140289820
call fcn.1403d599c
mov rcx, r14
mov rdx, rbx
call fcn.1400a87c0
cmp dword [0x140539470], 0x662a7714
je 0x1402898d8
mov rcx, r14
mov rdx, rbx
call fcn.1400a87c0
jmp 0x1402898b4
mov rcx, qword [rbp + 0x40]
mov qword [rsi], rcx
mov rax, qword [rbp + 8]
lea rax, [rax + rax*2]
shl rax, 4
add rax, rcx
mov qword [rsi + 8], rax
lea rax, [r15 + r15*2]
shl rax, 4
add rax, rcx
mov qword [rsi + 0x10], rax
xor eax, eax
test al, al
mov rbx, qword [rbp - 0x18]
movabs r14, 0x211b1b0fd3c1a4cd
jne 0x140289930
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
add rcx, qword [0x140539468]
add rcx, r14
mov qword [rax + 8], rcx
xor eax, eax
test al, al
je 0x140289994
mov rsi, qword [rbx]
mov rdx, qword [rsi + 8]
lea rcx, [rdx + rdx]
sub rdx, rcx
imul rdx, rcx
mov rax, rdx
shl rax, cl
mov rcx, rdx
sub rcx, rax
imul rcx, rax
shl rdx, cl
mov rax, rdx
sub rax, rcx
imul rax, rcx
mov ecx, eax
shl rdx, cl
mov rdi, rdx
sub rdi, rax
imul rdi, rax
add rdi, rdx
mov ecx, 0x20
call fcn.1403d5a14
mov qword [0x140576e98], rax
lea rcx, [0x14028b7e0]
call fcn.1403f5a50
mov qword [rsi + 8], rdi
jmp 0x140289915
cmp byte [rbp - 0x50], 0
mov rsi, qword [rbp]
movabs rdi, 0x211b1b0fd3c1a4db
je 0x1402899b1
mov rcx, qword [rbp - 0x58]
call fcn.1403f6804
add rdi, qword [0x140539468]
cmp rsi, rdi
jbe 0x1402899f7
mov rcx, qword [rbp - 0x40]
cmp rsi, 0xfff
jb 0x140289a0f
mov rax, qword [rcx - 8]
mov rdx, qword [0x140539468]
sub rdx, rax
movabs r8, 0x211b1b0fd3c1a4c4
add r8, rcx
add r8, rdx
cmp r8, 0x20
jae 0x140289a31
add rsi, 0x28
mov rcx, rax
jmp 0x140289a12
movaps xmm6, xmmword [rbp + 0x50]
add rsp, 0xe8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
inc rsi
mov rdx, rsi
movaps xmm6, xmmword [rbp + 0x50]
add rsp, 0xe8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp fcn.1400a87c0
call fcn.1403d599c
mov eax, dword [0x140576ea0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0x99d588ec
add eax, dword [0x140539470]
cmp ecx, eax
je 0x140289a9c
mov ecx, 0x99d588ee
nop dword [rax]
mov eax, dword [0x140576ea0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
cmp dword [0x140539470], 0x662a7714
jne 0x140289a6f
mov edx, dword [0x140576ea0]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x140539470]
add r9d, ecx
xor edx, edx
div r9d
test edx, edx
jne 0x140289a60
jmp 0x140289a36
mov qword [rbp + 0x18], r15
mov eax, r10d
not eax
xor r10d, r8d
not r8d
and r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
je 0x140289abc
xor r9d, r9d
jmp 0x140289ac9
mov eax, dword [0x140576ea4]
cmp eax, 0x48
jg 0x140289b40
jmp 0x140289b12
mov eax, dword [0x140576ea0]
nop
cmp dword [0x140539470], 0x662a7714
jne 0x140289ad0
mov r10, qword [rbp + 0x18]
mov rcx, qword [rbp - 0x10]
add r10, rcx
mov rax, qword [rbp + 8]
cmp r10, rax
cmovbe r10, rax
cmp rcx, qword [rbp - 8]
movabs rax, 0x555555555555555
cmova r10, rax
cmp r10, rax
jbe 0x140289239
jmp 0x140289234
mov eax, 0x99d588ed
add eax, dword [0x140539470]
lea rcx, [fcn.140288d10]
add ecx, ecx
add ecx, 0x1800
xor ecx, eax
not ecx
test ecx, eax
je 0x140289b53
nop word cs:[rax + rax]
mov eax, dword [0x140576ea0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140289b40
jmp 0x140289b12
xor eax, eax
mov r9d, 0
cmp dword [rbp + 0x30], 0
jle 0x140289ac9
mov r15d, 0x99d588ee
xor r11d, r11d
mov qword [rbp + 0x10], r12
jmp 0x140289ba3
xor r11b, r12b
and cl, dil
or cl, r11b
not cl
or r9b, cl
mov eax, dword [rbp + 0x40]
inc eax
mov r11d, r9d
cmp eax, dword [rbp + 0x30]
mov r12, qword [rbp + 0x10]
jge 0x140289ac9
mov dword [rbp + 0x40], eax
cdqe
add rax, r12
nop dword [rax + rax]
mov ecx, dword [0x140576ea4]
cmp ecx, 0x31
jg 0x140289bc9
movzx edi, byte [rax]
mov ecx, dword [0x140576ea4]
cmp ecx, 0x26
jle 0x140289be0
movzx ecx, byte [rax]
mov ecx, dword [0x140576ea0]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x140289bb0
jmp 0x140289bbb
mov ecx, r11d
not cl
mov r12d, edi
not r12b
mov r9d, ecx
xor r9b, r12b
and r9b, cl
nop word cs:[rax + rax]
mov eax, dword [0x140576ea0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x140289c34
mov edx, dword [0x140576ea0]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x140539470]
add r10d, r15d
xor edx, edx
div r10d
test edx, edx
je 0x140289b80
mov eax, dword [0x140576ea4]
cmp eax, 0x41
jge 0x140289c00
jmp 0x140289c11