Function at 0x140180dd0
Capabilities:
Encode data using xor
Generate random numbers using the delphi lcg

Disassembly:
push rbp
push rdi
push r12
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x1402fa010]
xor rax, rsp
mov qword [rbp + 8], rax
mov r10d, dword [rcx + 0x420648]
mov rdx, rcx
movsxd r11, dword [rcx + 0x420640]
mov qword [rbp - 0x40], rcx
add rcx, 0x468
mov dword [rbp - 0x58], r10d
movups xmm0, xmmword [rdx + 0x4206a0]
movzx eax, byte [rdx + 0x42064d]
mov r9d, dword [rdx + 0x420638]
add r9d, dword [rdx + 0x420644]
movzx r8d, byte [rdx + 0x420662]
movups xmm1, xmmword [rdx + 0x4206b0]
xor r8d, eax
mov eax, dword [rdx + 0x420660]
movups xmmword [rbp - 0x28], xmm0
mov dword [rbp - 0x70], r8d
lea edi, [r9 - 1]
movups xmm0, xmmword [rdx + 0x4206c0]
movzx r8d, byte [rdx + 0x420663]
xor r8b, byte [rdx + 0x42064c]
movups xmmword [rbp - 8], xmm0
mov byte [rsp + 0x48], r8b
movsd xmm0, qword [rdx + 0x420658]
movsd qword [rsp + 0x60], xmm0
movups xmmword [rbp - 0x18], xmm1
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x78], edi
cmp dword [rdx + 0x4206c0], edi
je 0x140180ea8
xorps xmm0, xmm0
movups xmmword [rdx + 0x4206a0], xmm0
movups xmmword [rdx + 0x4206b0], xmm0
movups xmmword [rdx + 0x4206c0], xmm0
movsxd r12, r9d
mov rax, r11
mov qword [rbp - 0x68], r12
mov qword [rbp - 0x38], rax
test r10d, r10d
jle 0x1401839de
mov qword [rsp + 0x148], rbx
mov r8, 0xffffffffffbffa96
sub r8, rdx
mov qword [rsp + 0x150], rsi
cmp dword [rdx + 0x4206d0], 0
lea rbx, [0x140000000]
mov qword [rsp + 0x158], r13
mov qword [rbp - 0x50], r8
lea r8, [rdx + 0x40056a]
mov qword [rsp + 0x118], r14
mov qword [rsp + 0x110], r15
jne 0x14018243f
movsxd r14, edi
mov qword [rbp - 0x80], r14
mov qword [rbp - 0x60], r8
nop dword [rax + rax]
cmp dword [rdx + 0x434], 0
jne 0x1401839b6
mov rsi, rcx
mov qword [rsp + 0x58], rcx
add rcx, rax
mov qword [rbp - 0x78], rcx
add rcx, rax
mov qword [rbp - 0x70], rcx
add rcx, rax
mov qword [rsp + 0x70], rcx
add rcx, rax
mov qword [rbp - 0x48], rcx
cmp r12, 2
jle 0x140180f81
mov r8, r14
lea rcx, [rbp - 0x28]
mov rdx, rsi
call fcn.140228a60
test eax, eax
jne 0x140180f81
mov r15d, dword [rbp - 4]
mov edi, r15d
mov esi, dword [rbp + 4]
mov r13d, esi
mov r8d, dword [rbp]
jmp 0x140181007
mov r8, r14
mov dword [rbp - 8], edi
mov rdx, rsi
lea rcx, [rbp - 0x28]
call fcn.1401f61a0
xor edx, edx
mov edi, 0x12345678
mov r8d, 0x23456789
mov r13d, 0x34567890
test r14, r14
jle 0x140180ff6
nop dword [rax + rax]
movzx ecx, byte [rdx + rsi]
inc rdx
movzx eax, dil
xor rcx, rax
shr edi, 8
xor edi, dword [rbx + rcx*4 + 0x26a9c0]
movzx eax, dil
add eax, r8d
imul ecx, eax, 0x8088405
movzx eax, r13b
shr r13d, 8
inc ecx
mov r8d, ecx
shr rcx, 0x18
xor rcx, rax
xor r13d, dword [rbx + rcx*4 + 0x26a9c0]
cmp rdx, r14
jl 0x140180fb0
mov r15d, edi
mov dword [rbp - 4], edi
mov dword [rbp], r8d
mov esi, r13d
mov dword [rbp + 4], r13d
mov rax, qword [rsp + 0x58]
movzx ecx, byte [r12 + rax - 1]
movzx eax, dil
xor rcx, rax
shr edi, 8
xor edi, dword [rbx + rcx*4 + 0x26a9c0]
movzx eax, dil
add eax, r8d
imul ecx, eax, 0x8088405
inc ecx
mov eax, ecx
shr rcx, 0x18
mov qword [rsp + 0x58], rax
movzx eax, r13b
xor rcx, rax
shr r13d, 8
xor r13d, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x24], r13d
cmp r12, 2
jle 0x140181078
mov rdx, qword [rbp - 0x78]
lea rcx, [rbp - 0x28]
mov r8, r14
call fcn.140228a60
test eax, eax
jne 0x140181078
mov r8d, dword [rbp]
jmp 0x140181106
mov eax, dword [rsp + 0x78]
lea rcx, [rbp - 0x28]
mov rdx, qword [rbp - 0x78]
mov r8, r14
mov dword [rbp - 8], eax
call fcn.1401f61a0
xor edx, edx
mov esi, 0x34567890
mov r15d, 0x12345678
mov r8d, 0x23456789
test r14, r14
jle 0x1401810fb
mov r12, qword [rbp - 0x78]
nop dword [rax + rax]
movzx ecx, byte [rdx + r12]
inc rdx
movzx eax, r15b
xor rcx, rax
shr r15d, 8
xor r15d, dword [rbx + rcx*4 + 0x26a9c0]
movzx eax, r15b
add eax, r8d
imul ecx, eax, 0x8088405
movzx eax, sil
shr esi, 8
inc ecx
mov r8d, ecx
shr rcx, 0x18
xor rcx, rax
xor esi, dword [rbx + rcx*4 + 0x26a9c0]
cmp rdx, r14
jl 0x1401810b0
mov r12, qword [rbp - 0x68]
mov dword [rbp - 4], r15d
mov dword [rbp], r8d
mov dword [rbp + 4], esi
mov rax, qword [rbp - 0x78]
movzx ecx, byte [r12 + rax - 1]
movzx eax, r15b
xor rcx, rax
shr r15d, 8
xor r15d, dword [rbx + rcx*4 + 0x26a9c0]
movzx eax, r15b
add eax, r8d
imul ecx, eax, 0x8088405
inc ecx
mov eax, ecx
shr rcx, 0x18
mov qword [rbp - 0x78], rax
movzx eax, sil
xor rcx, rax
shr esi, 8
xor esi, dword [rbx + rcx*4 + 0x26a9c0]
cmp r12, 2
mov dword [rsp + 0x2c], esi
mov r12, qword [rbp - 0x70]
jle 0x140181183
mov r8, r14
lea rcx, [rbp - 0x28]
mov rdx, r12
call fcn.140228a60
test eax, eax
jne 0x140181183
mov r12d, dword [rbp - 4]
mov r9d, dword [rbp]
mov r14d, dword [rbp + 4]
mov rdx, qword [rbp - 0x80]
jmp 0x14018121a
mov eax, dword [rsp + 0x78]
lea rcx, [rbp - 0x28]
mov r8, r14
mov dword [rbp - 8], eax
mov rdx, r12
call fcn.1401f61a0
mov rdx, qword [rbp - 0x80]
xor r8d, r8d
mov r12d, 0x12345678
mov r9d, 0x23456789
mov r14d, 0x34567890
test rdx, rdx
jle 0x14018120e
mov r13, qword [rbp - 0x70]
nop dword [rax + rax]
movzx ecx, byte [r8 + r13]
inc r8
movzx eax, r12b
xor rcx, rax
shr r12d, 8
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
movzx eax, r12b
add eax, r9d
imul ecx, eax, 0x8088405
movzx eax, r14b
shr r14d, 8
inc ecx
mov r9d, ecx
shr rcx, 0x18
xor rcx, rax
xor r14d, dword [rbx + rcx*4 + 0x26a9c0]
cmp r8, rdx
jl 0x1401811c0
mov r13d, dword [rsp + 0x24]
mov dword [rbp - 4], r12d
mov dword [rbp], r9d
mov dword [rbp + 4], r14d
mov rax, qword [rbp - 0x70]
mov r8, qword [rbp - 0x68]
movzx ecx, byte [r8 + rax - 1]
movzx eax, r12b
xor rcx, rax
shr r12d, 8
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
movzx eax, r12b
add eax, r9d
imul ecx, eax, 0x8088405
inc ecx
mov eax, ecx
shr rcx, 0x18
mov qword [rbp - 0x70], rax
movzx eax, r14b
xor rcx, rax
shr r14d, 8
xor r14d, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x28], r14d
cmp r8, 2
jle 0x140181298
mov r8, rdx
lea rcx, [rbp - 0x28]
mov rdx, qword [rsp + 0x70]
call fcn.140228a60
test eax, eax
jne 0x140181298
mov r11d, dword [rbp - 4]
mov r10d, dword [rbp]
mov r9d, dword [rbp + 4]
jmp 0x140181339
mov eax, dword [rsp + 0x78]
lea rcx, [rbp - 0x28]
mov r8, qword [rbp - 0x80]
mov rdx, qword [rsp + 0x70]
mov dword [rbp - 8], eax
call fcn.1401f61a0
mov rdx, qword [rbp - 0x80]
xor r8d, r8d
mov r11d, 0x12345678
mov r10d, 0x23456789
mov r9d, 0x34567890
test rdx, rdx
jle 0x14018132d
mov rsi, qword [rsp + 0x70]
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [r8 + rsi]
inc r8
movzx eax, r11b
xor rcx, rax
shr r11d, 8
xor r11d, dword [rbx + rcx*4 + 0x26a9c0]
movzx eax, r11b
add eax, r10d
imul ecx, eax, 0x8088405
movzx eax, r9b
shr r9d, 8
inc ecx
mov r10d, ecx
shr rcx, 0x18
xor rcx, rax
xor r9d, dword [rbx + rcx*4 + 0x26a9c0]
cmp r8, rdx
jl 0x1401812e0
mov esi, dword [rsp + 0x2c]
mov dword [rbp - 4], r11d
mov dword [rbp], r10d
mov dword [rbp + 4], r9d
mov rax, qword [rbp - 0x68]
mov rcx, qword [rsp + 0x70]
movzx ecx, byte [rax + rcx - 1]
movzx eax, r11b
xor rcx, rax
shr r11d, 8
xor r11d, dword [rbx + rcx*4 + 0x26a9c0]
movzx edx, r11b
shr r11d, 8
lea eax, [r10 + rdx]
imul ecx, eax, 0x8088405
movzx eax, r9b
shr r9d, 8
inc ecx
mov r8d, ecx
shr rcx, 0x18
xor rcx, rax
movzx eax, r13w
movzx r13d, byte [rsp + 0x60]
shr rax, 2
xor r9d, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], r9d
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, dil
xor rcx, rax
shr edi, 8
xor rcx, r13
movzx eax, si
shr rax, 2
xor edi, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, r15b
xor rcx, rax
shr r15d, 8
xor rcx, r13
movzx eax, r14w
shr rax, 2
mov dword [rsp + 0x34], edi
movzx edi, dil
xor r15d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, r12b
xor rcx, rax
shr r12d, 8
movzx eax, word [rsp + 0x20]
xor rcx, r13
shr rax, 2
movzx r10d, r15b
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, edi
add eax, dword [rsp + 0x58]
xor rcx, rdx
mov edx, dword [rsp + 0x24]
xor rcx, r13
imul esi, eax, 0x8088405
mov eax, r10d
add eax, dword [rbp - 0x78]
imul r14d, eax, 0x8088405
xor r11d, dword [rbx + rcx*4 + 0x26a9c0]
movzx r9d, r12b
mov eax, r9d
mov dword [rsp + 0x30], r11d
add eax, dword [rbp - 0x70]
imul r13d, eax, 0x8088405
movzx r11d, r11b
lea ecx, [rsi + 1]
shr rcx, 0x18
lea eax, [r8 + r11]
imul r8d, eax, 0x8088405
movzx eax, dl
xor rcx, rax
shr edx, 8
xor edx, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r14 + 1]
mov dword [rsp + 0x24], edx
mov edx, dword [rsp + 0x2c]
movzx eax, dl
shr rcx, 0x18
xor rcx, rax
shr edx, 8
xor edx, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r13 + 1]
shr rcx, 0x18
mov dword [rsp + 0x2c], edx
mov edx, dword [rsp + 0x28]
movzx eax, dl
xor rcx, rax
shr edx, 8
shr r15d, 8
shr r12d, 8
xor edx, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r8 + 1]
shr rcx, 0x18
mov dword [rsp + 0x28], edx
mov edx, dword [rsp + 0x20]
movzx eax, dl
xor rcx, rax
shr edx, 8
movzx eax, word [rsp + 0x24]
shr rax, 2
xor edx, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], edx
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x34]
xor rcx, rdi
movzx edi, byte [rsp + 0x61]
xor rcx, rdi
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x34], eax
movzx edx, al
movzx eax, word [rsp + 0x2c]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, word [rsp + 0x28]
xor rcx, r10
xor rcx, rdi
shr rax, 2
xor r15d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, word [rsp + 0x20]
xor rcx, r9
movzx r9d, byte [rsp + 0x61]
xor rcx, r9
shr rax, 2
movzx edi, r15b
mov dword [rsp + 0x58], r15d
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x30]
xor rcx, r11
xor rcx, r9
shr eax, 8
mov r9d, dword [rsp + 0x2c]
movzx r10d, r12b
mov dword [rsp + 0x50], r12d
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x30], eax
movzx r11d, al
lea eax, [rsi + rdx]
imul ecx, eax, 0x8088405
lea eax, [r14 + rdi]
imul r15d, eax, 0x8088405
lea eax, [r10 + r13]
imul r14d, eax, 0x8088405
lea eax, [r8 + r11]
mov r8d, dword [rsp + 0x24]
imul esi, eax, 0x8088405
add ecx, 0x8088406
movzx eax, r8b
mov r12d, ecx
add r15d, 0x8088406
shr rcx, 0x18
add r14d, 0x8088406
xor rcx, rax
shr r8d, 8
add esi, 0x8088406
xor r8d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, r15d
shr rcx, 0x18
mov dword [rsp + 0x24], r8d
mov r13d, dword [rsp + 0x28]
movzx eax, r9b
xor rcx, rax
shr r9d, 8
movzx eax, r13b
shr r13d, 8
xor r9d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, r14d
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x2c], r9d
movzx eax, byte [rsp + 0x20]
xor r13d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, esi
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x28], r13d
mov eax, dword [rsp + 0x20]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], eax
movzx eax, r8w
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x34]
xor rcx, rdx
movzx edx, byte [rsp + 0x62]
shr eax, 8
xor rcx, rdx
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x34], eax
movzx r8d, al
movzx eax, r9w
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x58]
xor rcx, rdx
shr eax, 8
xor rcx, rdi
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x58], eax
movzx r9d, al
movzx eax, r13w
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x50]
xor rcx, r10
shr eax, 8
xor rcx, rdx
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x50], eax
movzx r10d, al
movzx eax, word [rsp + 0x20]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x30]
xor rcx, r11
xor rcx, rdx
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x30], eax
movzx edx, al
lea eax, [r12 + r8]
mov r12d, dword [rsp + 0x24]
imul edi, eax, 0x8088405
lea eax, [r15 + r9]
imul r15d, eax, 0x8088405
lea eax, [r14 + r10]
imul r13d, eax, 0x8088405
lea eax, [rsi + rdx]
imul r11d, eax, 0x8088405
movzx eax, r12b
shr r12d, 8
lea ecx, [rdi + 1]
mov dword [rsp + 0x70], r11d
shr rcx, 0x18
xor rcx, rax
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r15 + 1]
shr rcx, 0x18
mov dword [rsp + 0x24], r12d
mov esi, dword [rsp + 0x2c]
mov r14d, dword [rsp + 0x28]
movzx eax, sil
xor rcx, rax
shr esi, 8
movzx eax, r14b
shr r14d, 8
xor esi, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r13 + 1]
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x2c], esi
xor r14d, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r11 + 1]
mov r11d, dword [rsp + 0x20]
shr rcx, 0x18
movzx eax, r11b
xor rcx, rax
shr r11d, 8
movzx eax, r12w
movzx r12d, byte [rsp + 0x63]
shr rax, 2
xor r11d, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], r11d
mov dword [rsp + 0x28], r14d
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x34]
xor rcx, r12
shr eax, 8
xor rcx, r8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x34], eax
movzx r8d, al
movzx eax, si
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x58]
xor rcx, r12
shr eax, 8
xor rcx, r9
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x58], eax
movzx r11d, al
movzx eax, r14w
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x50]
xor rcx, r12
shr eax, 8
xor rcx, r10
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x50], eax
movzx r9d, al
movzx eax, word [rsp + 0x20]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x30]
xor rcx, rdx
mov edx, dword [rsp + 0x24]
xor rcx, r12
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x30], eax
movzx r10d, al
lea eax, [rdi + r8]
imul ecx, eax, 0x8088405
lea eax, [r15 + r11]
imul r14d, eax, 0x8088405
lea eax, [r9 + r13]
imul esi, eax, 0x8088405
mov eax, r10d
add eax, dword [rsp + 0x70]
imul edi, eax, 0x8088405
add ecx, 0x8088406
movzx eax, dl
mov r12d, ecx
add r14d, 0x8088406
add esi, 0x8088406
shr rcx, 0x18
add edi, 0x8088406
xor rcx, rax
mov r15d, dword [rsp + 0x2c]
mov r13d, dword [rsp + 0x28]
movzx eax, r15b
shr r15d, 8
shr edx, 8
xor edx, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, r14d
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x24], edx
movzx eax, r13b
shr r13d, 8
xor r15d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, esi
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x2c], r15d
movzx eax, byte [rsp + 0x20]
xor r13d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, edi
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x28], r13d
mov eax, dword [rsp + 0x20]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], eax
movzx eax, dx
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, byte [rsp + 0x64]
xor rcx, r8
xor rcx, rax
mov eax, dword [rsp + 0x34]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x34], eax
movzx edx, al
movzx eax, r15w
movzx r15d, byte [rsp + 0x64]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
xor rcx, r15
movzx eax, r13w
shr rax, 2
xor rcx, r11
mov r11d, dword [rsp + 0x58]
shr r11d, 8
xor r11d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x50]
xor rcx, r9
shr eax, 8
xor rcx, r15
movzx r8d, r11b
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x50], eax
movzx r9d, al
movzx eax, word [rsp + 0x20]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x30]
xor rcx, r10
shr eax, 8
xor rcx, r15
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x30], eax
movzx r10d, al
lea eax, [r12 + rdx]
imul r15d, eax, 0x8088405
lea eax, [r14 + r8]
imul r14d, eax, 0x8088405
lea eax, [rsi + r9]
imul esi, eax, 0x8088405
lea eax, [rdi + r10]
mov edi, dword [rsp + 0x24]
imul r13d, eax, 0x8088405
movzx eax, dil
lea ecx, [r15 + 1]
shr rcx, 0x18
xor rcx, rax
mov r12d, dword [rsp + 0x28]
shr edi, 8
xor edi, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r14 + 1]
shr rcx, 0x18
mov dword [rsp + 0x24], edi
mov edi, dword [rsp + 0x2c]
movzx eax, dil
xor rcx, rax
shr edi, 8
movzx eax, r12b
shr r12d, 8
shr r11d, 8
xor edi, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [rsi + 1]
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x2c], edi
movzx eax, byte [rsp + 0x20]
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r13 + 1]
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x28], r12d
mov eax, dword [rsp + 0x20]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], eax
movzx eax, word [rsp + 0x24]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, byte [rsp + 0x65]
xor rcx, rdx
xor rcx, rax
mov eax, dword [rsp + 0x34]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x34], eax
movzx edx, al
movzx eax, di
movzx edi, byte [rsp + 0x65]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
xor rcx, r8
movzx eax, r12w
shr rax, 2
xor rcx, rdi
xor r11d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x50]
xor rcx, r9
shr eax, 8
xor rcx, rdi
mov dword [rsp + 0x58], r11d
movzx r11d, r11b
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x50], eax
movzx r8d, al
movzx eax, word [rsp + 0x20]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x30]
xor rcx, r10
shr eax, 8
xor rcx, rdi
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x30], eax
movzx edi, al
lea eax, [r15 + rdx]
imul ecx, eax, 0x8088405
lea eax, [r14 + r11]
imul r15d, eax, 0x8088405
lea eax, [rsi + r8]
imul r14d, eax, 0x8088405
lea eax, [rdi + r13]
imul esi, eax, 0x8088405
add ecx, 0x8088406
add r15d, 0x8088406
mov r12d, ecx
add r14d, 0x8088406
add esi, 0x8088406
mov r9d, dword [rsp + 0x24]
mov r10d, dword [rsp + 0x2c]
mov r13d, dword [rsp + 0x28]
shr rcx, 0x18
movzx eax, r9b
xor rcx, rax
shr r9d, 8
movzx eax, r10b
shr r10d, 8
xor r9d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, r15d
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x24], r9d
movzx eax, r13b
shr r13d, 8
xor r10d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, r14d
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x2c], r10d
movzx eax, byte [rsp + 0x20]
xor r13d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, esi
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x28], r13d
mov eax, dword [rsp + 0x20]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], eax
movzx eax, r9w
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x34]
xor rcx, rdx
movzx edx, byte [rsp + 0x66]
shr eax, 8
xor rcx, rdx
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x34], eax
movzx r9d, al
movzx eax, r10w
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
xor rcx, rdx
movzx eax, r13w
shr rax, 2
xor rcx, r11
mov r11d, dword [rsp + 0x58]
shr r11d, 8
xor r11d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x50]
xor rcx, r8
movzx r8d, byte [rsp + 0x66]
shr eax, 8
xor rcx, r8
movzx edx, r11b
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x50], eax
movzx r10d, al
movzx eax, word [rsp + 0x20]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x30]
xor rcx, r8
shr eax, 8
xor rcx, rdi
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x30], eax
movzx r8d, al
lea eax, [r12 + r9]
imul edi, eax, 0x8088405
lea eax, [r15 + rdx]
imul r15d, eax, 0x8088405
lea eax, [r14 + r10]
imul r14d, eax, 0x8088405
lea eax, [rsi + r8]
imul r13d, eax, 0x8088405
lea ecx, [rdi + 1]
mov esi, dword [rsp + 0x24]
mov r12d, dword [rsp + 0x28]
shr rcx, 0x18
movzx eax, sil
xor rcx, rax
shr esi, 8
shr r11d, 8
xor esi, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r15 + 1]
shr rcx, 0x18
mov dword [rsp + 0x24], esi
mov esi, dword [rsp + 0x2c]
movzx eax, sil
xor rcx, rax
shr esi, 8
movzx eax, r12b
shr r12d, 8
xor esi, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r14 + 1]
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x2c], esi
movzx eax, byte [rsp + 0x20]
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r13 + 1]
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x28], r12d
mov eax, dword [rsp + 0x20]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], eax
movzx eax, word [rsp + 0x24]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, byte [rsp + 0x67]
xor rcx, rax
mov eax, dword [rsp + 0x34]
shr eax, 8
xor rcx, r9
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x34], eax
movzx r9d, al
movzx eax, si
movzx esi, byte [rsp + 0x67]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
xor rcx, rdx
movzx eax, r12w
shr rax, 2
xor rcx, rsi
xor r11d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x50]
xor rcx, rsi
shr eax, 8
xor rcx, r10
movzx edx, r11b
mov dword [rsp + 0x58], r11d
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x50], eax
movzx r11d, al
movzx eax, word [rsp + 0x20]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x30]
xor rcx, r8
shr eax, 8
xor rcx, rsi
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x30], eax
movzx r8d, al
lea eax, [rdi + r9]
imul ecx, eax, 0x8088405
lea eax, [r15 + rdx]
imul edi, eax, 0x8088405
lea eax, [r14 + r11]
add ecx, 0x8088406
add edi, 0x8088406
mov r12d, ecx
imul esi, eax, 0x8088405
mov r10d, dword [rsp + 0x2c]
lea eax, [r8 + r13]
mov r15d, dword [rsp + 0x24]
add esi, 0x8088406
mov r13d, dword [rsp + 0x28]
imul r14d, eax, 0x8088405
shr rcx, 0x18
movzx eax, r15b
xor rcx, rax
shr r15d, 8
movzx eax, r10b
shr r10d, 8
add r14d, 0x8088406
xor r15d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, edi
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x24], r15d
movzx eax, r13b
shr r13d, 8
xor r10d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, esi
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x2c], r10d
movzx eax, byte [rsp + 0x20]
xor r13d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, r14d
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x28], r13d
mov eax, dword [rsp + 0x20]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], eax
movzx eax, r15w
mov r15d, dword [rsp + 0x58]
shr rax, 2
shr r15d, 8
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, byte [rsp + 0x68]
xor rcx, rax
mov eax, dword [rsp + 0x34]
shr eax, 8
xor rcx, r9
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x34], eax
movzx r9d, al
movzx eax, r10w
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
xor rcx, rdx
movzx eax, r13w
movzx edx, byte [rsp + 0x68]
mov r13d, dword [rsp + 0x50]
xor rcx, rdx
shr rax, 2
shr r13d, 8
xor r15d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, word [rsp + 0x20]
xor rcx, rdx
shr rax, 2
xor rcx, r11
movzx r10d, r15b
xor r13d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, byte [rsp + 0x68]
xor rcx, r8
xor rcx, rax
movzx edx, r13b
mov eax, dword [rsp + 0x30]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x30], eax
movzx r8d, al
lea eax, [r12 + r9]
imul r11d, eax, 0x8088405
lea eax, [rdi + r10]
imul edi, eax, 0x8088405
lea eax, [rsi + rdx]
mov r12d, dword [rsp + 0x24]
lea ecx, [r11 + 1]
shr rcx, 0x18
imul esi, eax, 0x8088405
lea eax, [r14 + r8]
imul r14d, eax, 0x8088405
movzx eax, r12b
xor rcx, rax
shr r12d, 8
shr r15d, 8
shr r13d, 8
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [rdi + 1]
shr rcx, 0x18
mov dword [rsp + 0x24], r12d
mov r12d, dword [rsp + 0x2c]
movzx eax, r12b
xor rcx, rax
shr r12d, 8
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [rsi + 1]
shr rcx, 0x18
mov dword [rsp + 0x2c], r12d
mov r12d, dword [rsp + 0x28]
movzx eax, r12b
xor rcx, rax
shr r12d, 8
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r14 + 1]
shr rcx, 0x18
mov dword [rsp + 0x28], r12d
mov r12d, dword [rsp + 0x20]
movzx eax, r12b
xor rcx, rax
shr r12d, 8
movzx eax, word [rsp + 0x24]
shr rax, 2
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], r12d
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, byte [rsp + 0x69]
xor rcx, r9
mov r12d, dword [rsp + 0x34]
xor rcx, rax
movzx eax, word [rsp + 0x2c]
shr rax, 2
shr r12d, 8
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
movzx r9d, r12b
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, word [rsp + 0x28]
xor rcx, r10
movzx r10d, byte [rsp + 0x69]
xor rcx, r10
shr rax, 2
xor r15d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, word [rsp + 0x20]
xor rcx, rdx
mov edx, dword [rsp + 0x30]
xor rcx, r10
shr rax, 2
shr edx, 8
xor r13d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
lea eax, [r11 + 1]
xor rcx, r10
add eax, r9d
xor rcx, r8
imul r8d, eax, 0x8088405
movzx eax, r15b
xor edx, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [rdi + 1]
add ecx, eax
mov dword [rsp + 0x30], edx
imul r10d, ecx, 0x8088405
movzx eax, r13b
add eax, esi
imul r11d, eax, 0x8088405
mov dword [rsp + 0x70], r10d
add r11d, 0x8088406
mov edi, dword [rsp + 0x24]
lea ecx, [r8 + 1]
mov esi, dword [rsp + 0x20]
shr rcx, 0x18
movzx eax, dl
add eax, r14d
mov dword [rsp + 0x58], r11d
movzx r14d, byte [rsp + 0x6a]
imul edx, eax, 0x8088405
movzx eax, dil
xor rcx, rax
shr edi, 8
shr r12d, 8
add edx, 0x8088406
xor edi, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r10 + 1]
mov r10d, dword [rsp + 0x2c]
shr rcx, 0x18
movzx eax, r10b
xor rcx, rax
mov dword [rsp + 0x50], edx
shr r10d, 8
xor r10d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, r11d
mov r11d, dword [rsp + 0x28]
shr rcx, 0x18
movzx eax, r11b
xor rcx, rax
shr r11d, 8
movzx eax, sil
shr esi, 8
xor r11d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, edx
shr rcx, 0x18
xor rcx, rax
movzx eax, r10w
shr rax, 2
xor esi, dword [rbx + rcx*4 + 0x26a9c0]
movzx eax, byte [rax + rbx + 0x30b1d0]
mov byte [rsp + 0x7c], al
movzx eax, r11w
shr rax, 2
movzx eax, byte [rax + rbx + 0x30b1d0]
mov byte [rsp + 0x7d], al
movzx eax, si
shr rax, 2
movzx eax, byte [rax + rbx + 0x30b1d0]
mov byte [rsp + 0x7e], al
movzx eax, di
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
xor rcx, r9
movzx eax, r12b
mov r9, qword [rbp - 0x60]
xor rcx, r14
movzx edx, byte [rbx + rcx*4 + 0x26a9c0]
xor edx, eax
movzx eax, dil
add edx, r8d
shr edi, 8
movzx r8d, byte [rsp + 0x48]
imul ecx, edx, 0x8088405
add ecx, 0x8088406
shr rcx, 0x18
xor rcx, rax
movzx eax, di
movzx edx, word [rbx + rcx*4 + 0x26a9c0]
xor rdx, rax
shr rdx, 2
cmp byte [rdx + rbx + 0x30b1d0], r8b
je 0x1401822ea
mov byte [r9 - 2], 1
movzx eax, byte [rsp + 0x7c]
movzx ecx, r15b
xor rcx, rax
shr r15d, 8
xor rcx, r14
movzx eax, r15b
movzx edx, byte [rbx + rcx*4 + 0x26a9c0]
xor edx, eax
movzx eax, r10b
add edx, dword [rsp + 0x70]
imul ecx, edx, 0x8088405
shr r10d, 8
add ecx, 0x8088406
shr rcx, 0x18
xor rcx, rax
movzx eax, r10w
movzx edx, word [rbx + rcx*4 + 0x26a9c0]
xor rdx, rax
shr rdx, 2
cmp byte [rdx + rbx + 0x30b1d0], r8b
je 0x14018234c
mov byte [r9 - 1], 1
movzx eax, byte [rsp + 0x7d]
movzx ecx, r13b
xor rcx, rax
shr r13d, 8
xor rcx, r14
movzx eax, r13b
movzx edx, byte [rbx + rcx*4 + 0x26a9c0]
xor edx, eax
movzx eax, r11b
add edx, dword [rsp + 0x58]
imul ecx, edx, 0x8088405
shr r11d, 8
inc ecx
shr rcx, 0x18
xor rcx, rax
movzx eax, r11w
movzx edx, word [rbx + rcx*4 + 0x26a9c0]
xor rdx, rax
shr rdx, 2
cmp byte [rdx + rbx + 0x30b1d0], r8b
je 0x1401823a9
mov byte [r9], 1
mov edx, dword [rsp + 0x30]
movzx ecx, byte [rsp + 0x7e]
movzx eax, dl
xor rcx, rax
shr edx, 8
xor rcx, r14
movzx eax, dl
movzx ecx, byte [rbx + rcx*4 + 0x26a9c0]
xor ecx, eax
movzx eax, sil
add ecx, dword [rsp + 0x50]
imul ecx, ecx, 0x8088405
shr esi, 8
inc ecx
shr rcx, 0x18
xor rcx, rax
movzx eax, si
movzx edx, word [rbx + rcx*4 + 0x26a9c0]
xor rdx, rax
shr rdx, 2
cmp byte [rdx + rbx + 0x30b1d0], r8b
je 0x140182406
mov byte [r9 + 1], 1
movsxd rdx, dword [rbp - 0x58]
add r9, 4
mov rax, qword [rbp - 0x50]
mov r14, qword [rbp - 0x80]
add rax, r9
mov rcx, qword [rbp - 0x48]
cmp rax, rdx
mov rdx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x38]
mov r12, qword [rbp - 0x68]
mov edi, dword [rsp + 0x78]
mov qword [rbp - 0x60], r9
jl 0x140180f20
jmp 0x1401839b6
movsxd rsi, edi
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x60], r8
nop word [rax + rax]
cmp dword [rdx + 0x434], 0
jne 0x1401839b6
mov r14, rcx
mov qword [rsp + 0x50], rcx
add rcx, rax
mov qword [rbp - 0x80], rcx
add rcx, rax
mov qword [rsp + 0x70], rcx
add rcx, rax
mov qword [rsp + 0x58], rcx
add rcx, rax
mov qword [rbp - 0x48], rcx
cmp r12, 2
jle 0x1401824b3
mov r8, rsi
lea rcx, [rbp - 0x28]
mov rdx, r14
call fcn.140228a60
test eax, eax
jne 0x1401824b3
mov r14d, dword [rbp - 4]
mov edi, r14d
mov r13d, dword [rbp + 4]
mov r15d, r13d
mov r8d, dword [rbp]
jmp 0x140182538
mov r8, rsi
mov dword [rbp - 8], edi
mov rdx, r14
lea rcx, [rbp - 0x28]
call fcn.1401f61a0
xor edx, edx
mov edi, 0x12345678
mov r8d, 0x23456789
mov r15d, 0x34567890
test rsi, rsi
jle 0x140182527
nop dword [rax]
movzx ecx, byte [rdx + r14]
inc rdx
movzx eax, dil
xor rcx, rax
shr edi, 8
xor edi, dword [rbx + rcx*4 + 0x26a9c0]
movzx eax, dil
add eax, r8d
imul ecx, eax, 0x8088405
movzx eax, r15b
shr r15d, 8
inc ecx
mov r8d, ecx
shr rcx, 0x18
xor rcx, rax
xor r15d, dword [rbx + rcx*4 + 0x26a9c0]
cmp rdx, rsi
jl 0x1401824e0
mov r14d, edi
mov dword [rbp - 4], edi
mov dword [rbp], r8d
mov r13d, r15d
mov dword [rbp + 4], r15d
mov rax, qword [rsp + 0x50]
movzx ecx, byte [r12 + rax - 1]
movzx eax, dil
xor rcx, rax
shr edi, 8
xor edi, dword [rbx + rcx*4 + 0x26a9c0]
movzx eax, dil
add eax, r8d
imul ecx, eax, 0x8088405
inc ecx
mov eax, ecx
shr rcx, 0x18
mov qword [rbp - 0x30], rax
movzx eax, r15b
xor rcx, rax
shr r15d, 8
xor r15d, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x34], r15d
cmp r12, 2
jle 0x1401825a8
mov rdx, qword [rbp - 0x80]
lea rcx, [rbp - 0x28]
mov r8, rsi
call fcn.140228a60
test eax, eax
jne 0x1401825a8
mov r8d, dword [rbp]
jmp 0x140182639
mov eax, dword [rsp + 0x78]
lea rcx, [rbp - 0x28]
mov rdx, qword [rbp - 0x80]
mov r8, rsi
mov dword [rbp - 8], eax
call fcn.1401f61a0
xor edx, edx
mov r14d, 0x12345678
mov r8d, 0x23456789
mov r13d, 0x34567890
test rsi, rsi
jle 0x14018262d
mov r12, qword [rbp - 0x80]
nop dword [rax]
movzx ecx, byte [rdx + r12]
inc rdx
movzx eax, r14b
xor rcx, rax
shr r14d, 8
xor r14d, dword [rbx + rcx*4 + 0x26a9c0]
movzx eax, r14b
add eax, r8d
imul ecx, eax, 0x8088405
movzx eax, r13b
shr r13d, 8
inc ecx
mov r8d, ecx
shr rcx, 0x18
xor rcx, rax
xor r13d, dword [rbx + rcx*4 + 0x26a9c0]
cmp rdx, rsi
jl 0x1401825e0
mov r12, qword [rbp - 0x68]
mov dword [rbp - 4], r14d
mov dword [rbp], r8d
mov dword [rbp + 4], r13d
mov rax, qword [rbp - 0x80]
movzx ecx, byte [r12 + rax - 1]
movzx eax, r14b
xor rcx, rax
shr r14d, 8
xor r14d, dword [rbx + rcx*4 + 0x26a9c0]
movzx eax, r14b
add eax, r8d
imul ecx, eax, 0x8088405
inc ecx
mov eax, ecx
shr rcx, 0x18
mov qword [rbp - 0x80], rax
movzx eax, r13b
xor rcx, rax
shr r13d, 8
xor r13d, dword [rbx + rcx*4 + 0x26a9c0]
cmp r12, 2
mov dword [rsp + 0x24], r13d
mov r12, qword [rsp + 0x70]
jle 0x1401826b9
mov r8, rsi
lea rcx, [rbp - 0x28]
mov rdx, r12
call fcn.140228a60
test eax, eax
jne 0x1401826b9
mov esi, dword [rbp - 4]
mov r9d, dword [rbp]
mov r12d, dword [rbp + 4]
mov rdx, qword [rbp - 0x78]
jmp 0x140182748
mov eax, dword [rsp + 0x78]
lea rcx, [rbp - 0x28]
mov r8, rsi
mov dword [rbp - 8], eax
mov rdx, r12
call fcn.1401f61a0
mov rdx, qword [rbp - 0x78]
xor r8d, r8d
mov esi, 0x12345678
mov r9d, 0x23456789
mov r12d, 0x34567890
test rdx, rdx
jle 0x14018273d
mov r13, qword [rsp + 0x70]
movzx ecx, byte [r8 + r13]
inc r8
movzx eax, sil
xor rcx, rax
shr esi, 8
xor esi, dword [rbx + rcx*4 + 0x26a9c0]
movzx eax, sil
add eax, r9d
imul ecx, eax, 0x8088405
movzx eax, r12b
shr r12d, 8
inc ecx
mov r9d, ecx
shr rcx, 0x18
xor rcx, rax
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
cmp r8, rdx
jl 0x1401826f1
mov r13d, dword [rsp + 0x24]
mov dword [rbp - 4], esi
mov dword [rbp], r9d
mov dword [rbp + 4], r12d
mov rax, qword [rsp + 0x70]
mov r8, qword [rbp - 0x68]
movzx ecx, byte [r8 + rax - 1]
movzx eax, sil
xor rcx, rax
shr esi, 8
xor esi, dword [rbx + rcx*4 + 0x26a9c0]
movzx eax, sil
add eax, r9d
imul ecx, eax, 0x8088405
inc ecx
mov eax, ecx
shr rcx, 0x18
mov qword [rsp + 0x70], rax
movzx eax, r12b
xor rcx, rax
shr r12d, 8
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x28], r12d
cmp r8, 2
jle 0x1401827c6
mov r8, rdx
lea rcx, [rbp - 0x28]
mov rdx, qword [rsp + 0x58]
call fcn.140228a60
test eax, eax
jne 0x1401827c6
mov r10d, dword [rbp - 4]
mov r11d, dword [rbp]
mov r9d, dword [rbp + 4]
jmp 0x14018286a
mov eax, dword [rsp + 0x78]
lea rcx, [rbp - 0x28]
mov r8, qword [rbp - 0x78]
mov rdx, qword [rsp + 0x58]
mov dword [rbp - 8], eax
call fcn.1401f61a0
mov rdx, qword [rbp - 0x78]
xor r8d, r8d
mov r10d, 0x12345678
mov r11d, 0x23456789
mov r9d, 0x34567890
test rdx, rdx
jle 0x14018285e
mov r13, qword [rsp + 0x58]
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [r8 + r13]
inc r8
movzx eax, r10b
xor rcx, rax
shr r10d, 8
xor r10d, dword [rbx + rcx*4 + 0x26a9c0]
movzx eax, r10b
add eax, r11d
imul ecx, eax, 0x8088405
movzx eax, r9b
shr r9d, 8
inc ecx
mov r11d, ecx
shr rcx, 0x18
xor rcx, rax
xor r9d, dword [rbx + rcx*4 + 0x26a9c0]
cmp r8, rdx
jl 0x140182810
mov r13d, dword [rsp + 0x24]
mov dword [rbp - 4], r10d
mov dword [rbp], r11d
mov dword [rbp + 4], r9d
mov rax, qword [rbp - 0x68]
mov rcx, qword [rsp + 0x58]
movzx ecx, byte [rax + rcx - 1]
movzx eax, r10b
xor rcx, rax
shr r10d, 8
xor r10d, dword [rbx + rcx*4 + 0x26a9c0]
movzx edx, r10b
shr r10d, 8
lea eax, [r11 + rdx]
imul ecx, eax, 0x8088405
movzx eax, r9b
shr r9d, 8
inc ecx
mov r8d, ecx
shr rcx, 0x18
xor rcx, rax
movzx eax, r15w
movzx r15d, byte [rsp + 0x60]
shr rax, 2
xor r9d, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], r9d
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, dil
xor rcx, rax
shr edi, 8
xor rcx, r15
movzx eax, r13w
shr rax, 2
xor edi, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, r14b
xor rcx, rax
shr r14d, 8
xor rcx, r15
movzx eax, r12w
shr rax, 2
mov dword [rsp + 0x2c], edi
movzx edi, dil
xor r14d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, sil
xor rcx, rax
shr esi, 8
movzx eax, word [rsp + 0x20]
xor rcx, r15
shr rax, 2
movzx r11d, r14b
xor esi, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, edi
add eax, dword [rbp - 0x30]
xor rcx, rdx
mov edx, dword [rsp + 0x34]
xor rcx, r15
movzx r9d, sil
mov dword [rsp + 0x50], esi
imul esi, eax, 0x8088405
mov eax, r11d
xor r10d, dword [rbx + rcx*4 + 0x26a9c0]
add eax, dword [rbp - 0x80]
imul r15d, eax, 0x8088405
mov eax, r9d
add eax, dword [rsp + 0x70]
imul r13d, eax, 0x8088405
mov dword [rsp + 0x30], r10d
movzx r10d, r10b
lea ecx, [rsi + 1]
shr rcx, 0x18
lea eax, [r8 + r10]
mov r8d, dword [rsp + 0x24]
imul r12d, eax, 0x8088405
movzx eax, dl
xor rcx, rax
shr edx, 8
movzx eax, r8b
xor edx, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r15 + 1]
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x34], edx
shr r8d, 8
xor r8d, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r13 + 1]
shr rcx, 0x18
mov dword [rsp + 0x24], r8d
mov r8d, dword [rsp + 0x28]
movzx eax, r8b
xor rcx, rax
shr r8d, 8
shr r14d, 8
xor r8d, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r12 + 1]
shr rcx, 0x18
mov dword [rsp + 0x28], r8d
mov r8d, dword [rsp + 0x20]
movzx eax, r8b
xor rcx, rax
shr r8d, 8
movzx eax, dx
shr rax, 2
xor r8d, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], r8d
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, byte [rsp + 0x61]
xor rcx, rax
mov eax, dword [rsp + 0x2c]
shr eax, 8
xor rcx, rdi
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x2c], eax
movzx edx, al
movzx eax, word [rsp + 0x24]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, word [rsp + 0x28]
xor rcx, r11
movzx r11d, byte [rsp + 0x61]
xor rcx, r11
shr rax, 2
xor r14d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x50]
xor rcx, r9
xor rcx, r11
shr eax, 8
movzx r8d, r14b
mov dword [rsp + 0x58], r14d
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x50], eax
movzx r9d, al
movzx eax, word [rsp + 0x20]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x30]
xor rcx, r10
xor rcx, r11
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x30], eax
movzx r10d, al
lea eax, [rsi + rdx]
imul ecx, eax, 0x8088405
lea eax, [r15 + r8]
imul esi, eax, 0x8088405
lea eax, [r9 + r13]
imul edi, eax, 0x8088405
lea eax, [r12 + r10]
mov r12d, dword [rsp + 0x34]
imul r11d, eax, 0x8088405
add ecx, 0x8088406
movzx eax, r12b
mov r14d, ecx
add esi, 0x8088406
shr rcx, 0x18
add edi, 0x8088406
xor rcx, rax
shr r12d, 8
add r11d, 0x8088406
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, esi
mov dword [rsp + 0x34], r12d
mov r13d, dword [rsp + 0x24]
mov r15d, dword [rsp + 0x28]
shr rcx, 0x18
movzx eax, r13b
xor rcx, rax
shr r13d, 8
movzx eax, r15b
shr r15d, 8
xor r13d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, edi
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x24], r13d
movzx eax, byte [rsp + 0x20]
xor r15d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, r11d
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x28], r15d
mov eax, dword [rsp + 0x20]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], eax
movzx eax, r12w
mov r12d, dword [rsp + 0x58]
shr rax, 2
shr r12d, 8
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, byte [rsp + 0x62]
xor rcx, rdx
xor rcx, rax
mov eax, dword [rsp + 0x2c]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x2c], eax
movzx edx, al
movzx eax, r13w
movzx r13d, byte [rsp + 0x62]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
xor rcx, r8
movzx eax, r15w
mov r15d, dword [rsp + 0x50]
xor rcx, r13
shr rax, 2
shr r15d, 8
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, word [rsp + 0x20]
xor rcx, r13
xor rcx, r9
shr rax, 2
movzx r8d, r12b
xor r15d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x30]
xor rcx, r10
xor rcx, r13
shr eax, 8
movzx r9d, r15b
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x30], eax
movzx r10d, al
lea eax, [r14 + rdx]
imul r14d, eax, 0x8088405
lea eax, [rsi + r8]
imul esi, eax, 0x8088405
lea eax, [rdi + r9]
imul edi, eax, 0x8088405
lea eax, [r11 + r10]
mov r11d, dword [rsp + 0x34]
imul r13d, eax, 0x8088405
movzx eax, r11b
shr r11d, 8
lea ecx, [r14 + 1]
shr rcx, 0x18
xor rcx, rax
xor r11d, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [rsi + 1]
shr rcx, 0x18
mov dword [rsp + 0x34], r11d
movzx eax, byte [rsp + 0x24]
xor rcx, rax
shr r15d, 8
mov eax, dword [rsp + 0x24]
shr eax, 8
shr r12d, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [rdi + 1]
mov dword [rsp + 0x24], eax
movzx eax, byte [rsp + 0x28]
shr rcx, 0x18
xor rcx, rax
mov eax, dword [rsp + 0x28]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r13 + 1]
mov dword [rsp + 0x28], eax
movzx eax, byte [rsp + 0x20]
shr rcx, 0x18
xor rcx, rax
mov eax, dword [rsp + 0x20]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], eax
movzx eax, r11w
movzx r11d, byte [rsp + 0x63]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x2c]
xor rcx, rdx
shr eax, 8
xor rcx, r11
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x2c], eax
movzx edx, al
movzx eax, word [rsp + 0x24]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, word [rsp + 0x28]
xor rcx, r8
xor rcx, r11
shr rax, 2
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, word [rsp + 0x20]
xor rcx, r9
mov r9d, dword [rsp + 0x34]
xor rcx, r11
shr rax, 2
movzx r8d, r12b
xor r15d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, byte [rsp + 0x63]
xor rcx, r10
xor rcx, rax
movzx r11d, r15b
mov eax, dword [rsp + 0x30]
shr eax, 8
mov dword [rsp + 0x50], r15d
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x30], eax
movzx r10d, al
lea eax, [r14 + rdx]
imul ecx, eax, 0x8088405
lea eax, [rsi + r8]
imul r14d, eax, 0x8088405
lea eax, [rdi + r11]
imul esi, eax, 0x8088405
lea eax, [r10 + r13]
imul edi, eax, 0x8088405
add ecx, 0x8088406
movzx eax, r9b
mov r15d, ecx
add r14d, 0x8088406
shr rcx, 0x18
add esi, 0x8088406
xor rcx, rax
shr r9d, 8
add edi, 0x8088406
xor r9d, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x34], r9d
mov r13d, dword [rsp + 0x24]
mov ecx, r14d
shr rcx, 0x18
movzx eax, r13b
xor rcx, rax
shr r13d, 8
shr r12d, 8
xor r13d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, esi
shr rcx, 0x18
mov dword [rsp + 0x24], r13d
mov r13d, dword [rsp + 0x28]
movzx eax, r13b
xor rcx, rax
shr r13d, 8
movzx eax, byte [rsp + 0x20]
xor r13d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, edi
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x28], r13d
mov eax, dword [rsp + 0x20]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], eax
movzx eax, r9w
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x2c]
xor rcx, rdx
movzx edx, byte [rsp + 0x64]
shr eax, 8
xor rcx, rdx
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x2c], eax
movzx r9d, al
movzx eax, word [rsp + 0x24]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
xor rcx, r8
movzx eax, r13w
shr rax, 2
xor rcx, rdx
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x50]
xor rcx, r11
movzx r11d, byte [rsp + 0x64]
shr eax, 8
xor rcx, r11
movzx edx, r12b
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x50], eax
movzx r8d, al
movzx eax, word [rsp + 0x20]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x30]
xor rcx, r10
xor rcx, r11
shr eax, 8
mov r11d, dword [rsp + 0x34]
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x30], eax
movzx r10d, al
lea eax, [r15 + r9]
imul r15d, eax, 0x8088405
lea eax, [r14 + rdx]
imul r14d, eax, 0x8088405
lea eax, [rsi + r8]
imul esi, eax, 0x8088405
lea eax, [rdi + r10]
imul r13d, eax, 0x8088405
movzx eax, r11b
shr r11d, 8
lea ecx, [r15 + 1]
shr rcx, 0x18
xor rcx, rax
xor r11d, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r14 + 1]
mov dword [rsp + 0x34], r11d
mov edi, dword [rsp + 0x24]
shr rcx, 0x18
movzx eax, dil
xor rcx, rax
shr edi, 8
shr r12d, 8
xor edi, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [rsi + 1]
shr rcx, 0x18
mov dword [rsp + 0x24], edi
mov edi, dword [rsp + 0x28]
movzx eax, dil
xor rcx, rax
shr edi, 8
movzx eax, byte [rsp + 0x20]
xor edi, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r13 + 1]
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x28], edi
mov eax, dword [rsp + 0x20]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], eax
movzx eax, r11w
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, byte [rsp + 0x65]
xor rcx, rax
mov eax, dword [rsp + 0x2c]
shr eax, 8
xor rcx, r9
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x2c], eax
movzx r11d, al
movzx eax, word [rsp + 0x24]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
xor rcx, rdx
movzx eax, di
movzx edx, byte [rsp + 0x65]
shr rax, 2
xor rcx, rdx
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x50]
xor rcx, r8
shr eax, 8
xor rcx, rdx
movzx r9d, r12b
mov dword [rsp + 0x58], r12d
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x50], eax
movzx edi, al
movzx eax, word [rsp + 0x20]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x30]
xor rcx, rdx
mov edx, dword [rsp + 0x34]
xor rcx, r10
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x30], eax
movzx r10d, al
lea eax, [r15 + r11]
imul ecx, eax, 0x8088405
lea eax, [r14 + r9]
imul r15d, eax, 0x8088405
lea eax, [rsi + rdi]
imul r14d, eax, 0x8088405
lea eax, [r10 + r13]
imul esi, eax, 0x8088405
add ecx, 0x8088406
movzx eax, dl
mov r12d, ecx
add r15d, 0x8088406
add r14d, 0x8088406
shr rcx, 0x18
add esi, 0x8088406
xor rcx, rax
mov r8d, dword [rsp + 0x24]
mov r13d, dword [rsp + 0x28]
movzx eax, r8b
shr edx, 8
xor edx, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, r15d
shr rcx, 0x18
xor rcx, rax
shr r8d, 8
movzx eax, r13b
shr r13d, 8
mov dword [rsp + 0x34], edx
xor r8d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, r14d
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x24], r8d
movzx eax, byte [rsp + 0x20]
xor r13d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, esi
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x28], r13d
mov eax, dword [rsp + 0x20]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], eax
movzx eax, dx
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, byte [rsp + 0x66]
xor rcx, rax
mov eax, dword [rsp + 0x2c]
shr eax, 8
xor rcx, r11
movzx r11d, byte [rsp + 0x66]
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x2c], eax
movzx edx, al
movzx eax, r8w
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x58]
xor rcx, r9
shr eax, 8
xor rcx, r11
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x58], eax
movzx r8d, al
movzx eax, r13w
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, word [rsp + 0x20]
xor rcx, r11
shr rax, 2
xor rcx, rdi
mov edi, dword [rsp + 0x50]
shr edi, 8
xor edi, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x30]
xor rcx, r10
shr eax, 8
xor rcx, r11
movzx r9d, dil
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x30], eax
movzx r10d, al
lea eax, [r12 + rdx]
mov r12d, dword [rsp + 0x34]
imul r13d, eax, 0x8088405
lea eax, [r15 + r8]
imul r15d, eax, 0x8088405
lea eax, [r14 + r9]
imul r14d, eax, 0x8088405
lea eax, [rsi + r10]
imul r11d, eax, 0x8088405
movzx eax, r12b
lea ecx, [r13 + 1]
mov dword [rsp + 0x70], r11d
shr rcx, 0x18
xor rcx, rax
mov esi, dword [rsp + 0x24]
movzx eax, sil
shr esi, 8
shr r12d, 8
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r15 + 1]
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x34], r12d
shr edi, 8
xor esi, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r14 + 1]
shr rcx, 0x18
mov dword [rsp + 0x24], esi
mov esi, dword [rsp + 0x28]
movzx eax, sil
xor rcx, rax
shr esi, 8
xor esi, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r11 + 1]
mov r11d, dword [rsp + 0x20]
shr rcx, 0x18
movzx eax, r11b
xor rcx, rax
shr r11d, 8
movzx eax, r12w
movzx r12d, byte [rsp + 0x67]
shr rax, 2
xor r11d, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], r11d
mov dword [rsp + 0x28], esi
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x2c]
xor rcx, rdx
shr eax, 8
xor rcx, r12
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x2c], eax
movzx edx, al
movzx eax, word [rsp + 0x24]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x58]
xor rcx, r8
shr eax, 8
xor rcx, r12
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x58], eax
movzx r11d, al
movzx eax, si
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, word [rsp + 0x20]
xor rcx, r9
shr rax, 2
xor rcx, r12
xor edi, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x30]
xor rcx, r10
shr eax, 8
xor rcx, r12
mov dword [rsp + 0x50], edi
movzx edi, dil
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x30], eax
movzx esi, al
lea eax, [rdx + r13]
imul ecx, eax, 0x8088405
lea eax, [r15 + r11]
imul r12d, eax, 0x8088405
lea eax, [r14 + rdi]
imul r15d, eax, 0x8088405
mov eax, esi
add eax, dword [rsp + 0x70]
add ecx, 0x8088406
add r12d, 0x8088406
mov r13d, ecx
add r15d, 0x8088406
imul r14d, eax, 0x8088405
mov r8d, dword [rsp + 0x34]
add r14d, 0x8088406
mov r9d, dword [rsp + 0x24]
mov r10d, dword [rsp + 0x28]
shr rcx, 0x18
movzx eax, r8b
xor rcx, rax
shr r8d, 8
movzx eax, r9b
shr r9d, 8
xor r8d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, r12d
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x34], r8d
movzx eax, r10b
shr r10d, 8
xor r9d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, r15d
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x24], r9d
movzx eax, byte [rsp + 0x20]
xor r10d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, r14d
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x28], r10d
mov eax, dword [rsp + 0x20]
shr eax, 8
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x20], eax
movzx eax, r8w
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x2c]
xor rcx, rdx
movzx edx, byte [rsp + 0x68]
shr eax, 8
xor rcx, rdx
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x2c], eax
movzx r8d, al
movzx eax, r9w
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x58]
xor rcx, r11
shr eax, 8
xor rcx, rdx
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x58], eax
movzx r9d, al
movzx eax, r10w
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x50]
xor rcx, rdi
shr eax, 8
xor rcx, rdx
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x50], eax
movzx r10d, al
movzx eax, word [rsp + 0x20]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
mov eax, dword [rsp + 0x30]
xor rcx, rsi
shr eax, 8
xor rcx, rdx
xor eax, dword [rbx + rcx*4 + 0x26a9c0]
mov dword [rsp + 0x30], eax
movzx edx, al
lea eax, [r8 + r13]
imul r11d, eax, 0x8088405
lea eax, [r12 + r9]
imul edi, eax, 0x8088405
lea eax, [r15 + r10]
imul esi, eax, 0x8088405
lea eax, [r14 + rdx]
imul r14d, eax, 0x8088405
mov r15d, dword [rsp + 0x24]
lea ecx, [r11 + 1]
mov r12d, dword [rsp + 0x34]
mov r13d, dword [rsp + 0x28]
shr rcx, 0x18
movzx eax, r12b
xor rcx, rax
shr r12d, 8
movzx eax, r15b
shr r15d, 8
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [rdi + 1]
shr rcx, 0x18
xor rcx, rax
movzx eax, r13b
shr r13d, 8
xor r15d, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [rsi + 1]
shr rcx, 0x18
xor rcx, rax
mov dword [rsp + 0x24], r15d
mov r15d, dword [rsp + 0x20]
movzx eax, r15b
shr r15d, 8
xor r13d, dword [rbx + rcx*4 + 0x26a9c0]
lea ecx, [r14 + 1]
shr rcx, 0x18
xor rcx, rax
movzx eax, r12w
shr rax, 2
xor r15d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
xor rcx, r8
mov dword [rsp + 0x20], r15d
movzx r8d, byte [rsp + 0x69]
mov r15d, dword [rsp + 0x2c]
xor rcx, r8
shr r15d, 8
xor r15d, dword [rbx + rcx*4 + 0x26a9c0]
movzx eax, r15b
mov dword [rsp + 0x34], eax
movzx eax, word [rsp + 0x24]
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
xor rcx, r9
movzx eax, r13w
mov r9d, dword [rsp + 0x50]
xor rcx, r8
mov r8d, dword [rsp + 0x58]
shr rax, 2
shr r8d, 8
xor r8d, dword [rbx + rcx*4 + 0x26a9c0]
shr r9d, 8
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, byte [rsp + 0x69]
xor rcx, rax
movzx eax, word [rsp + 0x20]
shr rax, 2
xor rcx, r10
xor r9d, dword [rbx + rcx*4 + 0x26a9c0]
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, byte [rsp + 0x69]
xor rcx, rdx
mov edx, dword [rsp + 0x30]
xor rcx, rax
mov eax, dword [rsp + 0x34]
inc eax
shr edx, 8
add eax, r11d
xor edx, dword [rbx + rcx*4 + 0x26a9c0]
imul ecx, eax, 0x8088405
movzx eax, r8b
add eax, edi
mov dword [rsp + 0x30], edx
imul r10d, eax, 0x8088405
movzx eax, r9b
add eax, esi
mov dword [rsp + 0x70], ecx
add r10d, 0x8088406
mov dword [rsp + 0x50], r10d
imul r11d, eax, 0x8088405
mov esi, dword [rbp - 0x70]
inc ecx
shr rcx, 0x18
add r11d, 0x8088406
movzx eax, dl
add eax, r14d
mov dword [rsp + 0x2c], r11d
imul edx, eax, 0x8088405
movzx eax, r12b
xor rcx, rax
shr r12d, 8
add edx, 0x8088406
xor r12d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, r10d
mov r10d, dword [rsp + 0x24]
shr rcx, 0x18
movzx eax, r10b
xor rcx, rax
shr r10d, 8
movzx eax, r13b
shr r13d, 8
mov dword [rbp - 0x80], edx
xor r10d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, r11d
mov r11d, dword [rsp + 0x20]
shr rcx, 0x18
xor rcx, rax
movzx eax, r11b
shr r11d, 8
xor r13d, dword [rbx + rcx*4 + 0x26a9c0]
mov ecx, edx
shr rcx, 0x18
xor rcx, rax
movzx eax, r12w
shr rax, 2
xor r11d, dword [rbx + rcx*4 + 0x26a9c0]
movzx edx, byte [rax + rbx + 0x30b1d0]
movzx eax, r10w
shr rax, 2
movzx ecx, byte [rax + rbx + 0x30b1d0]
movzx eax, r13w
shr rax, 2
mov dword [rsp + 0x58], ecx
movzx eax, byte [rax + rbx + 0x30b1d0]
mov dword [rsp + 0x28], eax
movzx eax, r11w
shr rax, 2
movzx eax, byte [rax + rbx + 0x30b1d0]
mov dword [rsp + 0x24], eax
cmp edx, esi
jne 0x14018389c
movzx eax, byte [rsp + 0x34]
mov ecx, edx
movzx edi, byte [rsp + 0x6a]
xor rcx, rax
xor rcx, rdi
shr r15d, 8
movzx eax, r15b
movzx ecx, byte [rbx + rcx*4 + 0x26a9c0]
xor ecx, eax
movzx eax, r12b
add ecx, dword [rsp + 0x70]
imul ecx, ecx, 0x8088405
shr r12d, 8
add ecx, 0x8088406
shr rcx, 0x18
xor rcx, rax
movzx eax, r12w
movzx edx, word [rbx + rcx*4 + 0x26a9c0]
xor rdx, rax
movzx eax, byte [rsp + 0x48]
shr rdx, 2
cmp byte [rdx + rbx + 0x30b1d0], al
jne 0x1401838a1
mov r14, qword [rbp - 0x60]
mov eax, dword [rsp + 0x58]
cmp eax, esi
jne 0x1401838ac
movzx eax, al
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, dil
xor rcx, rax
movzx eax, r8b
movzx r8d, byte [rsp + 0x48]
movzx ecx, byte [rbx + rcx*4 + 0x26a9c0]
xor ecx, eax
movzx eax, r10b
add ecx, dword [rsp + 0x50]
imul ecx, ecx, 0x8088405
shr r10d, 8
inc ecx
shr rcx, 0x18
xor rcx, rax
movzx eax, r10w
movzx edx, word [rbx + rcx*4 + 0x26a9c0]
xor rdx, rax
shr rdx, 2
cmp byte [rdx + rbx + 0x30b1d0], r8b
je 0x1401838b7
jmp 0x1401838b2
movzx edi, byte [rsp + 0x6a]
mov r14, qword [rbp - 0x60]
mov byte [r14 - 2], 1
jmp 0x140183831
movzx r8d, byte [rsp + 0x48]
mov byte [r14 - 1], 1
mov edx, dword [rsp + 0x28]
cmp edx, esi
jne 0x140183917
movzx eax, dil
movzx ecx, r9b
xor rcx, rax
shr r9d, 8
xor rcx, rdx
movzx eax, r9b
movzx ecx, byte [rbx + rcx*4 + 0x26a9c0]
xor ecx, eax
movzx eax, r13b
add ecx, dword [rsp + 0x2c]
imul ecx, ecx, 0x8088405
shr r13d, 8
inc ecx
shr rcx, 0x18
xor rcx, rax
movzx eax, r13w
movzx edx, word [rbx + rcx*4 + 0x26a9c0]
xor rdx, rax
shr rdx, 2
cmp byte [rdx + rbx + 0x30b1d0], r8b
je 0x14018391b
mov byte [r14], 1
mov r9d, dword [rsp + 0x24]
cmp r9d, esi
jne 0x14018397d
mov edx, dword [rsp + 0x30]
movzx ecx, dl
shr edx, 8
movzx eax, dil
xor rcx, rax
movzx eax, dl
xor rcx, r9
movzx ecx, byte [rbx + rcx*4 + 0x26a9c0]
xor ecx, eax
movzx eax, r11b
add ecx, dword [rbp - 0x80]
imul ecx, ecx, 0x8088405
shr r11d, 8
inc ecx
shr rcx, 0x18
xor rcx, rax
movzx eax, r11w
movzx edx, word [rbx + rcx*4 + 0x26a9c0]
xor rdx, rax
shr rdx, 2
cmp byte [rdx + rbx + 0x30b1d0], r8b
je 0x140183982
mov byte [r14 + 1], 1
movsxd rdx, dword [rbp - 0x58]
add r14, 4
mov rax, qword [rbp - 0x50]
mov rsi, qword [rbp - 0x78]
add rax, r14
mov rcx, qword [rbp - 0x48]
cmp rax, rdx
mov rdx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x38]
mov r12, qword [rbp - 0x68]
mov edi, dword [rsp + 0x78]
mov qword [rbp - 0x60], r14
jl 0x140182450
mov r14, qword [rsp + 0x118]
mov r13, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x148]
mov r15, qword [rsp + 0x110]
mov rax, qword [rbp - 0x40]
movups xmm0, xmmword [rbp - 0x28]
movups xmm1, xmmword [rbp - 0x18]
movups xmmword [rax + 0x4206a0], xmm0
movups xmm0, xmmword [rbp - 8]
movups xmmword [rax + 0x4206b0], xmm1
movups xmmword [rax + 0x4206c0], xmm0
mov eax, 1
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.1401f3bf0
add rsp, 0x120
pop r12
pop rdi
pop rbp
ret