Function at 0x1400ff820
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
movdqa xmmword [rsp + 0x40], xmm7
movdqa xmmword [rsp + 0x30], xmm6
mov rsi, rcx
mov rdi, qword [rcx]
mov rax, qword [rcx + 8]
sub rax, rdi
cmp rax, 6
jl 0x1400ff88b
lea rdx, str._:_:__
mov r8d, 6
mov rcx, rdi
call qword [0x140276d00]
test eax, eax
je 0x1400ffa43
lea rdx, [0x1402622f9]
mov r8d, 6
mov rcx, rdi
call qword [0x140276d00]
test eax, eax
je 0x1400ffa93
mov rax, qword [rsi + 0x30]
movsxd rdi, dword [rax + 0x14]
lea ecx, [rdi + 1]
mov dword [rax + 0x14], ecx
mov rcx, qword [rsi + 0x30]
movsxd rbx, dword [rcx + 0x10]
mov eax, dword [rsi + 0x28]
cmp edi, eax
jge 0x1400ff984
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x1400ff9f0
mov r8, qword [rcx + 0x20]
test r8, r8
je 0x1400ff9f0
mov rdx, rdi
shl rdx, 5
lea r12, [rax + rdx]
lea ecx, [rdi + 7]
test edi, edi
cmovns ecx, edi
sar ecx, 3
movsxd rcx, ecx
imul rbx, rcx
and dil, 7
mov r9d, 1
mov ecx, edi
shl r9d, cl
add r8, rbx
mov qword [rax + rdx], r8
lea r15, [rax + rdx]
add r15, 8
mov byte [rax + rdx + 8], r9b
mov byte [rax + rdx + 9], 0
pxor xmm0, xmm0
movdqu xmmword [rax + rdx + 0x10], xmm0
mov rcx, qword [rsi]
mov r9, qword [rsi + 8]
mov r8, r9
sub r8, rcx
test r8, r8
jle 0x1400ffae3
movzx r8d, byte [rcx]
cmp r8b, 0x5e
setne dil
jne 0x1400ff94f
inc rcx
mov qword [rsi], rcx
sub r9, rcx
test r9, r9
jle 0x1400ffb7f
movzx r8d, byte [rcx]
movzx r9d, r8b
cmp r9b, 0x5d
je 0x1400ff969
cmp r9d, 0x2d
jne 0x1400ffb81
mov r9d, 0x2d
inc rcx
mov qword [rsi], rcx
movzx ecx, byte [r15]
mov r10, qword [r12]
or byte [r10 + r9], cl
add byte [r15 + 1], r8b
jmp 0x1400ffb81
lea edx, [rax + 8]
mov dword [rsi + 0x28], edx
cmp eax, 0xfffffff8
jl 0x1400ff9f0
mov r14d, edx
mov rdx, r14
shl rdx, 5
mov rcx, qword [rcx + 0x18]
call qword [0x140276ca8]
test rax, rax
je 0x1400ff9f0
shr r14, 3
imul r14, rbx
mov rcx, qword [rsi + 0x30]
mov qword [rcx + 0x18], rax
mov rax, qword [rsi + 0x30]
mov rcx, qword [rax + 0x20]
mov rdx, r14
call qword [0x140276ca8]
test rax, rax
je 0x1400ff9f0
mov ecx, edi
mov rdx, qword [rsi + 0x30]
mov qword [rdx + 0x20], rax
test ecx, ecx
jle 0x1400ffb5e
cmp ecx, 1
jne 0x1400ffaeb
xor eax, eax
jmp 0x1400ffb3c
mov rax, qword [rsi + 0x30]
mov rcx, qword [rax + 0x18]
mov rdi, qword [0x140276c98]
call rdi
mov rax, qword [rsi + 0x30]
mov qword [rax + 0x18], 0
mov rax, qword [rsi + 0x30]
mov rcx, qword [rax + 0x20]
call rdi
mov rax, qword [rsi + 0x30]
mov qword [rax + 0x20], 0
cmp dword [rsi + 0x10], 0
jne 0x1400ffa30
mov dword [rsi + 0x10], 0xc
lea rax, [0x1402baaec]
mov qword [rsi], rax
mov qword [rsi + 8], rax
jmp 0x140100751
cmp dword [rsi + 0x10], 0
jne 0x14010074a
mov eax, dword [rsi + 0x20]
cmp dword [rsi + 0x24], eax
jl 0x1401005f0
lea ecx, [rax + 1]
shr ecx, 0x1f
add ecx, eax
inc ecx
sar ecx, 1
lea edi, [rcx + rcx*2]
cmp eax, edi
jge 0x1401005f0
cmp eax, 0xfffffffd
jg 0x1401005d0
mov dword [rsi + 0x10], 0xc
lea rax, [0x1402baaec]
mov qword [rsi], rax
mov qword [rsi + 8], rax
jmp 0x1401005f0
cmp dword [rsi + 0x10], 0
jne 0x14010074a
mov eax, dword [rsi + 0x20]
cmp dword [rsi + 0x24], eax
jl 0x140100732
lea ecx, [rax + 1]
shr ecx, 0x1f
add ecx, eax
inc ecx
sar ecx, 1
lea edi, [rcx + rcx*2]
cmp eax, edi
jge 0x140100732
cmp eax, 0xfffffffd
jg 0x140100712
mov dword [rsi + 0x10], 0xc
lea rax, [0x1402baaec]
mov qword [rsi], rax
mov qword [rsi + 8], rax
jmp 0x140100732
mov dil, 1
jmp 0x1400ffb81
mov edx, ecx
and edx, 0xfffffffe
xor r8d, r8d
xor eax, eax
nop word cs:[rax + rax]
mov r9, qword [rsi + 0x30]
mov r10d, eax
shr r10d, 3
imul r10, rbx
mov r11, qword [r9 + 0x20]
add r11, r10
mov r9, qword [r9 + 0x18]
mov qword [r9 + r8], r11
mov r9, qword [rsi + 0x30]
add r10, qword [r9 + 0x20]
mov r9, qword [r9 + 0x18]
mov qword [r9 + r8 + 0x20], r10
add rax, 2
add r8, 0x40
cmp rdx, rax
jne 0x1400ffb00
test cl, 1
je 0x1400ffb5e
mov rcx, qword [rsi + 0x30]
mov edx, eax
shr edx, 3
imul rdx, rbx
add rdx, qword [rcx + 0x20]
mov rcx, qword [rcx + 0x18]
shl rax, 5
mov qword [rcx + rax], rdx
mov rax, qword [rsi + 0x30]
sub r14, rbx
add r14, qword [rax + 0x20]
mov rcx, r14
xor edx, edx
mov r8, rbx
call fcn.1401a77d0
mov rcx, qword [rsi + 0x30]
jmp 0x1400ff8ac
xor edi, edi
mov rbp, qword [rsi]
mov r14, qword [rsi + 8]
mov rcx, r14
sub rcx, rbp
test rcx, rcx
jle 0x1401003c9
lea rbx, [rax + rdx]
add rbx, 0x10
lea r13, [rsi + 0x10]
lea r11, [0x1402baaec]
jmp 0x1400ffbdc
cmp dword [r13], 0
je 0x140100378
nop word [rax + rax]
mov qword [rsi], r11
mov qword [rsi + 8], r11
mov rbp, r11
mov r14, r11
mov rcx, r14
sub rcx, rbp
test rcx, rcx
jle 0x1401003c9
movsx eax, byte [rbp]
cmp eax, 0x5d
je 0x1401003c9
cmp rcx, 2
jb 0x1400ffc10
cmp al, 0x2d
jne 0x1400ffc10
cmp byte [rbp + 1], 0x5d
jne 0x140100360
jmp 0x1401003ac
cmp eax, 0x2d
je 0x140100360
cmp eax, 0x5b
jne 0x1400fff30
cmp rcx, 1
jbe 0x1400fff30
movsx ecx, byte [rbp + 1]
cmp ecx, 0x3d
je 0x1401000ad
cmp ecx, 0x3a
jne 0x1400fff30
add rbp, 2
mov qword [rsi], rbp
mov rax, r14
sub rax, rbp
test rax, rax
jg 0x1400ffc70
cmp dword [r13], 0
jne 0x1400ffc63
mov dword [r13], 7
mov qword [rsi], r11
mov qword [rsi + 8], r11
mov r14, r11
mov rbp, r11
movzx eax, byte [rbp]
cmp eax, 0x5d
je 0x1400ffc7e
cmp eax, 0x2d
jne 0x1400ffc9a
cmp dword [r13], 0
jne 0x1400ffc8d
mov dword [r13], 4
mov qword [rsi], r11
mov qword [rsi + 8], r11
mov r14, r11
mov rbp, r11
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x24], edi
mov rax, r14
sub rax, rbp
mov r13, rbp
test rax, rax
jle 0x1400ffce6
neg r13
lea rdi, [rbp + 1]
nop dword [rax + rax]
movzx ecx, byte [rdi - 1]
call qword [0x140276cd0]
test eax, eax
je 0x1400ffce3
mov qword [rsi], rdi
lea rax, [r14 + r13]
dec rax
dec r13
inc rdi
test rax, rax
jg 0x1400ffcc0
neg r13
sub r13, rbp
lea rcx, [0x14025d397]
mov rdx, rbp
mov r8, r13
mov rdi, qword [0x140276d00]
call rdi
test eax, eax
jne 0x1400ffd1d
lea rax, [0x14025d397]
cmp byte [r13 + rax], 0
lea rax, [0x140244f70]
je 0x140100181
lea rcx, [0x140261f7e]
mov rdx, rbp
mov r8, r13
call rdi
test eax, eax
jne 0x1400ffd4a
lea rax, [0x140261f7e]
cmp byte [r13 + rax], 0
lea rax, [0x140244f88]
je 0x140100181
lea rcx, [0x14025e204]
mov rdx, rbp
mov r8, r13
call rdi
test eax, eax
jne 0x1400ffd77
lea rax, [0x14025e204]
cmp byte [r13 + rax], 0
lea rax, [0x140244fa0]
je 0x140100181
lea rcx, [0x14025d77f]
mov rdx, rbp
mov r8, r13
call rdi
test eax, eax
jne 0x1400ffda4
lea rax, [0x14025d77f]
cmp byte [r13 + rax], 0
lea rax, [0x140244fb8]
je 0x140100181
lea rcx, [0x140259d9c]
mov rdx, rbp
mov r8, r13
call rdi
test eax, eax
jne 0x1400ffdd1
lea rax, [0x140259d9c]
cmp byte [r13 + rax], 0
lea rax, [0x140244fd0]
je 0x140100181
lea rcx, [0x14025ea32]
mov rdx, rbp
mov r8, r13
call rdi
test eax, eax
jne 0x1400ffdfe
lea rax, [0x14025ea32]
cmp byte [r13 + rax], 0
lea rax, [0x140244fe8]
je 0x140100181
lea rcx, [0x14025baef]
mov rdx, rbp
mov r8, r13
call rdi
test eax, eax
jne 0x1400ffe2b
lea rax, [0x14025baef]
cmp byte [r13 + rax], 0
lea rax, [0x140245000]
je 0x140100181
lea rcx, [0x1402598dd]
mov rdx, rbp
mov r8, r13
call rdi
test eax, eax
jne 0x1400ffe58
lea rax, [0x1402598dd]
cmp byte [r13 + rax], 0
lea rax, [0x140245018]
je 0x140100181
lea rcx, [0x14025a07d]
mov rdx, rbp
mov r8, r13
call rdi
test eax, eax
jne 0x1400ffe85
lea rax, [0x14025a07d]
cmp byte [r13 + rax], 0
lea rax, [0x140245030]
je 0x140100181
lea rcx, [0x1402612b8]
mov rdx, rbp
mov r8, r13
call rdi
test eax, eax
jne 0x1400ffeb2
lea rax, [0x1402612b8]
cmp byte [r13 + rax], 0
lea rax, [0x140245048]
je 0x140100181
lea rcx, [0x14025bd56]
mov rdx, rbp
mov r8, r13
call rdi
test eax, eax
jne 0x1400ffedf
lea rax, [0x14025bd56]
cmp byte [r13 + rax], 0
lea rax, [0x140245060]
je 0x140100181
lea rcx, [0x140259d93]
mov rdx, rbp
mov r8, r13
call rdi
test eax, eax
jne 0x1400fff0c
lea rax, [0x140259d93]
cmp byte [r13 + rax], 0
lea rax, [0x140245078]
je 0x140100181
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0
jne 0x1400fff1c
mov dword [rax], 4
lea rax, [0x1402baaec]
mov qword [rsi], rax
mov qword [rsi + 8], rax
jmp 0x1401001ca
mov rcx, r14
sub rcx, rbp
cmp rcx, 2
jl 0x1400fff90
cmp al, 0x5b
jne 0x1400fff90
cmp byte [rbp + 1], 0x2e
jne 0x1400fff90
add rbp, 2
mov qword [rsi], rbp
mov rcx, rsi
mov edx, 0x2e
call fcn.140101490
mov ebp, eax
mov rcx, qword [rsi]
mov r14, qword [rsi + 8]
mov rax, r14
sub rax, rcx
cmp rax, 1
jle 0x1400fff9d
cmp byte [rcx], 0x2e
jne 0x1400fff9d
cmp byte [rcx + 1], 0x5d
jne 0x1400fff9d
add rcx, 2
mov qword [rsi], rcx
lea r11, [0x1402baaec]
jmp 0x1400fffc0
lea rcx, [rbp + 1]
mov qword [rsi], rcx
movzx ebp, byte [rbp]
jmp 0x1400fffc0
cmp dword [r13], 0
lea r11, [0x1402baaec]
jne 0x1400fffb3
mov dword [r13], 3
mov qword [rsi], r11
mov qword [rsi + 8], r11
mov rcx, r11
mov r14, r11
mov rdx, r14
sub rdx, rcx
mov eax, ebp
test rdx, rdx
jle 0x140100350
cmp byte [rcx], 0x2d
mov eax, ebp
jne 0x140100350
mov eax, ebp
cmp rdx, 1
je 0x140100350
cmp byte [rcx + 1], 0x5d
mov eax, ebp
je 0x140100350
lea rax, [rcx + 1]
mov qword [rsi], rax
mov rdx, r14
sub rdx, rax
test rdx, rdx
jle 0x1401002ce
cmp byte [rax], 0x2d
jne 0x1401002ea
add rcx, 2
mov qword [rsi], rcx
mov al, 0x2d
cmp bpl, al
jg 0x140100360
movsx ecx, bpl
movsx edx, al
inc edx
mov r8d, edx
sub r8d, ecx
test r8b, 1
je 0x140100050
movzx r8d, byte [r15]
mov r9, qword [r12]
movzx r10d, cl
or byte [r9 + r10], r8b
add byte [r15 + 1], bpl
inc ecx
cmp al, bpl
je 0x1401000a1
nop word cs:[rax + rax]
movzx eax, byte [r15]
mov r8, qword [r12]
movzx r9d, cl
or byte [r8 + r9], al
movzx eax, byte [r15 + 1]
add eax, ecx
mov byte [r15 + 1], al
lea eax, [rcx + 1]
movzx r8d, byte [r15]
mov r9, qword [r12]
movzx eax, al
or byte [r9 + rax], r8b
movzx eax, byte [r15 + 1]
add eax, ecx
inc al
mov byte [r15 + 1], al
add ecx, 2
cmp edx, ecx
jne 0x140100060
mov rbp, qword [rsi]
mov r14, qword [rsi + 8]
jmp 0x1400ffbcd
add rbp, 2
mov qword [rsi], rbp
sub r14, rbp
test r14, r14
jg 0x1401000d5
cmp dword [r13], 0
jne 0x1401000cb
mov dword [r13], 7
mov qword [rsi], r11
mov qword [rsi + 8], r11
mov rbp, r11
movzx eax, byte [rbp]
cmp eax, 0x5d
je 0x1401000e3
cmp eax, 0x2d
jne 0x1401000f9
cmp dword [r13], 0
jne 0x1401000f2
mov dword [r13], 3
mov qword [rsi], r11
mov qword [rsi + 8], r11
mov rcx, rsi
mov edx, 0x3d
call fcn.140101490
lea r11, [0x1402baaec]
movzx ecx, byte [r15]
mov rdx, qword [r12]
movzx eax, al
or byte [rdx + rax], cl
add byte [r15 + 1], al
mov rbp, qword [rsi]
mov r14, qword [rsi + 8]
mov rax, r14
sub rax, rbp
test rax, rax
jg 0x14010014d
cmp dword [r13], 0
jne 0x140100140
mov dword [r13], 7
mov qword [rsi], r11
mov qword [rsi + 8], r11
mov rbp, r11
mov r14, r11
mov rax, r14
sub rax, rbp
cmp rax, 2
jl 0x140100169
cmp byte [rbp], 0x3d
jne 0x140100169
cmp byte [rbp + 1], 0x5d
je 0x14010022c
cmp dword [r13], 0
jne 0x1400ffbc0
mov dword [r13], 3
jmp 0x1400ffbc0
mov rcx, qword [rax + 8]
movzx edx, byte [rcx]
test dl, dl
je 0x1401001ad
inc rcx
nop
movzx r8d, byte [r15]
mov r9, qword [r12]
movzx edx, dl
or byte [r9 + rdx], r8b
add byte [r15 + 1], dl
movzx edx, byte [rcx]
inc rcx
test dl, dl
jne 0x140100190
mov r13, qword [rax + 0x10]
cmp byte [r13], 0
mov r14, qword [0x140276ca8]
mov rbp, qword [0x140276c98]
jne 0x140100275
mov rbp, qword [rsi]
mov r14, qword [rsi + 8]
mov rax, r14
sub rax, rbp
test rax, rax
mov edi, dword [rsp + 0x24]
mov r13, qword [rsp + 0x28]
lea r11, [0x1402baaec]
jg 0x140100208
cmp dword [r13], 0
jne 0x1401001fb
mov dword [r13], 7
mov qword [rsi], r11
mov qword [rsi + 8], r11
mov rbp, r11
mov r14, r11
mov rax, r14
sub rax, rbp
cmp rax, 2
jl 0x1400ffbac
cmp byte [rbp], 0x3a
jne 0x1400ffbac
cmp byte [rbp + 1], 0x5d
jne 0x1400ffbac
add rbp, 2
mov qword [rsi], rbp
jmp 0x1400ffbcd
mov qword [rbx + 8], rax
mov r8, qword [rbx]
sub r8, rdi
inc r8
lea rcx, [rax + rdi]
dec rcx
mov rdx, r13
call fcn.140153810
mov rcx, r13
call fcn.1401a79d0
cmp byte [rax + r13 + 1], 0
lea r13, [rax + r13 + 1]
je 0x1401001ca
mov rdi, qword [rbx]
mov rcx, r13
call fcn.1401a79d0
lea rdx, [rdi + rax]
inc rdx
mov qword [rbx], rdx
mov rcx, qword [rbx + 8]
call r14
test rax, rax
jne 0x140100240
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1401002a1
call rbp
mov qword [rbx + 8], 0
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0
jne 0x1401002be
mov rax, qword [rsp + 0x28]
mov dword [rax], 0xc
lea rax, [0x1402baaec]
mov qword [rsi], rax
mov qword [rsi + 8], rax
jmp 0x14010025c
cmp dword [r13], 0
jne 0x1401002dd
mov dword [r13], 7
mov qword [rsi], r11
mov qword [rsi + 8], r11
mov rax, r11
mov r14, r11
sub r14, rax
cmp r14, 2
jl 0x140100345
cmp byte [rax], 0x5b
jne 0x140100345
cmp byte [rax + 1], 0x2e
jne 0x140100345
add rax, 2
mov qword [rsi], rax
mov rcx, rsi
mov edx, 0x2e
call fcn.140101490
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
sub rdx, rcx
cmp rdx, 1
jle 0x140100385
cmp byte [rcx], 0x2e
jne 0x140100385
cmp byte [rcx + 1], 0x5d
jne 0x140100385
add rcx, 2
mov qword [rsi], rcx
lea r11, [0x1402baaec]
cmp bpl, al
jg 0x140100360
jmp 0x140100025
lea rcx, [rax + 1]
mov qword [rsi], rcx
movzx eax, byte [rax]
nop
cmp bpl, al
jle 0x140100025
nop dword [rax]
cmp dword [r13], 0
jne 0x1400ffbc0
mov dword [r13], 0xb
jmp 0x1400ffbc0
mov dword [r13], 4
jmp 0x1400ffbc0
cmp dword [r13], 0
lea r11, [0x1402baaec]
jne 0x14010039b
mov dword [r13], 3
mov qword [rsi], r11
mov qword [rsi + 8], r11
cmp bpl, al
jg 0x140100360
jmp 0x140100025
inc rbp
mov qword [rsi], rbp
movzx eax, byte [r15]
mov rcx, qword [r12]
or byte [rcx + 0x2d], al
add byte [r15 + 1], 0x2d
mov rbp, qword [rsi]
mov r14, qword [rsi + 8]
sub r14, rbp
test r14, r14
jle 0x140100487
lea rax, [rbp + 1]
mov qword [rsi], rax
cmp byte [rbp], 0x5d
jne 0x140100487
cmp dword [rsi + 0x10], 0
jne 0x1401004a2
mov dword [rsp + 0x24], edi
mov rax, qword [rsi + 0x30]
test byte [rax + 0x28], 2
je 0x140100561
mov r14d, dword [rax + 0x10]
test r14d, r14d
jle 0x140100561
inc r14d
jmp 0x140100421
dec r14d
cmp r14d, 1
jbe 0x140100561
lea edi, [r14 - 2]
mov rbp, qword [r12]
movzx ebx, dil
movzx r13d, byte [r15]
test byte [rbp + rbx], r13b
je 0x140100414
mov ecx, edi
call qword [0x140276cd0]
test eax, eax
je 0x140100414
mov ecx, ebx
call qword [0x140276ce8]
test eax, eax
je 0x14010045a
mov ecx, ebx
call qword [0x140276d10]
jmp 0x140100472
mov ecx, ebx
call qword [0x140276cd8]
mov ecx, eax
mov eax, edi
test ecx, ecx
je 0x140100472
mov ecx, ebx
call qword [0x140276d18]
movsx ecx, al
cmp edi, ecx
je 0x140100414
movzx ecx, al
or byte [rbp + rcx], r13b
add byte [r15 + 1], al
jmp 0x140100414
cmp dword [rsi + 0x10], 0
jne 0x140100494
mov dword [rsi + 0x10], 7
lea rax, [0x1402baaec]
mov qword [rsi], rax
mov qword [rsi + 8], rax
mov rcx, qword [rsi + 0x30]
movsxd rax, dword [rcx + 0x14]
shl rax, 5
add rax, qword [rcx + 0x18]
movsxd rcx, dword [rcx + 0x10]
test rcx, rcx
je 0x140100548
cmp ecx, 1
jne 0x1401004c8
xor edx, edx
jmp 0x14010052e
mov r8, rcx
and r8, 0xfffffffffffffffe
mov r9b, 0xff
xor edx, edx
nop word cs:[rax + rax]
movzx r10d, byte [r15]
not r10b
mov r11, qword [r12]
mov edi, edx
and edi, 0xfe
and byte [r11 + rdi], r10b
movzx r10d, byte [r15 + 1]
add r10b, r9b
inc r10b
mov byte [r15 + 1], r10b
lea r10d, [rdx + 1]
movzx r11d, byte [r15]
not r11b
mov rdi, qword [r12]
movzx r10d, r10b
and byte [rdi + r10], r11b
add byte [r15 + 1], r9b
add rdx, 2
add r9b, 0xfe
cmp r8, rdx
jne 0x1401004e0
test cl, 1
je 0x140100548
movzx ecx, byte [r15]
not cl
mov r8, qword [r12]
movzx edx, dl
and byte [r8 + rdx], cl
sub byte [r15 + 1], dl
add rax, 0xffffffffffffffe0
cmp rax, r12
jne 0x140100751
mov rax, qword [rsi + 0x30]
dec dword [rax + 0x14]
jmp 0x140100751
cmp byte [rsp + 0x24], 0
jne 0x140100626
mov rcx, qword [rsi + 0x30]
mov eax, dword [rcx + 0x10]
test eax, eax
jle 0x14010060e
lea ecx, [rax + 1]
mov dl, 1
sub dl, al
jmp 0x1401005a3
not r11b
and r10b, r11b
mov byte [r8 + r9], r10b
movzx r8d, byte [r15 + 1]
add r8b, dl
mov byte [r15 + 1], r8b
dec ecx
inc dl
cmp ecx, 1
jbe 0x14010060a
dec eax
lea r9d, [rcx - 2]
mov r8, qword [r12]
movzx r9d, r9b
movzx r10d, byte [r8 + r9]
movzx r11d, byte [r15]
test r11b, r10b
jne 0x140100584
or r11b, r10b
mov byte [r8 + r9], r11b
movzx r8d, byte [r15 + 1]
add r8b, al
jmp 0x140100596
mov edx, edi
shl rdx, 2
mov rcx, qword [rsi + 0x18]
call qword [0x140276ca8]
test rax, rax
je 0x14010076c
mov qword [rsi + 0x18], rax
mov dword [rsi + 0x20], edi
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0x24]
lea edx, [rcx + 1]
mov dword [rsi + 0x24], edx
mov dword [rax + rcx*4], 0x98000000
jmp 0x140100747
mov rcx, qword [rsi + 0x30]
test byte [rcx + 0x28], 8
je 0x140100626
movzx eax, byte [r15]
not al
mov rcx, qword [r12]
and byte [rcx + 0xa], al
add byte [r15 + 1], 0xf6
mov rdx, qword [rsi + 0x30]
movsxd rax, dword [rdx + 0x10]
xor ecx, ecx
test rax, rax
je 0x14010080a
mov r8, qword [r12]
movzx r9d, byte [r15]
cmp eax, 8
jb 0x14010077b
lea r11, [rax - 0x101]
mov r10d, 0
cmp r11, 0xffffffffffffff00
jb 0x14010077e
mov r10, rax
and r10, 0xfffffffffffffff8
movzx ecx, r9b
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm1, xmm1
xor ecx, ecx
pcmpeqd xmm3, xmm3
movdqa xmm5, xmmword [0x140244f60]
pxor xmm4, xmm4
pxor xmm2, xmm2
mov r11d, ecx
and r11d, 0xf8
movd xmm6, dword [r8 + r11]
movd xmm7, dword [r8 + r11 + 4]
pand xmm6, xmm0
pand xmm7, xmm0
pcmpeqb xmm6, xmm1
pxor xmm6, xmm3
punpcklbw xmm6, xmm6
punpcklwd xmm6, xmm6
pand xmm6, xmm5
paddd xmm4, xmm6
pcmpeqb xmm7, xmm1
pxor xmm7, xmm3
punpcklbw xmm7, xmm7
punpcklwd xmm7, xmm7
pand xmm7, xmm5
paddd xmm2, xmm7
add rcx, 8
cmp r10, rcx
jne 0x140100696
paddd xmm2, xmm4
pshufd xmm0, xmm2, 0xee
paddd xmm0, xmm2
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd ecx, xmm1
cmp r10, rax
jne 0x14010077e
jmp 0x1401007db
mov edx, edi
shl rdx, 2
mov rcx, qword [rsi + 0x18]
call qword [0x140276ca8]
test rax, rax
je 0x14010094e
mov qword [rsi + 0x18], rax
mov dword [rsi + 0x20], edi
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0x24]
lea edx, [rcx + 1]
mov dword [rsi + 0x24], edx
mov dword [rax + rcx*4], 0xa0000000
mov rdi, qword [rsi]
add rdi, 6
mov qword [rsi], rdi
movaps xmm6, xmmword [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x40]
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp dword [rsi + 0x10], 0
jne 0x1400ffa80
jmp 0x1400ffa79
xor r10d, r10d
mov r11, r10
not r11
test al, 1
je 0x1401007a3
mov edi, r10d
and edi, 0xf8
movzx ebx, byte [r8 + rdi]
and bl, r9b
cmp bl, 1
sbb ecx, 0xffffffff
or r10, 1
add r11, rax
je 0x1401007db
movzx r11d, r10b
movzx r11d, byte [r8 + r11]
and r11b, r9b
cmp r11b, 1
sbb ecx, 0xffffffff
lea r11d, [r10 + 1]
movzx r11d, r11b
movzx r11d, byte [r8 + r11]
and r11b, r9b
cmp r11b, 1
sbb ecx, 0xffffffff
add r10, 2
cmp rax, r10
jne 0x1401007a8
cmp ecx, 1
mov rcx, rax
jne 0x14010080a
xor edx, edx
xor ecx, ecx
movzx r10d, cl
test byte [r8 + r10], r9b
jne 0x1401008be
inc rcx
add edx, 0x1000000
cmp rax, rcx
jne 0x1401007e7
xor edx, edx
jmp 0x1401008c1
movsxd rbx, dword [rdx + 0x14]
test rbx, rbx
jle 0x1401008b6
movzx r8d, byte [r15 + 1]
mov rdi, qword [rdx + 0x18]
shl rbx, 5
add rbx, rdi
cmp rcx, 2
mov edx, 1
cmovae rdx, rcx
mov byte [rsp + 0x28], r8b
jmp 0x140100859
mov rbx, rax
mov rax, r9
cmp r10, rcx
movzx r8d, byte [rsp + 0x28]
je 0x14010095d
add rdi, 0x20
cmp rdi, rbx
jae 0x1401008b6
cmp byte [rdi + 9], r8b
jne 0x140100850
cmp rdi, r12
je 0x140100850
test eax, eax
je 0x1401009dc
mov r9, rax
mov rax, rbx
mov r11, qword [rdi]
movzx ebx, byte [rdi + 8]
mov r14, qword [r12]
movzx ebp, byte [r15]
xor r10d, r10d
nop word cs:[rax + rax]
movzx r13d, r10b
test byte [r11 + r13], bl
sete r8b
test byte [r14 + r13], bpl
setne r13b
cmp r8b, r13b
je 0x14010083b
inc r10
cmp rdx, r10
jne 0x140100890
mov r10, rdx
jmp 0x14010083b
mov rdi, r12
jmp 0x1401009ec
sar edx, 0x18
mov rcx, rsi
call fcn.140100a80
mov rcx, qword [rsi + 0x30]
movsxd rax, dword [rcx + 0x14]
shl rax, 5
add rax, qword [rcx + 0x18]
movsxd rcx, dword [rcx + 0x10]
test rcx, rcx
je 0x140100548
cmp ecx, 1
je 0x1401004c4
mov r8, rcx
and r8, 0xfffffffffffffffe
mov r9b, 0xff
xor edx, edx
movzx r10d, byte [r15]
not r10b
mov r11, qword [r12]
mov edi, edx
and edi, 0xfe
and byte [r11 + rdi], r10b
movzx r10d, byte [r15 + 1]
add r10b, r9b
inc r10b
mov byte [r15 + 1], r10b
lea r10d, [rdx + 1]
movzx r11d, byte [r15]
not r11b
mov rdi, qword [r12]
movzx r10d, r10b
and byte [rdi + r10], r11b
add byte [r15 + 1], r9b
add rdx, 2
add r9b, 0xfe
cmp r8, rdx
jne 0x1401008fb
jmp 0x14010052e
cmp dword [rsi + 0x10], 0
jne 0x1400ffad0
jmp 0x1400ffac9
cmp rcx, 1
jne 0x140100967
xor eax, eax
jmp 0x1401009c3
mov rdx, rcx
and rdx, 0xfffffffffffffffe
mov r9b, 0xff
xor eax, eax
movzx r8d, byte [r15]
not r8b
mov r10, qword [r12]
mov r11d, eax
and r11d, 0xfe
and byte [r10 + r11], r8b
movzx r8d, byte [r15 + 1]
add r8b, r9b
inc r8b
mov byte [r15 + 1], r8b
lea r8d, [rax + 1]
movzx r10d, byte [r15]
not r10b
mov r11, qword [r12]
movzx r8d, r8b
and byte [r11 + r8], r10b
add byte [r15 + 1], r9b
add rax, 2
add r9b, 0xfe
cmp rdx, rax
jne 0x140100973
test cl, 1
je 0x1401009dc
movzx ecx, byte [r15]
not cl
mov rdx, qword [r12]
movzx eax, al
and byte [rdx + rax], cl
sub byte [r15 + 1], al
add rbx, 0xffffffffffffffe0
cmp rbx, r12
jne 0x1401009ec
mov rax, qword [rsi + 0x30]
dec dword [rax + 0x14]
cmp dword [rsi + 0x10], 0
jne 0x140100751
mov rax, qword [rsi + 0x30]
sub rdi, qword [rax + 0x18]
shr rdi, 5
mov eax, dword [rsi + 0x20]
cmp dword [rsi + 0x24], eax
jl 0x140100a55
lea ecx, [rax + 1]
shr ecx, 0x1f
add ecx, eax
inc ecx
sar ecx, 1
lea ebx, [rcx + rcx*2]
cmp eax, ebx
jge 0x140100a55
cmp eax, 0xfffffffd
jg 0x140100a39
mov dword [rsi + 0x10], 0xc
lea rax, [0x1402baaec]
mov qword [rsi], rax
mov qword [rsi + 8], rax
jmp 0x140100a55
mov edx, ebx
shl rdx, 2
mov rcx, qword [rsi + 0x18]
call qword [0x140276ca8]
test rax, rax
je 0x140100a71
mov qword [rsi + 0x18], rax
mov dword [rsi + 0x20], ebx
or edi, 0x30000000
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0x24]
lea edx, [rcx + 1]
mov dword [rsi + 0x24], edx
mov dword [rax + rcx*4], edi
jmp 0x140100751
cmp dword [rsi + 0x10], 0
jne 0x140100a29
jmp 0x140100a22