Function at 0x140178db0
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, 0x88
mov eax, dword [rcx + 0xb6c]
mov rbx, rcx
mov r10d, dword [rsp + 0xf8]
mov r14, rdx
mov edx, 0xb
mov dword [rsp + 0x50], eax
mov eax, dword [rcx + 0xb70]
mov r12, r8
imul rdi, r10, 0x2c
mov dword [rsp + 0x44], eax
mov esi, r10d
add rdi, rbx
lea ebp, [rdx - 3]
lea rax, [r10 + 0x628]
imul rcx, rax, 0x2c
movzx r9d, byte [rdi + 0x10ed0]
lea r8d, [rdx - 1]
lea r15d, [rdx - 4]
mov r11d, dword [rcx + rbx]
test r9b, r9b
je 0x140178e9c
dec r11d
cmp byte [rdi + 0x10ed1], 0
je 0x140178e70
mov eax, dword [rdi + 0x10ed4]
imul rcx, rax, 0x2c
cmp dword [rdi + 0x10ed8], 4
mov eax, dword [rcx + rbx + 0x10ecc]
jae 0x140178e64
cmp eax, r15d
mov r13d, edx
cmovl r13d, ebp
jmp 0x140178e7f
cmp eax, r15d
mov r13d, r8d
cmovl r13d, r15d
jmp 0x140178e7f
mov eax, r11d
imul rcx, rax, 0x2c
mov r13d, dword [rcx + rbx + 0x10ecc]
cmp r13d, 3
jg 0x140178e8a
xor r13d, r13d
jmp 0x140178ea8
cmp r13d, 9
jg 0x140178e96
sub r13d, 3
jmp 0x140178ea8
sub r13d, 6
jmp 0x140178ea8
imul rcx, r11, 0x2c
mov r13d, dword [rcx + rbx + 0x10ecc]
mov ecx, 1
lea eax, [r10 - 1]
lea r15d, [rcx + 3]
cmp r11d, eax
jne 0x140178f10
cmp dword [rdi + 0x10ee4], 0
jne 0x140178edb
cmp r13d, 7
mov eax, 9
cmovl edx, eax
mov r13d, edx
mov dword [rsp + 0x30], edx
jmp 0x140179013
cmp r13d, 3
jg 0x140178eee
xor r13d, r13d
mov dword [rsp + 0x30], r13d
jmp 0x140179013
cmp r13d, 9
jg 0x140178f02
sub r13d, 3
mov dword [rsp + 0x30], r13d
jmp 0x140179013
sub r13d, 6
mov dword [rsp + 0x30], r13d
jmp 0x140179013
test r9b, r9b
je 0x140178f48
cmp byte [rdi + 0x10ed1], 0
je 0x140178f48
mov eax, dword [rdi + 0x10ed4]
mov r10d, dword [rdi + 0x10ed8]
imul r9, rax, 0xb
cmp r13d, 7
cmovl edx, ebp
mov dword [rsp + 0x30], edx
mov r13d, edx
cmp r10d, r15d
jae 0x140178fe8
jmp 0x140178f69
mov r10d, dword [rdi + 0x10ee4]
cmp r10d, r15d
jae 0x140178fcc
cmp r13d, 7
mov eax, r11d
cmovl edx, ebp
mov r13d, edx
mov dword [rsp + 0x30], edx
imul r9, rax, 0xb
mov eax, r10d
mov r8d, ecx
add rax, r9
mov eax, dword [rbx + rax*4 + 0x10ee8]
mov dword [r14], eax
cmp r10d, ecx
jb 0x140178fa3
lea ecx, [r8 - 1]
mov edx, r8d
add rcx, r9
inc r8d
mov eax, dword [rbx + rcx*4 + 0x10ee8]
mov dword [r14 + rdx*4], eax
cmp r8d, r10d
jbe 0x140178f81
cmp r8d, r15d
jae 0x140179013
mov eax, r8d
lea rdx, [r9 + 0x43ba]
add rdx, rax
lea rcx, [r14 + rax*4]
mov eax, r15d
sub eax, r8d
lea rdx, [rbx + rdx*4]
mov r8d, eax
shl r8, 2
call fcn.1401a9040
jmp 0x140179013
cmp r13d, 7
mov eax, 7
cmovl r8d, eax
mov eax, r11d
imul r9, rax, 0xb
mov r13d, r8d
mov dword [rsp + 0x30], r8d
lea eax, [r10 - 4]
mov dword [r14], eax
mov eax, dword [rbx + r9*4 + 0x10ee8]
mov dword [r14 + 4], eax
mov eax, dword [rbx + r9*4 + 0x10eec]
mov dword [r14 + 8], eax
mov eax, dword [rbx + r9*4 + 0x10ef0]
mov dword [r14 + 0xc], eax
mov edx, dword [r14]
mov eax, dword [r14 + 4]
mov dword [rdi + 0x10ecc], r13d
imul rcx, rsi, 0xb
mov dword [rbx + rcx*4 + 0x10ee8], edx
mov dword [rbx + rcx*4 + 0x10eec], eax
mov eax, dword [r14 + 8]
mov dword [rbx + rcx*4 + 0x10ef0], eax
mov eax, dword [r14 + 0xc]
mov dword [rbx + rcx*4 + 0x10ef4], eax
mov r15d, dword [rdi + 0x10edc]
mov rdi, r12
movzx ebp, byte [r12]
sub rdi, rdx
mov edx, dword [rsp + 0xf0]
and edx, dword [rbx + 0xb78]
movzx r8d, byte [r12 - 1]
movzx r14d, byte [rdi - 1]
movsxd rcx, r13d
mov rax, rcx
mov qword [rsp + 0x70], rcx
shl rax, 4
mov rcx, rbx
add rax, rdx
mov qword [rsp + 0x58], rdx
mov edx, dword [rsp + 0xf0]
cmp r13d, 7
mov dword [rsp + 0x28], ebp
setge r9b
mov qword [rsp + 0x68], rax
movzx esi, word [rbx + rax*2 + 0x6b84]
mov dword [rsp + 0x20], r14d
call fcn.1401782a0
mov r9d, dword [rsp + 0xf8]
lea rdx, [0x140000000]
add eax, r15d
mov ecx, esi
shr rcx, 4
xor r10b, r10b
lea r13d, [r9 + 1]
mov r8d, r13d
movzx r12d, byte [rcx + rdx + 0x252f40]
imul rdx, r8, 0x2c
add r12d, eax
add rdx, rbx
mov r11d, dword [rdx + 0x10edc]
cmp r12d, r11d
jae 0x140179132
mov rsi, qword [rsp + 0x68]
lea rax, [r13 + 0x628]
mov dword [rdx + 0x10edc], r12d
mov r11d, r12d
imul rcx, rax, 0x2c
mov dword [rcx + rbx], r9d
mov byte [rdx + 0x10ed0], r10b
mov r10b, 1
mov dword [rdx + 0x10ee4], 0xffffffff
movzx esi, word [rbx + rsi*2 + 0x6b84]
movzx eax, si
lea r9, [0x140000000]
mov rsi, qword [rsp + 0x70]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + r9 + 0x252f40]
lea rax, [rsi + 0x3682]
lea rax, [rbx + rax*2]
add ecx, r15d
mov r15d, dword [rsp + 0xf8]
mov qword [rsp + 0x78], rax
movzx eax, word [rax]
xor rax, 0x7f0
mov dword [rsp + 0x48], ecx
shr rax, 4
movzx eax, byte [rax + r9 + 0x252f40]
add eax, ecx
mov dword [rsp + 0x4c], eax
cmp r14b, bpl
jne 0x14017921c
lea rax, [r13 + 0x628]
imul r9, rax, 0x2c
cmp dword [r9 + rbx], r15d
jae 0x1401791b2
cmp dword [rdx + 0x10ee4], 0
je 0x140179215
movzx eax, word [rbx + rsi*2 + 0x6d1c]
lea r8, [0x140000000]
shr rax, 4
movzx ecx, byte [rax + r8 + 0x252f40]
mov rax, qword [rsp + 0x68]
movzx eax, word [rbx + rax*2 + 0x6d64]
shr rax, 4
movzx r8d, byte [rax + r8 + 0x252f40]
mov eax, dword [rsp + 0x4c]
add eax, ecx
add r8d, eax
cmp r8d, r11d
ja 0x140179215
mov dword [rdx + 0x10edc], r8d
mov r10b, 1
mov dword [r9 + rbx], r15d
mov dword [rdx + 0x10ee4], 0
mov byte [rdx + 0x10ed0], 0
lea r9, [0x140000000]
mov ecx, dword [rsp + 0x108]
cmp ecx, 2
jb 0x140179e67
mov edx, dword [rsp + 0x100]
cmp ecx, edx
mov eax, edx
cmovb eax, ecx
mov dword [rsp + 0x34], eax
test r10b, r10b
jne 0x1401793f1
cmp r14b, bpl
je 0x1401793f1
lea r8d, [rdx + 1]
cmp ecx, r8d
jae 0x14017925e
mov r8d, ecx
jmp 0x140179268
mov edx, 1
cmp r8d, edx
jbe 0x14017928c
mov rcx, qword [rsp + 0xe0]
mov edx, 1
inc rcx
movzx eax, byte [rdi]
cmp byte [rcx], al
jne 0x14017928c
inc edx
inc rdi
inc rcx
cmp edx, r8d
jb 0x140179278
lea r10d, [rdx - 1]
cmp r10d, 2
jb 0x1401793f1
mov r15d, dword [rsp + 0x30]
cmp r15d, 3
jg 0x1401792a9
xor eax, eax
jmp 0x1401792b7
lea eax, [r15 - 3]
cmp r15d, 9
jle 0x1401792b7
lea eax, [r15 - 6]
mov r8d, dword [rsp + 0xf0]
mov r15d, dword [rsp + 0xf8]
inc r8d
mov ebp, dword [rsp + 0xe8]
movsxd r11, eax
mov eax, dword [rbx + 0xb78]
mov rsi, r11
and r8, rax
shl rsi, 4
add rsi, r8
movzx eax, word [rbx + r11*2 + 0x6d04]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + r9 + 0x252f40]
movzx eax, word [rbx + rsi*2 + 0x6b84]
xor rax, 0x7f0
shr rax, 4
movzx edi, byte [rax + r9 + 0x252f40]
lea eax, [r12 + rcx]
add edi, eax
lea r9d, [rdx + r15]
cmp ebp, r9d
jae 0x140179361
imul rcx, rbp, 0x2c
lea rdx, [rbx + 0x10edc]
mov dword [rsp + 0xe8], r9d
add rdx, rcx
mov ecx, r9d
sub ecx, ebp
nop dword [rax + rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x140179350
imul rax, r8, 0x110
lea rdx, [0x140000000]
lea ecx, [r10 - 2]
add rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d64]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rcx*4 + 0xbe34]
movzx eax, byte [rax + rdx + 0x252f40]
add ecx, eax
movzx eax, word [rbx + r11*2 + 0x6d1c]
shr rax, 4
movzx r8d, byte [rax + rdx + 0x252f40]
lea eax, [rdi + rcx]
mov ecx, r9d
add r8d, eax
imul rdx, rcx, 0x2c
add rdx, rbx
cmp r8d, dword [rdx + 0x10edc]
jae 0x1401793f1
lea rax, [r9 + 0x628]
mov dword [rdx + 0x10edc], r8d
imul rcx, rax, 0x2c
mov dword [rdx + 0x10ee4], 0
mov word [rdx + 0x10ed0], 1
mov dword [rcx + rbx], r13d
mov rax, qword [rsp + 0xd8]
mov r13d, 2
mov r12, qword [rsp + 0xe0]
xor edi, edi
mov r14d, r13d
mov dword [rsp + 0x3c], edi
jmp 0x140179426
mov r13d, 2
mov eax, dword [rax]
mov rcx, r12
mov ebp, dword [rsp + 0x34]
sub rcx, rax
movzx eax, byte [rcx - 1]
lea rsi, [rcx - 1]
cmp byte [r12], al
jne 0x14017990b
movzx eax, byte [rcx]
cmp byte [r12 + 1], al
jne 0x14017990b
mov dword [rsp + 0x38], r13d
mov r10d, r13d
cmp ebp, 2
jbe 0x140179488
mov rdx, rsi
lea rcx, [r12 + 2]
sub rdx, r12
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x140179483
inc r10d
inc rcx
cmp r10d, ebp
jb 0x140179470
mov dword [rsp + 0x38], r10d
mov r11d, dword [rsp + 0xe8]
lea r9d, [r10 + r15]
mov dword [rsp + 0x40], r9d
mov r8d, r10d
cmp r11d, r9d
jae 0x1401794d1
imul rdx, r11, 0x2c
mov ecx, r9d
mov dword [rsp + 0xe8], r9d
add rdx, 0x10edc
add rdx, rbx
sub ecx, r11d
nop dword [rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x1401794c0
test edi, edi
jne 0x14017951b
mov rax, qword [rsp + 0x68]
lea rcx, [0x140000000]
movzx eax, word [rbx + rax*2 + 0x6d64]
xor rax, 0x7f0
shr rax, 4
movzx edx, byte [rax + rcx + 0x252f40]
mov rax, qword [rsp + 0x70]
movzx eax, word [rbx + rax*2 + 0x6d1c]
shr rax, 4
movzx eax, byte [rax + rcx + 0x252f40]
add edx, eax
jmp 0x1401795a7
mov r9, qword [rsp + 0x70]
lea r10, [0x140000000]
movzx eax, word [rbx + r9*2 + 0x6d1c]
xor rax, 0x7f0
shr rax, 4
movzx edx, byte [rax + r10 + 0x252f40]
cmp edi, 1
jne 0x140179562
movzx eax, word [rbx + r9*2 + 0x6d34]
shr rax, 4
movzx eax, byte [rax + r10 + 0x252f40]
add edx, eax
jmp 0x1401795a7
movzx ecx, word [rbx + r9*2 + 0x6d4c]
mov eax, r13d
sub eax, edi
shr rcx, 4
shr rax, 4
and eax, 0x7f
xor rcx, rax
movzx eax, word [rbx + r9*2 + 0x6d34]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rcx + r10 + 0x252f40]
movzx eax, byte [rax + r10 + 0x252f40]
add edx, eax
add edx, ecx
mov r10d, dword [rsp + 0x4c]
mov r13, qword [rsp + 0x58]
add r10d, edx
mov dword [rsp + 0x60], r10d
imul r11, r13, 0x110
lea eax, [r8 + r15]
mov r9d, eax
lea ecx, [r8 - 2]
add rcx, r11
imul rdx, r9, 0x2c
mov ecx, dword [rbx + rcx*4 + 0xbe34]
add rdx, rbx
add ecx, r10d
cmp ecx, dword [rdx + 0x10edc]
jae 0x140179608
add rax, 0x628
mov dword [rdx + 0x10edc], ecx
imul rcx, rax, 0x2c
mov dword [rdx + 0x10ee4], edi
mov byte [rdx + 0x10ed0], 0
mov dword [rcx + rbx], r15d
dec r8d
cmp r8d, 2
jae 0x1401795c0
mov r10d, dword [rsp + 0x38]
test edi, edi
mov edx, dword [rsp + 0x100]
lea r9d, [r10 + 1]
cmove r14d, r9d
add edx, r9d
cmp dword [rsp + 0x108], edx
mov dword [rsp + 0x38], r14d
cmovb edx, dword [rsp + 0x108]
cmp r9d, edx
jae 0x140179664
mov ecx, r9d
mov r8, rsi
add rcx, r12
sub r8, r12
nop
movzx eax, byte [rcx + r8]
cmp byte [rcx], al
jne 0x140179664
inc r9d
inc rcx
cmp r9d, edx
jb 0x140179650
mov eax, 0xffffffff
mov r12d, r9d
sub eax, r10d
add r9d, eax
cmp r9d, 2
jb 0x140179912
lfence
mov r13d, dword [rsp + 0xf0]
lea eax, [r10 - 1]
add r13d, r10d
lea ecx, [r10 - 2]
add rcx, r11
mov r8, r10
movzx r11d, byte [rsi + r10]
mov r14d, r13d
mov r10, qword [rsp + 0xe0]
xor esi, esi
and r14d, dword [rbx + 0xb78]
mov edi, 0x100
mov r15d, dword [rbx + rcx*4 + 0xbe34]
mov ecx, 8
sub cl, byte [rbx + 0xb7c]
movzx edx, byte [rax + r10]
mov eax, dword [rbx + 0xb80]
movzx r10d, byte [r8 + r10]
and eax, r13d
shr edx, cl
mov ecx, dword [rbx + 0xb7c]
shl eax, cl
add edx, eax
lea rbp, [rdx + rdx*2]
shl rbp, 9
add rbp, rbx
lea rbx, [0x140000000]
add r10d, edi
nop dword [rax]
mov ecx, r10d
add r11d, r11d
shr ecx, 8
mov eax, edi
and eax, r11d
add eax, edi
add ecx, eax
movzx edx, word [rbp + rcx*2 + 0xb84]
mov ecx, r10d
shr ecx, 7
add r10d, r10d
and ecx, 1
shr rdx, 4
neg ecx
shr rcx, 4
and ecx, 0x7f
xor rdx, rcx
movzx eax, byte [rdx + rbx + 0x252f40]
add esi, eax
mov eax, r11d
xor eax, r10d
not eax
and edi, eax
cmp r10d, 0x10000
jb 0x140179700
cmp dword [rsp + 0x30], 7
mov eax, 0x3642
mov rbx, qword [rsp + 0xd0]
mov ecx, 0x3672
cmovl ecx, eax
mov eax, r14d
add rcx, rax
lea r14, [0x140000000]
movzx eax, word [rbx + rcx*2]
shr rax, 4
movzx edx, byte [rax + r14 + 0x252f40]
add edx, esi
add edx, r15d
add edx, dword [rsp + 0x60]
cmp dword [rsp + 0x30], 7
jge 0x1401797a5
mov eax, 8
lea ecx, [rax - 3]
jmp 0x1401797af
mov eax, 5
mov ecx, 2
mov r15d, dword [rsp + 0xf8]
lea r10d, [r13 + 1]
mov ebp, dword [rsp + 0xe8]
cmovl eax, ecx
mov r11d, eax
mov eax, dword [rbx + 0xb78]
mov esi, r11d
and r10, rax
shl rsi, 4
add rsi, r10
lea r8d, [r12 + r15]
movzx eax, word [rbx + rsi*2 + 0x6b84]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + r14 + 0x252f40]
movzx eax, word [rbx + r11*2 + 0x6d04]
xor rax, 0x7f0
shr rax, 4
movzx edi, byte [rax + r14 + 0x252f40]
lea eax, [rdx + rcx]
add edi, eax
cmp ebp, r8d
jae 0x140179851
imul rcx, rbp, 0x2c
lea rdx, [rbx + 0x10edc]
mov dword [rsp + 0xe8], r8d
add rdx, rcx
mov ecx, r8d
sub ecx, ebp
nop dword [rax + rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x140179840
mov ebp, dword [rsp + 0x34]
lea ecx, [r9 - 2]
mov r12, qword [rsp + 0xe0]
mov r13, qword [rsp + 0x58]
imul rax, r10, 0x110
add rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d64]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rcx*4 + 0xbe34]
movzx eax, byte [rax + r14 + 0x252f40]
add ecx, eax
movzx eax, word [rbx + r11*2 + 0x6d1c]
shr rax, 4
movzx edx, byte [rax + r14 + 0x252f40]
lea eax, [rdi + rcx]
mov edi, dword [rsp + 0x3c]
add edx, eax
mov r14d, dword [rsp + 0x38]
mov ecx, r8d
imul r8, rcx, 0x2c
add r8, rbx
cmp edx, dword [r8 + 0x10edc]
jae 0x14017991a
mov dword [r8 + 0x10edc], edx
lea rax, [rcx + 0x628]
mov edx, dword [rsp + 0x40]
inc edx
mov dword [r8 + 0x10ee4], 0
imul rcx, rax, 0x2c
mov word [r8 + 0x10ed0], 0x101
mov dword [r8 + 0x10ed4], r15d
mov dword [r8 + 0x10ed8], edi
mov dword [rcx + rbx], edx
jmp 0x14017991a
mov r13, qword [rsp + 0x58]
jmp 0x14017991a
mov r12, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xd8]
inc edi
add rax, 4
mov dword [rsp + 0x3c], edi
mov qword [rsp + 0xd8], rax
cmp edi, 4
jb 0x140179420
mov edx, dword [rsp + 0x44]
cmp edx, ebp
jbe 0x140179969
xor ecx, ecx
mov edx, ebp
cmp ebp, dword [rbx + 0x2dc]
jbe 0x14017995c
inc ecx
cmp ebp, dword [rbx + rcx*8 + 0x2dc]
ja 0x140179951
mov dword [rbx + rcx*8 + 0x2dc], ebp
inc ecx
mov dword [rsp + 0x50], ecx
cmp edx, r14d
jb 0x140179e67
mov rax, qword [rsp + 0x78]
lea rcx, [0x140000000]
mov r9d, dword [rsp + 0xe8]
movzx eax, word [rax]
shr rax, 4
movzx r15d, byte [rax + rcx + 0x252f40]
add r15d, dword [rsp + 0x48]
mov ecx, dword [rsp + 0xf8]
mov dword [rsp + 0xd8], r15d
lea r8d, [rdx + rcx]
cmp r9d, r8d
jae 0x1401799e8
imul rdx, r9, 0x2c
mov ecx, r8d
mov dword [rsp + 0xe8], r8d
add rdx, 0x10edc
add rdx, rbx
sub ecx, r9d
nop
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x1401799d0
mov ecx, dword [rsp + 0xf8]
xor r12d, r12d
cmp r14d, dword [rbx + 0x2dc]
jbe 0x140179a0d
nop dword [rax]
nop dword [rax + rax]
inc r12d
cmp r14d, dword [rbx + r12*8 + 0x2dc]
ja 0x140179a00
imul rbp, r13, 0x110
inc r14d
lea r13d, [rcx - 1]
mov eax, ecx
mov qword [rsp + 0x78], rbp
sub eax, dword [rsp + 0x100]
mov dword [rsp + 0x44], eax
mov dword [rsp + 0xd0], r13d
nop word [rax + rax]
mov esi, dword [rbx + r12*8 + 0x2e0]
lea edi, [r14 - 1]
mov dword [rsp + 0x40], esi
lea r9d, [rdi - 2]
cmp edi, 6
jb 0x140179a5f
mov r9d, 3
lea eax, [r14 - 3]
mov rdx, rsi
lea r10d, [rdi - 2]
cmovae r10d, eax
cmp esi, 0x80
jae 0x140179a89
mov eax, r9d
shl rax, 7
add rax, rdx
mov ecx, dword [rbx + rax*4 + 0x10678]
jmp 0x140179b00
lfence
lea rcx, [0x140000000]
mov rax, rdx
cmp esi, 0x80000
jae 0x140179ab4
shr rax, 6
movzx eax, byte [rax + rcx + 0x250f40]
lea r8, [rax*4 + 0x102a8]
jmp 0x140179ae6
cmp esi, 0x80000000
jae 0x140179ad2
shr rax, 0x12
movzx eax, byte [rax + rcx + 0x250f40]
lea r8, [rax*4 + 0x10308]
jmp 0x140179ae6
shr rax, 0x1e
movzx eax, byte [rax + rcx + 0x250f40]
lea r8, [rax*4 + 0x10368]
mov rcx, rdx
mov eax, r9d
and ecx, 0xf
shl rax, 8
add rax, r8
mov ecx, dword [rbx + rcx*4 + 0x10e80]
add ecx, dword [rax + rbx]
mov eax, r10d
add rax, rbp
mov ebp, dword [rbx + rax*4 + 0x75ec]
lea eax, [r14 + r13]
add ebp, ecx
mov ecx, eax
imul r8, rcx, 0x2c
add ebp, r15d
add r8, rbx
cmp ebp, dword [r8 + 0x10edc]
jae 0x140179b55
add rax, 0x628
mov dword [r8 + 0x10edc], ebp
imul rcx, rax, 0x2c
mov eax, dword [rsp + 0xf8]
mov byte [r8 + 0x10ed0], 0
mov dword [rcx + rbx], eax
lea eax, [rsi + 4]
mov dword [r8 + 0x10ee4], eax
cmp edi, dword [rbx + r12*8 + 0x2dc]
jne 0x140179e5a
mov rsi, qword [rsp + 0xe0]
mov r10d, r14d
mov eax, dword [rsp + 0x100]
mov r11, rsi
sub r11, rdx
add eax, r14d
cmp dword [rsp + 0x108], eax
mov edx, eax
cmovb edx, dword [rsp + 0x108]
cmp r14d, edx
jae 0x140179bb5
mov ecx, r14d
lea r8, [r11 - 1]
add rcx, rsi
sub r8, rsi
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x140179bb5
inc r10d
inc rcx
cmp r10d, edx
jb 0x140179ba1
mov eax, 0xffffffff
mov dword [rsp + 0x48], r10d
sub eax, edi
add r10d, eax
cmp r10d, 2
jb 0x140179e50
mov r8d, dword [rsp + 0xf0]
lea eax, [rdi - 1]
movzx edx, byte [rax + rsi]
dec r8d
mov eax, dword [rbx + 0xb80]
add r8d, r14d
movzx r11d, byte [rdi + r11 - 1]
and eax, r8d
mov r9d, edi
mov r13d, r8d
and r13d, dword [rbx + 0xb78]
mov ecx, 8
sub cl, byte [rbx + 0xb7c]
xor esi, esi
shr edx, cl
mov edi, 0x100
mov ecx, dword [rbx + 0xb7c]
shl eax, cl
add edx, eax
mov rax, qword [rsp + 0xe0]
movzx r8d, byte [r9 + rax]
lea r15, [rdx + rdx*2]
shl r15, 9
lea r9, [0x140000000]
add r15, rbx
add r8d, edi
nop
mov ecx, r8d
add r11d, r11d
shr ecx, 8
mov eax, edi
and eax, r11d
add eax, edi
add ecx, eax
movzx edx, word [r15 + rcx*2 + 0xb84]
mov ecx, r8d
shr ecx, 7
add r8d, r8d
and ecx, 1
shr rdx, 4
neg ecx
shr rcx, 4
and ecx, 0x7f
xor rdx, rcx
movzx eax, byte [rdx + r9 + 0x252f40]
add esi, eax
mov eax, r11d
xor eax, r8d
not eax
and edi, eax
cmp r8d, 0x10000
jb 0x140179c40
cmp dword [rsp + 0x30], 7
mov eax, 0x3632
mov ecx, 0x3662
cmovl ecx, eax
mov eax, r13d
add rcx, rax
movzx eax, word [rbx + rcx*2]
shr rax, 4
movzx edx, byte [rax + r9 + 0x252f40]
add edx, esi
add edx, ebp
cmp dword [rsp + 0x30], 7
jge 0x140179cd3
mov eax, 7
lea ecx, [rax - 3]
jmp 0x140179cdd
mov eax, 4
mov ecx, 1
mov r8d, dword [rsp + 0x48]
lea r9d, [r13 + 1]
mov ebp, dword [rsp + 0xf8]
lea r13, [0x140000000]
mov r15d, dword [rsp + 0xe8]
cmovl eax, ecx
mov r11d, eax
add r8d, ebp
mov eax, dword [rbx + 0xb78]
mov esi, r11d
and r9, rax
shl rsi, 4
add rsi, r9
movzx eax, word [rbx + r11*2 + 0x6d04]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + r13 + 0x252f40]
movzx eax, word [rbx + rsi*2 + 0x6b84]
xor rax, 0x7f0
shr rax, 4
movzx edi, byte [rax + r13 + 0x252f40]
lea eax, [rdx + rcx]
add edi, eax
cmp r15d, r8d
jae 0x140179d91
imul rdx, r15, 0x2c
mov ecx, r8d
mov dword [rsp + 0xe8], r8d
add rdx, 0x10edc
add rdx, rbx
sub ecx, r15d
nop word [rax + rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x140179d80
mov r15d, dword [rsp + 0xd8]
lea ecx, [r10 - 2]
imul rax, r9, 0x110
add rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d64]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rcx*4 + 0xbe34]
movzx eax, byte [rax + r13 + 0x252f40]
add ecx, eax
movzx eax, word [rbx + r11*2 + 0x6d1c]
shr rax, 4
movzx edx, byte [rax + r13 + 0x252f40]
lea eax, [rdi + rcx]
mov r13d, dword [rsp + 0xd0]
add edx, eax
mov ecx, r8d
imul r8, rcx, 0x2c
add r8, rbx
cmp edx, dword [r8 + 0x10edc]
jae 0x140179e50
mov eax, dword [rsp + 0x100]
add eax, r14d
mov dword [r8 + 0x10edc], edx
mov edx, dword [rsp + 0x44]
add edx, eax
mov dword [r8 + 0x10ee4], 0
lea rax, [rcx + 0x628]
mov word [r8 + 0x10ed0], 0x101
imul rcx, rax, 0x2c
mov eax, dword [rsp + 0x40]
add eax, 4
mov dword [r8 + 0x10ed4], ebp
mov dword [r8 + 0x10ed8], eax
mov dword [rcx + rbx], edx
inc r12d
cmp r12d, dword [rsp + 0x50]
je 0x140179e67
mov rbp, qword [rsp + 0x78]
inc r14d
jmp 0x140179a40
mov eax, dword [rsp + 0xe8]
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret