Function at 0x1400664b0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
lea rbp, [rsp - 0x4f]
sub rsp, 0xf8
mov rax, qword [0x1400db800]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov r9, r8
mov qword [rbp - 0x41], r8
mov r8d, dword [rcx + 0x75c]
mov rbx, rcx
mov dword [rbp - 0x7d], edx
cmp dword [rcx + 0x758], r8d
je 0x140066517
lea rdx, [r8 + r8*2]
add rdx, rdx
mov eax, dword [rcx + rdx*8 + 0x784]
mov ecx, dword [rcx + rdx*8 + 0x788]
sub eax, r8d
mov dword [r9], ecx
mov ecx, dword [rbx + rdx*8 + 0x784]
mov dword [rbx + 0x75c], ecx
jmp 0x140067bdf
xor eax, eax
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0xe8], r12
mov qword [rsp + 0xe0], r13
mov qword [rcx + 0x758], rax
cmp dword [rcx + 0x33204], eax
jne 0x140066552
lea rdx, [rbp - 0x65]
call fcn.14006a5d0
mov r12d, dword [rbp - 0x65]
mov r13d, eax
jmp 0x140066560
mov r13d, dword [rcx + 0x760]
mov r12d, dword [rcx + 0x764]
mov edi, dword [rbx + 0x768]
mov qword [rsp + 0x128], rsi
mov qword [rsp + 0xd8], r14
mov qword [rsp + 0xd0], r15
mov dword [rbp - 0x69], r12d
mov dword [rsp + 0x28], r13d
cmp edi, 2
jb 0x140067ba0
mov rcx, qword [rbx + 0x30]
mov eax, 0x111
cmp edi, eax
cmova edi, eax
call qword [rbx + SafeArrayCopy]
movzx r15d, byte [rax - 1]
xor r10d, r10d
xor r11d, r11d
lea r8, [rax - 1]
mov ecx, dword [rbx + r11*4 + 0x33208]
lea rsi, [r11*4]
mov dword [rbp + rsi - 1], ecx
mov r9, r8
inc ecx
sub r9, rcx
cmp r15b, byte [r9]
jne 0x140066619
movzx eax, byte [r9 + 1]
cmp byte [r8 + 1], al
jne 0x140066619
mov edx, 2
cmp edi, edx
jbe 0x140066602
lea rcx, [r8 + 2]
sub r9, r8
nop dword [rax]
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
jne 0x140066602
inc edx
inc rcx
cmp edx, edi
jb 0x1400665f0
mov eax, r10d
mov ecx, r11d
mov dword [rbp + rsi + 0xf], edx
cmp edx, dword [rbp + rax*4 + 0xf]
cmovbe ecx, r10d
mov r10d, ecx
jmp 0x140066621
mov dword [rbp + rsi + 0xf], 0
lea esi, [r11 + 1]
mov r9, r8
mov ecx, dword [rbx + rsi*4 + 0x33208]
lea r14, [rsi*4]
mov dword [rbp + r14 - 1], ecx
inc ecx
sub r9, rcx
cmp r15b, byte [r9]
jne 0x140066688
movzx eax, byte [r9 + 1]
cmp byte [r8 + 1], al
jne 0x140066688
mov edx, 2
cmp edi, edx
jbe 0x140066673
lea rcx, [r8 + 2]
sub r9, r8
movzx eax, byte [rcx + r9]
cmp byte [rcx], al
jne 0x140066673
inc edx
inc rcx
cmp edx, edi
jb 0x140066661
mov eax, r10d
mov dword [rbp + r14 + 0xf], edx
cmp edx, dword [rbp + rax*4 + 0xf]
cmovbe esi, r10d
mov r10d, esi
jmp 0x140066691
mov dword [rbp + r14 + 0xf], 0
lea esi, [r11 + 2]
mov r9, r8
mov ecx, dword [rbx + rsi*4 + 0x33208]
lea r14, [rsi*4]
mov dword [rbp + r14 - 1], ecx
inc ecx
sub r9, rcx
cmp r15b, byte [r9]
jne 0x1400666f8
movzx eax, byte [r9 + 1]
cmp byte [r8 + 1], al
jne 0x1400666f8
mov edx, 2
cmp edi, edx
jbe 0x1400666e3
lea rcx, [r8 + 2]
sub r9, r8
movzx eax, byte [rcx + r9]
cmp byte [rcx], al
jne 0x1400666e3
inc edx
inc rcx
cmp edx, edi
jb 0x1400666d1
mov eax, r10d
mov dword [rbp + r14 + 0xf], edx
cmp edx, dword [rbp + rax*4 + 0xf]
cmovbe esi, r10d
mov r10d, esi
jmp 0x140066701
mov dword [rbp + r14 + 0xf], 0
lea esi, [r11 + 3]
mov r9, r8
mov ecx, dword [rbx + rsi*4 + 0x33208]
lea r14, [rsi*4]
mov dword [rbp + r14 - 1], ecx
inc ecx
sub r9, rcx
cmp r15b, byte [r9]
jne 0x140066768
movzx eax, byte [r9 + 1]
cmp byte [r8 + 1], al
jne 0x140066768
mov edx, 2
cmp edi, edx
jbe 0x140066753
lea rcx, [r8 + 2]
sub r9, r8
movzx eax, byte [rcx + r9]
cmp byte [rcx], al
jne 0x140066753
inc edx
inc rcx
cmp edx, edi
jb 0x140066741
mov eax, r10d
mov dword [rbp + r14 + 0xf], edx
cmp edx, dword [rbp + rax*4 + 0xf]
cmovbe esi, r10d
mov r10d, esi
jmp 0x140066771
mov dword [rbp + r14 + 0xf], 0
add r11d, 4
cmp r11d, 4
jb 0x1400665b0
mov eax, r10d
mov edi, dword [rbp + rax*4 + 0xf]
mov eax, dword [rbx + 0x33200]
cmp edi, eax
jb 0x1400667b2
mov rcx, qword [rbp - 0x41]
lea edx, [rdi - 1]
mov dword [rcx], r10d
test edx, edx
je 0x1400667ab
add dword [rbx + 0x33204], edx
mov rcx, qword [rbx + 0x30]
call qword [rbx + reloc.OLEAUT32.dll_SafeArrayAllocDescriptorEx]
mov eax, edi
jmp 0x140067baf
cmp r13d, eax
jb 0x1400667e9
mov rcx, qword [rbp - 0x41]
lea eax, [r12 - 1]
mov eax, dword [rbx + rax*4 + 0x3296c]
lea edx, [r13 - 1]
add eax, 4
mov dword [rcx], eax
test edx, edx
je 0x1400667e1
add dword [rbx + 0x33204], edx
mov rcx, qword [rbx + 0x30]
call qword [rbx + reloc.OLEAUT32.dll_SafeArrayAllocDescriptorEx]
mov eax, r13d
jmp 0x140067baf
mov ecx, dword [rbp - 1]
mov rax, r8
movzx r14d, byte [r8]
inc ecx
sub rax, rcx
movzx esi, byte [rax]
cmp r13d, 2
jae 0x14006680f
cmp r14b, sil
je 0x14006680f
cmp edi, 2
jb 0x140067ba0
mov eax, dword [rbx + 0x33218]
lea r9, [rbx + 0x3276c]
mov r13d, dword [rbp - 0x7d]
mov ecx, 8
mov dword [rbx + 0x770], eax
sub cl, byte [rbx + 0x33e64]
mov eax, dword [rbp - 0x7d]
and eax, dword [rbx + 0x33e70]
movzx edx, byte [r8 - 1]
and r13d, dword [rbx + 0x33e74]
mov r15d, dword [rbx + 0x33218]
shr edx, cl
mov ecx, dword [rbx + 0x33e64]
shl eax, cl
add edx, eax
mov rax, qword [rbx + 0x33e78]
lea ecx, [rdx + rdx*2]
movzx edx, r14b
shl ecx, 8
lea rcx, [rax + rcx*2]
cmp r15d, 7
jb 0x14006687f
movzx r8d, sil
call fcn.140068a20
jmp 0x140066887
mov r8, r9
call fcn.1400689d0
mov r9d, eax
mov r12d, r13d
lea rax, [r15 + 0x19f4]
xor r10d, r10d
shl rax, 4
add rax, r12
movzx eax, word [rbx + rax*2]
shr rax, 4
mov r8d, dword [rbx + rax*4 + 0x3276c]
mov dword [rbx + 0x7b8], 0xffffffff
add r8d, r9d
mov dword [rbx + 0x79c], r8d
mov dword [rbx + 0x7a4], r10d
mov edx, dword [rbx + 0x33218]
lea rax, [rdx + 0x19f4]
shl rax, 4
add rax, r12
movzx ecx, word [rbx + rax*2]
movzx eax, word [rbx + rdx*2 + 0x34000]
xor rcx, 0x7f0
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
mov ecx, dword [rbx + rcx*4 + 0x3276c]
mov r15d, dword [rbx + rax*4 + 0x3276c]
mov eax, 0xffffffff
add r15d, ecx
mov dword [rbp - 0x65], ecx
cmp sil, r14b
jne 0x14006696a
lea rax, [rdx + 0x1a03]
shl rax, 4
add rax, r12
movzx ecx, word [rbx + rax*2]
movzx eax, word [rbx + rdx*2 + 0x34018]
shr rax, 4
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x3276c]
add edx, dword [rbx + rax*4 + 0x3276c]
mov eax, 0xffffffff
add edx, r15d
cmp edx, r8d
jae 0x14006696a
mov dword [rbx + 0x79c], edx
mov eax, r10d
mov dword [rbx + 0x7b8], r10d
mov edx, dword [rsp + 0x28]
cmp edx, edi
cmovb edx, edi
mov dword [rsp + 0x20], edx
cmp edx, 2
jae 0x140066987
mov rcx, qword [rbp - 0x41]
mov dword [rcx], eax
jmp 0x140067baa
mov eax, dword [rbp - 1]
mov dword [rbx + 0x7b4], r10d
mov dword [rbx + 0x78c], eax
mov eax, dword [rbp + 3]
mov dword [rbx + 0x790], eax
mov eax, dword [rbp + 7]
mov dword [rbx + 0x794], eax
mov eax, dword [rbp + 0xb]
mov dword [rbx + 0x798], eax
lea rcx, [rdx + rdx*2]
dec edx
add rcx, rcx
mov dword [rbx + rcx*8 + 0x76c], 0x40000000
cmp edx, 2
jae 0x1400669b2
mov esi, r10d
lea r14, [rbp + 0xf]
mov edi, dword [r14]
cmp edi, 2
jb 0x140066a4d
mov r8d, dword [rbx + 0x33218]
mov r9d, r13d
mov edx, esi
mov rcx, rbx
call fcn.140067f20
add eax, r15d
imul r9, r12, 0x110
nop dword [rax + rax]
lea edx, [rdi - 2]
mov ecx, edi
add rdx, r9
xor r10d, r10d
mov r8d, dword [rbx + rdx*4 + 0x39130]
lea rdx, [rcx + rcx*2]
add rdx, rdx
add r8d, eax
cmp r8d, dword [rbx + rdx*8 + 0x76c]
jae 0x140066a46
mov dword [rbx + rdx*8 + 0x76c], r8d
mov dword [rbx + rdx*8 + 0x784], r10d
mov dword [rbx + rdx*8 + 0x788], esi
mov dword [rbx + rdx*8 + 0x774], r10d
dec edi
cmp edi, 2
jae 0x140066a00
inc esi
add r14, 4
cmp esi, 4
jb 0x1400669d2
mov r9d, dword [rbp + 0xf]
mov eax, dword [rbx + 0x33218]
mov r14d, dword [rbp - 0x65]
movzx ecx, word [rbx + rax*2 + 0x34000]
shr rcx, 4
add r14d, dword [rbx + rcx*4 + 0x3276c]
cmp r9d, 2
inc r9d
jae 0x140066a8d
mov r9d, 2
lea r13, [rbx + 0x3296c]
cmp r9d, dword [rsp + 0x28]
ja 0x140066bab
mov edx, r10d
cmp r9d, dword [r13]
jbe 0x140066aba
nop dword [rax + rax]
add edx, 2
cmp r9d, dword [r13 + rdx*4]
ja 0x140066ab0
mov r15d, dword [rbp - 0x69]
imul rsi, r12, 0x110
nop word [rax + rax]
lea eax, [rdx + 1]
mov r8d, 3
mov r11d, dword [r13 + rax*4]
lea ecx, [r9 - 2]
mov eax, ecx
mov r10d, r11d
add rax, rsi
mov edi, dword [rbx + rax*4 + 0x348e8]
add edi, r14d
cmp r9d, 5
cmovb r8d, ecx
cmp r11d, 0x80
jae 0x140066b16
shl r8, 7
add r8, r11
mov eax, dword [rbx + r8*4 + 0x3361c]
jmp 0x140066b54
mov rax, r10
shl r8, 6
mov ecx, 0x7ffff
and r10d, 0xf
sub ecx, r11d
shr ecx, 0x1f
neg ecx
and ecx, 0xc
add ecx, 6
shr rax, cl
movzx eax, byte [rax + rbx + 0x3076c]
lea eax, [rax + rcx*2]
add rax, r8
mov eax, dword [rbx + rax*4 + 0x3321c]
add eax, dword [rbx + r10*4 + 0x33e1c]
lea r8d, [rax + rdi]
mov eax, r9d
lea rcx, [rax + rax*2]
add rcx, rcx
cmp r8d, dword [rbx + rcx*8 + 0x76c]
jae 0x140066b92
mov dword [rbx + rcx*8 + 0x76c], r8d
lea eax, [r11 + 4]
xor r8d, r8d
mov dword [rbx + rcx*8 + 0x788], eax
mov dword [rbx + rcx*8 + 0x784], r8d
mov dword [rbx + rcx*8 + 0x774], r8d
mov eax, edx
cmp r9d, dword [r13 + rax*4]
jne 0x140066ba3
add edx, 2
cmp edx, r15d
je 0x140066bab
inc r9d
jmp 0x140066ad0
mov r14d, 1
mov dword [rsp + 0x24], r14d
cmp dword [rsp + 0x20], r14d
je 0x140067b8f
lea r15, [0x140000000]
nop dword [rax + rax]
mov rcx, qword [rbx + 0x30]
xor edi, edi
mov dword [rbp - 0x71], edi
call qword [rbx + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rbx + 0x30]
mov rdx, r13
mov dword [rbx + 0x768], eax
call qword [rbx + 0x20]
mov dword [rbp - 0x65], eax
mov esi, eax
test eax, eax
je 0x140066c5b
lea ecx, [rax - 2]
mov edi, dword [rbx + rcx*4 + 0x3296c]
mov dword [rbp - 0x71], edi
cmp edi, dword [rbx + 0x33200]
jne 0x140066c5b
mov rcx, qword [rbx + 0x30]
call qword [rbx + SafeArrayCopy]
mov r8d, dword [rbx + 0x768]
lea ecx, [rsi - 1]
mov ecx, dword [rbx + rcx*4 + 0x3296c]
lea r9, [rax - 1]
inc ecx
mov eax, 0x111
cmp r8d, eax
mov rdx, r9
cmova r8d, eax
sub rdx, rcx
cmp edi, r8d
jae 0x140066c5b
lea rcx, [r9 + rdi]
sub rdx, r9
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x140066c58
inc edi
inc rcx
cmp edi, r8d
jb 0x140066c46
mov dword [rbp - 0x71], edi
inc dword [rbx + 0x33204]
cmp edi, dword [rbx + 0x33200]
jae 0x140067b83
inc dword [rbp - 0x7d]
lea rdi, [rbx + 0x76c]
mov eax, r14d
lea rcx, [rax + rax*2]
shl rcx, 4
add rdi, rcx
mov r8d, dword [rdi + 8]
mov edx, dword [rdi + 0x18]
test r8d, r8d
je 0x140066cf4
dec edx
cmp dword [rdi + 0xc], 0
je 0x140066cdc
mov eax, dword [rdi + 0x10]
lea rcx, [rax + rax*2]
add rcx, rcx
cmp dword [rdi + 0x14], 4
mov eax, dword [rbx + rcx*8 + 0x770]
lea rax, [rax*4]
jae 0x140066cca
mov eax, dword [rax + r15 + 0xb7ac8]
mov ecx, dword [r15 + rax*4 + 0xb7a68]
jmp 0x140066d02
mov eax, dword [rax + r15 + 0xb7a98]
mov ecx, dword [r15 + rax*4 + 0xb7a68]
jmp 0x140066d02
lea rcx, [rdx + rdx*2]
add rcx, rcx
mov eax, dword [rbx + rcx*8 + 0x770]
mov ecx, dword [r15 + rax*4 + 0xb7a68]
jmp 0x140066d02
lea rcx, [rdx + rdx*2]
add rcx, rcx
mov ecx, dword [rbx + rcx*8 + 0x770]
lea eax, [r14 - 1]
cmp edx, eax
jne 0x140066d34
cmp dword [rdi + 0x1c], 0
mov eax, ecx
jne 0x140066d23
mov r14d, dword [r15 + rax*4 + 0xb7af8]
mov dword [rbp - 0x75], r14d
jmp 0x140066e13
mov r14d, dword [r15 + rax*4 + 0xb7a68]
mov dword [rbp - 0x75], r14d
jmp 0x140066e13
test r8d, r8d
je 0x140066d52
cmp dword [rdi + 0xc], 0
je 0x140066d52
mov edx, dword [rdi + 0x10]
mov r9d, dword [rdi + 0x14]
mov eax, ecx
mov r14d, dword [r15 + rax*4 + 0xb7ac8]
jmp 0x140066d70
mov r9d, dword [rdi + 0x1c]
mov eax, ecx
cmp r9d, 4
jae 0x140066d68
mov r14d, dword [r15 + rax*4 + 0xb7ac8]
jmp 0x140066d70
mov r14d, dword [r15 + rax*4 + 0xb7a98]
mov eax, edx
lea r10, [rbx + 0x76c]
mov dword [rbp - 0x75], r14d
lea rcx, [rax + rax*2]
shl rcx, 4
add r10, rcx
cmp r9d, 4
jae 0x140066df7
mov eax, r9d
mov r8d, 1
mov ecx, dword [r10 + rax*4 + 0x20]
mov dword [rbp - 1], ecx
cmp r9d, r8d
jb 0x140066dce
nop dword [rax]
nop dword [rax + rax]
mov edx, r8d
lea eax, [r8 - 1]
mov eax, dword [r10 + rax*4 + 0x20]
inc r8d
mov dword [rbp + rdx*4 - 1], eax
cmp r8d, r9d
jbe 0x140066db0
cmp r8d, 4
jae 0x140066e13
mov eax, r8d
lea rdx, [r10 + 0x20]
lea rcx, [rbp - 1]
lea rcx, [rcx + rax*4]
lea rdx, [rdx + rax*4]
mov eax, 4
sub eax, r8d
mov r8d, eax
shl r8, 2
call fcn.1400b1500
jmp 0x140066e13
lea eax, [r9 - 4]
mov dword [rbp - 1], eax
mov eax, dword [r10 + 0x20]
mov dword [rbp + 3], eax
mov eax, dword [r10 + 0x24]
mov dword [rbp + 7], eax
mov eax, dword [r10 + 0x28]
mov dword [rbp + 0xb], eax
mov eax, dword [rbp + 3]
xor esi, esi
mov r15d, dword [rbp - 1]
mov dword [rdi + 4], r14d
mov dword [rdi + 0x24], eax
mov eax, dword [rbp + 7]
mov dword [rdi + 0x28], eax
mov eax, dword [rbp + 0xb]
mov dword [rdi + 0x2c], eax
mov dword [rdi + 0x20], r15d
mov rcx, qword [rbx + 0x30]
mov r13d, dword [rdi]
call qword [rbx + SafeArrayCopy]
movzx r8d, byte [rax - 1]
lea r12d, [r15 + 1]
mov ecx, dword [rbp - 0x7d]
and ecx, dword [rbx + 0x33e74]
lea rdx, [rax - 1]
mov dword [rbp - 0x21], ecx
mov qword [rbp - 0x19], rcx
mov rax, rdx
sub rax, r12
mov qword [rbp - 0x59], rdx
movzx edx, byte [rdx - 1]
mov qword [rbp - 0x31], rax
mov byte [rbp - 0x79], r8b
bts r8d, 8
movzx r15d, byte [rax]
mov eax, r14d
add rax, 0x19f4
shl rax, 4
add rax, rcx
mov ecx, 8
sub cl, byte [rbx + 0x33e64]
shr edx, cl
mov ecx, dword [rbx + 0x33e64]
lea r10, [rbx + rax*2]
movzx eax, word [rbx + rax*2]
shr rax, 4
mov qword [rbp - 0x29], r10
mov r14d, dword [rbx + rax*4 + 0x3276c]
mov eax, dword [rbp - 0x7d]
add r14d, r13d
and eax, dword [rbx + 0x33e70]
shl eax, cl
add edx, eax
mov rax, qword [rbx + 0x33e78]
lea ecx, [rdx + rdx*2]
shl ecx, 8
cmp dword [rbp - 0x75], 7
lea rdi, [rax + rcx*2]
jb 0x140066f46
movzx r9d, r15b
xor r11d, r11d
mov r10d, 0x100
nop dword [rax + rax]
mov ecx, r8d
add r9d, r9d
shr ecx, 8
mov eax, r10d
and eax, r9d
add eax, r10d
add ecx, eax
movzx edx, word [rdi + rcx*2]
mov ecx, r8d
shr ecx, 7
add r8d, r8d
and ecx, 1
shr rdx, 4
neg ecx
mov eax, r8d
sar rcx, 4
xor eax, r9d
and ecx, 0x7f
not eax
xor rdx, rcx
and r10d, eax
add r11d, dword [rbx + rdx*4 + 0x3276c]
cmp r8d, 0x10000
jb 0x140066ef0
mov r10, qword [rbp - 0x29]
jmp 0x140066f8b
xor r9d, r9d
nop dword [rax]
mov ecx, r8d
mov eax, r8d
shr ecx, 7
add r8d, r8d
and ecx, 1
shr rax, 8
neg ecx
sar rcx, 4
and ecx, 0x7f
movzx edx, word [rdi + rax*2]
shr rdx, 4
xor rdx, rcx
add r9d, dword [rbx + rdx*4 + 0x3276c]
cmp r8d, 0x10000
jb 0x140066f50
mov r11d, r9d
add r14d, r11d
lea rdx, [rbx + 0x76c]
mov r11d, dword [rsp + 0x24]
lea eax, [r11 + 1]
lea rcx, [rax + rax*2]
mov dword [rbp - 0x69], eax
shl rcx, 4
add rdx, rcx
mov r9d, dword [rdx]
cmp r14d, r9d
jae 0x140066fcd
mov dword [rdx + 8], esi
mov r9d, r14d
mov esi, 1
mov dword [rdx], r14d
mov dword [rdx + 0x18], r11d
mov dword [rdx + 0x1c], 0xffffffff
movzx eax, word [r10]
movzx r10d, byte [rbp - 0x79]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rax*4 + 0x3276c]
mov eax, dword [rbp - 0x75]
add ecx, r13d
mov r13d, eax
mov dword [rbp - 0x45], ecx
add rax, 0x1a000
lea rax, [rbx + rax*2]
mov qword [rbp + 0xf], rax
movzx eax, word [rax]
xor rax, 0x7f0
shr rax, 4
mov edi, dword [rbx + rax*4 + 0x3276c]
add edi, ecx
mov dword [rbp - 0x51], edi
cmp r15b, r10b
jne 0x140067079
cmp dword [rdx + 0x18], r11d
jae 0x14006702b
cmp dword [rdx + 0x1c], 0
je 0x140067079
lea rax, [r13 + 0x1a03]
shl rax, 4
add rax, qword [rbp - 0x19]
movzx ecx, word [rbx + rax*2]
movzx eax, word [rbx + r13*2 + 0x34018]
shr rcx, 4
shr rax, 4
mov r8d, dword [rbx + rcx*4 + 0x3276c]
add r8d, dword [rbx + rax*4 + 0x3276c]
add r8d, edi
cmp r8d, r9d
ja 0x140067079
xor eax, eax
mov dword [rdx], r8d
mov dword [rdx + 0x18], r11d
mov dword [rdx + 0x1c], eax
mov dword [rdx + 8], eax
lea esi, [rax + 1]
mov eax, dword [rbx + 0x768]
mov r9d, 0xfff
sub r9d, r11d
cmp r9d, eax
cmovae r9d, eax
mov dword [rbp - 0x39], r9d
cmp r9d, 2
jb 0x140067b50
mov eax, dword [rbx + 0x33200]
mov edx, r9d
cmp r9d, eax
cmova edx, eax
mov dword [rsp + 0x28], edx
test esi, esi
jne 0x140067234
cmp r15b, r10b
je 0x140067234
inc eax
mov r8d, r9d
cmp eax, r9d
mov edx, 1
cmovbe r8d, eax
cmp r8d, edx
jbe 0x1400670f3
mov rcx, qword [rbp - 0x31]
inc rcx
nop
movzx eax, byte [rcx]
cmp byte [r12 + rcx], al
jne 0x1400670f3
inc edx
inc rcx
cmp edx, r8d
jb 0x1400670e0
lea edi, [rdx - 1]
cmp edi, 2
jb 0x140067230
mov r8d, dword [rbp - 0x7d]
lea rax, [0x140000000]
mov r10d, dword [rax + r13*4 + 0xb7a68]
inc r8d
mov eax, dword [rbx + 0x33e74]
add r11d, edx
mov esi, dword [rsp + 0x20]
and r8, rax
lea rax, [r10 + 0x19f4]
shl rax, 4
add rax, r8
movzx ecx, word [rbx + rax*2]
movzx eax, word [rbx + r10*2 + 0x34000]
xor rcx, 0x7f0
shr rcx, 4
xor rax, 0x7f0
shr rax, 4
mov r9d, dword [rbx + rcx*4 + 0x3276c]
add r9d, dword [rbx + rax*4 + 0x3276c]
add r9d, r14d
cmp esi, r11d
jae 0x1400671a1
lea rcx, [rsi + rsi*2]
mov eax, r11d
shl rcx, 4
lea rdx, [rbx + 0x76c]
add rdx, rcx
sub eax, esi
add esi, eax
mov ecx, eax
mov dword [rsp + 0x20], esi
nop dword [rax]
mov dword [rdx + 0x30], 0x40000000
lea rdx, [rdx + 0x30]
sub rcx, 1
jne 0x140067190
imul rax, r8, 0x110
lea edx, [rdi - 2]
add rdx, rax
lea rax, [r10 + 0x1a03]
shl rax, 4
add rax, r8
mov r8d, dword [rbx + rdx*4 + 0x39130]
movzx ecx, word [rbx + rax*2]
movzx eax, word [rbx + r10*2 + 0x34018]
xor rcx, 0x7f0
shr rcx, 4
shr rax, 4
add r8d, dword [rbx + rcx*4 + 0x3276c]
lea rcx, [r11 + r11*2]
add r8d, dword [rbx + rax*4 + 0x3276c]
add rcx, rcx
mov r11d, dword [rsp + 0x24]
add r8d, r9d
cmp r8d, dword [rbx + rcx*8 + 0x76c]
jae 0x140067230
mov eax, dword [rbp - 0x69]
xor edx, edx
mov dword [rbx + rcx*8 + 0x788], edx
mov dword [rbx + rcx*8 + 0x76c], r8d
mov dword [rbx + rcx*8 + 0x784], eax
mov qword [rbx + rcx*8 + 0x774], 1
mov edx, dword [rsp + 0x28]
mov rcx, qword [rbp - 0x59]
lea rax, [r13*4]
mov qword [rbp - 0x29], rax
xor r15d, r15d
lea rax, [rbp - 1]
mov dword [rbp - 0x6d], r15d
mov qword [rbp - 0x31], rax
mov r12d, 2
nop dword [rax]
mov esi, dword [rax]
mov r14, rcx
inc esi
sub r14, rsi
mov qword [rbp - 0x11], rsi
movzx eax, byte [r14]
cmp byte [rcx], al
jne 0x140067642
movzx eax, byte [r14 + 1]
cmp byte [rcx + 1], al
jne 0x140067642
mov edi, 2
cmp edx, edi
jbe 0x1400672a6
lea rcx, [r14 + 2]
movzx eax, byte [rcx]
cmp byte [rsi + rcx], al
jne 0x1400672a6
inc edi
inc rcx
cmp edi, edx
jb 0x140067295
mov r8d, dword [rsp + 0x20]
lea edx, [rdi + r11]
cmp r8d, edx
jae 0x1400672f1
lea rcx, [r8 + r8*2]
sub edx, r8d
shl rcx, 4
lea rax, [rbx + 0x76c]
add rax, rcx
mov ecx, edx
add r8d, edx
mov dword [rsp + 0x20], r8d
nop dword [rax]
nop word [rax + rax]
mov dword [rax + 0x30], 0x40000000
lea rax, [rax + 0x30]
sub rcx, 1
jne 0x1400672e0
mov r9d, dword [rbp - 0x21]
mov edx, r15d
mov r8d, dword [rbp - 0x75]
mov rcx, rbx
mov r13d, edi
mov dword [rbp - 0x61], edi
call fcn.140067f20
imul rsi, qword [rbp - 0x19], 0x110
add eax, dword [rbp - 0x51]
mov r11d, dword [rsp + 0x24]
xor r9d, r9d
mov qword [rbp - 9], rsi
mov dword [rbp - 0x4d], eax
nop dword [rax]
nop dword [rax + rax]
lea edx, [rdi - 2]
add rdx, rsi
lea ecx, [rdi + r11]
lea rcx, [rcx + rcx*2]
add rcx, rcx
mov r8d, dword [rbx + rdx*4 + 0x39130]
add r8d, eax
cmp r8d, dword [rbx + rcx*8 + 0x76c]
jae 0x140067376
mov dword [rbx + rcx*8 + 0x76c], r8d
mov dword [rbx + rcx*8 + 0x784], r11d
mov dword [rbx + rcx*8 + 0x788], r15d
mov dword [rbx + rcx*8 + 0x774], r9d
dec edi
cmp edi, 2
jae 0x140067330
mov edx, dword [rbp - 0x39]
lea r10d, [r13 + 1]
mov ecx, dword [rbx + 0x33200]
test r15d, r15d
mov rsi, qword [rbp - 0x11]
mov r8d, r10d
cmovne r8d, r12d
add ecx, r10d
cmp ecx, edx
mov dword [rbp - 0x49], r8d
cmovbe edx, ecx
cmp r10d, edx
jae 0x1400673c3
mov ecx, r10d
add rcx, r14
nop
movzx eax, byte [rcx]
cmp byte [rsi + rcx], al
jne 0x1400673c3
inc r10d
inc rcx
cmp r10d, edx
jb 0x1400673b0
mov ecx, dword [rbp - 0x61]
mov eax, 0xffffffff
sub eax, ecx
mov r13d, r10d
add r10d, eax
mov r12d, r8d
cmp r10d, 2
jb 0x14006763e
movzx edi, byte [r14 + rcx]
lea eax, [rcx - 1]
mov r8, qword [rbp - 0x59]
mov esi, 0x100
mov edx, dword [rbx + 0x33e64]
xor r14d, r14d
mov r9d, dword [rbp - 0x7d]
mov r12d, dword [rbx + 0x33e74]
add r9d, ecx
movzx r11d, byte [rcx + r8]
and r12d, r9d
movzx r8d, byte [rax + r8]
mov ecx, 8
and r9d, dword [rbx + 0x33e70]
sub cl, dl
mov r15, qword [rbx + 0x33e78]
or r11d, esi
shr r8d, cl
mov ecx, edx
shl r9d, cl
add r8d, r9d
lea r8d, [r8 + r8*2]
shl r8d, 8
add edi, edi
mov eax, esi
and eax, edi
mov ecx, r11d
shr ecx, 8
add eax, esi
add eax, ecx
mov ecx, r11d
shr ecx, 7
add rax, r8
and ecx, 1
add r11d, r11d
neg ecx
sar rcx, 4
movzx edx, word [r15 + rax*2]
and ecx, 0x7f
shr rdx, 4
mov eax, r11d
xor rdx, rcx
xor eax, edi
not eax
and esi, eax
add r14d, dword [rbx + rdx*4 + 0x3276c]
cmp r11d, 0x10000
jb 0x140067440
mov rax, qword [rbp - 0x29]
lea rdx, [0x140000000]
mov r8d, dword [rbp - 0x7d]
mov esi, dword [rbp - 0x61]
inc r8d
mov r9d, dword [rsp + 0x24]
add r8d, esi
mov ecx, dword [rax + rdx + 0xb7ac8]
add r9d, r13d
mov eax, dword [rbx + 0x33e74]
and r8, rax
mov eax, r12d
mov edi, dword [rdx + rcx*4 + 0xb7a68]
add rcx, 0x19f4
shl rcx, 4
add rcx, rax
lea rax, [rdi + 0x19f4]
shl rax, 4
movzx edx, word [rbx + rcx*2]
add rax, r8
shr rdx, 4
movzx ecx, word [rbx + rax*2]
movzx eax, word [rbx + rdi*2 + 0x34000]
xor rcx, 0x7f0
mov r11d, dword [rbx + rdx*4 + 0x3276c]
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
add r11d, dword [rbx + rcx*4 + 0x3276c]
lea ecx, [rsi - 2]
add r11d, dword [rbx + rax*4 + 0x3276c]
add rcx, qword [rbp - 9]
add r11d, dword [rbx + rcx*4 + 0x39130]
add r11d, r14d
mov r14d, dword [rsp + 0x20]
add r11d, dword [rbp - 0x4d]
cmp r14d, r9d
jae 0x140067581
lea rcx, [r14 + r14*2]
mov eax, r9d
shl rcx, 4
lea rdx, [rbx + 0x76c]
add rdx, rcx
sub eax, r14d
add r14d, eax
mov ecx, eax
mov dword [rsp + 0x20], r14d
nop word [rax + rax]
mov dword [rdx + 0x30], 0x40000000
lea rdx, [rdx + 0x30]
sub rcx, 1
jne 0x140067570
mov r15d, dword [rbp - 0x6d]
lea edx, [r10 - 2]
imul rax, r8, 0x110
add rdx, rax
lea rax, [rdi + 0x1a03]
shl rax, 4
add rax, r8
mov r8d, dword [rbx + rdx*4 + 0x39130]
mov edx, dword [rbp - 0x49]
mov r12d, edx
movzx ecx, word [rbx + rax*2]
movzx eax, word [rbx + rdi*2 + 0x34018]
xor rcx, 0x7f0
shr rcx, 4
shr rax, 4
add r8d, dword [rbx + rcx*4 + 0x3276c]
lea rcx, [r9 + r9*2]
add r8d, dword [rbx + rax*4 + 0x3276c]
add rcx, rcx
add r8d, r11d
mov r11d, dword [rsp + 0x24]
cmp r8d, dword [rbx + rcx*8 + 0x76c]
jae 0x140067638
mov eax, dword [rbp - 0x69]
add eax, esi
mov dword [rbx + rcx*8 + 0x76c], r8d
mov dword [rbx + rcx*8 + 0x784], eax
mov dword [rbx + rcx*8 + 0x788], 0
mov dword [rbx + rcx*8 + 0x774], 1
mov dword [rbx + rcx*8 + 0x778], 1
mov dword [rbx + rcx*8 + 0x77c], r11d
mov dword [rbx + rcx*8 + 0x780], r15d
mov rcx, qword [rbp - 0x59]
jmp 0x140067647
mov rcx, qword [rbp - 0x59]
mov r14d, dword [rsp + 0x20]
mov rax, qword [rbp - 0x31]
inc r15d
mov edx, dword [rsp + 0x28]
add rax, 4
mov dword [rbp - 0x6d], r15d
mov qword [rbp - 0x31], rax
cmp r15d, 4
jb 0x140067260
mov ecx, dword [rbp - 0x71]
lea r10, [rbx + 0x3296c]
mov eax, edx
cmp ecx, edx
jbe 0x140067694
mov ecx, edx
xor edx, edx
cmp ecx, dword [r10]
jbe 0x14006768a
add edx, 2
cmp eax, dword [r10 + rdx*4]
ja 0x140067681
mov dword [r10 + rdx*4], eax
add edx, 2
mov dword [rbp - 0x65], edx
cmp ecx, r12d
jb 0x140067b50
mov rax, qword [rbp + 0xf]
lea edx, [rcx + r11]
mov r9d, dword [rbp - 0x45]
movzx eax, word [rax]
shr rax, 4
mov eax, dword [rbx + rax*4 + 0x3276c]
add r9d, eax
mov dword [rbp - 0x51], r9d
cmp r14d, edx
jae 0x140067701
mov eax, r14d
sub edx, r14d
lea rcx, [rax + rax*2]
shl rcx, 4
lea rax, [rbx + 0x76c]
add rax, rcx
mov ecx, edx
add r14d, edx
mov dword [rsp + 0x20], r14d
nop word [rax + rax]
mov dword [rax + 0x30], 0x40000000
lea rax, [rax + 0x30]
sub rcx, 1
jne 0x1400676f0
xor r8d, r8d
mov dword [rbp - 0x71], r8d
cmp r12d, dword [r10]
jbe 0x14006771e
nop dword [rax]
add r8d, 2
cmp r12d, dword [r10 + r8*4]
ja 0x140067710
mov dword [rbp - 0x71], r8d
imul rdx, qword [rbp - 0x19], 0x110
mov edi, dword [rbp - 0x7d]
lea eax, [r8 + 1]
mov r15d, dword [r10 + rax*4]
mov ecx, 0x7ffff
mov r14d, dword [rsp + 0x24]
sub ecx, r15d
mov rsi, qword [rbp - 0x59]
mov eax, r15d
shr ecx, 0x1f
neg ecx
mov qword [rbp + 0xf], rdx
and ecx, 0xc
add ecx, 6
shr rax, cl
inc r12d
dec r11d
dec edi
mov dword [rsp + 0x28], r11d
movzx eax, byte [rax + rbx + 0x3076c]
mov dword [rbp - 0x61], edi
lea r10d, [rax + rcx*2]
mov dword [rbp - 0x6d], r10d
nop word [rax + rax]
lea r13d, [r12 - 1]
lea ecx, [r13 - 2]
mov eax, ecx
add rax, rdx
mov edx, r15d
mov eax, dword [rbx + rax*4 + 0x348e8]
add r9d, eax
cmp r13d, 5
mov eax, 3
cmovb eax, ecx
mov ecx, eax
cmp r15d, 0x80
jae 0x1400677c2
shl rcx, 7
add rcx, rdx
mov eax, dword [rbx + rcx*4 + 0x3361c]
jmp 0x1400677dd
shl rcx, 6
and edx, 0xf
mov eax, r10d
add rcx, rax
mov eax, dword [rbx + rcx*4 + 0x3321c]
add eax, dword [rbx + rdx*4 + 0x33e1c]
lea edx, [r9 + rax]
lea eax, [r11 + r12]
mov dword [rbp - 0x49], edx
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, rbx
cmp edx, dword [rcx + 0x76c]
jae 0x14006781c
lea eax, [r15 + 4]
mov dword [rcx + 0x76c], edx
mov dword [rcx + 0x788], eax
mov dword [rcx + 0x784], r14d
mov dword [rcx + 0x774], 0
lea r9, [rbx + 0x3296c]
cmp r13d, dword [r9 + r8*4]
jne 0x140067b40
mov edx, dword [rbp - 0x39]
lea r8d, [r15 + 1]
mov ecx, dword [rbx + 0x33200]
mov r10, rsi
add ecx, r12d
sub r10, r8
cmp ecx, edx
mov r11d, r12d
cmovbe edx, ecx
cmp r12d, edx
jae 0x14006786a
mov ecx, r12d
add rcx, r10
movzx eax, byte [rcx]
cmp byte [r8 + rcx], al
jne 0x14006786a
inc r11d
inc rcx
cmp r11d, edx
jb 0x140067856
mov eax, 0xffffffff
mov dword [rbp - 0x4d], r11d
sub eax, r13d
add r11d, eax
cmp r11d, 2
jb 0x140067adb
mov r8, qword [rbp - 0x59]
lea r9d, [rdi + r12]
movzx edi, byte [r13 + r10]
mov eax, r9d
and eax, dword [rbx + 0x33e74]
mov ecx, 8
and r9d, dword [rbx + 0x33e70]
mov esi, 0x100
movzx r10d, byte [r13 + r8]
xor r14d, r14d
mov edx, dword [rbx + 0x33e64]
or r10d, esi
sub cl, dl
mov dword [rbp - 0x45], eax
lea eax, [r13 - 1]
movzx r8d, byte [rax + r8]
shr r8d, cl
mov ecx, edx
shl r9d, cl
add r8d, r9d
lea r9d, [r8 + r8*2]
mov r8, qword [rbx + 0x33e78]
shl r9d, 8
nop word [rax + rax]
add edi, edi
mov eax, esi
and eax, edi
mov ecx, r10d
shr ecx, 8
add eax, esi
add eax, ecx
mov ecx, r10d
shr ecx, 7
add rax, r9
and ecx, 1
add r10d, r10d
neg ecx
sar rcx, 4
movzx edx, word [r8 + rax*2]
and ecx, 0x7f
shr rdx, 4
mov eax, r10d
xor rdx, rcx
xor eax, edi
not eax
and esi, eax
add r14d, dword [rbx + rdx*4 + 0x3276c]
cmp r10d, 0x10000
jb 0x1400678f0
mov r9d, dword [rbp - 0x45]
lea rdx, [0x140000000]
mov rax, qword [rbp - 0x29]
mov r10d, dword [rbp - 0x4d]
mov esi, dword [rsp + 0x24]
add r10d, esi
lea r8d, [r9 + 1]
mov ecx, dword [rax + rdx + 0xb7a98]
mov eax, dword [rbx + 0x33e74]
and r8, rax
mov edi, dword [rdx + rcx*4 + 0xb7a68]
add rcx, 0x19f4
shl rcx, 4
add rcx, r9
lea rax, [rdi + 0x19f4]
shl rax, 4
add rax, r8
movzx edx, word [rbx + rax*2]
movzx eax, word [rbx + rcx*2]
xor rdx, 0x7f0
shr rax, 4
shr rdx, 4
mov r9d, dword [rbx + rdx*4 + 0x3276c]
add r9d, dword [rbx + rax*4 + 0x3276c]
movzx eax, word [rbx + rdi*2 + 0x34000]
xor rax, 0x7f0
shr rax, 4
add r9d, dword [rbx + rax*4 + 0x3276c]
add r9d, r14d
mov r14d, dword [rsp + 0x20]
add r9d, dword [rbp - 0x49]
cmp r14d, r10d
jae 0x140067a21
lea rcx, [r14 + r14*2]
mov eax, r10d
shl rcx, 4
lea rdx, [rbx + 0x76c]
add rdx, rcx
sub eax, r14d
add r14d, eax
mov ecx, eax
mov dword [rsp + 0x20], r14d
nop dword [rax]
nop word [rax + rax]
mov dword [rdx + 0x30], 0x40000000
lea rdx, [rdx + 0x30]
sub rcx, 1
jne 0x140067a10
imul rax, r8, 0x110
lea edx, [r11 - 2]
mov r14d, esi
add rdx, rax
lea rax, [rdi + 0x1a03]
shl rax, 4
add rax, r8
mov r8d, dword [rbx + rdx*4 + 0x39130]
movzx ecx, word [rbx + rax*2]
movzx eax, word [rbx + rdi*2 + 0x34018]
xor rcx, 0x7f0
mov edi, dword [rbp - 0x61]
shr rcx, 4
shr rax, 4
add r8d, dword [rbx + rcx*4 + 0x3276c]
lea rcx, [r10 + r10*2]
add r8d, dword [rbx + rax*4 + 0x3276c]
add rcx, rcx
add r8d, r9d
lea r9, [rbx + 0x3296c]
cmp r8d, dword [rbx + rcx*8 + 0x76c]
jae 0x140067ad7
lea eax, [r12 + rsi]
mov dword [rbx + rcx*8 + 0x76c], r8d
mov dword [rbx + rcx*8 + 0x784], eax
lea eax, [r15 + 4]
mov dword [rbx + rcx*8 + 0x780], eax
mov dword [rbx + rcx*8 + 0x788], 0
mov dword [rbx + rcx*8 + 0x774], 1
mov dword [rbx + rcx*8 + 0x778], 1
mov dword [rbx + rcx*8 + 0x77c], esi
mov rsi, qword [rbp - 0x59]
mov r8d, dword [rbp - 0x71]
add r8d, 2
mov dword [rbp - 0x71], r8d
cmp r8d, dword [rbp - 0x65]
je 0x140067b50
mov r11d, dword [rsp + 0x28]
lea eax, [r8 + 1]
mov r15d, dword [r9 + rax*4]
cmp r15d, 0x80
jb 0x140067b3c
mov rdx, qword [rbp + 0xf]
mov ecx, 0x7ffff
mov r9d, dword [rbp - 0x51]
sub ecx, r15d
shr ecx, 0x1f
mov eax, r15d
neg ecx
and ecx, 0xc
add ecx, 6
shr rax, cl
inc r12d
movzx eax, byte [rax + rbx + 0x3076c]
lea r10d, [rax + rcx*2]
mov dword [rbp - 0x6d], r10d
jmp 0x140067780
mov r10d, dword [rbp - 0x6d]
mov rdx, qword [rbp + 0xf]
inc r12d
mov r9d, dword [rbp - 0x51]
jmp 0x140067780
mov r14d, dword [rbp - 0x69]
lea r13, [rbx + 0x3296c]
lea r15, [0x140000000]
mov dword [rsp + 0x24], r14d
cmp r14d, dword [rsp + 0x20]
jne 0x140066bd0
mov rdx, qword [rbp - 0x41]
mov r8d, r14d
mov rcx, rbx
call fcn.140065b90
jmp 0x140067baf
mov dword [rbx + 0x764], esi
mov dword [rbx + 0x760], edi
mov rdx, qword [rbp - 0x41]
mov r8d, r14d
mov rcx, rbx
call fcn.140065b90
jmp 0x140067baf
mov rcx, qword [rbp - 0x41]
mov dword [rcx], 0xffffffff
mov eax, 1
mov r14, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0x128]
mov r15, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xf0]
mov r12, qword [rsp + 0xe8]
mov r13, qword [rsp + 0xe0]
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.140094850
add rsp, 0xf8
pop rbx
pop rbp
ret