Function at 0x1400d26a0
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, 0xc0
xor eax, eax
mov rbx, rcx
mov qword [rcx + 0x30], rax
cmp dword [rcx + 0x4c], eax
jne 0x1400d26d7
lea rdx, [rbp + 0x67]
call fcn.1400d62a0
mov r12d, dword [rbp + 0x67]
mov r13d, eax
jmp 0x1400d26df
mov r13d, dword [rcx + 0x38]
mov r12d, dword [rcx + 0x3c]
mov edi, dword [rbx + 0x40]
mov dword [rbp + 0x67], r12d
cmp edi, 2
jae 0x1400d2709
mov dword [rbx + 0xb8], 0xffffffff
mov eax, 1
add rsp, 0xc0
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret
mov rcx, qword [rbx]
mov eax, 0x111
mov qword [rsp + 0xb8], rsi
cmp edi, eax
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xa8], r15
cmova edi, eax
call qword [rbx + 0x18]
movzx r14d, byte [rax - 1]
xor edx, edx
lea r11, [rax - 1]
lea rax, [rbp - 0x59]
mov r15, rbx
mov r9d, edx
mov esi, edx
sub r15, rax
mov r10d, edx
nop
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 0x1400d27b2
movzx eax, byte [r8 + 1]
cmp byte [r11 + 1], al
jne 0x1400d27b2
mov edx, 2
cmp edi, edx
jbe 0x1400d2796
lea rcx, [r11 + 2]
sub r8, r11
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x1400d2796
inc edx
inc rcx
cmp edx, edi
jb 0x1400d2784
mov eax, r9d
mov dword [rbp + r10 - 0x19], edx
cmp edx, dword [rbp + rax*4 - 0x19]
cmova r9d, esi
cmp edx, 0x111
je 0x1400d27c2
xor edx, edx
jmp 0x1400d27b7
mov dword [rbp + r10 - 0x19], edx
inc esi
add r10, 4
cmp esi, 4
jb 0x1400d2750
mov ecx, dword [rbx + 0x48]
mov eax, r9d
mov esi, dword [rbp + rax*4 - 0x19]
cmp esi, ecx
jb 0x1400d27ed
lea ecx, [rsi - 1]
lea edx, [rsi - 1]
mov dword [rbx + 0xb8], r9d
add dword [rbx + 0x4c], ecx
mov rcx, qword [rbx]
call qword [rbx + 0x28]
mov eax, esi
jmp 0x1400d3b34
cmp r13d, ecx
jb 0x1400d281e
mov eax, r12d
lea edx, [r13 - 1]
mov ecx, dword [rbx + rax*4 + 0x784]
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 0x1400d3b34
mov eax, dword [rbp - 0x59]
mov rcx, r11
sub rcx, rax
cmp esi, r13d
mov dword [rbp - 0x61], eax
movzx edi, byte [rcx]
cmovbe esi, r13d
mov dword [rbp + 0x77], esi
cmp esi, 2
jae 0x1400d2855
cmp r14b, dil
je 0x1400d2855
mov dword [rbx + 0xb8], 0xffffffff
mov eax, 1
jmp 0x1400d3b34
movzx eax, word [rbx + 0x44]
mov word [rbx + 0xf2e4], ax
mov eax, dword [rbp + 0x6f]
mov ecx, dword [rbx + 0xbc]
mov esi, dword [rbx + 0x64]
movzx edx, byte [r11 - 1]
mov r15d, dword [rbx + 0x44]
and esi, 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 r10, [rax + rcx*2]
cmp r15d, 7
jb 0x1400d28ae
lea r9, [rbx + 0x588]
movzx r8d, dil
movzx edx, r14b
mov rcx, r10
call fcn.1400d4530
mov r9d, eax
jmp 0x1400d28ec
xor edx, edx
movzx r8d, r14b
mov r9d, edx
bts r8d, 8
nop dword [rax]
mov eax, r8d
shr r8d, 1
movzx edx, word [r10 + r8*2]
and eax, 1
neg eax
shr rdx, 4
shr rax, 4
and eax, 0x7f
xor rdx, rax
add r9d, dword [rbx + rdx*4 + 0x588]
cmp r8d, 2
jae 0x1400d28c0
mov r12d, dword [rbp - 0x19]
mov rax, r15
xor r10d, r10d
shl rax, 4
add rax, rsi
movzx eax, word [rbx + rax*2 + 0x1cd8]
shr rax, 4
mov r8d, dword [rbx + rax*4 + 0x588]
mov dword [rbx + 0xf30c], 0xffffffff
mov word [rbx + 0xf306], r10w
add r8d, r9d
mov dword [rbx + 0xf300], r8d
mov edx, dword [rbx + 0x44]
mov ecx, edx
shl rcx, 4
add rcx, rsi
movzx eax, word [rbx + rcx*2 + 0x1cd8]
xor rax, 0x7f0
shr rax, 4
mov r9d, dword [rbx + rax*4 + 0x588]
movzx eax, word [rbx + rdx*2 + 0x1c78]
xor rax, 0x7f0
mov dword [rbp + 0x7f], r9d
shr rax, 4
mov r15d, dword [rbx + rax*4 + 0x588]
add r15d, r9d
cmp dil, r14b
jne 0x1400d29dd
test r12d, r12d
jne 0x1400d29dd
movzx eax, word [rbx + rdx*2 + 0x1c90]
movzx ecx, word [rbx + rcx*2 + 0x1e58]
shr rcx, 4
shr rax, 4
mov edx, dword [rbx + rcx*4 + 0x588]
add edx, dword [rbx + rax*4 + 0x588]
add edx, r15d
cmp edx, r8d
jae 0x1400d29c1
mov dword [rbx + 0xf300], edx
mov dword [rbx + 0xf30c], r10d
mov word [rbx + 0xf306], r10w
cmp dword [rbp + 0x77], 2
jae 0x1400d29dd
mov eax, dword [rbx + 0xf30c]
mov dword [rbx + 0xb8], eax
mov eax, 1
jmp 0x1400d3b34
mov eax, dword [rbp - 0x61]
mov dword [rbx + 0xf308], 1
xor r14d, r14d
mov dword [rbx + 0xf2f0], eax
mov eax, dword [rbp - 0x55]
mov r9d, r14d
mov dword [rbx + 0xf2f4], eax
mov dword [rbp - 0x39], eax
mov eax, dword [rbp - 0x51]
mov dword [rbx + 0xf2f8], eax
mov eax, dword [rbp - 0x4d]
lea rdi, [rbp - 0x19]
mov dword [rbx + 0xf2fc], eax
nop dword [rax + rax]
mov r8d, dword [rdi]
cmp r8d, 2
jb 0x1400d2b2b
mov ecx, dword [rbx + 0x44]
movzx eax, word [rbx + rcx*2 + 0x1c90]
test r9d, r9d
jne 0x1400d2a6d
shl rcx, 4
shr rax, 4
add rcx, rsi
movzx ecx, word [rbx + rcx*2 + 0x1e58]
xor rcx, 0x7f0
shr rcx, 4
mov r10d, dword [rbx + rcx*4 + 0x588]
add r10d, dword [rbx + rax*4 + 0x588]
jmp 0x1400d2adc
movzx r11d, word [rbx + rcx*2 + 0x1ca8]
xor rax, 0x7f0
shr rax, 4
mov r10d, dword [rbx + rax*4 + 0x588]
cmp r9d, 1
jne 0x1400d2a9f
mov eax, r11d
shr rax, 4
add r10d, dword [rbx + rax*4 + 0x588]
jmp 0x1400d2adc
movzx edx, word [rbx + rcx*2 + 0x1cc0]
mov eax, 2
mov rcx, r11
sub eax, r9d
shr rdx, 4
xor rcx, 0x7f0
shr rax, 4
shr rcx, 4
and eax, 0x7f
xor rdx, rax
mov eax, dword [rbx + rdx*4 + 0x588]
add eax, dword [rbx + rcx*4 + 0x588]
add r10d, eax
lea r11d, [r10 + r15]
imul r10, rsi, 0x110
nop word [rax + rax]
mov edx, r8d
lea rax, [rdx + r10]
add rdx, 0x797
mov eax, dword [rbx + rax*4 + 0xaed8]
shl rdx, 5
add rdx, rbx
add eax, r11d
cmp eax, dword [rdx]
jae 0x1400d2b22
mov dword [rdx], eax
mov dword [rdx + 8], r8d
mov dword [rdx + 0xc], r9d
mov word [rdx + 6], r14w
dec r8d
cmp r8d, 2
jae 0x1400d2af0
inc r9d
add rdi, 4
cmp r9d, 4
jb 0x1400d2a20
lea r9d, [r12 + 1]
mov edx, 6
cmp r9d, r13d
ja 0x1400d2c78
mov eax, dword [rbx + 0x44]
mov r13d, dword [rbp + 0x7f]
mov r10d, r14d
movzx ecx, word [rbx + rax*2 + 0x1c78]
shr rcx, 4
add r13d, dword [rbx + rcx*4 + 0x588]
lea rcx, [rbx + 0x788]
cmp r9d, 2
jae 0x1400d2b80
lea r9d, [rdx - 4]
jmp 0x1400d2b8f
cmp r9d, dword [rcx]
jbe 0x1400d2b8f
add r10d, 2
cmp r9d, dword [rcx + r10*4]
ja 0x1400d2b85
imul r12, rsi, 0x110
nop word [rax + rax]
mov eax, r10d
mov r14d, r9d
lea esi, [r9 - 2]
mov edi, dword [rcx + rax*4 + 4]
lea r15, [rcx + rax*4]
lea rax, [r14 + r12]
mov r11d, dword [rbx + rax*4 + 0x6ad4]
add r11d, r13d
cmp r9d, 5
jb 0x1400d2bcc
mov esi, 3
cmp edi, 0x80
jae 0x1400d2bec
mov ecx, edi
mov eax, esi
and ecx, 0x7f
shl rax, 7
add rcx, rax
add r11d, dword [rbx + rcx*4 + 0x1458]
jmp 0x1400d2c32
cmp edi, 0x100000
mov r8, rdi
mov ecx, 0x13
cmovb ecx, edx
and r8d, 0xf
mov rax, rdi
shr rax, cl
movzx eax, byte [rax + rbx + 0x2ad8]
lea edx, [rax + rcx*2]
mov eax, esi
shl rax, 6
add rdx, rax
mov eax, dword [rbx + rdx*4 + 0x1058]
mov edx, 6
add eax, dword [rbx + r8*4 + 0x1018]
add r11d, eax
lea rcx, [r14 + 0x797]
xor r14d, r14d
shl rcx, 5
add rcx, rbx
cmp r11d, dword [rcx]
jae 0x1400d2c5a
lea eax, [rdi + 4]
mov dword [rcx], r11d
mov dword [rcx + 8], r9d
mov dword [rcx + 0xc], eax
mov word [rcx + 6], r14w
cmp r9d, dword [r15]
jne 0x1400d2c69
add r10d, 2
cmp r10d, dword [rbp + 0x67]
je 0x1400d2c78
inc r9d
lea rcx, [rbx + 0x788]
jmp 0x1400d2ba0
mov r15d, dword [rbp + 0x77]
mov ecx, 1
mov r12d, ecx
mov dword [rbp + 0x7f], ecx
cmp r15d, ecx
je 0x1400d3b10
lea rsi, [0x140000000]
nop word [rax + rax]
cmp r12d, 0x7c0
jae 0x1400d3ab2
mov rcx, qword [rbx]
inc dword [rbx + 0x4c]
call qword [rbx + 0x10]
mov rcx, qword [rbx]
lea rdx, [rbx + 0x788]
mov dword [rbx + 0x40], eax
call qword [rbx + 0x20]
mov rcx, 0xfffffffffffff878
sub rcx, rbx
add rax, rcx
sar rax, 2
mov qword [rbp - 9], rax
test eax, eax
je 0x1400d2d50
mov esi, eax
mov r14d, dword [rbx + rsi*4 + 0x780]
mov qword [rbp - 1], r14
cmp r14d, dword [rbx + 0x48]
je 0x1400d2cfc
lea rsi, [0x140000000]
jmp 0x1400d2d54
mov edi, dword [rbx + 0x40]
mov rcx, qword [rbx]
mov eax, 0x111
cmp edi, eax
cmova edi, eax
call qword [rbx + 0x18]
mov ecx, dword [rbx + rsi*4 + 0x784]
or rdx, 0xffffffffffffffff
lea r8, [rax - 1]
sub rdx, rcx
mov ecx, edi
add r14, r8
add rcx, r8
cmp r14, rcx
je 0x1400d2d42
nop
movzx eax, byte [rdx + r14]
cmp byte [r14], al
jne 0x1400d2d42
inc r14
cmp r14, rcx
jne 0x1400d2d30
mov rax, qword [rbp - 9]
sub r14d, r8d
lea rsi, [0x140000000]
mov qword [rbp - 1], r14
cmp r14d, dword [rbx + 0x48]
jae 0x1400d3aa9
mov r13d, dword [rbp + 0x6f]
mov r14d, r12d
mov ecx, r12d
inc r13d
lea rdi, [r14 + 0x797]
shl rdi, 5
mov dword [rbp + 0x6f], r13d
add rdi, rbx
sub ecx, dword [rdi + 8]
cmp dword [rdi + 8], 1
jne 0x1400d2dbf
mov r15d, dword [rbp - 0x61]
mov r8d, dword [rbp - 0x51]
mov eax, ecx
shl rax, 5
cmp dword [rdi + 0xc], 0
movzx ecx, word [rax + rbx + 0xf2e4]
mov eax, dword [rbp - 0x4d]
jne 0x1400d2db2
movzx esi, byte [rcx + rsi + 0x163808]
jmp 0x1400d2ea9
movzx esi, byte [rcx + rsi + 0x1637d8]
jmp 0x1400d2ea9
movzx r8d, word [rdi + 6]
mov edx, dword [rdi + 0xc]
test r8w, r8w
je 0x1400d2def
movzx eax, r8w
mov esi, 8
sub ecx, eax
cmp r8w, 1
jne 0x1400d2e17
xor eax, eax
cmp edx, 4
mov esi, eax
setb sil
add esi, 7
jmp 0x1400d2e17
mov eax, ecx
shl rax, 5
movzx r8d, word [rax + rbx + 0xf2e4]
cmp edx, 4
jae 0x1400d2e0e
movzx esi, byte [r8 + rsi + 0x1637f8]
jmp 0x1400d2e17
movzx esi, byte [r8 + rsi + 0x1637e8]
add rcx, 0x797
shl rcx, 5
add rcx, rbx
mov eax, dword [rcx + 0x10]
mov dword [rbp - 0x39], eax
cmp edx, 4
jae 0x1400d2e89
test edx, edx
jne 0x1400d2e4f
mov r8d, dword [rcx + 0x18]
mov r15d, eax
mov dword [rbp - 0x61], eax
mov dword [rbp - 0x59], eax
mov eax, dword [rcx + 0x14]
mov dword [rbp - 0x39], eax
mov dword [rbp - 0x55], eax
mov eax, dword [rcx + 0x1c]
jmp 0x1400d2ea2
mov r15d, dword [rcx + 0x14]
mov dword [rbp - 0x55], eax
mov dword [rbp - 0x61], r15d
cmp edx, 1
jne 0x1400d2e68
mov r8d, dword [rcx + 0x18]
mov eax, dword [rcx + 0x1c]
jmp 0x1400d2e9e
mov r8d, r15d
mov dword [rbp - 0x51], r15d
mov r15d, dword [rcx + rdx*4 + 0x10]
mov rax, rdx
mov dword [rbp - 0x61], r15d
mov dword [rbp - 0x59], r15d
xor rax, 1
mov eax, dword [rcx + rax*4 + 0x10]
jmp 0x1400d2ea6
mov r8d, dword [rcx + 0x14]
lea r15d, [rdx - 3]
mov dword [rbp - 0x39], eax
mov dword [rbp - 0x55], eax
mov eax, dword [rcx + 0x18]
mov dword [rbp - 0x61], r15d
mov dword [rbp - 0x59], r15d
mov dword [rbp - 0x51], r8d
mov dword [rbp - 0x4d], eax
mov ecx, dword [rbp - 0x39]
mov word [rdi + 4], si
mov dword [rdi + 0x10], r15d
mov dword [rdi + 0x14], ecx
mov dword [rdi + 0x18], r8d
mov dword [rdi + 0x1c], eax
mov rcx, qword [rbx]
call qword [rbx + 0x18]
movzx r12d, byte [rax - 1]
mov ecx, r15d
lea r8, [rax - 1]
mov eax, esi
lea r11, [r14 + 0x798]
mov qword [rbp - 0x21], rax
shl rax, 4
mov r15, r8
sub r15, rcx
mov ecx, dword [rbx + 0x64]
shl r11, 5
movzx r9d, byte [r15]
and ecx, r13d
add r11, rbx
mov r13d, dword [r11]
add rax, rcx
mov qword [rbp + 7], rcx
mov qword [rbp - 0x29], rax
movzx eax, word [rbx + rax*2 + 0x1cd8]
mov qword [rbp - 0x41], r8
mov ecx, eax
xor rax, 0x7f0
mov byte [rbp + 0x67], r9b
shr rax, 4
shr rcx, 4
mov eax, dword [rbx + rax*4 + 0x588]
mov r10d, dword [rbx + rcx*4 + 0x588]
add eax, dword [rdi]
add r10d, dword [rdi]
mov dword [rbp - 0x49], eax
xor eax, eax
mov dword [rbp - 0x69], r10d
mov edi, eax
mov dword [rbp - 0x65], eax
cmp r13d, 0x40000000
jae 0x1400d2f56
cmp r9b, r12b
je 0x1400d2f5b
cmp r10d, r13d
jbe 0x1400d2f6a
xor r13d, r13d
mov r10d, r13d
mov dword [rbp - 0x69], r13d
jmp 0x1400d3077
mov ecx, dword [rbx + 0xbc]
mov eax, dword [rbp + 0x6f]
movzx edx, byte [r8 - 1]
shl eax, 8
movzx r8d, r12b
add edx, eax
mov rax, qword [rbx + 0x68]
and edx, dword [rbx + 0x60]
shl edx, cl
lea ecx, [rdx + rdx*2]
lea r14, [rax + rcx*2]
xor eax, eax
cmp esi, 7
jb 0x1400d3006
mov r10d, 0x100
movzx r9d, r9b
or r8d, r10d
nop word [rax + rax]
mov ecx, r8d
add r9d, r9d
mov eax, r10d
shr ecx, 8
and eax, r9d
add eax, r10d
add ecx, eax
movzx edx, word [r14 + rcx*2]
mov ecx, r8d
add r8d, r8d
shr ecx, 7
shr rdx, 4
mov eax, r8d
and ecx, 1
xor eax, r9d
neg ecx
not eax
shr rcx, 4
and r10d, eax
and ecx, 0x7f
xor rdx, rcx
add edi, dword [rbx + rdx*4 + 0x588]
cmp r8d, 0x10000
jb 0x1400d2fb0
mov r10d, dword [rbp - 0x69]
jmp 0x1400d303f
mov r9d, eax
bts r8d, 8
nop
mov eax, r8d
shr r8d, 1
movzx edx, word [r14 + r8*2]
and eax, 1
neg eax
shr rdx, 4
shr rax, 4
and eax, 0x7f
xor rdx, rax
add r9d, dword [rbx + rdx*4 + 0x588]
cmp r8d, 2
jae 0x1400d3010
mov edi, r9d
movzx r9d, byte [rbp + 0x67]
add r10d, edi
mov dword [rbp - 0x69], r10d
cmp r10d, r13d
jae 0x1400d3071
xor r13d, r13d
mov dword [r11], r10d
mov dword [r11 + 8], 1
lea edi, [r13 + 1]
mov dword [r11 + 0xc], 0xffffffff
mov word [r11 + 6], r13w
jmp 0x1400d3077
mov edi, dword [rbp - 0x65]
xor r13d, r13d
mov ecx, dword [rbx + 0x40]
mov r14d, dword [rbp - 0x49]
mov edx, esi
movzx eax, word [rbx + rdx*2 + 0x1c78]
xor rax, 0x7f0
shr rax, 4
mov eax, dword [rbx + rax*4 + 0x588]
add r14d, eax
mov eax, 0x7ff
sub eax, dword [rbp + 0x7f]
mov dword [rbp - 0x31], r14d
cmp ecx, eax
cmova ecx, eax
mov dword [rbp + 0x67], ecx
cmp esi, 7
jae 0x1400d3118
cmp r9b, r12b
jne 0x1400d3118
mov r8d, dword [r11]
cmp r14d, r8d
jae 0x1400d3118
cmp dword [r11 + 8], 2
jb 0x1400d30d0
cmp dword [r11 + 0xc], 0
je 0x1400d3118
movzx ecx, word [rbx + rdx*2 + 0x1c90]
mov rax, qword [rbp - 0x29]
movzx eax, word [rbx + rax*2 + 0x1e58]
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x588]
mov ecx, dword [rbp + 0x67]
shr rax, 4
add edx, dword [rbx + rax*4 + 0x588]
add edx, r14d
cmp edx, r8d
jae 0x1400d3118
mov dword [r11], edx
mov qword [r11 + 8], 1
mov word [r11 + 6], r13w
mov edi, r13d
cmp ecx, 2
jb 0x1400d3a82
mov edx, dword [rbx + 0x48]
cmp ecx, edx
mov r13d, edx
cmovbe r13d, ecx
mov dword [rbp - 0x5d], r13d
test edi, edi
jne 0x1400d328f
test r10d, r10d
je 0x1400d328f
cmp r9b, r12b
je 0x1400d328f
mov r14, qword [rbp - 0x41]
cmp ecx, 2
jbe 0x1400d3293
movzx eax, byte [r15 + 1]
cmp byte [r14 + 1], al
jne 0x1400d3293
movzx eax, byte [r15 + 2]
cmp byte [r14 + 2], al
jne 0x1400d3293
inc edx
mov r11d, 3
cmp edx, ecx
cmova edx, ecx
cmp edx, r11d
jbe 0x1400d31a4
lea rcx, [r14 + 3]
sub r15, r14
nop
movzx eax, byte [r15 + rcx]
cmp byte [rcx], al
jne 0x1400d31a4
inc r11d
inc rcx
cmp r11d, edx
jb 0x1400d3190
mov r10d, dword [rbp + 0x6f]
mov r15d, dword [rbp + 0x77]
mov r12d, dword [rbp + 0x7f]
inc r10d
lea rcx, [0x140000000]
mov eax, esi
movzx eax, byte [rax + rcx + 0x1637d8]
and r10d, dword [rbx + 0x64]
mov ecx, eax
mov r8d, eax
shl rcx, 4
add rcx, r10
movzx edx, word [rbx + rcx*2 + 0x1e58]
movzx eax, word [rbx + rcx*2 + 0x1cd8]
xor rax, 0x7f0
xor rdx, 0x7f0
shr rax, 4
shr rdx, 4
mov r9d, dword [rbx + rdx*4 + 0x588]
lea edx, [r11 + r12]
add r9d, dword [rbx + rax*4 + 0x588]
movzx eax, word [rbx + r8*2 + 0x1c78]
xor rax, 0x7f0
shr rax, 4
add r9d, dword [rbx + rax*4 + 0x588]
movzx eax, word [rbx + r8*2 + 0x1c90]
shr rax, 4
add r9d, dword [rbx + rax*4 + 0x588]
add r9d, dword [rbp - 0x69]
cmp r15d, edx
cmovb r15d, edx
dec r11d
mov eax, r11d
mov dword [rbp + 0x77], r15d
imul rcx, r10, 0x110
add rcx, rax
mov eax, edx
mov ecx, dword [rbx + rcx*4 + 0xaed8]
add rax, 0x797
shl rax, 5
add ecx, r9d
add rax, rbx
cmp ecx, dword [rax]
jae 0x1400d329b
mov dword [rax], ecx
xor edx, edx
mov ecx, 1
mov word [rax + 6], cx
mov dword [rax + 8], r11d
mov dword [rax + 0xc], edx
jmp 0x1400d329b
mov r14, qword [rbp - 0x41]
mov r12d, dword [rbp + 0x7f]
mov r15d, dword [rbp + 0x77]
xor edi, edi
lea rax, [rbp - 0x59]
mov dword [rbp - 0x2d], 2
mov qword [rbp - 0x29], rax
mov esi, edi
mov dword [rbp - 0x69], edi
nop dword [rax]
nop word [rax + rax]
mov eax, dword [rax]
mov r11, r14
sub r11, rax
mov qword [rbp + 0xf], r11
movzx eax, byte [r11]
cmp byte [r14], al
jne 0x1400d366b
movzx eax, byte [r11 + 1]
cmp byte [r14 + 1], al
jne 0x1400d366b
mov r9d, 2
mov dword [rbp - 0x65], r9d
cmp r13d, r9d
jbe 0x1400d331a
nop word [rax + rax]
mov ecx, r9d
movzx eax, byte [r11 + rcx]
cmp byte [r14 + rcx], al
jne 0x1400d3316
inc r9d
cmp r9d, r13d
jb 0x1400d3300
mov dword [rbp - 0x65], r9d
lea eax, [r9 + r12]
mov r8d, r9d
mov r9, qword [rbp - 0x21]
movzx edx, word [rbx + r9*2 + 0x1c90]
cmp r15d, eax
cmovb r15d, eax
mov dword [rbp + 0x77], r15d
test esi, esi
jne 0x1400d3373
mov rax, r9
shl rax, 4
add rax, qword [rbp + 7]
movzx ecx, word [rbx + rax*2 + 0x1e58]
mov eax, edx
xor rcx, 0x7f0
shr rax, 4
shr rcx, 4
mov r10d, dword [rbx + rcx*4 + 0x588]
add r10d, dword [rbx + rax*4 + 0x588]
jmp 0x1400d33e0
movzx ecx, word [rbx + r9*2 + 0x1ca8]
mov rax, rdx
xor rax, 0x7f0
shr rax, 4
mov r10d, dword [rbx + rax*4 + 0x588]
cmp esi, 1
jne 0x1400d33a6
mov eax, ecx
shr rax, 4
add r10d, dword [rbx + rax*4 + 0x588]
jmp 0x1400d33e0
movzx edx, word [rbx + r9*2 + 0x1cc0]
mov eax, 2
xor rcx, 0x7f0
sub eax, esi
shr rdx, 4
shr rcx, 4
shr rax, 4
and eax, 0x7f
xor rdx, rax
mov eax, dword [rbx + rdx*4 + 0x588]
add eax, dword [rbx + rcx*4 + 0x588]
add r10d, eax
mov r9d, dword [rbp - 0x31]
add r9d, r10d
mov dword [rbp - 0x35], r9d
imul r11, qword [rbp + 7], 0x110
mov qword [rbp - 0x19], r11
nop word [rax + rax]
mov eax, r8d
lea ecx, [r8 + r12]
add rcx, 0x797
add rax, r11
mov edx, dword [rbx + rax*4 + 0xaed8]
shl rcx, 5
add rcx, rbx
add edx, r9d
cmp edx, dword [rcx]
jae 0x1400d3433
mov dword [rcx], edx
mov dword [rcx + 8], r8d
mov dword [rcx + 0xc], esi
mov word [rcx + 6], di
dec r8d
cmp r8d, 2
jae 0x1400d3400
mov r9d, dword [rbp - 0x65]
mov r11, qword [rbp + 0xf]
test esi, esi
jne 0x1400d3450
lea r10d, [r9 + 1]
mov dword [rbp - 0x2d], r10d
mov edi, dword [rbx + 0x48]
lea r8d, [r9 + 1]
add edi, r8d
cmp edi, dword [rbp + 0x67]
cmova edi, dword [rbp + 0x67]
add r8d, 2
cmp r8d, edi
ja 0x1400d3669
lea eax, [r8 - 2]
mov ecx, eax
movzx eax, byte [r11 + rax]
cmp byte [rcx + r14], al
jne 0x1400d3669
lea eax, [r8 - 1]
mov ecx, eax
movzx eax, byte [r11 + rax]
cmp byte [rcx + r14], al
jne 0x1400d3669
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbx + 0x64]
movzx esi, byte [r11 + r9]
mov r12, qword [rbx + 0x68]
add ecx, r9d
xor edx, edx
and eax, ecx
shl ecx, 8
mov r15d, edx
mov rdx, qword [rbp - 0x41]
mov dword [rbp - 0x65], eax
mov r14d, 0x100
movzx eax, byte [rdx + r9 - 1]
movzx r10d, byte [rdx + r9]
add eax, ecx
mov ecx, dword [rbx + 0xbc]
or r10d, r14d
and eax, dword [rbx + 0x60]
shl eax, cl
lea r13d, [rax + rax*2]
add esi, esi
mov eax, r14d
mov ecx, r10d
shr ecx, 8
and eax, esi
add eax, r14d
add eax, ecx
mov ecx, r10d
add r10d, r10d
shr ecx, 7
add rax, r13
movzx edx, word [r12 + rax*2]
and ecx, 1
mov eax, r10d
neg ecx
shr rdx, 4
xor eax, esi
shr rcx, 4
not eax
and ecx, 0x7f
and r14d, eax
xor rdx, rcx
add r15d, dword [rbx + rdx*4 + 0x588]
cmp r10d, 0x10000
jb 0x1400d34e0
mov r10d, dword [rbp - 0x65]
mov rcx, qword [rbp - 0x21]
mov esi, dword [rbp - 0x35]
mov r14, qword [rbp - 0x41]
lea rdx, [0x140000000]
mov rax, r9
movzx ecx, byte [rcx + rdx + 0x1637f8]
add rax, qword [rbp - 0x19]
shl rcx, 4
add rcx, r10
movzx ecx, word [rbx + rcx*2 + 0x1cd8]
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x588]
add edx, dword [rbx + rax*4 + 0xaed8]
lea eax, [r10 + 1]
and eax, dword [rbx + 0x64]
add edx, r15d
movzx ecx, word [rbx + rax*2 + 0x1ef8]
mov r10d, eax
movzx eax, word [rbx + rax*2 + 0x1d78]
xor rax, 0x7f0
add esi, edx
xor rcx, 0x7f0
shr rax, 4
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x588]
add edx, dword [rbx + rax*4 + 0x588]
movzx eax, word [rbx + 0x1c82]
xor rax, 0x7f0
shr rax, 4
add edx, dword [rbx + rax*4 + 0x588]
movzx eax, word [rbx + 0x1c9a]
shr rax, 4
add edx, dword [rbx + rax*4 + 0x588]
add esi, edx
cmp r8d, edi
jae 0x1400d3607
mov ecx, r8d
add rcx, r14
sub r11, r14
movzx eax, byte [r11 + rcx]
cmp byte [rcx], al
jne 0x1400d3607
inc r8d
inc rcx
cmp r8d, edi
jb 0x1400d35f3
mov r15d, dword [rbp + 0x77]
mov r12d, dword [rbp + 0x7f]
mov r13d, dword [rbp - 0x5d]
sub r8d, r9d
lea edx, [r8 + r9]
add edx, r12d
cmp r15d, edx
cmovb r15d, edx
dec r8d
mov eax, r8d
mov dword [rbp + 0x77], r15d
imul rcx, r10, 0x110
add rcx, rax
mov eax, edx
mov ecx, dword [rbx + rcx*4 + 0xaed8]
add rax, 0x797
shl rax, 5
add ecx, esi
mov esi, dword [rbp - 0x69]
add rax, rbx
cmp ecx, dword [rax]
jae 0x1400d3669
inc r9w
mov dword [rax], ecx
mov dword [rax + 8], r8d
mov word [rax + 6], r9w
mov dword [rax + 0xc], esi
xor edi, edi
mov rax, qword [rbp - 0x29]
inc esi
add rax, 4
mov dword [rbp - 0x69], esi
mov qword [rbp - 0x29], rax
cmp esi, 4
jb 0x1400d32c0
mov rcx, qword [rbp - 1]
lea r8, [rbx + 0x788]
cmp ecx, r13d
jbe 0x1400d36b6
mov ecx, r13d
mov edx, edi
cmp r13d, dword [r8]
jbe 0x1400d36a9
nop
add edx, 2
cmp r13d, dword [r8 + rdx*4]
ja 0x1400d36a0
mov eax, edx
add edx, 2
mov dword [r8 + rax*4], r13d
mov qword [rbp - 9], rdx
mov r10d, dword [rbp - 0x2d]
cmp ecx, r10d
jb 0x1400d3a8a
mov rax, qword [rbp - 0x21]
mov r12d, dword [rbp - 0x49]
mov esi, dword [rbp + 0x7f]
movzx eax, word [rbx + rax*2 + 0x1c78]
mov edx, edi
shr rax, 4
mov dword [rbp - 0x5d], edx
mov eax, dword [rbx + rax*4 + 0x588]
add r12d, eax
lea eax, [rcx + rsi]
cmp r15d, eax
mov dword [rbp - 0x31], r12d
cmovb r15d, eax
mov dword [rbp + 0x77], r15d
cmp r10d, dword [r8]
jbe 0x1400d370c
add edx, 2
cmp r10d, dword [r8 + rdx*4]
ja 0x1400d3700
mov dword [rbp - 0x5d], edx
mov edi, dword [rbp - 0x2d]
mov r11d, dword [rbp + 0x6f]
mov eax, edx
mov edx, dword [r8 + rax*4 + 4]
lea r9, [r8 + rax*4]
mov eax, 6
cmp edx, 0x100000
mov ecx, 0x13
mov dword [rbp - 0x65], edx
cmovb ecx, eax
add r11d, edi
mov eax, edx
shr rax, cl
shl r11d, 8
add edi, 3
movzx eax, byte [rax + rbx + 0x2ad8]
mov r8d, edx
lea r10d, [rax + rcx*2]
imul rax, qword [rbp + 7], 0x110
add esi, 0xfffffffd
mov dword [rbp - 0x49], esi
mov qword [rbp - 0x19], rax
mov ecx, 3
lea r13d, [rdi - 3]
mov dword [rbp - 0x69], r11d
mov r15d, r13d
add rax, r15
add r12d, dword [rbx + rax*4 + 0x6ad4]
lea eax, [rdi - 5]
cmp eax, ecx
cmovb ecx, eax
cmp edx, 0x80
jae 0x1400d37a6
mov rax, r8
shl rcx, 7
and eax, 0x7f
add rcx, rax
add r12d, dword [rbx + rcx*4 + 0x1458]
jmp 0x1400d37cc
mov edx, ecx
mov eax, r10d
mov rcx, r8
shl rdx, 6
and ecx, 0xf
add rdx, rax
mov eax, dword [rbx + rdx*4 + 0x1058]
mov edx, dword [rbp - 0x65]
add eax, dword [rbx + rcx*4 + 0x1018]
add r12d, eax
lea ecx, [rsi + rdi]
add rcx, 0x797
shl rcx, 5
add rcx, rbx
cmp r12d, dword [rcx]
jae 0x1400d37f5
lea eax, [rdx + 4]
mov dword [rcx], r12d
mov dword [rcx + 8], r13d
mov dword [rcx + 0xc], eax
xor eax, eax
mov word [rcx + 6], ax
cmp r13d, dword [r9]
jne 0x1400d3a6c
mov edx, dword [rbx + 0x48]
mov r10, r14
mov r9d, edi
add edx, 0xfffffffe
sub r10, r8
add edx, edi
cmp edx, dword [rbp + 0x67]
cmova edx, dword [rbp + 0x67]
cmp edi, edx
ja 0x1400d3a1e
lea eax, [rdi - 2]
mov ecx, eax
movzx eax, byte [r10 + rax - 1]
cmp byte [r14 + rcx], al
jne 0x1400d3a1e
lea eax, [rdi - 1]
mov ecx, eax
movzx eax, byte [r10 + rax - 1]
cmp byte [r14 + rcx], al
jne 0x1400d3a1e
cmp edi, edx
jae 0x1400d3874
lea r8, [r10 - 1]
mov ecx, edi
add rcx, r14
sub r8, r14
nop dword [rax + rax]
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x1400d3874
inc r9d
inc rcx
cmp r9d, edx
jb 0x1400d3860
mov eax, dword [rbp + 0x6f]
mov rcx, qword [rbp - 0x21]
movzx r8d, byte [r14 + r13]
movzx r10d, byte [r10 + r13 - 1]
mov r14, qword [rbx + 0x68]
add eax, 0xfffffffd
add eax, edi
lea rdx, [0x140000000]
mov r11d, 0x100
and eax, dword [rbx + 0x64]
movzx ecx, byte [rcx + rdx + 0x1637e8]
mov rdx, qword [rbp - 0x41]
mov dword [rbp - 0x35], eax
shl rcx, 4
sub r9d, r13d
add rcx, rax
or r8d, r11d
movzx eax, word [rbx + rcx*2 + 0x1cd8]
mov ecx, dword [rbx + 0xbc]
shr rax, 4
add r12d, dword [rbx + rax*4 + 0x588]
xor eax, eax
mov esi, eax
movzx eax, byte [rdx + r13 - 1]
add eax, dword [rbp - 0x69]
and eax, dword [rbx + 0x60]
shl eax, cl
lea r15d, [rax + rax*2]
nop dword [rax + rax]
add r10d, r10d
mov eax, r11d
mov ecx, r8d
shr ecx, 8
and eax, r10d
add eax, r11d
add eax, ecx
mov ecx, r8d
add r8d, r8d
shr ecx, 7
add rax, r15
movzx edx, word [r14 + rax*2]
and ecx, 1
mov eax, r8d
neg ecx
shr rdx, 4
xor eax, r10d
shr rcx, 4
not eax
and ecx, 0x7f
and r11d, eax
xor rdx, rcx
add esi, dword [rbx + rdx*4 + 0x588]
cmp r8d, 0x10000
jb 0x1400d38f0
mov eax, dword [rbp - 0x35]
mov r15d, dword [rbp + 0x77]
mov r11d, dword [rbp - 0x69]
mov r14, qword [rbp - 0x41]
inc eax
and eax, dword [rbx + 0x64]
mov r8d, eax
movzx ecx, word [rbx + rax*2 + 0x1ed8]
movzx eax, word [rbx + rax*2 + 0x1d58]
xor rcx, 0x7f0
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
mov edx, dword [rbx + rcx*4 + 0x588]
add edx, dword [rbx + rax*4 + 0x588]
movzx eax, word [rbx + 0x1c80]
xor rax, 0x7f0
shr rax, 4
add edx, dword [rbx + rax*4 + 0x588]
movzx eax, word [rbx + 0x1c98]
shr rax, 4
add edx, dword [rbx + rax*4 + 0x588]
add edx, esi
mov esi, dword [rbp - 0x49]
add r12d, edx
mov edx, dword [rbp + 0x7f]
add edx, r9d
add edx, r13d
cmp r15d, edx
cmovb r15d, edx
dec r9d
mov eax, r9d
mov dword [rbp + 0x77], r15d
imul rcx, r8, 0x110
add rcx, rax
mov r8d, dword [rbx + rcx*4 + 0xaed8]
mov ecx, edx
add rcx, 0x797
add r8d, r12d
shl rcx, 5
add rcx, rbx
cmp r8d, dword [rcx]
jae 0x1400d3a22
mov eax, dword [rbp - 0x65]
inc r13w
mov dword [rcx], r8d
add eax, 4
mov dword [rcx + 8], r9d
mov word [rcx + 6], r13w
mov dword [rcx + 0xc], eax
jmp 0x1400d3a22
mov r15d, dword [rbp + 0x77]
mov edx, dword [rbp - 0x5d]
add edx, 2
mov dword [rbp - 0x5d], edx
cmp edx, dword [rbp - 9]
je 0x1400d3a86
mov r9d, edx
mov eax, 6
mov ecx, 0x13
add r9, 0x1e2
lea r9, [rbx + r9*4]
mov edx, dword [r9 + 4]
cmp edx, 0x100000
mov dword [rbp - 0x65], edx
mov r8d, edx
cmovb ecx, eax
mov eax, edx
shr rax, cl
movzx eax, byte [rax + rbx + 0x2ad8]
lea r10d, [rax + rcx*2]
mov rax, qword [rbp - 0x19]
mov r12d, dword [rbp - 0x31]
add r11d, 0x100
inc edi
jmp 0x1400d3764
mov r15d, dword [rbp + 0x77]
mov r12d, dword [rbp + 0x7f]
inc r12d
mov r14d, 0
lea rsi, [0x140000000]
mov dword [rbp + 0x7f], r12d
cmp r12d, r15d
jne 0x1400d2ca0
jmp 0x1400d3b10
mov dword [rbx + 0x3c], eax
mov dword [rbx + 0x38], r14d
jmp 0x1400d3b10
mov eax, r12d
mov edi, r12d
add rax, 0x797
shl rax, 5
mov r8d, dword [rax + rbx]
lea eax, [r12 + 1]
cmp eax, r15d
ja 0x1400d3af7
mov ecx, eax
add rcx, 0x797
shl rcx, 5
add rcx, rbx
mov edx, dword [rcx]
cmp r8d, edx
jb 0x1400d3aec
mov r8d, edx
mov edi, eax
inc eax
add rcx, 0x20
cmp eax, r15d
jbe 0x1400d3ae0
mov edx, edi
sub edx, r12d
je 0x1400d3b07
mov rcx, qword [rbx]
add dword [rbx + 0x4c], edx
call qword [rbx + 0x28]
mov r12d, edi
nop word [rax + rax]
mov eax, r15d
add rax, 0x797
shl rax, 5
mov dword [rax + rbx], 0x40000000
dec r15d
jne 0x1400d3b10
mov edx, r12d
mov rcx, rbx
call fcn.1400d2060
mov r14, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xb8]
mov r15, qword [rsp + 0xa8]
add rsp, 0xc0
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret