Function at 0x14041f360
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
movdqa xmmword [rsp + 0xd0], xmm6
mov qword [rsp + 0xa0], r9
mov rsi, r8
mov rax, qword [0x1406a7e00]
xor rax, rsp
mov qword [rsp + 0xc8], rax
mov eax, dword [r8 + 0x30]
mov dword [rsp + 0x6c], eax
or byte [r8 + 0xb0], 0x30
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x58], rcx
cmp dword [r8 + 0x58], 0
je 0x14041f50b
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x94]
mov ecx, 4
xor edx, edx
mov r8, qword [rsi + 0x68]
mov dword [r8 + rcx], eax
inc rdx
mov edi, dword [rsi + 0x58]
add rcx, 0x14
cmp rdx, rdi
jb 0x14041f3d0
test edi, edi
je 0x14041f50b
mov rbx, qword [rsi + 0x68]
xor r12d, r12d
mov ebp, 0xfffe0c05
mov r14d, 0xfffe0e1a
nop word cs:[rax + rax]
mov eax, r12d
lea r13, [rax + rax*4]
lea r15, [rbx + r13*4]
mov rcx, r15
mov rdx, rsi
call fcn.140420fe0
lea rax, [rbx + r13*4]
add rax, 0x10
movzx ecx, word [rbx + r13*4 + 0x10]
mov edx, ecx
and edx, 0x1f
cmp dx, 0x18
jne 0x14041f44d
mov edx, dword [r15]
add edx, ebp
cmp edx, 5
jb 0x14041f500
test r12d, r12d
je 0x14041f461
mov edx, dword [r15]
add edx, r14d
cmp edx, 0x19
jbe 0x14041f4e3
mov edx, ecx
and edx, 0x11f
cmp edx, 0x101
je 0x14041f49d
mov edx, dword [r15]
mov r8d, edx
and r8d, 0xfffffffe
cmp r8d, 0xff9e
je 0x14041f500
add edx, 0xfff1ffe0
cmp edx, 0x5f
jbe 0x14041f500
inc r12d
cmp r12d, edi
jb 0x14041f410
jmp 0x14041f50b
or ecx, 0x80
mov word [rax], cx
lea r15d, [r12 + 1]
cmp r15d, edi
jae 0x14041f48f
mov eax, r15d
lea r13, [rax + rax*4]
mov ecx, dword [rbx + r13*4]
call fcn.1403690a0
test al, al
je 0x14041f48f
lea rcx, [rbx + r13*4]
mov rdx, rsi
call fcn.140420fe0
lea rax, [rbx + r13*4]
add rax, 0x10
movzx ecx, word [rbx + r13*4 + 0x10]
mov r12d, r15d
jmp 0x14041f500
lea edx, [r12 - 1]
lea rdx, [rdx + rdx*4]
mov r8d, dword [rbx + rdx*4]
add r8d, r14d
cmp r8d, 0x19
ja 0x14041f48f
test byte [rbx + rdx*4 + 0x10], 0x80
jne 0x14041f48f
or ecx, 0x80
mov word [rax], cx
jmp 0x14041f48f
mov eax, dword [rsi + 0x18]
and eax, 0x11
cmp eax, 1
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
jne 0x14041f52d
cmp dword [rsi + 0xa8], 0
je 0x14041f9df
test byte [rsi + 0xb4], 1
jne 0x14041f563
mov edi, dword [rsi + 0x30]
mov ecx, dword [rsi + 0x34]
call fcn.140342aa0
cmp eax, 5
jne 0x14041f54f
cmp edi, 4
je 0x140420d07
mov ecx, edi
and ecx, 0xfffffffe
cmp ecx, 4
jne 0x14041f5a0
cmp edi, eax
je 0x14041f5c5
test eax, eax
jne 0x14041f5aa
jmp 0x14041f5c5
cmp dword [rsi + 0x1c], 0
mov edi, dword [rsi + 0x58]
je 0x14041f9a8
test edi, edi
je 0x14041f536
lea ecx, [rdi - 1]
mov edx, 0x24
xor eax, eax
nop
cmp rcx, rax
je 0x1404205f5
inc rax
mov r8, qword [rsi + 0x68]
test byte [r8 + rdx], 0x80
lea rdx, [rdx + 0x14]
jne 0x14041f580
jmp 0x1404205f7
cmp edi, 6
je 0x14041f5c5
cmp ecx, 6
jne 0x14041f5c5
cmp dword [rsi + 0x1c], 1
sete r8b
lea rdx, [0x1404212a0]
mov rcx, rsi
call fcn.14034bfc0
xor byte [rsi + 0x30], 1
lea rax, [r13 + 0x60]
mov qword [rsp + 0x60], rax
mov rax, qword [r13 + 0x80]
cmp qword [rax + 0x20], 0
je 0x14041f619
lea r8, str.start_preprocess_text
mov rcx, rsi
mov rdx, r12
call fcn.140420f90
test al, al
je 0x14041f619
mov rax, qword [r13 + 0x80]
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
mov r8, r12
call qword [rax + 0x20]
lea r8, str.end_preprocess_text
mov rcx, rsi
mov rdx, r12
call fcn.140420f90
mov eax, dword [rsi + 0x58]
mov qword [rsp + 0x50], rax
mov rdi, qword [rsi + 0x68]
mov eax, dword [rsp + 0x6c]
and eax, 0xfffffffd
cmp eax, 5
jne 0x14041f6e6
cmp qword [rsp + 0x50], 0
je 0x14041f6e6
mov r12, qword [rsi + 0x10]
mov rax, qword [rsp + 0x58]
mov r14d, dword [rax + 0xfc]
mov rax, qword [rsp + 0x50]
lea rax, [rax*4]
lea r15, [rax + rax*4]
xor ebx, ebx
lea r13, [rsp + 0xb0]
nop dword [rax]
mov edx, dword [rdi + rbx]
mov r8, qword [r12 + 0x70]
mov rcx, r12
call qword [r12 + 0x30]
cmp eax, dword [rdi + rbx]
je 0x14041f6d1
mov ebp, eax
mov dword [rsp + 0xb0], 0
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x90]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14041f6ad
mov r8, qword [rcx + 0x10]
jmp 0x14041f6b0
xor r8d, r8d
mov rax, qword [rax + 0x30]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rcx + 0x98]
mov qword [rsp + 0x20], r8
mov r8d, ebp
mov r9, r13
call rax
test eax, eax
jne 0x14041f6e1
or dword [rdi + rbx + 4], r14d
add rbx, 0x14
cmp r15, rbx
jne 0x14041f670
jmp 0x14041f6e6
mov dword [rdi + rbx], ebp
jmp 0x14041f6d6
mov eax, dword [rsp + 0x6c]
and eax, 0xfffffffe
cmp eax, 6
jne 0x14041f93c
mov rax, qword [rsp + 0x58]
test byte [rax + 0x108], 8
jne 0x14041f93c
cmp dword [rsp + 0x50], 0
je 0x14041f93c
mov rax, qword [rsp + 0x50]
shl rax, 2
lea rbx, [rax + rax*4]
xor r14d, r14d
lea r15, [0x140420f38]
lea r12, [rsp + 0xb0]
lea r13, [0x140420dc4]
jmp 0x14041f771
mov r8, qword [rcx + 0x10]
mov rax, qword [rax + 0x30]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rcx + 0x98]
mov qword [rsp + 0x20], r8
mov r8d, ebp
mov r9, r12
call rax
test eax, eax
jne 0x14041f933
add r14, 0x14
cmp rbx, r14
je 0x14041f93c
mov eax, dword [rdi + r14]
mov ecx, eax
shr ecx, 8
cmp ecx, 0xfd
jg 0x14041f7c0
cmp ecx, 0x20
je 0x14041f800
cmp ecx, 0x30
jne case.0x14041f7e8.65282
lea ecx, [rax - 0x3001]
cmp ecx, 0x17
jae case.0x14041f7e8.65282
mov edx, 0x79ff83
bt edx, ecx
jae case.0x14041f7e8.65282
movsxd rcx, ecx
lea rdx, [0x140601f90]
mov ebp, dword [rdx + rcx*4]
cmp ebp, eax
je case.0x14041f7e8.65282
jmp 0x14041f8f8
cmp ecx, 0xfe
je 0x14041f830
cmp ecx, 0xff
jne case.0x14041f7e8.65282
lea ecx, [rax - 0xff01]
cmp ecx, 0x5c
ja case.0x14041f7e8.65282
mov ebp, 0xfe15
movsxd rcx, dword [r13 + rcx*4]
add rcx, r13
jmp rcx
mov ebp, 0xfe35
cmp ebp, eax
je case.0x14041f7e8.65282
jmp 0x14041f8f8
lea ecx, [rax - 0x2013]
cmp ecx, 0x13
ja case.0x14041f7e8.65282
mov ebp, 0xfe32
movsxd rcx, dword [r15 + rcx*4]
add rcx, r15
jmp rcx
mov ebp, 0xfe31
cmp ebp, eax
je case.0x14041f7e8.65282
jmp 0x14041f8f8
mov ebp, 0xfe34
cmp eax, 0xfe4f
jne case.0x14041f7e8.65282
jmp case.0x14041f7e8.65281
mov ebp, 0xfe30
cmp ebp, eax
je case.0x14041f7e8.65282
jmp 0x14041f8f8
mov ebp, 0xfe19
cmp ebp, eax
je case.0x14041f7e8.65282
jmp 0x14041f8f8
mov ebp, 0xfe36
cmp ebp, eax
je case.0x14041f7e8.65282
jmp 0x14041f8f8
mov ebp, 0xfe10
cmp ebp, eax
je case.0x14041f7e8.65282
jmp 0x14041f8f8
mov ebp, 0xfe13
cmp ebp, eax
je case.0x14041f7e8.65282
jmp 0x14041f8f8
mov ebp, 0xfe14
cmp ebp, eax
je case.0x14041f7e8.65282
jmp 0x14041f8f8
mov ebp, 0xfe16
cmp ebp, eax
je case.0x14041f7e8.65282
jmp 0x14041f8f8
mov ebp, 0xfe47
cmp ebp, eax
je case.0x14041f7e8.65282
jmp 0x14041f8f8
mov ebp, 0xfe48
cmp ebp, eax
je case.0x14041f7e8.65282
jmp 0x14041f8f8
mov ebp, 0xfe33
cmp ebp, eax
je case.0x14041f7e8.65282
jmp 0x14041f8f8
mov ebp, 0xfe37
nop dword [rax]
cmp ebp, eax
je case.0x14041f7e8.65282
mov dword [rsp + 0xb0], 0
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x90]
mov rcx, qword [rax + 0x10]
test rcx, rcx
jne 0x14041f73b
xor r8d, r8d
jmp 0x14041f73f
mov ebp, 0xfe38
cmp ebp, eax
je case.0x14041f7e8.65282
jmp 0x14041f8f8
mov dword [rdi + r14], ebp
jmp case.0x14041f7e8.65282
or byte [rsi + 0xb0], 0xf
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
mov rbp, qword [rsp + 0x48]
mov r8, rbp
call fcn.1404c4760
test byte [rsi + 0xb4], 1
je 0x14041fe6d
mov rax, qword [rsp + 0x58]
test byte [rax + 0x108], 4
je 0x14041fe6d
mov eax, dword [rsi + 0x30]
and eax, 0xfffffffd
cmp eax, 4
jne 0x14041fa21
mov rax, qword [rsp + 0x58]
mov r12d, dword [rax + 0xf0]
mov r13d, dword [rax + 0xf4]
or r13d, r12d
or r12d, dword [rax + 0xf8]
jmp 0x14041fa3e
test edi, edi
je 0x14041f536
lea eax, [rdi - 1]
mov ecx, 0x24
xor r15d, r15d
nop dword [rax + rax]
cmp rax, r15
je 0x140420872
inc r15
mov rdx, qword [rsi + 0x68]
test byte [rdx + rcx], 0x80
lea rcx, [rcx + 0x14]
jne 0x14041f9c0
jmp 0x140420875
mov rax, qword [rsi + 0x68]
mov eax, dword [rax + 0x10]
mov ecx, 0x1c00
bt ecx, eax
jae 0x14041f52d
mov dword [rsp + 0xb0], 0
mov rax, qword [r12 + 0x90]
mov rcx, qword [rax + 0x10]
mov rax, qword [rax + 0x30]
test rcx, rcx
je 0x1404208db
mov rcx, qword [rcx + 0x10]
jmp 0x1404208dd
mov rax, qword [rsp + 0x58]
mov r12d, dword [rax + 0xf0]
mov r13d, dword [rax + 0xf8]
or r13d, r12d
or r12d, dword [rax + 0xf4]
mov r15d, dword [rsi + 0x58]
test r15, r15
je 0x14041fe6d
mov r10, qword [rsi + 0x68]
lea r11, [r10 - 4]
lea rax, [r10 + 0x10]
mov qword [rsp + 0x88], rax
lea rax, [r10 + 4]
mov qword [rsp + 0x80], rax
lea rax, [r10 + 0x40]
mov qword [rsp + 0x78], rax
xor edi, edi
movdqa xmm6, xmmword [0x140599730]
mov qword [rsp + 0x98], r10
mov qword [rsp + 0x90], r11
jmp 0x14041fa9f
dec ebx
mov edi, ebx
inc edi
cmp edi, r15d
jae 0x14041fe6d
mov r14d, edi
lea r8, [r14 + r14*4]
cmp dword [r10 + r8*4], 0x2044
jne 0x14041fa94
lea r9d, [rdi + 1]
lea rcx, [r11 + r8*4]
xor eax, eax
mov qword [rsp + 0x70], r8
nop
cmp r14, rax
je 0x14041fae0
movzx edx, word [rcx]
and edx, 0x1f
inc rax
add rcx, 0xffffffffffffffec
cmp dx, 0xd
je 0x14041fac0
mov ebp, r9d
sub ebp, eax
jmp 0x14041fae2
xor ebp, ebp
mov r8d, r9d
mov ebx, r9d
cmp r9d, r15d
jae 0x14041fb1b
lea rax, [r8 + r8*4]
mov rcx, qword [rsp + 0x88]
lea rax, [rcx + rax*4]
mov rbx, r8
movzx ecx, word [rax]
and ecx, 0x1f
cmp cx, 0xd
jne 0x14041fb1b
inc rbx
add rax, 0x14
cmp r15, rbx
jne 0x14041fb00
mov ebx, r15d
mov dword [rsp + 0x50], r9d
mov r9d, dword [rsi + 0x58]
cmp r9d, ebx
cmovae r9d, ebx
mov eax, r9d
sub eax, ebp
cmp eax, 2
jb 0x14041fd53
mov qword [rsp + 0xa8], r8
or byte [rsi + 0xb4], 0x20
mov rdx, qword [rsi + 0x68]
mov r8d, 0xffffffff
cmp r9d, ebp
je 0x14041fd23
cmp dword [rsi + 0x1c], 2
jne 0x14041fb84
cmp r9d, ebp
jbe 0x14041fd23
mov r10d, ebp
mov eax, r9d
mov rcx, rax
sub rcx, r10
cmp rcx, 9
jae 0x14041fba7
mov rcx, r10
jmp 0x14041fcf2
lea eax, [r9 - 1]
lea rax, [rax + rax*4]
mov ecx, ebp
lea rcx, [rcx + rcx*4]
mov ecx, dword [rdx + rcx*4 + 8]
mov r8d, dword [rdx + rax*4 + 8]
cmp ecx, r8d
cmovb r8d, ecx
jmp 0x14041fd23
mov r8d, ecx
and r8d, 7
mov r11d, 8
cmove r8, r11
sub rcx, r8
add rcx, r10
add r8, r10
sub r8, rax
lea r10, [r10 + r10*4]
lea r10, [rdx + r10*4]
add r10, 0x94
pcmpeqd xmm0, xmm0
pcmpeqd xmm1, xmm1
nop dword [rax + rax]
movd xmm2, dword [r10 - 0x50]
movd xmm3, dword [r10 - 0x64]
punpckldq xmm3, xmm2
movd xmm2, dword [r10 - 0x78]
movd xmm4, dword [r10 - 0x8c]
punpckldq xmm4, xmm2
punpcklqdq xmm4, xmm3
movd xmm2, dword [r10]
movd xmm3, dword [r10 - 0x14]
punpckldq xmm3, xmm2
movd xmm2, dword [r10 - 0x28]
movd xmm5, dword [r10 - 0x3c]
punpckldq xmm5, xmm2
punpcklqdq xmm5, xmm3
movdqa xmm2, xmm0
movdqa xmm3, xmm4
pxor xmm3, xmm6
pxor xmm0, xmm6
pcmpgtd xmm3, xmm0
pand xmm2, xmm3
pandn xmm3, xmm4
movdqa xmm0, xmm3
por xmm0, xmm2
movdqa xmm2, xmm1
movdqa xmm3, xmm5
pxor xmm3, xmm6
pxor xmm1, xmm6
pcmpgtd xmm3, xmm1
pand xmm2, xmm3
pandn xmm3, xmm5
movdqa xmm1, xmm3
por xmm1, xmm2
add r10, 0xa0
add r8, 8
jne 0x14041fbe0
movdqa xmm2, xmm0
pxor xmm2, xmm6
movdqa xmm3, xmm1
pxor xmm3, xmm6
pcmpgtd xmm3, xmm2
pand xmm0, xmm3
pandn xmm3, xmm1
por xmm3, xmm0
pshufd xmm0, xmm3, 0xee
movdqa xmm1, xmm3
pxor xmm1, xmm6
movdqa xmm2, xmm0
pxor xmm2, xmm6
pcmpgtd xmm2, xmm1
pand xmm3, xmm2
pandn xmm2, xmm0
por xmm2, xmm3
pshufd xmm0, xmm2, 0x55
movdqa xmm1, xmm2
pxor xmm1, xmm6
movdqa xmm3, xmm0
pxor xmm3, xmm6
pcmpgtd xmm3, xmm1
pand xmm2, xmm3
pandn xmm3, xmm0
por xmm3, xmm2
movd r8d, xmm3
sub rax, rcx
lea rcx, [rcx + rcx*4]
lea rcx, [rdx + rcx*4]
add rcx, 8
nop word cs:[rax + rax]
mov r10d, dword [rcx]
cmp r8d, r10d
cmovae r8d, r10d
add rcx, 0x14
dec rax
jne 0x14041fd10
mov dword [rsp + 0x20], r8d
mov dword [rsp + 0x28], 3
mov rcx, rsi
mov r8d, ebp
call fcn.14034bed0
mov r10, qword [rsp + 0x98]
mov r11, qword [rsp + 0x90]
mov r8, qword [rsp + 0xa8]
cmp ebp, r14d
mov r9d, dword [rsp + 0x50]
jae 0x14041fdd9
mov eax, ebp
mov edx, r14d
sub edx, ebp
mov rcx, rax
not rcx
add rcx, r14
and rdx, 3
je 0x14041fdaa
mov rbp, r8
lea r8, [rax + rax*4]
mov r9, qword [rsp + 0x80]
lea r8, [r9 + r8*4]
neg rdx
xor r9d, r9d
nop dword [rax]
or dword [r8], r13d
dec r9
add r8, 0x14
cmp rdx, r9
jne 0x14041fd90
sub rax, r9
mov r8, rbp
mov r9d, dword [rsp + 0x50]
cmp rcx, 3
jb 0x14041fdd9
sub r14, rax
lea rax, [rax + rax*4]
mov rcx, qword [rsp + 0x78]
lea rax, [rcx + rax*4]
or dword [rax - 0x3c], r13d
or dword [rax - 0x28], r13d
or dword [rax - 0x14], r13d
or dword [rax], r13d
add rax, 0x50
add r14, 0xfffffffffffffffc
jne 0x14041fdc0
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0xf0]
mov rcx, qword [rsp + 0x70]
or dword [r10 + rcx*4 + 4], eax
cmp r9d, ebx
mov rbp, qword [rsp + 0x48]
jae 0x14041fa90
mov eax, ebx
sub eax, edi
not edi
add edi, ebx
add eax, 0xfffffffe
and edi, 3
je 0x14041fe31
lea rcx, [r8 + r8*4]
mov rdx, qword [rsp + 0x80]
lea rcx, [rdx + rcx*4]
neg edi
xor edx, edx
or dword [rcx], r12d
dec rdx
add rcx, 0x14
cmp edi, edx
jne 0x14041fe20
sub r8, rdx
cmp eax, 3
jb 0x14041fa90
mov eax, ebx
sub eax, r8d
lea rcx, [r8 + r8*4]
mov rdx, qword [rsp + 0x78]
lea rcx, [rdx + rcx*4]
nop dword [rax]
or dword [rcx - 0x3c], r12d
or dword [rcx - 0x28], r12d
or dword [rcx - 0x14], r12d
or dword [rcx], r12d
add rcx, 0x50
add eax, 0xfffffffc
jne 0x14041fe50
jmp 0x14041fa90
mov edi, dword [rsp + 0x150]
mov r12, qword [rsp + 0x58]
mov rax, qword [r12 + 0x80]
mov rax, qword [rax + 0x40]
test rax, rax
je 0x14041fe97
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
mov r8, rbp
call rax
test edi, edi
mov r13, qword [rsp + 0xa0]
je 0x14041ff4c
mov ebx, edi
xor r14d, r14d
jmp 0x14041fed5
xor ecx, ecx
xor r8d, r8d
mov edx, dword [r13 + rax + 4]
mov eax, dword [r13 + rax + 0xc]
shl edx, cl
mov dword [rsp + 0x20], eax
mov rcx, rsi
call fcn.14034a340
inc r14
cmp r14, rbx
je 0x14041ff4c
mov rax, r14
shl rax, 4
mov r9d, dword [r13 + rax + 8]
test r9d, r9d
jne 0x14041feee
cmp dword [r13 + rax + 0xc], 0xffffffff
je 0x14041fecd
mov ecx, dword [r12 + 0x9c]
test ecx, ecx
jle 0x14041feb0
lea rdx, [rax + r13]
mov r8d, dword [rdx]
mov rdx, qword [r12 + 0xa0]
dec ecx
xor r10d, r10d
jmp 0x14041ff1b
dec r11d
mov ecx, r11d
cmp r10d, ecx
jg 0x14041feb0
lea r11d, [rcx + r10]
shr r11d, 1
lea r15, [r11 + r11*8]
cmp dword [rdx + r15*4], r8d
ja 0x14041ff10
jae 0x14041ff36
inc r11d
mov r10d, r11d
jmp 0x14041ff16
mov ecx, r11d
lea r8, [rcx + rcx*8]
mov ecx, dword [rdx + r8*4 + 0x14]
mov r8d, dword [rdx + r8*4 + 0x18]
jmp 0x14041feb5
cmp byte [r12 + 0x108], 0
jns 0x14041ff67
mov rcx, qword [rsp + 0x60]
mov rdx, rbp
mov r8, rsi
call fcn.1404c2b20
mov edx, dword [rsi + 0x58]
test rdx, rdx
je 0x14041fff2
mov rcx, qword [rsi + 0x68]
mov eax, edx
and eax, 3
cmp edx, 4
jae 0x14041ff86
xor r8d, r8d
jmp 0x14041ffbc
and edx, 0xfffffffc
lea r9, [rcx + 0x48]
xor r8d, r8d
mov r10d, dword [r9 - 0x3c]
mov r11d, dword [r9 - 0x28]
mov dword [r9 - 0x48], r10d
mov dword [r9 - 0x34], r11d
mov r10d, dword [r9 - 0x14]
mov dword [r9 - 0x20], r10d
mov r10d, dword [r9]
mov dword [r9 - 0xc], r10d
add r8, 4
add r9, 0x50
cmp rdx, r8
jne 0x14041ff90
test rax, rax
je 0x14041fff2
lea rdx, [r8 + r8*4]
lea rcx, [rcx + rdx*4]
shl rax, 2
lea rax, [rax + rax*4]
xor edx, edx
nop word cs:[rax + rax]
mov r8d, dword [rcx + rdx + 0xc]
mov dword [rcx + rdx], r8d
add rdx, 0x14
cmp rax, rdx
jne 0x14041ffe0
mov dword [rsi + 0x2c], 2
movzx eax, byte [rsi + 0xb0]
and al, 0xf0
or al, 7
mov byte [rsi + 0xb0], al
mov rcx, rbp
mov rdx, rsi
call fcn.140485e50
test byte [r12 + 0x108], 0x40
je 0x140420081
mov ecx, dword [rsi + 0x58]
test rcx, rcx
je 0x140420081
mov rax, qword [rsi + 0x68]
shl rcx, 2
lea rcx, [rcx + rcx*4]
xor edx, edx
jmp 0x140420054
mov r8w, 2
mov word [rax + rdx + 0xc], r8w
add rdx, 0x14
cmp rcx, rdx
je 0x140420081
movzx r9d, word [rax + rdx + 0x10]
mov r8d, r9d
and r8d, 0x1f
cmp r8w, 0xc
jne 0x140420040
mov r8w, 8
test r9b, 0x20
je 0x140420045
movzx r9d, word [rax + rdx + 0xc]
test r9b, 0x10
je 0x140420040
jmp 0x140420045
test byte [r12 + 0x109], 0x20
jne 0x140420d88
lea rcx, [r12 + 0x88]
mov rdx, qword [rsp + 0x60]
mov r8, rbp
mov r9, rsi
call fcn.1404861b0
movzx eax, byte [r12 + 0x109]
not al
test al, 0x22
jne 0x1404200bf
mov rcx, rsi
call fcn.1404a0630
mov rcx, rsi
call fcn.140349f60
mov eax, dword [rsi + 0x30]
mov r12d, dword [rsi + 0x58]
mov r14, qword [rsi + 0x68]
mov rdi, qword [rsi + 0x78]
and eax, 0xfffffffe
cmp eax, 4
jne 0x1404200f8
mov rax, qword [rbp + 0x90]
mov rcx, qword [rax + 0x10]
mov rax, qword [rax + 0x58]
test rcx, rcx
je 0x14042011d
mov rcx, qword [rcx + 0x38]
jmp 0x14042011f
lea rcx, [rdi + 4]
mov rax, qword [rbp + 0x90]
mov rdx, qword [rax + 0x10]
mov rax, qword [rax + 0x60]
test rdx, rdx
je 0x1404201c8
mov r8, qword [rdx + 0x40]
jmp 0x1404201cb
xor ecx, ecx
mov rdx, qword [rbp + 0x98]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x30], 0x14
mov dword [rsp + 0x20], 0x14
mov rcx, rbp
mov r8d, r12d
mov r9, r14
call rax
mov rcx, rbp
mov edx, 9
call fcn.1403526c0
test al, al
je 0x140420253
test r12d, r12d
je 0x140420253
shl r12, 2
lea rbx, [r12 + r12*4]
xor r15d, r15d
lea r12, [rsp + 0xb0]
lea r13, [rsp + 0xc4]
nop word cs:[rax + rax]
mov edx, dword [r14 + r15]
mov rcx, rbp
mov r8, r12
mov r9, r13
call fcn.1403537e0
mov eax, dword [rsp + 0xb0]
sub dword [rdi + r15 + 8], eax
mov eax, dword [rsp + 0xc4]
sub dword [rdi + r15 + 0xc], eax
add r15, 0x14
cmp rbx, r15
jne 0x140420190
jmp 0x140420253
xor r8d, r8d
mov rdx, qword [rbp + 0x98]
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x30], 0x14
mov dword [rsp + 0x20], 0x14
mov rcx, rbp
mov r8d, r12d
mov r9, r14
call rax
test r12, r12
je 0x140420253
shl r12, 2
lea rbx, [r12 + r12*4]
xor r15d, r15d
lea r12, [rsp + 0xb0]
lea r13, [rsp + 0xc4]
nop word [rax + rax]
mov edx, dword [r14 + r15]
mov rcx, rbp
mov r8, r12
mov r9, r13
call fcn.140353950
mov eax, dword [rsp + 0xb0]
sub dword [rdi + r15 + 8], eax
mov eax, dword [rsp + 0xc4]
sub dword [rdi + r15 + 0xc], eax
add r15, 0x14
cmp rbx, r15
jne 0x140420220
test byte [rsi + 0xb4], 4
je 0x14042026c
mov rcx, qword [rsp + 0x60]
mov rdx, rbp
mov r8, rsi
call fcn.1404c43a0
mov eax, dword [rsi + 0x58]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x58]
test byte [rax + 0x109], 1
jne 0x14042028c
mov dword [rsp + 0x70], 0
jmp 0x14042029c
mov eax, dword [rsi + 0x30]
and eax, 0xfffffffd
cmp eax, 4
sete al
mov dword [rsp + 0x70], eax
mov rdi, qword [rsi + 0x68]
mov rbx, qword [rsi + 0x78]
mov rbp, qword [rsp + 0x48]
mov rcx, rbp
mov edx, 9
call fcn.1403526c0
test al, al
je 0x140420323
cmp dword [rsp + 0x50], 0
je 0x140420323
mov rax, qword [rsp + 0x50]
lea rax, [rax*4]
lea r13, [rax + rax*4]
xor r15d, r15d
lea r14, [rsp + 0xb0]
lea r12, [rsp + 0xc4]
nop word cs:[rax + rax]
mov edx, dword [rdi + r15]
mov rcx, rbp
mov r8, r14
mov r9, r12
call fcn.1403537e0
mov eax, dword [rsp + 0xb0]
add dword [rbx + r15 + 8], eax
mov eax, dword [rsp + 0xc4]
add dword [rbx + r15 + 0xc], eax
add r15, 0x14
cmp r13, r15
jne 0x1404202f0
mov rcx, rbp
mov rdx, rsi
call fcn.140486040
mov r14, qword [rsp + 0x58]
test byte [r14 + 0x108], 0x20
mov ebp, dword [rsp + 0x70]
je 0x1404203af
mov rax, qword [r14 + 0x80]
cmp dword [rax + 0x58], 1
jne 0x1404203af
mov ecx, dword [rsi + 0x58]
test rcx, rcx
je 0x1404203af
mov rax, qword [rsi + 0x68]
shl rcx, 2
lea rcx, [rcx + rcx*4]
xor edx, edx
jmp 0x140420385
mov r8, qword [rsi + 0x78]
mov qword [r8 + rdx], 0
add rdx, 0x14
cmp rcx, rdx
je 0x1404203af
test byte [rax + rdx + 0xc], 8
je 0x14042037c
test bpl, bpl
je 0x140420370
mov r8, qword [rsi + 0x78]
movq xmm0, qword [r8 + rdx]
movq xmm1, qword [r8 + rdx + 8]
psubd xmm1, xmm0
movq qword [r8 + rdx + 8], xmm1
jmp 0x140420370
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x48]
mov r8, rsi
call fcn.14041f2c0
test byte [r14 + 0x108], 0x20
je 0x14042042f
mov rax, qword [r14 + 0x80]
cmp dword [rax + 0x58], 2
jne 0x14042042f
mov ecx, dword [rsi + 0x58]
test rcx, rcx
je 0x14042042f
mov rax, qword [rsi + 0x68]
shl rcx, 2
lea rcx, [rcx + rcx*4]
xor edx, edx
jmp 0x140420405
mov r8, qword [rsi + 0x78]
mov qword [r8 + rdx], 0
add rdx, 0x14
cmp rcx, rdx
je 0x14042042f
test byte [rax + rdx + 0xc], 8
je 0x1404203fc
test bpl, bpl
je 0x1404203f0
mov r8, qword [rsi + 0x78]
movq xmm0, qword [r8 + rdx]
movq xmm1, qword [r8 + rdx + 8]
psubd xmm1, xmm0
movq qword [r8 + rdx + 8], xmm1
jmp 0x1404203f0
mov rcx, qword [rsp + 0x48]
mov rdx, rsi
call fcn.140002830
test byte [rsi + 0xb4], 2
je 0x14042044f
test byte [rsi + 0x18], 0xc
je 0x1404205a3
test byte [r14 + 0x109], 0x20
je 0x140420461
mov rcx, rsi
call fcn.1404a05a0
mov rbp, qword [rsp + 0x48]
mov rcx, rbp
mov rdx, rsi
call fcn.1404860c0
mov rcx, rbp
mov edx, 9
call fcn.1403526c0
test al, al
je 0x1404204e3
cmp dword [rsp + 0x50], 0
je 0x1404204e3
mov rax, qword [rsp + 0x50]
shl rax, 2
lea r15, [rax + rax*4]
xor r13d, r13d
lea r14, [rsp + 0xb0]
lea r12, [rsp + 0xc4]
nop dword [rax]
mov edx, dword [rdi + r13]
mov rcx, rbp
mov r8, r14
mov r9, r12
call fcn.1403537e0
mov eax, dword [rsp + 0xb0]
sub dword [rbx + r13 + 8], eax
mov eax, dword [rsp + 0xc4]
sub dword [rbx + r13 + 0xc], eax
add r13, 0x14
cmp r15, r13
jne 0x1404204b0
mov r15, qword [rsp + 0x58]
cmp byte [r15 + 0x108], 0
jns 0x140420509
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x48]
mov r8, rsi
mov r9d, dword [rsp + 0x70]
call fcn.1404c30e0
mov eax, dword [rsi + 0x30]
and eax, 0xfffffffd
cmp eax, 5
jne 0x14042051c
mov rcx, rsi
call fcn.14034b310
and byte [rsi + 0xb0], 0xf8
movzx eax, byte [r15 + 0x109]
and al, 0x22
cmp al, 0x20
mov r14, qword [rsp + 0x48]
jne 0x14042053e
mov rcx, rsi
call fcn.1404a0630
test byte [rsi + 0xb4], 2
je 0x140420a02
mov eax, dword [rsi + 0x18]
test al, 4
jne 0x140420a02
mov ebx, dword [rsi + 0x58]
mov rdi, qword [rsi + 0x68]
mov ecx, dword [rsi + 0x24]
mov dword [rsp + 0xb0], ecx
test al, 8
jne 0x1404209f3
test ecx, ecx
jne 0x1404209b6
mov dword [rsp + 0xb0], 0
mov rax, qword [r14 + 0x90]
mov rcx, qword [rax + 0x10]
mov rax, qword [rax + 0x30]
test rcx, rcx
je 0x140420991
mov rcx, qword [rcx + 0x10]
jmp 0x140420993
mov edx, dword [rsi + 0x58]
test rdx, rdx
je 0x14042044f
mov rax, qword [rsi + 0x68]
mov rcx, qword [rsi + 0x78]
shl rdx, 2
lea rdx, [rdx + rdx*4]
xor r8d, r8d
pxor xmm0, xmm0
jmp 0x1404205dd
add r8, 0x14
cmp rdx, r8
je 0x14042044f
test byte [rax + r8 + 0x10], 0x20
je 0x1404205d0
test byte [rax + r8 + 0xc], 0x10
jne 0x1404205d0
movdqu xmmword [rcx + r8], xmm0
jmp 0x1404205d0
mov eax, edi
xor r8d, r8d
mov ebx, 8
movdqa xmm6, xmmword [0x140599730]
mov ecx, edi
jmp 0x14042061e
mov eax, edx
mov r8d, r14d
cmp r14d, edi
jae 0x14041f536
mov r14d, eax
cmp ecx, eax
mov r9d, eax
cmovb r9d, ecx
mov eax, r9d
sub eax, r8d
cmp eax, 2
jb 0x14042083b
or byte [rsi + 0xb4], 0x20
mov rdx, qword [rsi + 0x68]
mov r10d, 0xffffffff
cmp r9d, r8d
je 0x140420823
cmp dword [rsi + 0x1c], 2
jne 0x140420680
cmp r9d, r8d
jbe 0x140420823
mov r11d, r8d
mov eax, r9d
mov rcx, rax
sub rcx, r11
cmp rcx, 9
jae 0x1404206a4
mov rcx, r11
jmp 0x1404207f2
lea eax, [r9 - 1]
lea rax, [rax + rax*4]
mov ecx, r8d
lea rcx, [rcx + rcx*4]
mov ecx, dword [rdx + rcx*4 + 8]
mov r10d, dword [rdx + rax*4 + 8]
cmp ecx, r10d
cmovb r10d, ecx
jmp 0x140420823
mov r10d, ecx
and r10d, 7
cmove r10, rbx
sub rcx, r10
add rcx, r11
add r10, r11
sub r10, rax
lea r11, [r11 + r11*4]
lea r11, [rdx + r11*4]
add r11, 0x94
pcmpeqd xmm0, xmm0
pcmpeqd xmm1, xmm1
nop word cs:[rax + rax]
movd xmm2, dword [r11 - 0x50]
movd xmm3, dword [r11 - 0x64]
punpckldq xmm3, xmm2
movd xmm2, dword [r11 - 0x78]
movd xmm4, dword [r11 - 0x8c]
punpckldq xmm4, xmm2
punpcklqdq xmm4, xmm3
movd xmm2, dword [r11]
movd xmm3, dword [r11 - 0x14]
punpckldq xmm3, xmm2
movd xmm2, dword [r11 - 0x28]
movd xmm5, dword [r11 - 0x3c]
punpckldq xmm5, xmm2
punpcklqdq xmm5, xmm3
movdqa xmm2, xmm0
movdqa xmm3, xmm4
pxor xmm3, xmm6
pxor xmm0, xmm6
pcmpgtd xmm3, xmm0
pand xmm2, xmm3
pandn xmm3, xmm4
movdqa xmm0, xmm3
por xmm0, xmm2
movdqa xmm2, xmm1
movdqa xmm3, xmm5
pxor xmm3, xmm6
pxor xmm1, xmm6
pcmpgtd xmm3, xmm1
pand xmm2, xmm3
pandn xmm3, xmm5
movdqa xmm1, xmm3
por xmm1, xmm2
add r11, 0xa0
add r10, 8
jne 0x1404206e0
movdqa xmm2, xmm0
pxor xmm2, xmm6
movdqa xmm3, xmm1
pxor xmm3, xmm6
pcmpgtd xmm3, xmm2
pand xmm0, xmm3
pandn xmm3, xmm1
por xmm3, xmm0
pshufd xmm0, xmm3, 0xee
movdqa xmm1, xmm3
pxor xmm1, xmm6
movdqa xmm2, xmm0
pxor xmm2, xmm6
pcmpgtd xmm2, xmm1
pand xmm3, xmm2
pandn xmm2, xmm0
por xmm2, xmm3
pshufd xmm0, xmm2, 0x55
movdqa xmm1, xmm2
pxor xmm1, xmm6
movdqa xmm3, xmm0
pxor xmm3, xmm6
pcmpgtd xmm3, xmm1
pand xmm2, xmm3
pandn xmm3, xmm0
por xmm3, xmm2
movd r10d, xmm3
sub rax, rcx
lea rcx, [rcx + rcx*4]
lea rcx, [rdx + rcx*4]
add rcx, 8
nop word cs:[rax + rax]
mov r11d, dword [rcx]
cmp r10d, r11d
cmovae r10d, r11d
add rcx, 0x14
dec rax
jne 0x140420810
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x28], 3
mov rcx, rsi
call fcn.14034bed0
mov ecx, dword [rsi + 0x58]
lea edx, [r14 + 1]
cmp ecx, edx
cmova edx, ecx
mov eax, r14d
nop word [rax + rax]
inc eax
cmp eax, ecx
jae 0x140420610
mov r8, qword [rsi + 0x68]
mov r9d, eax
lea r9, [r9 + r9*4]
test byte [r8 + r9*4 + 0x10], 0x80
jne 0x140420850
jmp 0x140420612
mov r15d, edi
xor edx, edx
mov eax, edi
jmp 0x140420891
mov ecx, edx
mov edx, r15d
cmp r15d, edi
mov r15d, ecx
jae 0x14041f536
mov ecx, r15d
sub ecx, edx
cmp ecx, 2
jb 0x1404208a9
mov rcx, rsi
mov r8d, r15d
call fcn.14034a3a0
mov eax, dword [rsi + 0x58]
lea edx, [r15 + 1]
cmp eax, edx
cmova edx, eax
mov ecx, r15d
nop word cs:[rax + rax]
inc ecx
cmp ecx, eax
jae 0x140420880
mov r8, qword [rsi + 0x68]
mov r9d, ecx
lea r9, [r9 + r9*4]
test byte [r8 + r9*4 + 0x10], 0x80
jne 0x1404208c0
jmp 0x140420882
xor ecx, ecx
mov rdx, qword [r12 + 0x98]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xb0]
mov rcx, r12
mov r8d, 0x25cc
call rax
test eax, eax
je 0x14041f52d
pxor xmm0, xmm0
movdqu xmmword [rsp + 0xb4], xmm0
mov dword [rsp + 0xb0], 0x25cc
lea rcx, [rsp + 0xb0]
mov rdx, rsi
call fcn.140420fe0
mov rcx, rsi
call fcn.140349f40
mov dword [rsi + 0x54], 0
mov ebx, dword [rsp + 0xb0]
mov rdi, qword [rsp + 0xbc]
mov rax, qword [rsi + 0x68]
movq xmm6, qword [rax + 4]
mov rcx, rsi
xor edx, edx
mov r8d, 1
call fcn.140349e50
test al, al
je 0x140420984
mov rax, qword [rsi + 0x70]
mov ecx, dword [rsi + 0x5c]
lea rcx, [rcx + rcx*4]
mov dword [rax + rcx*4], ebx
movq qword [rax + rcx*4 + 4], xmm6
mov qword [rax + rcx*4 + 0xc], rdi
inc dword [rsi + 0x5c]
mov rcx, rsi
call fcn.140349fa0
jmp 0x14041f52d
xor ecx, ecx
mov rdx, qword [r14 + 0x98]
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0xb0]
mov rcx, r14
mov r8d, 0x20
call rax
test eax, eax
je 0x1404209f3
test rbx, rbx
je 0x140420a02
shl rbx, 2
lea rax, [rbx + rbx*4]
xor ecx, ecx
jmp 0x1404209d9
add rcx, 0x14
cmp rax, rcx
je 0x140420a02
test byte [rdi + rcx + 0x10], 0x20
je 0x1404209d0
test byte [rdi + rcx + 0xc], 0x10
jne 0x1404209d0
mov edx, dword [rsp + 0xb0]
mov dword [rdi + rcx], edx
jmp 0x1404209d0
lea rdx, [0x1404212b0]
mov rcx, rsi
call fcn.14034ac30
mov rax, qword [r15 + 0x80]
cmp qword [rax + 0x28], 0
je 0x140420a4d
lea r8, str.start_postprocess_glyphs
mov rcx, rsi
mov rdx, r14
call fcn.140420f90
test al, al
je 0x140420a4d
mov rax, qword [r15 + 0x80]
mov rcx, qword [rsp + 0x60]
mov rdx, rsi
mov r8, r14
call qword [rax + 0x28]
lea r8, str.end_postprocess_glyphs
mov rcx, rsi
mov rdx, r14
call fcn.140420f90
test byte [rsi + 0xb4], 0x20
je 0x140420cc0
mov eax, dword [rsi + 0x58]
test eax, eax
je 0x140420cc0
mov ecx, dword [rsi + 0x18]
mov rdx, qword [rsi + 0x68]
lea r8d, [rax - 1]
lea r9, [rdx + 8]
xor edi, edi
nop word cs:[rax + rax]
cmp r8, rdi
je 0x140420a9a
inc rdi
mov r10d, dword [r9]
lea r11, [r9 + 0x14]
cmp r10d, dword [r9 + 0x14]
mov r9, r11
je 0x140420a80
jmp 0x140420a9c
mov edi, eax
lea r8, [rdx + 0x90]
lea r9, [rdx + 4]
add rdx, 0x40
xor r15d, r15d
movdqa xmm0, xmmword [0x1405aec60]
mov ebx, eax
jmp 0x140420acf
mov edi, r14d
mov r15d, r11d
cmp r11d, eax
jae 0x140420cc0
mov r11d, edi
mov r14d, r15d
mov edi, edi
mov r13d, 0
cmp r15d, r11d
jae 0x140420bd4
mov r12, rdi
sub r12, r14
xor r13d, r13d
cmp r12, 9
jae 0x140420b00
mov r12, r14
jmp 0x140420bab
mov r13d, r12d
and r13d, 7
mov r10d, 8
cmove r13, r10
sub r12, r13
add r12, r14
add r13, r14
sub r13, rdi
lea rbp, [r14 + r14*4]
lea rbp, [r8 + rbp*4]
pxor xmm1, xmm1
pxor xmm2, xmm2
nop dword [rax]
movd xmm3, dword [rbp - 0x50]
movd xmm4, dword [rbp - 0x64]
punpckldq xmm4, xmm3
movd xmm3, dword [rbp - 0x78]
movd xmm5, dword [rbp - 0x8c]
punpckldq xmm5, xmm3
punpcklqdq xmm5, xmm4
movd xmm3, dword [rbp]
movd xmm4, dword [rbp - 0x14]
punpckldq xmm4, xmm3
movd xmm3, dword [rbp - 0x28]
movd xmm6, dword [rbp - 0x3c]
punpckldq xmm6, xmm3
punpcklqdq xmm6, xmm4
pand xmm5, xmm0
por xmm1, xmm5
pand xmm6, xmm0
por xmm2, xmm6
add rbp, 0xa0
add r13, 8
jne 0x140420b30
por xmm2, xmm1
pshufd xmm1, xmm2, 0xee
por xmm1, xmm2
pshufd xmm2, xmm1, 0x55
por xmm2, xmm1
movd r13d, xmm2
mov rbp, rdi
sub rbp, r12
lea r12, [r12 + r12*4]
lea r12, [r9 + r12*4]
nop dword [rax]
mov r10d, dword [r12]
and r10d, 7
or r13d, r10d
add r12, 0x14
dec rbp
jne 0x140420bc0
test cl, cl
jns 0x140420bf6
mov r10d, r13d
and r10d, 0xfffffffb
test r13b, 1
cmove r10d, r13d
mov r13d, r10d
or r13d, 3
test r10b, 4
cmove r13d, r10d
mov ebp, r13d
and ebp, 0xfffffffd
test cl, 0x40
cmovne ebp, r13d
cmp r15d, r11d
jae 0x140420c78
mov r12d, r11d
sub r12d, r15d
mov rbx, r14
not rbx
add rbx, rdi
and r12, 3
je 0x140420c42
lea r10, [r14 + r14*4]
lea r15, [r9 + r10*4]
neg r12
xor r13d, r13d
nop dword [rax + rax]
mov dword [r15], ebp
dec r13
add r15, 0x14
cmp r12, r13
jne 0x140420c30
sub r14, r13
cmp rbx, 3
jb 0x140420c75
sub rdi, r14
lea r10, [r14 + r14*4]
lea rbx, [rdx + r10*4]
nop word cs:[rax + rax]
mov dword [rbx - 0x3c], ebp
mov dword [rbx - 0x28], ebp
mov dword [rbx - 0x14], ebp
mov dword [rbx], ebp
add rbx, 0x50
add rdi, 0xfffffffffffffffc
jne 0x140420c60
mov ebx, dword [rsi + 0x58]
lea r14d, [r11 + 1]
cmp ebx, r14d
cmova r14d, ebx
lea ebp, [r14 - 1]
mov r15d, r11d
nop word [rax + rax]
cmp ebp, r15d
je 0x140420ac0
lea edi, [r15 + 1]
mov r10, qword [rsi + 0x68]
mov r15d, r15d
lea r15, [r15 + r15*4]
mov r12d, dword [r10 + r15*4 + 8]
lea r13, [rdi + rdi*4]
mov r15d, edi
cmp r12d, dword [r10 + r13*4 + 8]
je 0x140420c90
jmp 0x140420ac3
and byte [rsi + 0xb0], 0xcf
mov eax, dword [rsp + 0x6c]
mov dword [rsi + 0x30], eax
mov rcx, rsi
call fcn.140349f20
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.1405602f0
mov eax, 1
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [rsi + 0x58]
test rcx, rcx
je 0x140420da4
mov rdx, qword [rsi + 0x68]
mov r8, rcx
neg r8
add rdx, 0x10
mov r10d, 1
xor r11d, r11d
mov ebx, 0x3e0
mov ebp, 0xfffe0e1a
mov r14d, 1
xor r9d, r9d
xor eax, eax
jmp 0x140420d5f
mov r9b, 1
cmp r10, rcx
setae r11b
lea r15, [r8 + r10]
inc r15
inc r10
add rdx, 0x14
cmp r15, 1
je 0x140420dac
movzx r15d, word [rdx]
and r15d, 0x1f
cmp r15w, 0xd
je 0x140420d41
bt ebx, r15d
jb 0x140420dac
mov r11d, dword [rdx - 0x10]
add r11d, ebp
cmp r11d, 0x1a
movzx eax, al
cmovb eax, r14d
jmp 0x140420d44
mov dword [rsp + 0x20], edi
mov rcx, qword [rsp + 0x60]
mov rdx, rbp
mov r8, rsi
mov r9, r13
call fcn.14049fbb0
jmp 0x1404200a8
xor eax, eax
mov r11b, 1
xor r9d, r9d
or al, r9b
and al, r11b
and al, 1
movzx eax, al
xor eax, 5
mov r12, qword [rsp + 0x48]
jmp 0x14041f54f