Function at 0x1400e9800
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov eax, dword [rcx + 0xb84]
mov r12, r8
mov r8d, dword [rsp + 0xe8]
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0xb88]
mov ebp, 7
imul r10, r8, 0x2c
add r10, rcx
mov r13d, r9d
mov r15, rdx
movzx edi, byte [r10 + 0x10ee8]
mov r11d, dword [r10 + 0x10ef8]
mov rbx, rcx
mov dword [rsp + 0x4c], eax
mov esi, r8d
lea r9d, [rbp + 1]
test dil, dil
je 0x1400e98db
dec r11d
cmp byte [r10 + 0x10ee9], 0
je 0x1400e98b5
mov eax, dword [r10 + 0x10eec]
imul rcx, rax, 0x2c
cmp dword [r10 + 0x10ef0], 4
mov eax, dword [rcx + rbx + 0x10ee4]
jae 0x1400e98a9
mov edx, 0xb
cmp eax, ebp
cmovl edx, r9d
jmp 0x1400e98c3
mov edx, 0xa
cmp eax, ebp
cmovl edx, ebp
jmp 0x1400e98c3
mov eax, r11d
imul rcx, rax, 0x2c
mov edx, dword [rcx + rbx + 0x10ee4]
cmp edx, 3
jg 0x1400e98cc
xor edx, edx
jmp 0x1400e98e6
cmp edx, 9
jg 0x1400e98d6
sub edx, 3
jmp 0x1400e98e6
sub edx, 6
jmp 0x1400e98e6
imul rcx, r11, 0x2c
mov edx, dword [rcx + rbx + 0x10ee4]
lea eax, [r8 - 1]
cmp r11d, eax
jne 0x1400e9940
cmp dword [r10 + 0x10efc], 0
jne 0x1400e9913
cmp edx, ebp
mov eax, 0xb
mov ecx, 9
cmovl eax, ecx
mov edx, eax
mov dword [rsp + 0x30], eax
jmp 0x1400e9a28
cmp edx, 3
jg 0x1400e9923
xor edx, edx
mov dword [rsp + 0x30], edx
jmp 0x1400e9a28
cmp edx, 9
jg 0x1400e9934
sub edx, 3
mov dword [rsp + 0x30], edx
jmp 0x1400e9a28
sub edx, 6
mov dword [rsp + 0x30], edx
jmp 0x1400e9a28
test dil, dil
je 0x1400e996a
cmp byte [r10 + 0x10ee9], 0
je 0x1400e996a
mov r11d, dword [r10 + 0x10eec]
mov ecx, dword [r10 + 0x10ef0]
mov eax, 0xb
cmp edx, ebp
cmovl eax, r9d
jmp 0x1400e998d
mov ecx, dword [r10 + 0x10efc]
cmp ecx, 4
jae 0x1400e9983
mov eax, 0xb
cmp edx, ebp
cmovl eax, r9d
jmp 0x1400e998d
mov eax, 0xa
cmp edx, ebp
cmovl eax, ebp
mov edx, eax
mov dword [rsp + 0x30], eax
cmp ecx, 4
jae 0x1400e9bf4
imul rax, r11, 0xb
mov edx, ecx
mov r9d, 1
add rax, rdx
mov eax, dword [rbx + rax*4 + 0x10f00]
mov dword [r15], eax
cmp ecx, r9d
jb 0x1400e99ea
imul r8, r11, 0x2c
lea rcx, [r15 + 4]
lea r9d, [rdx + 1]
sub r8, r15
add r8, rbx
nop dword [rax]
mov eax, dword [r8 + rcx + 0x10efc]
lea rcx, [rcx + 4]
mov dword [rcx - 4], eax
dec rdx
jne 0x1400e99d0
cmp r9d, 4
jae 0x1400e9a24
imul r8, r11, 0x2c
mov eax, r9d
mov edx, 4
lea rcx, [r15 + rax*4]
sub r8, r15
add r8, rbx
sub edx, r9d
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r8 + rcx + 0x10f00]
lea rcx, [rcx + 4]
mov dword [rcx - 4], eax
dec rdx
jne 0x1400e9a10
mov edx, dword [rsp + 0x30]
mov dword [r10 + 0x10ee4], edx
mov eax, dword [r15]
imul rcx, rsi, 0xb
mov dword [rbx + rcx*4 + 0x10f00], eax
mov eax, dword [r15 + 4]
movsxd rdi, edx
mov dword [rbx + rcx*4 + 0x10f04], eax
mov eax, dword [r15 + 8]
mov dword [rbx + rcx*4 + 0x10f08], eax
lea rax, [rsi + 0x629]
imul rcx, rax, 0x2c
mov eax, dword [r15 + 0xc]
mov dword [rcx + rbx], eax
mov eax, dword [r15]
movzx esi, byte [r12]
movzx r8d, byte [r12 - 1]
mov r14d, dword [r10 + 0x10ef4]
mov rcx, r12
sub rcx, rax
mov eax, dword [rsp + 0xe0]
mov r15, rdi
and eax, dword [rbx + 0xb90]
movzx ebp, byte [rcx - 1]
shl r15, 4
mov ecx, eax
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x3c], eax
add r15, rcx
cmp edx, 7
mov edx, dword [rsp + 0xe0]
mov qword [rsp + 0x58], rcx
setge r9b
mov rcx, rbx
mov dword [rsp + 0x20], ebp
call fcn.1400e9010
movzx ecx, word [rbx + r15*2 + 0x6b9c]
mov r11d, dword [rsp + 0xe8]
add eax, r14d
shr rcx, 4
lea r8, [0x14018f940]
xor r9b, r9b
movzx r12d, byte [rcx + r8]
add r12d, eax
lea eax, [r11 + 1]
mov dword [rsp + 0x54], eax
imul rdx, rax, 0x2c
add rdx, rbx
cmp r12d, dword [rdx + 0x10ef4]
jae 0x1400e9b2b
mov dword [rdx + 0x10ef4], r12d
mov dword [rdx + 0x10ef8], r11d
mov byte [rdx + 0x10ee8], r9b
mov r9b, 1
mov dword [rdx + 0x10efc], 0xffffffff
movzx eax, word [rbx + r15*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + r8]
lea rax, [rbx + 0x6d1c]
lea rax, [rax + rdi*2]
add ecx, r14d
mov qword [rsp + 0x60], rax
movzx eax, word [rax]
mov dword [rsp + 0x40], ecx
xor rax, 0x7f0
shr rax, 4
movzx r10d, byte [rax + r8]
add r10d, ecx
mov dword [rsp + 0x44], r10d
cmp bpl, sil
jne 0x1400e9be0
cmp dword [rdx + 0x10ef8], r11d
jae 0x1400e9b8b
cmp dword [rdx + 0x10efc], 0
je 0x1400e9be0
movzx eax, word [rbx + r15*2 + 0x6d7c]
shr rax, 4
movzx ecx, byte [rax + r8]
movzx eax, word [rbx + rdi*2 + 0x6d34]
shr rax, 4
movzx r8d, byte [rax + r8]
lea eax, [r10 + rcx]
add r8d, eax
cmp r8d, dword [rdx + 0x10ef4]
ja 0x1400e9be0
mov dword [rdx + 0x10ef4], r8d
mov dword [rdx + 0x10ef8], r11d
mov r9b, 1
mov dword [rdx + 0x10efc], 0
mov byte [rdx + 0x10ee8], 0
mov ecx, dword [rsp + 0xf8]
cmp ecx, 2
jae 0x1400e9c27
mov eax, r13d
jmp 0x1400ea723
lea eax, [rcx - 4]
mov dword [r15], eax
mov eax, r11d
imul rcx, rax, 0xb
mov eax, dword [rbx + rcx*4 + 0x10f00]
mov dword [r15 + 4], eax
mov eax, dword [rbx + rcx*4 + 0x10f04]
mov dword [r15 + 8], eax
mov eax, dword [rbx + rcx*4 + 0x10f08]
mov dword [r15 + 0xc], eax
jmp 0x1400e9a28
mov r14d, dword [rsp + 0xf0]
mov rdi, qword [rsp + 0xd0]
cmp ecx, r14d
mov r15d, r14d
cmovb r15d, ecx
mov dword [rsp + 0x38], r15d
test r9b, r9b
jne 0x1400e9e04
cmp bpl, sil
mov rsi, qword [rsp + 0xc8]
je 0x1400e9e0c
mov eax, dword [rsi]
lea edx, [r14 + 1]
mov r9, rdi
sub r9, rax
cmp ecx, edx
cmovb edx, ecx
mov ecx, 1
cmp edx, ecx
jbe 0x1400e9ca4
nop word [rax + rax]
mov eax, ecx
mov r8, qword [rax + rdi]
sub r8, qword [rax + r9 - 1]
jne 0x1400e9c96
add ecx, 8
cmp ecx, edx
jb 0x1400e9c80
jmp 0x1400e9ca4
bsf rax, r8
shr eax, 3
add ecx, eax
cmp ecx, edx
cmovb edx, ecx
lea r8d, [rdx - 1]
cmp r8d, 2
jb 0x1400e9e0c
mov eax, dword [rsp + 0x30]
cmp eax, 3
jg 0x1400e9cbf
xor ecx, ecx
jmp 0x1400e9cca
lea ecx, [rax - 3]
cmp eax, 9
jle 0x1400e9cca
lea ecx, [rax - 6]
mov edi, dword [rsp + 0xe0]
mov r9d, dword [rsp + 0xe8]
movsxd r10, ecx
movzx eax, word [rbx + r10*2 + 0x6d1c]
inc edi
lea rbp, [0x14018f940]
and edi, dword [rbx + 0xb90]
xor rax, 0x7f0
inc r9d
shr rax, 4
mov rsi, r10
add r9d, r8d
movzx ecx, byte [rax + rbp]
shl rsi, 4
add rsi, rdi
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + rbp]
lea eax, [r12 + rcx]
add r11d, eax
cmp r13d, r9d
jae 0x1400e9d6f
imul rcx, r13, 0x2c
lea rdx, [rbx + 0x10ef4]
mov eax, r9d
sub eax, r13d
add rdx, rcx
add r13d, eax
mov ecx, eax
mov dword [rsp + 0xd8], r13d
nop word [rax + rax]
lea rdx, [rdx + 0x2c]
mov dword [rdx], 0x40000000
dec rcx
jne 0x1400e9d60
imul rax, rdi, 0x110
mov rdi, qword [rsp + 0xd0]
lea ecx, [r8 - 2]
add rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d7c]
mov rsi, qword [rsp + 0xc8]
mov ecx, dword [rbx + rcx*4 + 0xbe4c]
xor rax, 0x7f0
shr rax, 4
movzx eax, byte [rax + rbp]
add ecx, eax
movzx eax, word [rbx + r10*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + rbp]
lea eax, [r11 + rcx]
mov r11d, dword [rsp + 0xe8]
add edx, eax
mov eax, r9d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x1400e9e0c
mov eax, dword [rsp + 0x54]
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10efc], 0
mov dword [rcx + rbx + 0x10ef8], eax
mov word [rcx + rbx + 0x10ee8], 1
jmp 0x1400e9e0c
mov rsi, qword [rsp + 0xc8]
xor ebp, ebp
mov dword [rsp + 0x34], 2
mov dword [rsp + 0x48], ebp
nop word [rax + rax]
mov eax, dword [rsi]
mov rsi, rdi
sub rsi, rax
movzx eax, word [rsi - 1]
cmp word [rdi], ax
jne 0x1400ea23c
mov eax, 2
cmp r15d, eax
jbe 0x1400e9e59
nop
mov ecx, eax
mov rdx, qword [rcx + rdi]
sub rdx, qword [rcx + rsi - 1]
jne 0x1400ea0be
add eax, 8
cmp eax, r15d
jb 0x1400e9e40
mov r14d, r15d
lea edi, [r14 + r11]
cmp r13d, edi
jae 0x1400e9e9f
mov eax, r13d
imul rdx, rax, 0x2c
mov eax, edi
sub eax, r13d
mov ecx, eax
add rdx, 0x10ef4
add rdx, rbx
add r13d, eax
mov dword [rsp + 0xd8], r13d
nop dword [rax + rax]
lea rdx, [rdx + 0x2c]
mov dword [rdx], 0x40000000
dec rcx
jne 0x1400e9e90
mov r12d, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x3c]
mov edx, ebp
mov r8d, r12d
mov rcx, rbx
call fcn.1400e9110
mov r11d, dword [rsp + 0xe8]
imul r10, qword [rsp + 0x58], 0x110
mov r15d, eax
mov r8d, r11d
add r15d, dword [rsp + 0x44]
neg r8d
nop word [rax + rax]
lea edx, [r8 - 2]
mov eax, edi
add edx, edi
add rdx, r10
imul rcx, rax, 0x2c
mov edx, dword [rbx + rdx*4 + 0xbe4c]
add edx, r15d
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x1400e9f20
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10ef8], r11d
mov dword [rcx + rbx + 0x10efc], ebp
mov byte [rcx + rbx + 0x10ee8], 0
dec edi
lea eax, [r8 + rdi]
cmp eax, 2
jae 0x1400e9ee0
test ebp, ebp
jne 0x1400e9f37
lea eax, [r14 + 1]
mov dword [rsp + 0x34], eax
mov edx, dword [rsp + 0xf0]
mov rdi, qword [rsp + 0xd0]
lea r9d, [r14 + 1]
add edx, r9d
cmp dword [rsp + 0xf8], edx
cmovb edx, dword [rsp + 0xf8]
cmp r9d, edx
jae 0x1400e9f84
lea r8, [rsi - 1]
mov ecx, r9d
add rcx, rdi
sub r8, rdi
nop
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x1400e9f84
inc r9d
inc rcx
cmp r9d, edx
jb 0x1400e9f70
or eax, 0xffffffff
sub eax, r14d
add r9d, eax
cmp r9d, 2
jb 0x1400ea237
mov r8d, dword [rsp + 0xe0]
cmp r12d, 7
mov ebp, 8
mov eax, r14d
lea ecx, [r14 - 2]
mov r11d, 0xb
cmovl r11d, ebp
add rcx, r10
movzx r10d, byte [rax + rdi]
movzx edi, byte [rax + rsi - 1]
mov r13d, dword [rbx + rcx*4 + 0xbe4c]
mov rax, qword [rsp + 0xd0]
add r8d, r14d
lea ecx, [r14 - 1]
xor esi, esi
movzx edx, byte [rcx + rax]
mov eax, dword [rbx + 0xb98]
mov ecx, ebp
sub cl, byte [rbx + 0xb94]
and eax, r8d
mov r12d, r8d
and r12d, dword [rbx + 0xb90]
shr edx, cl
mov ecx, dword [rbx + 0xb94]
shl eax, cl
mov r8d, 0x100
add edx, eax
lea rbp, [rdx + rdx*2]
shl rbp, 9
add rbp, rbx
add r10d, r8d
lea rbx, [0x14018f940]
nop word [rax + rax]
mov ecx, r10d
add edi, edi
mov eax, r8d
shr ecx, 8
and eax, edi
add eax, r8d
add ecx, eax
movzx edx, word [rbp + rcx*2 + 0xb9c]
mov ecx, r10d
add r10d, r10d
shr ecx, 7
shr rdx, 4
and ecx, 1
neg ecx
shr rcx, 4
and ecx, 0x7f
xor rdx, rcx
movzx eax, byte [rdx + rbx]
add esi, eax
mov eax, edi
xor eax, r10d
not eax
and r8d, eax
cmp r10d, 0x10000
jb 0x1400ea030
mov rbx, qword [rsp + 0xc0]
mov eax, r12d
movsxd rcx, r11d
shl rcx, 4
lea rbp, [0x14018f940]
add rcx, rax
movzx eax, word [rbx + rcx*2 + 0x6b9c]
shr rax, 4
movzx edx, byte [rax + rbp]
add edx, esi
add edx, r13d
add edx, r15d
cmp r11d, 3
jg 0x1400ea0d6
xor r11d, r11d
jmp 0x1400ea0e6
bsf rcx, rdx
mov r14d, r15d
shr ecx, 3
add eax, ecx
cmp eax, r15d
cmovb r14d, eax
jmp 0x1400e9e5c
cmp r11d, 9
jg 0x1400ea0e2
sub r11d, 3
jmp 0x1400ea0e6
sub r11d, 6
mov r12d, dword [rsp + 0xe0]
mov r8d, dword [rsp + 0xe8]
mov r13d, dword [rsp + 0xd8]
movsxd r10, r11d
lea edi, [r12 + 1]
inc r8d
movzx eax, word [rbx + r10*2 + 0x6d1c]
add edi, r14d
mov rsi, r10
and edi, dword [rbx + 0xb90]
xor rax, 0x7f0
shl rsi, 4
shr rax, 4
add rsi, rdi
movzx ecx, byte [rax + rbp]
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + rbp]
lea eax, [rdx + rcx]
add r11d, eax
lea eax, [r9 + r14]
add r8d, eax
cmp r13d, r8d
jae 0x1400ea18f
imul rcx, r13, 0x2c
lea rdx, [rbx + 0x10ef4]
mov eax, r8d
sub eax, r13d
add rdx, rcx
add r13d, eax
mov ecx, eax
mov dword [rsp + 0xd8], r13d
nop dword [rax]
lea rdx, [rdx + 0x2c]
mov dword [rdx], 0x40000000
dec rcx
jne 0x1400ea180
mov r15d, dword [rsp + 0x38]
imul rax, rdi, 0x110
mov rdi, qword [rsp + 0xd0]
lea ecx, [r9 - 2]
add rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d7c]
mov ecx, dword [rbx + rcx*4 + 0xbe4c]
xor rax, 0x7f0
shr rax, 4
movzx eax, byte [rax + rbp]
add ecx, eax
movzx eax, word [rbx + r10*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + rbp]
mov ebp, dword [rsp + 0x48]
lea eax, [r11 + rcx]
mov r11d, dword [rsp + 0xe8]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x1400ea244
mov eax, dword [rsp + 0x54]
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10efc], 0
add eax, r14d
mov word [rcx + rbx + 0x10ee8], 0x101
mov dword [rcx + rbx + 0x10eec], r11d
mov dword [rcx + rbx + 0x10ef8], eax
mov dword [rcx + rbx + 0x10ef0], ebp
jmp 0x1400ea244
mov r15d, dword [rsp + 0x38]
mov r12d, dword [rsp + 0xe0]
mov rsi, qword [rsp + 0xc8]
inc ebp
add rsi, 4
mov dword [rsp + 0x48], ebp
mov qword [rsp + 0xc8], rsi
cmp ebp, 4
jb 0x1400e9e20
mov edx, dword [rsp + 0x4c]
cmp edx, r15d
jbe 0x1400ea29a
xor ecx, ecx
mov edx, r15d
cmp r15d, dword [rbx + 0x2f4]
jbe 0x1400ea28c
nop
inc ecx
cmp r15d, dword [rbx + rcx*8 + 0x2f4]
ja 0x1400ea280
mov dword [rbx + rcx*8 + 0x2f4], r15d
inc ecx
mov dword [rsp + 0x50], ecx
mov r8d, dword [rsp + 0x34]
cmp edx, r8d
jb 0x1400ea71c
mov rax, qword [rsp + 0x60]
mov ecx, dword [rsp + 0xe8]
lea r11, [0x14018f940]
movzx eax, word [rax]
add edx, ecx
shr rax, 4
movzx r11d, byte [rax + r11]
add r11d, dword [rsp + 0x40]
mov dword [rsp + 0xc8], r11d
cmp r13d, edx
jae 0x1400ea316
mov eax, r13d
sub edx, r13d
mov ecx, edx
imul rax, rax, 0x2c
add rax, 0x10ef4
add rax, rbx
add r13d, edx
mov dword [rsp + 0xd8], r13d
nop dword [rax + rax]
lea rax, [rax + 0x2c]
mov dword [rax], 0x40000000
dec rcx
jne 0x1400ea300
mov ecx, dword [rsp + 0xe8]
xor r15d, r15d
cmp r8d, dword [rbx + 0x2f4]
jbe 0x1400ea32f
inc r15d
cmp r8d, dword [rbx + r15*8 + 0x2f4]
ja 0x1400ea322
imul rdi, qword [rsp + 0x58], 0x110
mov esi, dword [rsp + 0xf0]
sub r12d, ecx
sub esi, ecx
mov eax, 1
lea r13d, [r8 + rcx]
sub eax, ecx
inc esi
mov qword [rsp + 0x58], rdi
mov dword [rsp + 0x40], eax
mov eax, ecx
mov dword [rsp + 0x34], esi
neg eax
mov dword [rsp + 0xe0], r12d
mov dword [rsp + 0x3c], eax
nop
mov r12d, dword [rbx + r15*8 + 0x2f8]
lea r14d, [rax + r13]
mov dword [rsp + 0x4c], r12d
lea r9d, [r14 - 2]
cmp r14d, 6
jb 0x1400ea391
mov r9d, 3
mov r8, r12
cmp r12d, 0x80
jae 0x1400ea3b0
mov eax, r9d
shl rax, 7
add rax, r12
mov edx, dword [rbx + rax*4 + 0x10690]
jmp 0x1400ea3e0
bsr edx, r12d
mov eax, r12d
lea ecx, [rdx - 1]
shr eax, cl
and eax, 1
lea ecx, [rax + rdx*2]
mov eax, r9d
shl rax, 6
add rcx, rax
mov rax, r12
mov edx, dword [rbx + rcx*4 + 0x10290]
and eax, 0xf
add edx, dword [rbx + rax*4 + 0x10e98]
lea ecx, [r14 - 2]
mov eax, r13d
add rcx, rdi
mov ebp, dword [rbx + rcx*4 + 0x7604]
imul rcx, rax, 0x2c
add ebp, edx
add ebp, r11d
cmp ebp, dword [rcx + rbx + 0x10ef4]
jae 0x1400ea42c
mov eax, dword [rsp + 0xe8]
mov dword [rcx + rbx + 0x10ef4], ebp
mov byte [rcx + rbx + 0x10ee8], 0
mov dword [rcx + rbx + 0x10ef8], eax
lea eax, [r12 + 4]
mov dword [rcx + rbx + 0x10efc], eax
cmp r14d, dword [rbx + r15*8 + 0x2f4]
jne 0x1400ea710
mov r10, qword [rsp + 0xd0]
mov r9d, dword [rsp + 0x40]
lea edx, [rsi + r13]
add r9d, r13d
mov rdi, r10
sub rdi, r8
cmp dword [rsp + 0xf8], edx
cmovb edx, dword [rsp + 0xf8]
cmp r9d, edx
jae 0x1400ea489
lea r8, [rdi - 1]
mov ecx, r9d
add rcx, r10
sub r8, r10
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x1400ea489
inc r9d
inc rcx
cmp r9d, edx
jb 0x1400ea475
or eax, 0xffffffff
sub eax, r14d
add r9d, eax
cmp r9d, 2
jb 0x1400ea701
cmp dword [rsp + 0x30], 7
mov r8d, dword [rsp + 0xe0]
movzx r10d, byte [r14 + r10]
movzx edi, byte [r14 + rdi - 1]
mov eax, 7
lea ecx, [r14 - 1]
mov r11d, 0xa
lea r12, [0x14018f940]
cmovl r11d, eax
mov eax, dword [rbx + 0xb90]
add r8d, r13d
and eax, r8d
add rbx, 0xb9c
xor esi, esi
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xd0]
movzx edx, byte [rcx + rax]
mov eax, dword [rbx - 4]
mov ecx, 8
sub cl, byte [rbx - 8]
and eax, r8d
mov r8d, 0x100
shr edx, cl
mov ecx, dword [rbx - 8]
shl eax, cl
add edx, eax
lea rax, [rdx + rdx*2]
shl rax, 9
add rax, rbx
add r10d, r8d
mov rbx, rax
mov ecx, r10d
add edi, edi
mov eax, r8d
shr ecx, 8
and eax, edi
add eax, r8d
add ecx, eax
movzx edx, word [rbx + rcx*2]
mov ecx, r10d
add r10d, r10d
shr ecx, 7
shr rdx, 4
and ecx, 1
neg ecx
shr rcx, 4
and ecx, 0x7f
xor rdx, rcx
movzx eax, byte [rdx + r12]
add esi, eax
mov eax, edi
xor eax, r10d
not eax
and r8d, eax
cmp r10d, 0x10000
jb 0x1400ea521
mov r8d, dword [rsp + 0x44]
mov rbx, qword [rsp + 0xc0]
mov r12d, dword [rsp + 0x4c]
movsxd rcx, r11d
shl rcx, 4
add rcx, r8
movzx eax, word [rbx + rcx*2 + 0x6b9c]
lea rcx, [0x14018f940]
shr rax, 4
movzx edx, byte [rax + rcx]
add edx, esi
add edx, ebp
cmp r11d, 3
jg 0x1400ea5af
xor r11d, r11d
jmp 0x1400ea5bf
cmp r11d, 9
jg 0x1400ea5bb
sub r11d, 3
jmp 0x1400ea5bf
sub r11d, 6
mov ebp, dword [rsp + 0xd8]
movsxd r10, r11d
lea edi, [r8 + 1]
and edi, dword [rbx + 0xb90]
movzx eax, word [rbx + r10*2 + 0x6d1c]
mov rsi, r10
xor rax, 0x7f0
shl rsi, 4
lea r11, [0x14018f940]
shr rax, 4
add rsi, rdi
movzx ecx, byte [rax + rcx]
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + r11]
lea eax, [rdx + rcx]
add r11d, eax
lea eax, [r14 + r9]
mov r14d, dword [rsp + 0xe8]
lea r8d, [r14 + 1]
add r8d, eax
cmp ebp, r8d
jae 0x1400ea65f
imul rcx, rbp, 0x2c
lea rdx, [rbx + 0x10ef4]
mov eax, r8d
sub eax, ebp
add rdx, rcx
add ebp, eax
mov ecx, eax
mov dword [rsp + 0xd8], ebp
nop
lea rdx, [rdx + 0x2c]
mov dword [rdx], 0x40000000
dec rcx
jne 0x1400ea650
imul rax, rdi, 0x110
lea rdx, [0x14018f940]
lea ecx, [r9 - 2]
add rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d7c]
mov esi, dword [rsp + 0x34]
mov ecx, dword [rbx + rcx*4 + 0xbe4c]
xor rax, 0x7f0
shr rax, 4
movzx eax, byte [rax + rdx]
add ecx, eax
movzx eax, word [rbx + r10*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + rdx]
lea eax, [r11 + rcx]
mov r11d, dword [rsp + 0xc8]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x1400ea701
lea eax, [r13 + 1]
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10efc], 0
mov dword [rcx + rbx + 0x10ef8], eax
lea eax, [r12 + 4]
mov word [rcx + rbx + 0x10ee8], 0x101
mov dword [rcx + rbx + 0x10ef0], eax
mov dword [rcx + rbx + 0x10eec], r14d
inc r15d
cmp r15d, dword [rsp + 0x50]
je 0x1400ea71c
mov rdi, qword [rsp + 0x58]
mov eax, dword [rsp + 0x3c]
inc r13d
jmp 0x1400ea370
mov eax, dword [rsp + 0xd8]
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret