Function at 0x140187680
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x10], edx
push rbp
push rbx
push rdi
push r12
push r13
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
xor eax, eax
mov rbx, rcx
mov qword [rcx + 0x30], rax
cmp dword [rcx + 0x4c], eax
jne 0x1401876b7
lea rdx, [rbp + 0x67]
call fcn.1401875c0
mov r12d, dword [rbp + 0x67]
mov r13d, eax
jmp 0x1401876bf
mov r13d, dword [rcx + 0x38]
mov r12d, dword [rcx + 0x3c]
mov edi, dword [rbx + 0x40]
mov qword [rsp + 0xc8], rsi
mov qword [rsp + 0xc0], r14
mov qword [rsp + 0xb8], r15
mov dword [rbp + 0x67], r12d
cmp edi, 2
jb 0x140188c82
mov rcx, qword [rbx]
mov eax, 0x111
cmp edi, eax
cmova edi, eax
call qword [rbx + 0x18]
movzx r14d, byte [rax - 1]
lea rcx, [rbp - 0x59]
xor edx, edx
mov r15, rbx
mov r9d, edx
mov esi, edx
lea r11, [rax - 1]
sub r15, rcx
mov r10d, edx
nop dword [rax]
nop dword [rax + rax]
lea rax, [rbp - 0x59]
mov r8, r11
add rax, r10
mov ecx, dword [r15 + rax + 0x50]
sub r8, rcx
mov dword [rax], ecx
cmp r14b, byte [r8]
jne 0x140187787
movzx eax, byte [r8 + 1]
cmp byte [r11 + 1], al
jne 0x140187787
mov edx, 2
cmp edi, edx
jbe 0x140187766
lea rcx, [r11 + 2]
sub r8, r11
movzx eax, byte [rcx + r8]
cmp byte [rcx], al
jne 0x140187766
inc edx
inc rcx
cmp edx, edi
jb 0x140187754
mov eax, r9d
mov ecx, esi
mov dword [rbp + r10 - 0x21], edx
cmp edx, dword [rbp + rax*4 - 0x21]
cmovbe ecx, r9d
mov r9d, ecx
cmp edx, 0x111
je 0x140187797
xor edx, edx
jmp 0x14018778c
mov dword [rbp + r10 - 0x21], edx
inc esi
add r10, 4
cmp esi, 4
jb 0x140187720
mov eax, r9d
mov edi, dword [rbp + rax*4 - 0x21]
mov eax, dword [rbx + 0x48]
cmp edi, eax
jb 0x1401877c2
lea ecx, [rdi - 1]
mov dword [rbx + 0xb8], r9d
add dword [rbx + 0x4c], ecx
lea edx, [rdi - 1]
mov rcx, qword [rbx]
call qword [rbx + 0x28]
mov eax, edi
jmp 0x140188c91
cmp r13d, eax
jb 0x1401877f3
mov eax, r12d
lea edx, [r13 - 1]
mov ecx, dword [rbx + rax*4 + 0xa1c]
lea eax, [r13 - 1]
add dword [rbx + 0x4c], eax
add ecx, 4
mov dword [rbx + 0xb8], ecx
mov rcx, qword [rbx]
call qword [rbx + 0x28]
mov eax, r13d
jmp 0x140188c91
mov eax, dword [rbp - 0x59]
mov rcx, r11
movzx r14d, byte [r11]
sub rcx, rax
cmp edi, r13d
mov dword [rbp - 0x6d], eax
mov eax, r13d
cmova eax, edi
movzx esi, byte [rcx]
mov dword [rbp + 0x7f], eax
cmp eax, 2
jae 0x140187820
cmp r14b, sil
jne 0x140188c82
movzx eax, word [rbx + 0x44]
mov r10d, r14d
mov word [rbx + 0xf57c], ax
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbx + 0xbc]
movzx edx, byte [r11 - 1]
mov edi, dword [rbx + 0x64]
mov r15d, dword [rbx + 0x44]
and edi, eax
shl eax, 8
add edx, eax
mov rax, qword [rbx + 0x68]
and edx, dword [rbx + 0x60]
shl edx, cl
lea ecx, [rdx + rdx*2]
lea r11, [rax + rcx*2]
cmp r15d, 7
jb 0x14018787a
lea r9, [rbx + 0x820]
mov r8d, esi
mov edx, r14d
mov rcx, r11
call fcn.1401870a0
mov r9d, eax
jmp 0x1401878bc
xor eax, eax
mov r9d, eax
bts r10d, 8
nop dword [rax]
nop dword [rax + rax]
mov eax, r10d
shr r10d, 1
and eax, 1
neg eax
shr rax, 4
movzx edx, word [r11 + r10*2]
and eax, 0x7f
shr rdx, 4
xor rdx, rax
add r9d, dword [rbx + rdx*4 + 0x820]
cmp r10d, 2
jae 0x140187890
mov rdx, r15
xor r10d, r10d
mov rcx, rdx
mov r15d, edi
shl rcx, 4
add rcx, r15
movzx eax, word [rbx + rcx*2 + 0x1f70]
shr rax, 4
mov r8d, dword [rbx + rax*4 + 0x820]
mov dword [rbx + 0xf5a4], 0xffffffff
add r8d, r9d
mov dword [rbx + 0xf598], r8d
mov word [rbx + 0xf59e], r10w
movzx eax, word [rbx + rcx*2 + 0x1f70]
xor rax, 0x7f0
shr rax, 4
mov r9d, dword [rbx + rax*4 + 0x820]
movzx eax, word [rbx + rdx*2 + 0x1f10]
xor rax, 0x7f0
mov dword [rbp + 0x77], r9d
shr rax, 4
mov r12d, dword [rbx + rax*4 + 0x820]
add r12d, r9d
cmp sil, r14b
jne 0x140187999
cmp dword [rbp - 0x21], r10d
jne 0x140187999
movzx eax, word [rbx + rdx*2 + 0x1f28]
movzx ecx, word [rbx + rcx*2 + 0x20f0]
shr rax, 4
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x820]
add edx, dword [rbx + rax*4 + 0x820]
mov eax, 0xffffffff
add edx, r12d
cmp edx, r8d
jae 0x140187988
mov dword [rbx + 0xf598], edx
mov eax, r10d
mov dword [rbx + 0xf5a4], r10d
cmp dword [rbp + 0x7f], 2
jae 0x140187999
mov dword [rbx + 0xb8], eax
jmp 0x140188c8c
mov eax, dword [rbp - 0x6d]
lea rdi, [rbp - 0x21]
mov r14d, 1
mov r9d, r10d
mov dword [rbx + 0xf5a0], r14d
xor esi, esi
mov dword [rbx + 0xf588], eax
mov eax, dword [rbp - 0x55]
mov dword [rbx + 0xf58c], eax
mov dword [rbp - 0x69], eax
mov eax, dword [rbp - 0x51]
mov dword [rbx + 0xf590], eax
mov dword [rbp - 0x71], eax
mov eax, dword [rbp - 0x4d]
mov dword [rbx + 0xf594], eax
nop dword [rax]
mov r8d, dword [rdi]
cmp r8d, 2
jb 0x140187ae6
mov eax, dword [rbx + 0x44]
movzx ecx, word [rbx + rax*2 + 0x1f28]
test r9d, r9d
jne 0x140187a2a
shl rax, 4
add rax, r15
shr rcx, 4
movzx eax, word [rbx + rax*2 + 0x20f0]
xor rax, 0x7f0
shr rax, 4
mov edx, dword [rbx + rax*4 + 0x820]
add edx, dword [rbx + rcx*4 + 0x820]
jmp 0x140187a92
movzx r10d, word [rbx + rax*2 + 0x1f40]
xor rcx, 0x7f0
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x820]
cmp r9d, r14d
jne 0x140187a58
shr r10, 4
add edx, dword [rbx + r10*4 + 0x820]
jmp 0x140187a92
movzx ecx, word [rbx + rax*2 + 0x1f58]
xor r10, 0x7f0
mov eax, 2
shr rcx, 4
sub eax, r9d
shr r10, 4
shr rax, 4
and eax, 0x7f
xor rcx, rax
mov eax, dword [rbx + rcx*4 + 0x820]
add eax, dword [rbx + r10*4 + 0x820]
add edx, eax
lea r10d, [rdx + r12]
imul r11, r15, 0x110
nop dword [rax]
mov edx, r8d
lea rax, [rdx + r11]
shl rdx, 5
mov eax, dword [rbx + rax*4 + 0xb170]
add eax, r10d
cmp eax, dword [rdx + rbx + 0xf578]
jae 0x140187add
mov dword [rdx + rbx + 0xf578], eax
mov dword [rdx + rbx + 0xf580], r8d
mov dword [rdx + rbx + 0xf584], r9d
mov word [rdx + rbx + 0xf57e], si
dec r8d
cmp r8d, 2
jae 0x140187aa0
inc r9d
add rdi, 4
cmp r9d, 4
jb 0x1401879e0
mov edx, dword [rbp - 0x21]
inc edx
cmp edx, r13d
ja 0x140187c4f
mov r12d, dword [rbp + 0x77]
xor eax, eax
mov r10d, eax
mov eax, dword [rbx + 0x44]
movzx ecx, word [rbx + rax*2 + 0x1f10]
shr rcx, 4
add r12d, dword [rbx + rcx*4 + 0x820]
lea rcx, [rbx + 0xa20]
cmp edx, 2
jae 0x140187b38
mov edx, 2
jmp 0x140187b4a
cmp edx, dword [rcx]
jbe 0x140187b4a
nop dword [rax]
add r10d, 2
cmp edx, dword [rcx + r10*4]
ja 0x140187b40
mov r13d, dword [rbp + 0x67]
imul r15, r15, 0x110
mov qword [rbp + 0x77], 0x4c8
nop dword [rax]
mov eax, r10d
mov r11d, dword [rcx + rax*4 + 4]
lea rsi, [rcx + rax*4]
mov edi, edx
lea rax, [rdi + r15]
mov r14d, dword [rbx + rax*4 + 0x6d6c]
lea eax, [rdx - 2]
add r14d, r12d
cmp edx, 5
jb 0x140187b8a
mov eax, 3
mov r8d, eax
mov r9, r11
cmp r11d, 0x80
jae 0x140187bae
shl r8, 7
and r9d, 0x7f
add r8, r9
mov eax, dword [rbx + r8*4 + 0x16f0]
jmp 0x140187bfa
cmp r11d, 0x100000
mov eax, 6
mov ecx, 0x13
cmovb ecx, eax
mov rax, r9
shr rax, cl
cmp r11d, 0x100000
movzx ecx, byte [rax + rbx + 0x2d70]
mov eax, 0x4e2
cmovb rax, qword [rbp + 0x77]
and r9d, 0xf
add rcx, rax
shl r8, 6
add rcx, r8
mov eax, dword [rbx + rcx*4]
add eax, dword [rbx + r9*4 + 0x12b0]
shl rdi, 5
lea ecx, [r14 + rax]
cmp ecx, dword [rdi + rbx + 0xf578]
jae 0x140187c2e
lea eax, [r11 + 4]
mov dword [rdi + rbx + 0xf578], ecx
mov dword [rdi + rbx + 0xf584], eax
xor eax, eax
mov word [rdi + rbx + 0xf57e], ax
mov dword [rdi + rbx + 0xf580], edx
cmp edx, dword [rsi]
jne 0x140187c3b
add r10d, 2
cmp r10d, r13d
je 0x140187c49
inc edx
lea rcx, [rbx + 0xa20]
jmp 0x140187b60
mov r14d, 1
mov esi, dword [rbp + 0x7f]
mov r12d, r14d
mov dword [rbp - 0x79], r14d
cmp esi, 1
je 0x140188b90
mov dword [rbp + 0x7f], esi
lea r15, [0x140000000]
nop dword [rax]
cmp r12d, 0x7c0
jae 0x140188b2a
mov rcx, qword [rbx]
inc dword [rbx + 0x4c]
call qword [rbx + 0x10]
mov rcx, qword [rbx]
lea rdx, [rbx + 0xa20]
mov dword [rbx + 0x40], eax
call qword [rbx + 0x20]
mov rcx, 0xfffffffffffff5e0
sub rcx, rbx
add rax, rcx
sar rax, 2
mov qword [rbp - 1], rax
test eax, eax
jne 0x140187cb7
xor r9d, r9d
mov r14d, r9d
jmp 0x140187d20
mov esi, eax
mov r14d, dword [rbx + rsi*4 + 0xa18]
mov qword [rbp - 0x11], r14
cmp r14d, dword [rbx + 0x48]
je 0x140187cd3
mov esi, dword [rbp + 0x7f]
xor r9d, r9d
jmp 0x140187d24
mov edi, dword [rbx + 0x40]
mov eax, 0x111
mov rcx, qword [rbx]
cmp edi, eax
cmova edi, eax
call qword [rbx + 0x18]
mov edx, dword [rbx + rsi*4 + 0xa1c]
mov ecx, edi
not rdx
lea r8, [rax - 1]
add r14, r8
add rcx, r8
cmp r14, rcx
je 0x140187d13
movzx eax, byte [rdx + r14]
cmp byte [r14], al
jne 0x140187d13
inc r14
cmp r14, rcx
jne 0x140187d01
mov esi, dword [rbp + 0x7f]
sub r14d, r8d
mov rax, qword [rbp - 1]
xor r9d, r9d
mov qword [rbp - 0x11], r14
cmp r14d, dword [rbx + 0x48]
jae 0x140188b21
mov r13d, dword [rbp + 0x6f]
mov ecx, r12d
inc r13d
mov edi, r12d
shl rdi, 5
add rdi, rbx
mov dword [rbp + 0x6f], r13d
mov eax, dword [rdi + 0xf580]
sub ecx, eax
cmp eax, 1
jne 0x140187d92
mov r8d, dword [rbp - 0x71]
lea rdx, [0x140220ca0]
mov r15d, dword [rbp - 0x6d]
mov r9d, dword [rbp - 0x69]
mov eax, ecx
shl rax, 5
cmp dword [rdi + 0xf584], 0
movzx ecx, word [rax + rbx + 0xf57c]
lea rax, str._t_t_t_t_t_t_t_v_v_v_v_v
cmovne rax, rdx
movzx esi, byte [rcx + rax]
mov eax, dword [rbp - 0x4d]
jmp 0x140187eb2
movzx r8d, word [rdi + 0xf57e]
mov edx, dword [rdi + 0xf584]
test r8w, r8w
je 0x140187dec
sub ecx, r8d
mov esi, 8
cmp r8d, 1
jne 0x140187dc1
cmp edx, 4
mov esi, r9d
setb sil
add esi, 7
mov eax, ecx
lea rcx, [rbx + 0xf578]
shl rax, 5
add rcx, rax
mov r9d, dword [rcx + 0x10]
mov r8d, dword [rcx + 0x14]
mov dword [rbp - 0x69], r9d
mov dword [rbp - 0x71], r8d
cmp edx, 4
jae 0x140187e94
jmp 0x140187e25
mov eax, ecx
shl rax, 5
movzx r8d, word [rax + rbx + 0xf57c]
mov eax, ecx
lea rcx, [rbx + 0xf578]
shl rax, 5
add rcx, rax
mov r9d, dword [rcx + 0x10]
cmp edx, 4
jae 0x140187e83
movzx esi, byte [r8 + r15 + 0x220cc0]
mov r8d, dword [rcx + 0x14]
mov dword [rbp - 0x69], r9d
test edx, edx
jne 0x140187e4c
mov eax, dword [rcx + 0x1c]
mov r15d, r9d
mov dword [rbp - 0x6d], r9d
mov dword [rbp - 0x59], r9d
mov r9d, r8d
mov dword [rbp - 0x69], r8d
mov dword [rbp - 0x55], r8d
mov r8d, dword [rcx + 0x18]
mov dword [rbp - 0x71], r8d
jmp 0x140187eab
mov dword [rbp - 0x55], r9d
mov r15d, r8d
mov dword [rbp - 0x6d], r8d
cmp edx, 1
jne 0x140187e6d
mov eax, dword [rcx + 0x1c]
mov dword [rbp - 0x59], r8d
mov r8d, dword [rcx + 0x18]
mov dword [rbp - 0x71], r8d
jmp 0x140187eab
mov r15d, dword [rcx + rdx*4 + 0x10]
mov rax, rdx
xor rax, 1
mov dword [rbp - 0x71], r8d
mov eax, dword [rcx + rax*4 + 0x10]
jmp 0x140187ea3
movzx esi, byte [r8 + r15 + 0x220cb0]
mov r8d, dword [rcx + 0x14]
mov dword [rbp - 0x71], r8d
mov eax, dword [rcx + 0x18]
lea r15d, [rdx - 3]
mov dword [rbp - 0x69], r9d
mov dword [rbp - 0x55], r9d
mov dword [rbp - 0x59], r15d
mov dword [rbp - 0x6d], r15d
mov dword [rbp - 0x4d], eax
mov dword [rbp - 0x51], r8d
mov word [rdi + 0xf57c], si
mov dword [rdi + 0xf588], r15d
mov dword [rdi + 0xf58c], r9d
mov dword [rdi + 0xf590], r8d
mov dword [rdi + 0xf594], eax
mov rcx, qword [rbx]
call qword [rbx + 0x18]
mov ecx, dword [rbx + 0x64]
mov edx, dword [rdi + 0xf578]
and ecx, r13d
movzx r8d, byte [rax - 1]
lea r14, [rax - 1]
mov qword [rbp - 9], rcx
mov eax, r15d
mov r12, r14
mov r15d, dword [rdi + 0xf598]
sub r12, rax
mov r10d, esi
mov r11d, esi
shl r11, 4
movzx r9d, byte [r12]
add r11, rcx
mov qword [rbp - 0x61], r10
mov qword [rbp - 0x41], r14
mov byte [rbp + 0x77], r8b
movzx ecx, word [rbx + r11*2 + 0x1f70]
mov eax, ecx
mov byte [rbp + 0x67], r9b
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
mov qword [rbp - 0x31], r11
mov r13d, dword [rbx + rcx*4 + 0x820]
mov eax, dword [rbx + rax*4 + 0x820]
add r13d, edx
add eax, edx
mov dword [rbp - 0x49], eax
xor eax, eax
mov dword [rbp - 0x75], eax
mov r10d, eax
cmp r15d, 0x40000000
jae 0x140187f6f
cmp r9b, r8b
je 0x140187f74
cmp r13d, r15d
jbe 0x140187f7c
mov r13d, eax
jmp 0x140188094
mov ecx, dword [rbx + 0xbc]
mov eax, dword [rbp + 0x6f]
movzx edx, byte [r14 - 1]
shl eax, 8
add edx, eax
movzx r8d, r8b
and edx, dword [rbx + 0x60]
bts r8d, 8
mov rax, qword [rbx + 0x68]
shl edx, cl
lea ecx, [rdx + rdx*2]
lea r14, [rax + rcx*2]
xor eax, eax
cmp esi, 7
jb 0x140188017
mov r11d, eax
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 [r14 + rcx*2]
mov ecx, r8d
shr ecx, 7
add r8d, r8d
and ecx, 1
shr rdx, 4
neg ecx
mov eax, r8d
shr rcx, 4
xor eax, r9d
and ecx, 0x7f
not eax
xor rdx, rcx
and r10d, eax
add r11d, dword [rbx + rdx*4 + 0x820]
cmp r8d, 0x10000
jb 0x140187fc0
mov r10d, dword [rbp - 0x75]
jmp 0x14018804f
mov r9d, eax
nop word [rax + rax]
mov eax, r8d
shr r8d, 1
and eax, 1
neg eax
shr rax, 4
movzx edx, word [r14 + r8*2]
and eax, 0x7f
shr rdx, 4
xor rdx, rax
add r9d, dword [rbx + rdx*4 + 0x820]
cmp r8d, 2
jae 0x140188020
mov r11d, r9d
movzx r9d, byte [rbp + 0x67]
add r13d, r11d
movzx r8d, byte [rbp + 0x77]
mov r11, qword [rbp - 0x31]
mov r14, qword [rbp - 0x41]
cmp r13d, r15d
jae 0x140188094
mov eax, 1
mov dword [rdi + 0xf598], r13d
xor edx, edx
mov dword [rdi + 0xf5a0], eax
mov word [rdi + 0xf59e], dx
mov r10d, eax
mov dword [rdi + 0xf5a4], 0xffffffff
mov r15d, r13d
mov ecx, dword [rbp - 0x49]
mov edx, 0x7ff
sub edx, dword [rbp - 0x79]
mov eax, esi
movzx eax, word [rbx + rax*2 + 0x1f10]
xor rax, 0x7f0
shr rax, 4
mov eax, dword [rbx + rax*4 + 0x820]
add ecx, eax
cmp dword [rbx + 0x40], edx
mov dword [rbp - 0x29], ecx
cmovbe edx, dword [rbx + 0x40]
mov dword [rbp - 0x39], edx
cmp esi, 7
jae 0x140188138
cmp r9b, r8b
jne 0x140188138
cmp ecx, r15d
jae 0x140188138
cmp dword [rdi + 0xf5a0], 2
jb 0x1401880ea
cmp dword [rdi + 0xf5a4], 0
je 0x140188138
movzx ecx, word [rbx + r11*2 + 0x20f0]
shr rcx, 4
mov eax, esi
mov edx, dword [rbx + rcx*4 + 0x820]
movzx eax, word [rbx + rax*2 + 0x1f28]
shr rax, 4
add edx, dword [rbx + rax*4 + 0x820]
add edx, dword [rbp - 0x29]
cmp edx, r15d
jae 0x140188138
xor eax, eax
mov dword [rdi + 0xf598], edx
mov word [rdi + 0xf59e], ax
mov r10d, eax
mov qword [rdi + 0xf5a0], 1
mov ecx, dword [rbp - 0x39]
cmp ecx, 2
jb 0x140188b01
mov edx, dword [rbx + 0x48]
cmp ecx, edx
mov esi, edx
cmovbe esi, ecx
mov dword [rbp + 0x77], esi
test r10d, r10d
jne 0x1401882b1
test r13d, r13d
je 0x1401882b1
cmp r9b, r8b
je 0x1401882b1
cmp ecx, 2
jbe 0x1401882b1
movzx eax, byte [r12 + 1]
cmp byte [r14 + 1], al
jne 0x1401882b1
movzx eax, byte [r12 + 2]
cmp byte [r14 + 2], al
jne 0x1401882b1
inc edx
mov r11d, 3
cmp edx, ecx
cmova edx, ecx
cmp edx, r11d
jbe 0x1401881c4
lea rcx, [r14 + 3]
sub r12, r14
nop
movzx eax, byte [r12 + rcx]
cmp byte [rcx], al
jne 0x1401881c4
inc r11d
inc rcx
cmp r11d, edx
jb 0x1401881b0
mov r9d, dword [rbp + 0x6f]
lea rax, [0x140220ca0]
mov r14, qword [rbp - 0x61]
inc r9d
mov r12d, dword [rbp - 0x79]
movzx r8d, byte [r14 + rax]
mov eax, dword [rbx + 0x64]
lea r10d, [r11 + r12]
and r9, rax
mov r15d, r10d
cmp dword [rbp + 0x7f], r10d
mov ecx, r8d
cmovae r15d, dword [rbp + 0x7f]
dec r11d
shl rcx, 4
add rcx, r9
movzx edx, word [rbx + rcx*2 + 0x20f0]
movzx eax, word [rbx + rcx*2 + 0x1f70]
xor rdx, 0x7f0
xor rax, 0x7f0
shr rdx, 4
shr rax, 4
imul rcx, r9, 0x110
mov edx, dword [rbx + rdx*4 + 0x820]
add edx, dword [rbx + rax*4 + 0x820]
movzx eax, word [rbx + r8*2 + 0x1f10]
xor rax, 0x7f0
shr rax, 4
add edx, dword [rbx + rax*4 + 0x820]
movzx eax, word [rbx + r8*2 + 0x1f28]
shr rax, 4
add edx, dword [rbx + rax*4 + 0x820]
mov eax, r11d
add rcx, rax
mov eax, r10d
shl rax, 5
add edx, dword [rbx + rcx*4 + 0xb170]
add edx, r13d
cmp edx, dword [rax + rbx + 0xf578]
jae 0x1401882bd
xor ecx, ecx
mov dword [rax + rbx + 0xf578], edx
mov dword [rax + rbx + 0xf584], ecx
mov ecx, 1
mov word [rax + rbx + 0xf57e], cx
mov dword [rax + rbx + 0xf580], r11d
jmp 0x1401882bd
mov r14, qword [rbp - 0x61]
mov r12d, dword [rbp - 0x79]
mov r15d, dword [rbp + 0x7f]
mov r13, qword [rbp - 0x41]
xor eax, eax
mov edi, eax
mov dword [rbp + 0x7f], eax
lea rax, [rbp - 0x59]
mov dword [rbp + 0x67], 2
mov qword [rbp + 7], rax
jmp 0x1401882e4
mov r14, qword [rbp - 0x61]
mov eax, dword [rax]
mov r11, r13
sub r11, rax
mov qword [rbp + 0xf], r11
movzx eax, byte [r11]
cmp byte [r13], al
jne 0x1401886bd
movzx eax, byte [r11 + 1]
cmp byte [r13 + 1], al
jne 0x1401886bd
mov r9d, 2
mov dword [rbp - 0x75], r9d
cmp esi, r9d
jbe 0x14018833a
nop dword [rax]
mov ecx, r9d
movzx eax, byte [r11 + rcx]
cmp byte [rcx + r13], al
jne 0x140188336
inc r9d
cmp r9d, esi
jb 0x140188320
mov dword [rbp - 0x75], r9d
movzx r8d, word [rbx + r14*2 + 0x1f28]
lea eax, [r9 + r12]
cmp r15d, eax
mov edx, r9d
cmovae eax, r15d
mov dword [rbp - 0x31], eax
mov r15d, eax
mov esi, eax
test edi, edi
jne 0x140188391
mov rax, r14
shr r8, 4
shl rax, 4
add rax, qword [rbp - 9]
movzx ecx, word [rbx + rax*2 + 0x20f0]
xor rcx, 0x7f0
shr rcx, 4
mov r10d, dword [rbx + rcx*4 + 0x820]
add r10d, dword [rbx + r8*4 + 0x820]
jmp 0x1401883fb
xor r8, 0x7f0
shr r8, 4
mov r10d, dword [rbx + r8*4 + 0x820]
movzx r8d, word [rbx + r14*2 + 0x1f40]
cmp edi, 1
jne 0x1401883c0
shr r8, 4
add r10d, dword [rbx + r8*4 + 0x820]
jmp 0x1401883fb
movzx ecx, word [rbx + r14*2 + 0x1f58]
mov eax, 2
sub eax, edi
shr rcx, 4
shr rax, 4
xor r8, 0x7f0
and eax, 0x7f
shr r8, 4
xor rcx, rax
mov eax, dword [rbx + rcx*4 + 0x820]
add eax, dword [rbx + r8*4 + 0x820]
add r10d, eax
imul r11, qword [rbp - 9], 0x110
mov r9d, dword [rbp - 0x29]
add r9d, r10d
mov qword [rbp - 0x21], r11
mov dword [rbp - 0x35], r9d
xor r13d, r13d
nop word [rax + rax]
mov eax, edx
lea ecx, [rdx + r12]
add rax, r11
shl rcx, 5
mov r8d, dword [rbx + rax*4 + 0xb170]
add r8d, r9d
cmp r8d, dword [rcx + rbx + 0xf578]
jae 0x140188461
mov dword [rcx + rbx + 0xf578], r8d
mov dword [rcx + rbx + 0xf580], edx
mov dword [rcx + rbx + 0xf584], edi
mov word [rcx + rbx + 0xf57e], r13w
dec edx
cmp edx, 2
jae 0x140188420
mov r9d, dword [rbp - 0x75]
test edi, edi
jne 0x14018847d
lea r10d, [r9 + 1]
mov dword [rbp + 0x67], r10d
mov r8d, r10d
jmp 0x140188485
mov r10d, dword [rbp + 0x67]
lea r8d, [r9 + 1]
mov r14d, dword [rbx + 0x48]
mov r11, qword [rbp + 0xf]
add r14d, r8d
cmp r14d, dword [rbp - 0x39]
mov r13, qword [rbp - 0x41]
cmova r14d, dword [rbp - 0x39]
add r8d, 2
cmp r8d, r14d
ja 0x1401886b8
lea eax, [r8 - 2]
mov ecx, eax
movzx eax, byte [r11 + rax]
cmp byte [rcx + r13], al
jne 0x1401886b8
lea eax, [r8 - 1]
mov ecx, eax
movzx eax, byte [r11 + rax]
cmp byte [rcx + r13], al
jne 0x1401886b8
movzx r10d, byte [r9 + r13]
xor edx, edx
mov ecx, dword [rbp + 0x6f]
mov esi, 0x100
mov eax, dword [rbx + 0x64]
add ecx, r9d
movzx edi, byte [r11 + r9]
and eax, ecx
mov r12, qword [rbx + 0x68]
or r10d, esi
mov dword [rbp - 0x75], eax
mov r15d, edx
movzx eax, byte [r9 + r13 - 1]
shl ecx, 8
add eax, ecx
mov ecx, dword [rbx + 0xbc]
and eax, dword [rbx + 0x60]
shl eax, cl
lea r13d, [rax + rax*2]
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, r13
and ecx, 1
add r10d, r10d
neg ecx
shr rcx, 4
movzx edx, word [r12 + rax*2]
and ecx, 0x7f
shr rdx, 4
mov eax, r10d
xor rdx, rcx
xor eax, edi
not eax
and esi, eax
add r15d, dword [rbx + rdx*4 + 0x820]
cmp r10d, 0x10000
jb 0x140188520
mov r10d, dword [rbp - 0x75]
lea rcx, [0x140000000]
mov rax, qword [rbp - 0x61]
mov edi, dword [rbp - 0x35]
mov r13, qword [rbp - 0x41]
movzx ecx, byte [rax + rcx + 0x220cc0]
mov rax, r9
add rax, qword [rbp - 0x21]
shl rcx, 4
add rcx, r10
inc r10d
movzx ecx, word [rbx + rcx*2 + 0x1f70]
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x820]
add edx, dword [rbx + rax*4 + 0xb170]
mov eax, dword [rbx + 0x64]
add edx, r15d
and r10, rax
add edi, edx
movzx ecx, word [rbx + r10*2 + 0x2190]
movzx eax, word [rbx + r10*2 + 0x2010]
xor rcx, 0x7f0
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
mov edx, dword [rbx + rcx*4 + 0x820]
add edx, dword [rbx + rax*4 + 0x820]
movzx eax, word [rbx + 0x1f1a]
xor rax, 0x7f0
shr rax, 4
add edx, dword [rbx + rax*4 + 0x820]
movzx eax, word [rbx + 0x1f32]
shr rax, 4
add edx, dword [rbx + rax*4 + 0x820]
add edi, edx
cmp r8d, r14d
jae 0x140188645
mov ecx, r8d
add rcx, r13
sub r11, r13
movzx eax, byte [r11 + rcx]
cmp byte [rcx], al
jne 0x140188645
inc r8d
inc rcx
cmp r8d, r14d
jb 0x140188631
mov r12d, dword [rbp - 0x79]
mov eax, 0xffffffff
mov esi, dword [rbp + 0x77]
lea r15d, [r8 + r12]
cmp dword [rbp - 0x31], r15d
mov edx, r15d
cmovae r15d, dword [rbp - 0x31]
sub eax, r9d
add r8d, eax
imul rcx, r10, 0x110
mov r10d, dword [rbp + 0x67]
mov eax, r8d
add rcx, rax
mov eax, edx
shl rax, 5
mov ecx, dword [rbx + rcx*4 + 0xb170]
add ecx, edi
mov edi, dword [rbp + 0x7f]
cmp ecx, dword [rax + rbx + 0xf578]
jae 0x1401886c1
inc r9w
mov dword [rax + rbx + 0xf578], ecx
mov word [rax + rbx + 0xf57e], r9w
mov dword [rax + rbx + 0xf580], r8d
mov dword [rax + rbx + 0xf584], edi
jmp 0x1401886c1
mov esi, dword [rbp + 0x77]
jmp 0x1401886c1
mov r10d, dword [rbp + 0x67]
mov rax, qword [rbp + 7]
inc edi
add rax, 4
mov dword [rbp + 0x7f], edi
mov qword [rbp + 7], rax
cmp edi, 4
jb 0x1401882e0
mov rcx, qword [rbp - 0x11]
lea r8, [rbx + 0xa20]
xor r11d, r11d
mov dword [rbp + 0x7f], r15d
cmp ecx, esi
jbe 0x140188716
mov ecx, esi
mov edx, r11d
cmp esi, dword [r8]
jbe 0x140188709
nop dword [rax + rax]
add edx, 2
cmp esi, dword [r8 + rdx*4]
ja 0x140188700
mov eax, edx
add edx, 2
mov qword [rbp - 1], rdx
mov dword [r8 + rax*4], esi
cmp ecx, r10d
jb 0x140188b05
mov rax, qword [rbp - 0x61]
mov edx, dword [rbp - 0x49]
movzx eax, word [rbx + rax*2 + 0x1f10]
shr rax, 4
mov eax, dword [rbx + rax*4 + 0x820]
add edx, eax
lea eax, [rcx + r12]
mov dword [rbp - 0x75], edx
cmp r15d, eax
mov r12d, r11d
cmovae eax, r15d
mov dword [rbp + 0x7f], eax
cmp r10d, dword [r8]
jbe 0x14018875e
add r12d, 2
cmp r10d, dword [r8 + r12*4]
ja 0x140188754
mov edi, dword [rbp + 0x67]
mov ecx, 0x13
mov r14d, dword [rbp - 0x79]
mov eax, r12d
mov esi, dword [r8 + rax*4 + 4]
lea r10, [r8 + rax*4]
cmp esi, 0x100000
mov dword [rbp + 0x77], esi
mov eax, 6
mov r8d, esi
cmovb ecx, eax
mov eax, esi
shr rax, cl
mov ecx, 0xc
cmp esi, 0x100000
movzx r9d, byte [rax + rbx + 0x2d70]
mov eax, 0x26
cmovb eax, ecx
add edi, 3
add r9d, eax
imul rax, qword [rbp - 9], 0x110
add r14d, 0xfffffffd
mov qword [rbp - 0x21], rax
mov dword [rbp + 0x67], r14d
lea r13d, [rdi - 3]
mov r15d, r13d
add rax, r15
mov r11d, dword [rbx + rax*4 + 0x6d6c]
lea eax, [r13 - 2]
add r11d, edx
mov edx, 3
cmp eax, edx
cmovb edx, eax
cmp esi, 0x80
jae 0x140188806
mov rax, r8
shl rdx, 7
and eax, 0x7f
add rdx, rax
mov ecx, dword [rbx + rdx*4 + 0x16f0]
jmp 0x140188824
shl rdx, 6
mov eax, r9d
add rdx, rax
mov rax, r8
and eax, 0xf
mov ecx, dword [rbx + rdx*4 + 0x12f0]
add ecx, dword [rbx + rax*4 + 0x12b0]
add r11d, ecx
lea ecx, [r14 + rdi]
shl rcx, 5
cmp r11d, dword [rcx + rbx + 0xf578]
jae 0x14018885d
lea eax, [rsi + 4]
mov dword [rcx + rbx + 0xf578], r11d
mov dword [rcx + rbx + 0xf584], eax
xor eax, eax
mov word [rcx + rbx + 0xf57e], ax
mov dword [rcx + rbx + 0xf580], r13d
cmp r13d, dword [r10]
jne 0x140188af3
mov rsi, qword [rbp - 0x41]
mov r10d, edi
mov edx, dword [rbx + 0x48]
mov r9, rsi
add edx, 0xfffffffe
sub r9, r8
add edx, edi
cmp edx, dword [rbp - 0x39]
cmova edx, dword [rbp - 0x39]
cmp edi, edx
ja 0x140188a9b
lea eax, [rdi - 2]
mov ecx, eax
movzx eax, byte [r9 + rax - 1]
cmp byte [rcx + rsi], al
jne 0x140188a9b
lea eax, [rdi - 1]
mov ecx, eax
movzx eax, byte [r9 + rax - 1]
cmp byte [rcx + rsi], al
jne 0x140188a9b
cmp edi, edx
jae 0x1401888d6
mov ecx, edi
lea r8, [r9 - 1]
add rcx, rsi
sub r8, rsi
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x1401888d6
inc r10d
inc rcx
cmp r10d, edx
jb 0x1401888c2
mov edx, dword [rbp + 0x6f]
lea r8, [0x140000000]
mov rcx, qword [rbp - 0x61]
add edx, 0xfffffffd
movzx r9d, byte [r9 + r13 - 1]
add edx, edi
mov r14, qword [rbx + 0x68]
mov eax, edx
and eax, dword [rbx + 0x64]
movzx ecx, byte [rcx + r8 + 0x220cb0]
mov dword [rbp - 0x31], eax
shl rcx, 4
add rcx, rax
shl edx, 8
mov dword [rbp - 0x35], r10d
sub r10d, r13d
movzx eax, word [rbx + rcx*2 + 0x1f70]
mov ecx, dword [rbx + 0xbc]
shr rax, 4
mov eax, dword [rbx + rax*4 + 0x820]
add eax, r11d
mov r11d, 0x100
mov dword [rbp - 0x49], eax
xor eax, eax
mov esi, eax
mov rax, qword [rbp - 0x41]
movzx r8d, byte [r13 + rax]
movzx eax, byte [r13 + rax - 1]
or r8d, r11d
add eax, edx
and eax, dword [rbx + 0x60]
shl eax, cl
lea r15d, [rax + rax*2]
nop dword [rax]
add r9d, r9d
mov eax, r11d
and eax, r9d
mov ecx, r8d
shr ecx, 8
add eax, r11d
add eax, ecx
mov ecx, r8d
shr ecx, 7
add rax, r15
and ecx, 1
add r8d, r8d
neg ecx
shr rcx, 4
movzx edx, word [r14 + rax*2]
and ecx, 0x7f
shr rdx, 4
mov eax, r8d
xor rdx, rcx
xor eax, r9d
not eax
and r11d, eax
add esi, dword [rbx + rdx*4 + 0x820]
cmp r8d, 0x10000
jb 0x140188960
mov r8d, dword [rbp - 0x31]
mov eax, dword [rbx + 0x64]
inc r8d
mov r9d, dword [rbp - 0x35]
and r8, rax
add r9d, dword [rbp - 0x79]
cmp dword [rbp + 0x7f], r9d
mov r14d, r9d
cmovae r14d, dword [rbp + 0x7f]
dec r10d
movzx ecx, word [rbx + r8*2 + 0x2170]
movzx eax, word [rbx + r8*2 + 0x1ff0]
xor rcx, 0x7f0
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
mov edx, r10d
mov dword [rbp + 0x7f], r14d
mov r11d, dword [rbx + rcx*4 + 0x820]
add r11d, dword [rbx + rax*4 + 0x820]
movzx eax, word [rbx + 0x1f18]
xor rax, 0x7f0
mov ecx, r9d
shr rax, 4
shl rcx, 5
add rcx, rbx
add r11d, dword [rbx + rax*4 + 0x820]
movzx eax, word [rbx + 0x1f30]
shr rax, 4
add r11d, dword [rbx + rax*4 + 0x820]
imul rax, r8, 0x110
add rax, rdx
add r11d, dword [rbx + rax*4 + 0xb170]
add r11d, esi
add r11d, dword [rbp - 0x49]
cmp r11d, dword [rcx + 0xf578]
jae 0x140188a97
mov eax, dword [rbp + 0x77]
inc r13w
add eax, 4
mov dword [rcx + 0xf578], r11d
mov dword [rcx + 0xf584], eax
mov dword [rcx + 0xf580], r10d
mov word [rcx + 0xf57e], r13w
mov dword [rbp + 0x7f], r14d
mov r14d, dword [rbp + 0x67]
add r12d, 2
cmp r12d, dword [rbp - 1]
je 0x140188b01
mov eax, r12d
mov ecx, 0x13
add rax, 0x288
mov esi, dword [rbx + rax*4 + 4]
lea r10, [rbx + rax*4]
cmp esi, 0x100000
mov dword [rbp + 0x77], esi
mov eax, 6
mov r8d, esi
cmovb ecx, eax
mov eax, esi
shr rax, cl
mov ecx, 0xc
cmp esi, 0x100000
movzx r9d, byte [rax + rbx + 0x2d70]
mov eax, 0x26
cmovb eax, ecx
add r9d, eax
mov rax, qword [rbp - 0x21]
inc edi
mov edx, dword [rbp - 0x75]
jmp 0x1401887c5
mov r12d, dword [rbp - 0x79]
mov esi, dword [rbp + 0x7f]
lea r15, [0x140000000]
inc r12d
mov dword [rbp - 0x79], r12d
cmp r12d, esi
jne 0x140187c70
jmp 0x140188b8a
mov dword [rbx + 0x3c], eax
mov dword [rbx + 0x38], r14d
jmp 0x140188b8a
mov eax, r12d
lea edx, [r12 + 1]
shl rax, 5
mov edi, r12d
mov r8d, dword [rax + rbx + 0xf578]
cmp edx, esi
ja 0x140188b77
nop word [rax + rax]
mov eax, edx
shl rax, 5
mov ecx, dword [rax + rbx + 0xf578]
cmp r8d, ecx
mov eax, edx
cmovb eax, edi
inc edx
cmp r8d, ecx
mov edi, eax
cmovb ecx, r8d
mov r8d, ecx
cmp edx, esi
jbe 0x140188b50
mov edx, edi
sub edx, r12d
je 0x140188b87
add dword [rbx + 0x4c], edx
mov rcx, qword [rbx]
call qword [rbx + 0x28]
mov r12d, edi
mov r14d, 1
mov eax, esi
shl rax, 5
mov dword [rax + rbx + 0xf578], 0x40000000
add esi, 0xffffffff
jne 0x140188b90
lea r8d, [r12 + 1]
mov dword [rbx + 0x34], r8d
nop
mov eax, r12d
add rax, 0x7ac
mov edx, r12d
shl rdx, 5
shl rax, 5
movzx r10d, word [rdx + rbx + 0xf57e]
mov r9d, dword [rax + rbx]
sub r12d, r9d
mov r11d, dword [rdx + rbx + 0xf584]
test r10d, r10d
je 0x140188c47
dec r8d
sub r12d, r10d
mov ecx, r8d
shl rcx, 5
lea rax, [r8 + 0x7ac]
shl rax, 5
mov dword [rax + rbx], r9d
mov r9d, r10d
cmp r10d, 1
jne 0x140188c16
mov dword [rcx + rbx + 0xf584], r11d
mov r11d, 0xffffffff
jmp 0x140188c47
xor eax, eax
lea r9d, [r10 - 1]
mov dword [rcx + rbx + 0xf584], eax
dec r8d
mov eax, r8d
shl rax, 5
mov dword [rax + rbx + 0xf584], 0xffffffff
lea rax, [r8 + 0x7ac]
shl rax, 5
mov dword [rax + rbx], r14d
test r12d, r12d
je 0x140188c72
dec r8d
mov eax, r8d
shl rax, 5
mov dword [rax + rbx + 0xf584], r11d
lea rax, [r8 + 0x7ac]
shl rax, 5
mov dword [rax + rbx], r9d
jmp 0x140188bb0
mov dword [rbx + 0xb8], r11d
mov eax, r9d
mov dword [rbx + 0x30], r8d
jmp 0x140188c91
mov dword [rbx + 0xb8], 0xffffffff
mov eax, 1
mov r15, qword [rsp + 0xb8]
mov r14, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xc8]
add rsp, 0xd0
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret