Function at 0x14002df70
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
lea rbp, [rsp - 0x4f]
sub rsp, 0xe8
mov rax, qword [0x1400b8040]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov r9, r8
mov qword [rbp - 0x31], r8
mov r8d, dword [rcx + 0x75c]
mov rbx, rcx
mov dword [rbp - 0x5d], edx
cmp dword [rcx + 0x758], r8d
je 0x14002dfd7
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 0x14002f94d
cmp dword [rcx + 0x33204], 0
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0xc8], r14
mov r14d, 0x111
mov qword [rsp + 0xc0], r15
mov qword [rcx + 0x758], 0
jne 0x14002e0ab
mov rcx, qword [rcx + 0x30]
xor r13d, r13d
call qword [rbx + 0x10]
mov rcx, qword [rbx + 0x30]
lea rdx, [rbx + 0x3296c]
mov dword [rbx + 0x768], eax
call qword [rbx + 0x20]
mov dword [rbp - 0x61], eax
mov esi, eax
test eax, eax
je 0x14002e0a3
lea ecx, [rax - 2]
mov r13d, dword [rbx + rcx*4 + 0x3296c]
cmp r13d, dword [rbx + 0x33200]
jne 0x14002e0a3
mov rcx, qword [rbx + 0x30]
call qword [rbx + 0x18]
mov r8d, dword [rbx + 0x768]
lea ecx, [rsi - 1]
mov ecx, dword [rbx + rcx*4 + 0x3296c]
lea r9, [rax - 1]
inc ecx
mov rdx, r9
cmp r8d, r14d
cmova r8d, r14d
sub rdx, rcx
cmp r13d, r8d
jae 0x14002e0a3
lea rcx, [r9 + r13]
sub rdx, r9
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x14002e0a3
inc r13d
inc rcx
cmp r13d, r8d
jb 0x14002e090
inc dword [rbx + 0x33204]
jmp 0x14002e0bb
mov eax, dword [rcx + 0x764]
mov r13d, dword [rcx + 0x760]
mov dword [rbp - 0x61], eax
mov r15d, dword [rbx + 0x768]
mov qword [rsp + 0xd8], r12
cmp r15d, 2
jb 0x14002f90e
mov rcx, qword [rbx + 0x30]
cmp r15d, r14d
cmova r15d, r14d
call qword [rbx + 0x18]
movzx r11d, byte [rax - 1]
mov r10, rax
lea r9, [rax - 1]
mov eax, dword [rbx + 0x33208]
mov r8, r9
mov dword [rbp - 0x65], eax
mov dword [rbp - 9], eax
lea edx, [rax + 1]
sub r8, rdx
cmp r11b, byte [r8]
jne 0x14002e13a
movzx eax, byte [r8 + 1]
cmp byte [r10], al
jne 0x14002e13a
mov r12d, 2
cmp r15d, r12d
jbe 0x14002e13d
lea rcx, [r9 + 2]
sub r8, r9
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x14002e13d
inc r12d
inc rcx
cmp r12d, r15d
jb 0x14002e124
jmp 0x14002e13d
xor r12d, r12d
mov eax, dword [rbx + 0x3320c]
mov rdx, r9
mov dword [rbp + 7], r12d
mov dword [rbp - 5], eax
lea ecx, [rax + 1]
sub rdx, rcx
cmp r11b, byte [rdx]
jne 0x14002e190
movzx eax, byte [rdx + 1]
cmp byte [r10], al
jne 0x14002e190
mov edi, 2
cmp r15d, edi
jbe 0x14002e184
lea rcx, [r9 + 2]
sub rdx, r9
movzx eax, byte [rcx + rdx]
cmp byte [rcx], al
jne 0x14002e184
inc edi
inc rcx
cmp edi, r15d
jb 0x14002e172
xor r8d, r8d
cmp edi, r12d
seta r8b
jmp 0x14002e195
xor edi, edi
xor r8d, r8d
mov eax, dword [rbx + 0x33210]
mov rdx, r9
mov dword [rbp + 0xb], edi
mov dword [rbp - 1], eax
lea ecx, [rax + 1]
sub rdx, rcx
cmp r11b, byte [rdx]
jne 0x14002e1f9
movzx eax, byte [rdx + 1]
cmp byte [r10], al
jne 0x14002e1f9
mov r14d, 2
cmp r15d, r14d
jbe 0x14002e1e3
lea rcx, [r9 + 2]
sub rdx, r9
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
cmp byte [rcx], al
jne 0x14002e1e3
inc r14d
inc rcx
cmp r14d, r15d
jb 0x14002e1d0
mov eax, r8d
mov dword [rbp + 0xf], r14d
cmp r14d, dword [rbp + rax*4 + 7]
jbe 0x14002e200
mov r8d, 2
jmp 0x14002e200
xor r14d, r14d
mov dword [rbp + 0xf], r14d
mov eax, dword [rbx + 0x33214]
mov rdx, r9
mov dword [rbp + 3], eax
lea ecx, [rax + 1]
sub rdx, rcx
cmp r11b, byte [rdx]
jne 0x14002e257
movzx eax, byte [rdx + 1]
cmp byte [r10], al
jne 0x14002e257
mov esi, 2
cmp r15d, esi
jbe 0x14002e243
lea rcx, [r9 + 2]
sub rdx, r9
movzx eax, byte [rcx + rdx]
cmp byte [rcx], al
jne 0x14002e243
inc esi
inc rcx
cmp esi, r15d
jb 0x14002e231
mov eax, r8d
mov dword [rbp + 0x13], esi
cmp esi, dword [rbp + rax*4 + 7]
jbe 0x14002e25c
mov r8d, 3
jmp 0x14002e25c
xor esi, esi
mov dword [rbp + 0x13], esi
mov eax, r8d
mov r15d, dword [rbp + rax*4 + 7]
mov eax, dword [rbx + 0x33200]
mov dword [rbp - 0x6d], r15d
cmp r15d, eax
jb 0x14002e297
mov rcx, qword [rbp - 0x31]
lea edx, [r15 - 1]
mov dword [rcx], r8d
test edx, edx
je 0x14002e28f
add dword [rbx + 0x33204], edx
mov rcx, qword [rbx + 0x30]
call qword [rbx + 0x28]
mov eax, r15d
jmp 0x14002f91d
cmp r13d, eax
jb 0x14002e2ce
mov eax, dword [rbp - 0x61]
mov rcx, qword [rbp - 0x31]
dec eax
mov edx, dword [rbx + rax*4 + 0x3296c]
add edx, 4
mov dword [rcx], edx
lea edx, [r13 - 1]
test edx, edx
je 0x14002e2c6
add dword [rbx + 0x33204], edx
mov rcx, qword [rbx + 0x30]
call qword [rbx + 0x28]
mov eax, r13d
jmp 0x14002f91d
mov ecx, dword [rbp - 0x65]
mov rax, r9
inc ecx
movzx edx, r11b
sub rax, rcx
mov byte [rbp - 0x69], dl
movzx r10d, byte [rax]
mov byte [rbp - 0x59], r10b
cmp r13d, 2
jae 0x14002e2fd
cmp dl, r10b
je 0x14002e2fd
cmp r15d, 2
jb 0x14002f90e
mov r8d, dword [rbx + 0x33218]
mov ecx, 8
mov dword [rbx + 0x770], r8d
sub cl, byte [rbx + 0x33e64]
mov eax, dword [rbx + 0x33e70]
and eax, dword [rbp - 0x5d]
movzx edx, byte [r9 - 1]
mov r15d, dword [rbx + 0x33e74]
and r15d, dword [rbp - 0x5d]
shr edx, cl
mov ecx, dword [rbx + 0x33e64]
shl eax, cl
add edx, eax
mov dword [rbp - 0x71], r15d
mov rax, qword [rbx + 0x33e78]
lea ecx, [rdx + rdx*2]
movzx edx, byte [rbp - 0x69]
shl ecx, 8
bts edx, 8
lea r11, [rax + rcx*2]
cmp r8d, 7
jb 0x14002e3be
mov r8d, r10d
mov r9d, 0x100
xor r10d, r10d
nop word [rax + rax]
add r8d, r8d
mov eax, r9d
and eax, r8d
mov ecx, edx
add eax, r9d
shr ecx, 8
add ecx, eax
mov eax, edx
shr eax, 7
add edx, edx
and eax, 1
neg eax
movzx ecx, word [r11 + rcx*2]
sar rax, 4
and eax, 0x7f
shr rcx, 4
xor rcx, rax
mov eax, edx
xor eax, r8d
not eax
and r9d, eax
add r10d, dword [rbx + rcx*4 + 0x3276c]
cmp edx, 0x10000
jb 0x14002e370
jmp 0x14002e408
xor r8d, r8d
nop dword [rax]
nop word [rax + rax]
mov eax, edx
shr rax, 8
movzx ecx, word [r11 + rax*2]
mov eax, edx
shr eax, 7
add edx, edx
and eax, 1
shr rcx, 4
neg eax
sar rax, 4
and eax, 0x7f
xor rcx, rax
add r8d, dword [rbx + rcx*4 + 0x3276c]
cmp edx, 0x10000
jb 0x14002e3d0
mov r10d, r8d
mov edx, dword [rbx + 0x33218]
xor r11d, r11d
mov r8d, r15d
lea rax, [rdx + 0x19f4]
shl rax, 4
add rax, r8
lea rcx, [rbx + rax*2]
movzx eax, word [rbx + rax*2]
shr rax, 4
mov r9d, dword [rbx + rax*4 + 0x3276c]
add r9d, r10d
mov dword [rbx + 0x7b8], 0xffffffff
mov dword [rbx + 0x79c], r9d
mov dword [rbx + 0x7a4], r11d
movzx eax, word [rcx]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rax*4 + 0x3276c]
movzx eax, word [rbx + rdx*2 + 0x34000]
xor rax, 0x7f0
mov dword [rbp - 0x35], ecx
shr rax, 4
mov r10d, dword [rbx + rax*4 + 0x3276c]
mov eax, 0xffffffff
add r10d, ecx
movzx ecx, byte [rbp - 0x69]
mov dword [rbp - 0x79], r10d
cmp byte [rbp - 0x59], cl
jne 0x14002e4e4
lea rax, [rdx + 0x1a03]
shl rax, 4
add rax, r8
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, r10d
cmp edx, r9d
jae 0x14002e4e4
mov dword [rbx + 0x79c], edx
mov eax, r11d
mov dword [rbx + 0x7b8], r11d
mov ecx, dword [rbp - 0x6d]
cmp r13d, ecx
cmovae ecx, r13d
mov dword [rbp - 0x6d], ecx
cmp ecx, 2
jae 0x14002e501
mov rcx, qword [rbp - 0x31]
mov dword [rcx], eax
jmp 0x14002f918
mov eax, dword [rbp - 0x65]
mov edx, ecx
mov dword [rbx + 0x7b4], r11d
mov dword [rbx + 0x78c], eax
mov eax, dword [rbp - 5]
mov dword [rbx + 0x790], eax
mov eax, dword [rbp - 1]
mov dword [rbx + 0x794], eax
mov eax, dword [rbp + 3]
mov dword [rbx + 0x798], eax
nop
mov eax, edx
dec edx
lea rcx, [rax + rax*2]
add rcx, rcx
mov dword [rbx + rcx*8 + 0x76c], 0x40000000
cmp edx, 2
jae 0x14002e530
mov r15d, r12d
cmp r12d, 2
jb 0x14002e5ca
mov r9d, dword [rbp - 0x71]
xor edx, edx
mov r8d, dword [rbx + 0x33218]
mov rcx, rbx
call fcn.14002dd90
add eax, dword [rbp - 0x79]
mov ecx, dword [rbp - 0x71]
imul r9, rcx, 0x110
nop word [rax + rax]
lea ecx, [r15 - 2]
add rcx, r9
mov r8d, dword [rbx + rcx*4 + 0x39130]
mov ecx, r15d
add r8d, eax
lea rdx, [rcx + rcx*2]
add rdx, rdx
cmp r8d, dword [rbx + rdx*8 + 0x76c]
jae 0x14002e5c1
xor r11d, r11d
mov dword [rbx + rdx*8 + 0x76c], r8d
mov qword [rbx + rdx*8 + 0x784], r11
mov dword [rbx + rdx*8 + 0x774], r11d
dec r15d
cmp r15d, 2
jae 0x14002e580
cmp edi, 2
jb 0x14002e650
mov r15d, dword [rbp - 0x71]
mov edx, 1
mov r8d, dword [rbx + 0x33218]
mov r9d, r15d
mov rcx, rbx
call fcn.14002dd90
add eax, dword [rbp - 0x79]
imul r9, r15, 0x110
nop dword [rax + rax]
lea ecx, [rdi - 2]
add rcx, r9
mov r8d, dword [rbx + rcx*4 + 0x39130]
mov ecx, edi
add r8d, eax
lea rdx, [rcx + rcx*2]
add rdx, rdx
cmp r8d, dword [rbx + rdx*8 + 0x76c]
jae 0x14002e647
mov dword [rbx + rdx*8 + 0x76c], r8d
xor ecx, ecx
mov dword [rbx + rdx*8 + 0x784], ecx
mov dword [rbx + rdx*8 + 0x788], 1
mov dword [rbx + rdx*8 + 0x774], ecx
dec edi
cmp edi, 2
jae 0x14002e600
jmp 0x14002e654
mov r15d, dword [rbp - 0x71]
cmp r14d, 2
jb 0x14002e6d4
mov r8d, dword [rbx + 0x33218]
mov r9d, r15d
mov edx, 2
mov rcx, rbx
call fcn.14002dd90
mov edi, dword [rbp - 0x79]
add eax, edi
mov ecx, r15d
imul r9, rcx, 0x110
lea ecx, [r14 - 2]
add rcx, r9
mov r8d, dword [rbx + rcx*4 + 0x39130]
mov ecx, r14d
add r8d, eax
lea rdx, [rcx + rcx*2]
add rdx, rdx
cmp r8d, dword [rbx + rdx*8 + 0x76c]
jae 0x14002e6c9
mov dword [rbx + rdx*8 + 0x76c], r8d
xor ecx, ecx
mov dword [rbx + rdx*8 + 0x784], ecx
mov dword [rbx + rdx*8 + 0x788], 2
mov dword [rbx + rdx*8 + 0x774], ecx
dec r14d
cmp r14d, 2
jae 0x14002e680
jmp 0x14002e6d7
mov edi, dword [rbp - 0x79]
cmp esi, 2
jb 0x14002e74e
mov r8d, dword [rbx + 0x33218]
mov r9d, r15d
mov edx, 3
mov rcx, rbx
call fcn.14002dd90
add eax, edi
mov ecx, r15d
imul r9, rcx, 0x110
nop
lea ecx, [rsi - 2]
add rcx, r9
mov r8d, dword [rbx + rcx*4 + 0x39130]
mov ecx, esi
add r8d, eax
lea rdx, [rcx + rcx*2]
add rdx, rdx
cmp r8d, dword [rbx + rdx*8 + 0x76c]
jae 0x14002e747
mov dword [rbx + rdx*8 + 0x76c], r8d
xor ecx, ecx
mov dword [rbx + rdx*8 + 0x784], ecx
mov dword [rbx + rdx*8 + 0x788], 3
mov dword [rbx + rdx*8 + 0x774], ecx
dec esi
cmp esi, 2
jae 0x14002e700
mov eax, dword [rbx + 0x33218]
lea r9d, [r12 + 1]
mov r14d, dword [rbp - 0x35]
movzx eax, word [rbx + rax*2 + 0x34000]
shr rax, 4
add r14d, dword [rbx + rax*4 + 0x3276c]
cmp r12d, 2
jae 0x14002e77d
mov r9d, 2
xor r12d, r12d
cmp r9d, r13d
ja 0x14002e89b
mov r8d, r12d
cmp r9d, dword [rbx + 0x3296c]
jbe 0x14002e7ae
nop word [rax + rax]
add r8d, 2
cmp r9d, dword [rbx + r8*4 + 0x3296c]
ja 0x14002e7a0
mov eax, r15d
mov r15d, dword [rbp - 0x61]
imul rsi, rax, 0x110
nop dword [rax]
lea eax, [r8 + 1]
mov edx, 3
mov edi, dword [rbx + rax*4 + 0x3296c]
lea ecx, [r9 - 2]
mov eax, ecx
mov r11d, edi
add rax, rsi
mov r10d, dword [rbx + rax*4 + 0x348e8]
add r10d, r14d
cmp r9d, 5
cmovb edx, ecx
cmp edi, 0x80
jae 0x14002e807
shl rdx, 7
add rdx, rdi
add r10d, dword [rbx + rdx*4 + 0x3361c]
jmp 0x14002e847
mov rax, r11
shl rdx, 6
and r11d, 0xf
mov ecx, 0x7ffff
sub ecx, edi
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, rdx
mov eax, dword [rbx + rax*4 + 0x3321c]
add eax, dword [rbx + r11*4 + 0x33e1c]
add r10d, eax
mov eax, r9d
lea rcx, [rax + rax*2]
add rcx, rcx
cmp r10d, dword [rbx + rcx*8 + 0x76c]
jae 0x14002e87d
lea eax, [rdi + 4]
mov dword [rbx + rcx*8 + 0x76c], r10d
mov dword [rbx + rcx*8 + 0x788], eax
mov dword [rbx + rcx*8 + 0x784], r12d
mov dword [rbx + rcx*8 + 0x774], r12d
mov eax, r8d
cmp r9d, dword [rbx + rax*4 + 0x3296c]
jne 0x14002e893
add r8d, 2
cmp r8d, r15d
je 0x14002e89b
inc r9d
jmp 0x14002e7c0
mov r13d, 1
lea rsi, [rbx + 0x3296c]
mov dword [rbp - 0x75], r13d
lea r14, [0x140000000]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbx + 0x30]
mov edi, r12d
mov dword [rbp - 0x55], r12d
call qword [rbx + 0x10]
mov rcx, qword [rbx + 0x30]
mov rdx, rsi
mov dword [rbx + 0x768], eax
call qword [rbx + 0x20]
mov dword [rbp - 0x35], eax
mov esi, eax
test eax, eax
je 0x14002e94d
lea ecx, [rax - 2]
mov edi, dword [rbx + rcx*4 + 0x3296c]
mov dword [rbp - 0x55], edi
cmp edi, dword [rbx + 0x33200]
jne 0x14002e94d
mov rcx, qword [rbx + 0x30]
call qword [rbx + 0x18]
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 0x14002e94d
lea rcx, [r9 + rdi]
sub rdx, r9
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x14002e94a
inc edi
inc rcx
cmp edi, r8d
jb 0x14002e938
mov dword [rbp - 0x55], edi
inc dword [rbx + 0x33204]
cmp edi, dword [rbx + 0x33200]
jae 0x14002f8f1
inc dword [rbp - 0x5d]
mov eax, r13d
lea rdi, [rax + rax*2]
shl rdi, 4
add rdi, 0x76c
add rdi, rbx
mov r8d, dword [rdi + 8]
mov edx, dword [rdi + 0x18]
test r8d, r8d
je 0x14002e9e6
dec edx
cmp dword [rdi + 0xc], 0
je 0x14002e9ce
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 0x14002e9bc
mov eax, dword [rax + r14 + 0xa6d98]
mov ecx, dword [r14 + rax*4 + 0xa6d08]
jmp 0x14002e9f4
mov eax, dword [rax + r14 + 0xa6d38]
mov ecx, dword [r14 + rax*4 + 0xa6d08]
jmp 0x14002e9f4
lea rcx, [rdx + rdx*2]
add rcx, rcx
mov eax, dword [rbx + rcx*8 + 0x770]
mov ecx, dword [r14 + rax*4 + 0xa6d08]
jmp 0x14002e9f4
lea rcx, [rdx + rdx*2]
add rcx, rcx
mov ecx, dword [rbx + rcx*8 + 0x770]
lea eax, [r13 - 1]
cmp edx, eax
jne 0x14002ea26
cmp dword [rdi + 0x1c], 0
mov eax, ecx
jne 0x14002ea15
mov r15d, dword [r14 + rax*4 + 0xa6d68]
mov dword [rbp - 0x79], r15d
jmp 0x14002eb40
mov r15d, dword [r14 + rax*4 + 0xa6d08]
mov dword [rbp - 0x79], r15d
jmp 0x14002eb40
test r8d, r8d
je 0x14002ea67
cmp dword [rdi + 0xc], 0
je 0x14002ea67
mov r9d, dword [rdi + 0x14]
mov eax, ecx
mov r15d, dword [r14 + rax*4 + 0xa6d98]
mov eax, dword [rdi + 0x10]
mov dword [rbp - 0x79], r15d
lea r10, [rax + rax*2]
shl r10, 4
add r10, 0x76c
add r10, rbx
mov r11, r10
cmp r9d, 4
jae 0x14002eb21
jmp 0x14002eaa0
mov r9d, dword [rdi + 0x1c]
lea r10, [rdx + rdx*2]
shl r10, 4
add r10, 0x76c
mov eax, ecx
add r10, rbx
lea rax, [rax*4]
cmp r9d, 4
jae 0x14002eb15
mov r15d, dword [rax + r14 + 0xa6d98]
mov r11, r10
mov dword [rbp - 0x79], r15d
mov eax, r9d
mov r8d, 1
mov ecx, dword [r10 + rax*4 + 0x20]
mov dword [rbp - 9], ecx
cmp r9d, r8d
jb 0x14002eae6
nop word [rax + rax]
mov edx, r8d
lea eax, [r8 - 1]
mov eax, dword [r11 + rax*4 + 0x20]
inc r8d
mov dword [rbp + rdx*4 - 9], eax
cmp r8d, r9d
jbe 0x14002eac0
cmp r8d, 4
jb 0x14002eae6
mov eax, dword [rbp - 9]
mov dword [rbp - 0x65], eax
jmp 0x14002eb43
mov eax, r8d
lea rdx, [r10 + 0x20]
lea rcx, [rbp - 9]
lea rcx, [rcx + rax*4]
lea rdx, [rdx + rax*4]
mov eax, 4
sub eax, r8d
mov r8d, eax
shl r8, 2
call fcn.140092620
mov eax, dword [rbp - 9]
mov dword [rbp - 0x65], eax
jmp 0x14002eb43
mov r15d, dword [rax + r14 + 0xa6d38]
mov dword [rbp - 0x79], r15d
lea eax, [r9 - 4]
mov dword [rbp - 0x65], eax
mov dword [rbp - 9], eax
mov eax, dword [r10 + 0x20]
mov dword [rbp - 5], eax
mov eax, dword [r10 + 0x24]
mov dword [rbp - 1], eax
mov eax, dword [r10 + 0x28]
mov dword [rbp + 3], eax
mov eax, dword [rbp - 0x65]
mov dword [rdi + 4], r15d
mov dword [rdi + 0x20], eax
mov eax, dword [rbp - 5]
mov dword [rdi + 0x24], eax
mov eax, dword [rbp - 1]
mov dword [rdi + 0x28], eax
mov eax, dword [rbp + 3]
mov dword [rdi + 0x2c], eax
mov r14d, dword [rdi]
mov edi, r12d
mov rcx, qword [rbx + 0x30]
call qword [rbx + 0x18]
mov edx, dword [rbp - 0x65]
movzx r12d, byte [rax - 1]
inc edx
mov qword [rbp - 0x11], rax
lea r8, [rax - 1]
mov eax, dword [rbp - 0x5d]
and eax, dword [rbx + 0x33e74]
mov rcx, r8
sub rcx, rdx
mov dword [rbp - 0x71], eax
movzx edx, byte [r8 - 1]
mov qword [rbp - 0x51], r8
movzx esi, byte [rcx]
mov ecx, r15d
add rcx, 0x19f4
shl rcx, 4
add rcx, rax
movzx eax, word [rbx + rcx*2]
mov ecx, 8
sub cl, byte [rbx + 0x33e64]
shr edx, cl
mov ecx, dword [rbx + 0x33e64]
shr rax, 4
mov r15d, dword [rbx + rax*4 + 0x3276c]
mov eax, dword [rbp - 0x5d]
add r15d, r14d
and eax, dword [rbx + 0x33e70]
shl eax, cl
add edx, eax
mov rax, qword [rbx + 0x33e78]
lea ecx, [rdx + rdx*2]
mov edx, r12d
shl ecx, 8
bts edx, 8
cmp dword [rbp - 0x79], 7
lea r11, [rax + rcx*2]
jb 0x14002ec5e
mov r8d, esi
xor r10d, r10d
mov r9d, 0x100
nop word [rax + rax]
add r8d, r8d
mov eax, r9d
and eax, r8d
mov ecx, edx
add eax, r9d
shr ecx, 8
add ecx, eax
mov eax, edx
shr eax, 7
add edx, edx
and eax, 1
neg eax
movzx ecx, word [r11 + rcx*2]
sar rax, 4
and eax, 0x7f
shr rcx, 4
xor rcx, rax
mov eax, edx
xor eax, r8d
not eax
and r9d, eax
add r10d, dword [rbx + rcx*4 + 0x3276c]
cmp edx, 0x10000
jb 0x14002ec10
jmp 0x14002eca8
xor r8d, r8d
nop dword [rax]
nop word [rax + rax]
mov eax, edx
shr rax, 8
movzx ecx, word [r11 + rax*2]
mov eax, edx
shr eax, 7
add edx, edx
and eax, 1
shr rcx, 4
neg eax
sar rax, 4
and eax, 0x7f
xor rcx, rax
add r8d, dword [rbx + rcx*4 + 0x3276c]
cmp edx, 0x10000
jb 0x14002ec70
mov r10d, r8d
lea eax, [r13 + 1]
add r15d, r10d
lea r8, [rax + rax*2]
shl r8, 4
add r8, 0x76c
add r8, rbx
mov r11d, dword [r8]
cmp r15d, r11d
jae 0x14002ece8
mov dword [r8], r15d
mov edi, 1
mov dword [r8 + 0x18], r13d
mov r11d, r15d
mov dword [r8 + 0x1c], 0xffffffff
mov dword [r8 + 8], 0
mov edx, dword [rbp - 0x79]
mov eax, dword [rbp - 0x71]
lea rcx, [rdx + 0x19f4]
shl rcx, 4
add rcx, rax
movzx eax, word [rbx + rcx*2]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rax*4 + 0x3276c]
movzx eax, word [rbx + rdx*2 + 0x34000]
add ecx, r14d
xor rax, 0x7f0
mov dword [rbp - 0x39], ecx
shr rax, 4
mov eax, dword [rbx + rax*4 + 0x3276c]
add eax, ecx
mov dword [rbp - 0x3d], eax
cmp sil, r12b
jne 0x14002ed9f
cmp dword [r8 + 0x18], r13d
jae 0x14002ed47
cmp dword [r8 + 0x1c], 0
je 0x14002ed9f
mov r14d, dword [rbp - 0x79]
mov eax, dword [rbp - 0x71]
lea rcx, [r14 + 0x1a03]
shl rcx, 4
add rcx, rax
movzx eax, word [rbx + r14*2 + 0x34018]
shr rax, 4
movzx ecx, word [rbx + rcx*2]
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x3276c]
add edx, dword [rbx + rax*4 + 0x3276c]
add edx, dword [rbp - 0x3d]
cmp edx, r11d
ja 0x14002eda3
xor eax, eax
mov dword [r8], edx
mov dword [r8 + 0x1c], eax
mov edi, 1
mov dword [r8 + 8], eax
mov dword [r8 + 0x18], r13d
jmp 0x14002eda3
mov r14d, dword [rbp - 0x79]
mov eax, dword [rbx + 0x768]
mov r9d, 0xfff
sub r9d, r13d
cmp r9d, eax
cmovae r9d, eax
mov dword [rbp - 0x29], r9d
cmp r9d, 2
jb 0x14002f8bb
mov r8d, dword [rbx + 0x33200]
cmp r9d, r8d
mov r13d, r8d
cmovbe r13d, r9d
test edi, edi
mov rdi, qword [rbp - 0x51]
mov dword [rbp - 0x45], r13d
jne 0x14002ef77
cmp sil, r12b
je 0x14002ef77
mov ecx, dword [rbp - 0x65]
mov rdx, rdi
inc ecx
sub rdx, rcx
inc r8d
cmp r8d, r9d
jbe 0x14002ee09
mov r8d, r9d
jmp 0x14002ee14
mov r9d, 1
cmp r8d, r9d
jbe 0x14002ee34
lea rcx, [rdi + 1]
sub rdx, rdi
mov r9d, 1
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x14002ee34
inc r9d
inc rcx
cmp r9d, r8d
jb 0x14002ee21
mov r12d, dword [rbp - 0x75]
lea esi, [r9 - 1]
cmp esi, 2
jb 0x14002ef7b
mov edi, dword [rbp - 0x5d]
lea r10d, [r9 + r12]
mov r8d, dword [rbp - 0x6d]
inc edi
and edi, dword [rbx + 0x33e74]
mov eax, r14d
lea r14, [0x140000000]
mov r14d, dword [r14 + rax*4 + 0xa6d08]
mov eax, edi
lea rcx, [r14 + 0x19f4]
shl rcx, 4
add rcx, rax
movzx eax, word [rbx + r14*2 + 0x34000]
xor rax, 0x7f0
shr rax, 4
movzx edx, word [rbx + rcx*2]
xor rdx, 0x7f0
shr rdx, 4
mov r11d, dword [rbx + rdx*4 + 0x3276c]
add r11d, dword [rbx + rax*4 + 0x3276c]
add r11d, r15d
cmp r8d, r10d
jae 0x14002eee1
lea rdx, [r8 + r8*2]
mov dword [rbp - 0x6d], r10d
shl rdx, 4
mov ecx, r10d
add rdx, 0x76c
add rdx, rbx
sub ecx, r8d
mov dword [rdx + 0x30], 0x40000000
lea rdx, [rdx + 0x30]
sub rcx, 1
jne 0x14002eed0
mov ecx, edi
lea edx, [rsi - 2]
mov rdi, qword [rbp - 0x51]
imul rax, rcx, 0x110
add rdx, rax
lea rax, [r14 + 0x1a03]
shl rax, 4
add rax, rcx
mov r9d, dword [rbx + rdx*4 + 0x39130]
movzx ecx, word [rbx + rax*2]
movzx eax, word [rbx + r14*2 + 0x34018]
xor rcx, 0x7f0
shr rcx, 4
shr rax, 4
add r9d, dword [rbx + rcx*4 + 0x3276c]
lea rcx, [r10 + r10*2]
add r9d, dword [rbx + rax*4 + 0x3276c]
add rcx, rcx
add r9d, r11d
cmp r9d, dword [rbx + rcx*8 + 0x76c]
jae 0x14002ef7b
lea eax, [r12 + 1]
mov dword [rbx + rcx*8 + 0x76c], r9d
xor r11d, r11d
mov dword [rbx + rcx*8 + 0x784], eax
mov dword [rbx + rcx*8 + 0x788], r11d
mov qword [rbx + rcx*8 + 0x774], 1
jmp 0x14002ef7b
mov r12d, dword [rbp - 0x75]
mov r10d, dword [rbp - 0x79]
lea rcx, [0x140000000]
mov r9d, dword [rbp - 0x71]
xor r14d, r14d
mov r11d, 2
mov dword [rbp - 0x41], r14d
mov dword [rbp - 0x61], r11d
lea rax, [r10*4 + 0xa6d98]
add rax, rcx
mov qword [rbp + 7], rax
lea rax, [rbp - 9]
mov qword [rbp - 0x19], rax
nop dword [rax]
nop word [rax + rax]
mov edx, dword [rax]
inc edx
neg rdx
movzx eax, byte [rdi + rdx]
lea r15, [rdi + rdx]
mov qword [rbp - 0x21], r15
cmp byte [rdi], al
jne 0x14002f3b9
mov rcx, qword [rbp - 0x11]
movzx eax, byte [r15 + 1]
cmp byte [rcx], al
jne 0x14002f3b9
mov edi, 2
cmp r13d, edi
jbe 0x14002f012
inc rcx
nop dword [rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x14002f012
inc edi
inc rcx
cmp edi, r13d
jb 0x14002f000
mov r11d, dword [rbp - 0x6d]
lea r8d, [rdi + r12]
cmp r11d, r8d
jae 0x14002f051
lea rdx, [r11 + r11*2]
mov dword [rbp - 0x6d], r8d
shl rdx, 4
mov ecx, r8d
add rdx, 0x76c
add rdx, rbx
sub ecx, r11d
nop dword [rax + rax]
mov dword [rdx + 0x30], 0x40000000
lea rdx, [rdx + 0x30]
sub rcx, 1
jne 0x14002f040
mov esi, edi
mov r8d, r10d
mov edx, r14d
mov dword [rbp - 0x49], esi
mov rcx, rbx
call fcn.14002dd90
mov ecx, dword [rbp - 0x71]
mov r13d, eax
add r13d, dword [rbp - 0x3d]
imul r9, rcx, 0x110
nop word [rax + rax]
lea ecx, [rdi - 2]
add rcx, r9
mov r8d, dword [rbx + rcx*4 + 0x39130]
lea ecx, [rdi + r12]
lea rcx, [rcx + rcx*2]
add r8d, r13d
add rcx, rcx
cmp r8d, dword [rbx + rcx*8 + 0x76c]
jae 0x14002f0c9
mov dword [rbx + rcx*8 + 0x76c], r8d
mov dword [rbx + rcx*8 + 0x784], r12d
mov dword [rbx + rcx*8 + 0x788], r14d
mov dword [rbx + rcx*8 + 0x774], 0
dec edi
cmp edi, 2
jae 0x14002f080
mov r11d, dword [rbp - 0x61]
lea r10d, [rsi + 1]
mov edx, dword [rbx + 0x33200]
test r14d, r14d
mov rdi, qword [rbp - 0x51]
cmove r11d, r10d
add edx, r10d
cmp edx, dword [rbp - 0x29]
mov dword [rbp - 0x61], r11d
cmova edx, dword [rbp - 0x29]
cmp r10d, edx
jae 0x14002f124
mov ecx, r10d
mov r8, r15
add rcx, rdi
sub r8, rdi
nop dword [rax + rax]
movzx eax, byte [rcx + r8]
cmp byte [rcx], al
jne 0x14002f124
inc r10d
inc rcx
cmp r10d, edx
jb 0x14002f110
mov eax, 0xffffffff
mov r12d, r10d
sub eax, esi
add r10d, eax
cmp r10d, 2
jb 0x14002f3a9
mov edx, dword [rbx + 0x33e64]
mov rax, rsi
mov rcx, qword [rbp - 0x21]
mov edi, 0x100
mov r8d, dword [rbp - 0x5d]
mov r14, qword [rbx + 0x33e78]
add r8d, esi
mov r15d, r8d
and r8d, dword [rbx + 0x33e70]
movzx r11d, byte [rsi + rcx]
xor esi, esi
mov rcx, qword [rbp - 0x51]
and r15d, dword [rbx + 0x33e74]
movzx r9d, byte [rax + rcx]
lea ecx, [rax - 1]
mov rax, qword [rbp - 0x51]
or r9d, edi
movzx eax, byte [rcx + rax]
mov ecx, 8
sub cl, dl
shr eax, cl
mov ecx, edx
shl r8d, cl
add eax, r8d
lea edx, [rax + rax*2]
shl edx, 8
add r11d, r11d
mov eax, edi
and eax, r11d
mov ecx, r9d
add eax, edi
shr ecx, 8
add eax, ecx
add rax, rdx
movzx ecx, word [r14 + rax*2]
mov eax, r9d
shr eax, 7
add r9d, r9d
and eax, 1
shr rcx, 4
neg eax
sar rax, 4
and eax, 0x7f
xor rcx, rax
mov eax, r9d
xor eax, r11d
not eax
and edi, eax
add esi, dword [rbx + rcx*4 + 0x3276c]
cmp r9d, 0x10000
jb 0x14002f1a1
mov r11d, dword [rbp - 0x49]
mov rax, qword [rbp + 7]
mov ecx, dword [rbp - 0x71]
lea edx, [r11 - 2]
mov r8d, dword [rax]
imul rax, rcx, 0x110
lea rcx, [r8 + 0x19f4]
add rdx, rax
shl rcx, 4
mov eax, r15d
mov r15d, dword [rbp - 0x6d]
add rcx, rax
mov r9d, dword [rbx + rdx*4 + 0x39130]
movzx eax, word [rbx + rcx*2]
shr rax, 4
add r9d, dword [rbx + rax*4 + 0x3276c]
lea rax, [0x140000000]
mov r14d, dword [rax + r8*4 + 0xa6d08]
add r9d, esi
lea esi, [r11 + 1]
add r9d, r13d
add esi, dword [rbp - 0x5d]
and esi, dword [rbx + 0x33e74]
mov r11d, dword [rbp - 0x75]
lea rcx, [r14 + 0x19f4]
shl rcx, 4
add r11d, r12d
mov eax, esi
add rcx, rax
movzx eax, word [rbx + r14*2 + 0x34000]
xor rax, 0x7f0
shr rax, 4
movzx edx, word [rbx + rcx*2]
xor rdx, 0x7f0
shr rdx, 4
mov edi, dword [rbx + rdx*4 + 0x3276c]
add edi, dword [rbx + rax*4 + 0x3276c]
add edi, r9d
cmp r15d, r11d
jae 0x14002f2e1
lea rdx, [r15 + r15*2]
mov dword [rbp - 0x6d], r11d
shl rdx, 4
mov ecx, r11d
add rdx, 0x76c
add rdx, rbx
sub ecx, r15d
nop word [rax + rax]
mov dword [rdx + 0x30], 0x40000000
lea rdx, [rdx + 0x30]
sub rcx, 1
jne 0x14002f2d0
mov r12d, dword [rbp - 0x75]
lea edx, [r10 - 2]
mov r13d, dword [rbp - 0x45]
mov r10d, dword [rbp - 0x79]
mov ecx, esi
imul rax, rcx, 0x110
add rdx, rax
lea rax, [r14 + 0x1a03]
shl rax, 4
add rax, rcx
mov r9d, dword [rbx + rdx*4 + 0x39130]
movzx ecx, word [rbx + rax*2]
movzx eax, word [rbx + r14*2 + 0x34018]
xor rcx, 0x7f0
mov r14d, dword [rbp - 0x41]
shr rcx, 4
shr rax, 4
add r9d, dword [rbx + rcx*4 + 0x3276c]
lea rcx, [r11 + r11*2]
add r9d, dword [rbx + rax*4 + 0x3276c]
add rcx, rcx
mov r11d, dword [rbp - 0x61]
add r9d, edi
mov rdi, qword [rbp - 0x51]
cmp r9d, dword [rbx + rcx*8 + 0x76c]
jae 0x14002f3b5
mov eax, dword [rbp - 0x49]
inc eax
mov dword [rbx + rcx*8 + 0x76c], r9d
add eax, r12d
mov dword [rbx + rcx*8 + 0x788], 0
mov dword [rbx + rcx*8 + 0x784], eax
mov dword [rbx + rcx*8 + 0x774], 1
mov dword [rbx + rcx*8 + 0x778], 1
mov dword [rbx + rcx*8 + 0x77c], r12d
mov dword [rbx + rcx*8 + 0x780], r14d
jmp 0x14002f3b5
mov r13d, dword [rbp - 0x45]
mov r12d, dword [rbp - 0x75]
mov r10d, dword [rbp - 0x79]
mov r9d, dword [rbp - 0x71]
mov rax, qword [rbp - 0x19]
inc r14d
add rax, 4
mov dword [rbp - 0x41], r14d
mov qword [rbp - 0x19], rax
cmp r14d, 4
jb 0x14002efc0
mov ecx, dword [rbp - 0x55]
cmp ecx, r13d
jbe 0x14002f40b
xor edx, edx
mov ecx, r13d
cmp r13d, dword [rbx + 0x3296c]
jbe 0x14002f3fd
nop dword [rax]
add edx, 2
cmp r13d, dword [rbx + rdx*4 + 0x3296c]
ja 0x14002f3f0
mov dword [rbx + rdx*4 + 0x3296c], r13d
add edx, 2
mov dword [rbp - 0x35], edx
cmp ecx, r11d
jb 0x14002f8b7
mov esi, dword [rbp - 0x39]
lea r8d, [rcx + r12]
mov r9d, dword [rbp - 0x6d]
mov eax, r10d
movzx eax, word [rbx + rax*2 + 0x34000]
shr rax, 4
add esi, dword [rbx + rax*4 + 0x3276c]
mov dword [rbp - 0x45], esi
cmp r9d, r8d
jae 0x14002f471
lea rdx, [r9 + r9*2]
mov dword [rbp - 0x6d], r8d
shl rdx, 4
mov ecx, r8d
add rdx, 0x76c
add rdx, rbx
sub ecx, r9d
nop dword [rax]
mov dword [rdx + 0x30], 0x40000000
lea rdx, [rdx + 0x30]
sub rcx, 1
jne 0x14002f460
xor r10d, r10d
mov dword [rbp - 0x55], r10d
cmp r11d, dword [rbx + 0x3296c]
jbe 0x14002f493
add r10d, 2
cmp r11d, dword [rbx + r10*4 + 0x3296c]
ja 0x14002f481
mov dword [rbp - 0x55], r10d
mov edi, dword [rbp - 0x5d]
lea eax, [r10 + 1]
mov r13d, dword [rbx + rax*4 + 0x3296c]
lea r14d, [r11 + 1]
mov r15d, dword [rbp - 0x75]
lea r11d, [r12 - 1]
mov ecx, 0x7ffff
mov dword [rbp - 0x3d], r11d
sub ecx, r13d
mov eax, r13d
shr ecx, 0x1f
neg ecx
and ecx, 0xc
add ecx, 6
shr rax, cl
movzx eax, byte [rax + rbx + 0x3076c]
lea r9d, [rax + rcx*2]
mov eax, dword [rbp - 0x79]
lea rcx, [0x140000000]
mov dword [rbp - 0x49], r9d
lea rax, [rax*4 + 0xa6d38]
add rax, rcx
mov qword [rbp + 7], rax
mov eax, dword [rbp - 0x71]
imul rdx, rax, 0x110
dec edi
mov qword [rbp - 0x21], rdx
mov dword [rbp - 0x41], edi
nop dword [rax + rax]
lea r8d, [r14 - 1]
lea ecx, [r8 - 2]
mov eax, ecx
add rax, rdx
mov edx, r13d
mov r12d, dword [rbx + rax*4 + 0x348e8]
mov eax, 3
add r12d, esi
cmp r8d, 5
cmovb eax, ecx
mov ecx, eax
cmp r13d, 0x80
jae 0x14002f553
shl rcx, 7
add rcx, rdx
add r12d, dword [rbx + rcx*4 + 0x3361c]
jmp 0x14002f571
shl rcx, 6
and edx, 0xf
mov eax, r9d
add rcx, rax
mov eax, dword [rbx + rcx*4 + 0x3321c]
add eax, dword [rbx + rdx*4 + 0x33e1c]
add r12d, eax
lea eax, [r11 + r14]
lea rcx, [rax + rax*2]
shl rcx, 4
add rcx, rbx
cmp r12d, dword [rcx + 0x76c]
jae 0x14002f5ab
lea eax, [r13 + 4]
mov dword [rcx + 0x76c], r12d
mov dword [rcx + 0x788], eax
mov dword [rcx + 0x784], r15d
mov dword [rcx + 0x774], 0
cmp r8d, dword [rbx + r10*4 + 0x3296c]
jne 0x14002f8ab
mov edx, dword [rbx + 0x33200]
lea r8d, [r13 + 1]
mov rcx, qword [rbp - 0x51]
neg r8
add edx, r14d
mov r10d, r14d
cmp edx, dword [rbp - 0x29]
cmova edx, dword [rbp - 0x29]
lea r9, [r8 + rcx]
cmp r14d, edx
jae 0x14002f5fa
mov eax, r14d
add rcx, rax
movzx eax, byte [rcx + r8]
cmp byte [rcx], al
jne 0x14002f5fa
inc r10d
inc rcx
cmp r10d, edx
jb 0x14002f5e6
mov dword [rbp - 0x61], r10d
sub r10d, r14d
cmp r10d, 2
jb 0x14002f84b
mov edx, dword [rbx + 0x33e64]
lea r8d, [rdi + r14]
mov r15, qword [rbx + 0x33e78]
mov eax, r8d
and eax, dword [rbx + 0x33e74]
mov edi, 0x100
and r8d, dword [rbx + 0x33e70]
xor esi, esi
mov dword [rbp - 0x39], eax
lea eax, [r14 - 1]
mov ecx, eax
movzx r11d, byte [rax + r9]
mov rax, qword [rbp - 0x51]
movzx r9d, byte [rcx + rax]
lea ecx, [r14 - 2]
movzx eax, byte [rcx + rax]
or r9d, edi
mov ecx, 8
sub cl, dl
shr eax, cl
mov ecx, edx
shl r8d, cl
add eax, r8d
lea edx, [rax + rax*2]
shl edx, 8
nop dword [rax]
add r11d, r11d
mov eax, edi
and eax, r11d
mov ecx, r9d
add eax, edi
shr ecx, 8
add eax, ecx
add rax, rdx
movzx ecx, word [r15 + rax*2]
mov eax, r9d
shr eax, 7
add r9d, r9d
and eax, 1
shr rcx, 4
neg eax
sar rax, 4
and eax, 0x7f
xor rcx, rax
mov eax, r9d
xor eax, r11d
not eax
and edi, eax
add esi, dword [rbx + rcx*4 + 0x3276c]
cmp r9d, 0x10000
jb 0x14002f670
mov r8d, dword [rbp - 0x39]
mov rax, qword [rbp + 7]
mov r11d, dword [rbp - 0x61]
mov edx, dword [rax]
lea rcx, [rdx + 0x19f4]
shl rcx, 4
add rcx, r8
movzx eax, word [rbx + rcx*2]
shr rax, 4
mov r9d, dword [rbx + rax*4 + 0x3276c]
lea rax, [0x140000000]
mov r15d, dword [rax + rdx*4 + 0xa6d08]
add r9d, esi
add r9d, r12d
lea esi, [r8 + 1]
and esi, dword [rbx + 0x33e74]
mov r12d, dword [rbp - 0x75]
add r11d, r12d
mov r8d, dword [rbp - 0x6d]
lea rcx, [r15 + 0x19f4]
shl rcx, 4
mov eax, esi
add rcx, rax
movzx eax, word [rbx + r15*2 + 0x34000]
xor rax, 0x7f0
shr rax, 4
movzx edx, word [rbx + rcx*2]
xor rdx, 0x7f0
shr rdx, 4
mov edi, dword [rbx + rdx*4 + 0x3276c]
add edi, dword [rbx + rax*4 + 0x3276c]
add edi, r9d
cmp r8d, r11d
jae 0x14002f791
lea rdx, [r8 + r8*2]
mov dword [rbp - 0x6d], r11d
shl rdx, 4
mov ecx, r11d
add rdx, 0x76c
add rdx, rbx
sub ecx, r8d
nop word [rax + rax]
mov dword [rdx + 0x30], 0x40000000
lea rdx, [rdx + 0x30]
sub rcx, 1
jne 0x14002f780
mov ecx, esi
lea edx, [r10 - 2]
mov esi, dword [rbp - 0x45]
imul rax, rcx, 0x110
add rdx, rax
lea rax, [r15 + 0x1a03]
shl rax, 4
add rax, rcx
mov r9d, dword [rbx + rdx*4 + 0x39130]
movzx ecx, word [rbx + rax*2]
movzx eax, word [rbx + r15*2 + 0x34018]
xor rcx, 0x7f0
shr rcx, 4
mov r15d, r12d
shr rax, 4
add r9d, dword [rbx + rcx*4 + 0x3276c]
lea rcx, [r11 + r11*2]
add r9d, dword [rbx + rax*4 + 0x3276c]
add rcx, rcx
mov r11d, dword [rbp - 0x3d]
add r9d, edi
mov edi, dword [rbp - 0x41]
cmp r9d, dword [rbx + rcx*8 + 0x76c]
jae 0x14002f84b
lea eax, [r14 + r12]
mov dword [rbx + rcx*8 + 0x76c], r9d
mov dword [rbx + rcx*8 + 0x784], eax
lea eax, [r13 + 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], r12d
mov r10d, dword [rbp - 0x55]
add r10d, 2
mov dword [rbp - 0x55], r10d
cmp r10d, dword [rbp - 0x35]
je 0x14002f8b7
lea eax, [r10 + 1]
mov r13d, dword [rbx + rax*4 + 0x3296c]
cmp r13d, 0x80
jb 0x14002f8a7
mov rdx, qword [rbp - 0x21]
mov ecx, 0x7ffff
sub ecx, r13d
mov eax, r13d
shr ecx, 0x1f
neg ecx
and ecx, 0xc
add ecx, 6
shr rax, cl
inc r14d
movzx eax, byte [rax + rbx + 0x3076c]
lea r9d, [rax + rcx*2]
mov dword [rbp - 0x49], r9d
jmp 0x14002f510
mov r9d, dword [rbp - 0x49]
mov rdx, qword [rbp - 0x21]
inc r14d
jmp 0x14002f510
mov r13d, dword [rbp - 0x75]
inc r13d
lea rsi, [rbx + 0x3296c]
lea r14, [0x140000000]
mov dword [rbp - 0x75], r13d
mov r12d, 0
cmp r13d, dword [rbp - 0x6d]
jne 0x14002e8c0
mov rdx, qword [rbp - 0x31]
mov r8d, r13d
mov rcx, rbx
call fcn.14002de60
jmp 0x14002f91d
mov rdx, qword [rbp - 0x31]
mov r8d, r13d
mov rcx, rbx
mov dword [rbx + 0x764], esi
mov dword [rbx + 0x760], edi
call fcn.14002de60
jmp 0x14002f91d
mov rcx, qword [rbp - 0x31]
mov dword [rcx], 0xffffffff
mov eax, 1
mov r12, qword [rsp + 0xd8]
mov r13, qword [rsp + 0xd0]
mov r14, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0x118]
mov r15, qword [rsp + 0xc0]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14003f810
add rsp, 0xe8
pop rbx
pop rbp
ret