Function at 0x14004e590
Capabilities:
Encrypt data using speck

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2d8
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x240], xmm15
movdqa xmmword [rbp + 0x230], xmm14
movdqa xmmword [rbp + 0x220], xmm13
movdqa xmmword [rbp + 0x210], xmm12
movdqa xmmword [rbp + 0x200], xmm11
movdqa xmmword [rbp + 0x1f0], xmm10
movdqa xmmword [rbp + 0x1e0], xmm9
movaps xmmword [rbp + 0x1d0], xmm8
movdqa xmmword [rbp + 0x1c0], xmm7
movdqa xmmword [rbp + 0x1b0], xmm6
mov qword [rbp + 0x1a8], 0xfffffffffffffffe
mov qword [rbp - 0x38], rcx
mov rax, qword [rbp + 0x2c8]
mov rcx, qword [rbp + 0x2c0]
mov qword [rbp - 0x40], r9
mov qword [rcx + 0x10], 0
mov dword [rbp + 0xc8], 0
mov qword [rbp + 0xc0], 0
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x30], rax
add r8, rdx
pxor xmm6, xmm6
movdqu xmmword [rbp + 0x93], xmm6
mov byte [rbp + 0xa3], 0
movdqu xmmword [rbp + 0x42], xmm6
movzx eax, word [rbp + 0x50]
mov word [rbp + 0x17e], ax
movups xmm0, xmmword [rbp + 0x40]
movups xmmword [rbp + 0x16e], xmm0
mov qword [rbp + 0xe8], 0
lea r13, [rbp + 0xf8]
mov dword [rbp + 0xf8], 0
mov word [rbp + 0xfc], 0
mov byte [rbp + 0x100], 0
mov dword [rbp + 0x104], 0
mov byte [rbp + 0x108], 0
mov dword [rbp + 0x10c], 0
mov byte [rbp + 0x110], 0
mov dword [rbp + 0x114], 0
mov byte [rbp + 0x118], 0
mov dword [rbp + 0x11c], 0
mov qword [rbp + 0x120], rdx
mov qword [rbp + 0x128], r8
lea rax, [rbp + 0xc0]
mov qword [rbp + 0x130], rax
mov qword [rbp + 0x138], 0
mov rax, r9
shr rax, 0x20
mov byte [rbp + 0x14c], al
mov qword [rbp + 0x28], r9
mov dword [rbp + 0x148], r9d
mov eax, dword [rbp + 0xa0]
mov dword [rbp + 0x15d], eax
movdqu xmm0, xmmword [rbp + 0x90]
movdqu xmmword [rbp + 0x14d], xmm0
mov dword [rbp + 0x168], 0
mov word [rbp + 0x16c], 0
mov dword [rbp + 0x188], 0x110000
mov byte [rbp + 0x18c], 0
lea rsi, [0x14020c0b8]
xor eax, eax
jmp 0x14004e785
mov rax, qword [rdi + 8]
mov byte [rax + rdx], bl
inc rdx
mov qword [rdi + 0x10], rdx
mov rax, qword [rbp + 0xe8]
test rax, rax
je 0x14004e814
cmp rax, 1
jne 0x14004f4d8
mov rax, qword [rbp + 0xf0]
cmp dword [rbp + 0x168], 0
mov rdi, qword [rbp + 0x2c0]
je 0x14004e7c9
cmp rax, qword [rbp + 0x180]
jb 0x14004f501
mov qword [rbp + 0x180], 0
jmp 0x14004e7f6
movzx ecx, word [rbp + 0x16c]
cmp rcx, 4
ja 0x140051d3d
cmp rax, rcx
jb 0x14004f541
cmp word [rbp + 0x16c], 0
je 0x14004e7f6
mov word [rbp + 0x16c], 0
mov qword [rbp + 0xe8], 0
jmp 0x14004e814
add ebx, 0x11a7
movzx edx, bx
mov rcx, r13
call fcn.1400529e0
mov r9, qword [rbp + 0x158]
test r9, r9
jne 0x14004ec90
movzx r10d, byte [rbp + 0x148]
cmp r10b, 2
je 0x14004f0a9
mov r8, qword [rbp + 0x138]
mov r14, qword [rbp + 0x120]
mov r11, qword [rbp + 0x128]
mov rax, qword [rbp + 0x130]
movzx ebx, byte [rbp + 0x149]
mov r15, qword [rbp + 0x140]
test r8, r8
je 0x14004e90d
cmp r8, r15
je 0x14004e902
lea rcx, [r8 + 1]
mov qword [rbp + 0x138], rcx
movzx edi, byte [r8]
movzx edx, dil
test dl, dl
jns 0x14004efb1
mov ecx, edx
and ecx, 0x1f
lea r9, [r8 + 2]
mov qword [rbp + 0x138], r9
movzx r12d, byte [r8 + 1]
and r12d, 0x3f
cmp dl, 0xdf
jbe 0x14004f363
lea rdx, [r8 + 3]
mov qword [rbp + 0x138], rdx
movzx r9d, byte [r8 + 2]
shl r12d, 6
and r9d, 0x3f
or r9d, r12d
cmp dil, 0xf0
jb 0x14004f370
lea rdx, [r8 + 4]
mov qword [rbp + 0x138], rdx
movzx edx, byte [r8 + 3]
and ecx, 7
shl ecx, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, ecx
cmp edx, 0x110000
jne case.0x14004eade.0
mov qword [rbp + 0x138], 0
cmp r14, r11
je 0x14004f0a2
lea rcx, [r14 + 1]
mov qword [rbp + 0x120], rcx
movzx r8d, byte [r14]
movzx edx, r8b
test dl, dl
js 0x14004e950
mov r14, rcx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x14004e9f0
jmp 0x14004efb1
mov ecx, edx
and ecx, 0x1f
lea rdi, [r14 + 2]
mov qword [rbp + 0x120], rdi
movzx r9d, byte [r14 + 1]
and r9d, 0x3f
cmp dl, 0xdf
jbe 0x14004e9c4
lea rdi, [r14 + 3]
mov qword [rbp + 0x120], rdi
movzx edx, byte [r14 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x14004e9dc
lea r8, [r14 + 4]
mov qword [rbp + 0x120], r8
movzx r9d, byte [r14 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and r9d, 0x3f
or r9d, edx
or r9d, ecx
mov r14, r8
mov edx, r9d
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x14004e9f0
jmp 0x14004efb1
shl ecx, 6
or ecx, r9d
mov r14, rdi
mov edx, ecx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x14004e9f0
jmp 0x14004efb1
shl ecx, 0xc
or edx, ecx
mov r14, rdi
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jb 0x14004efb1
cmp edx, 0x110000
je 0x14004f0a2
lea ecx, [rdx - 0x61]
cmp ecx, 0x1a
jb 0x14004efb1
lea ecx, [rdx - 0x30]
cmp ecx, 0xa
jb 0x14004efb1
mov r8d, 0x75a
xor ecx, ecx
mov r9d, 0x75a
nop word cs:[rax + rax]
shr r8, 1
add r8, rcx
mov edi, dword [rsi + r8*8]
cmp edi, edx
je 0x14004ea67
lea r12, [r8 + 1]
cmp edi, edx
cmova r9, r8
cmovb rcx, r12
mov r8, r9
sub r8, rcx
ja 0x14004ea30
dec rcx
cmp rcx, 0x759
ja 0x14004f6c5
mov r8, rcx
movzx r9d, word [rsi + r8*8 + 4]
mov ecx, r9d
and ecx, 0x7fff
test r9w, r9w
js 0x14004eaa0
movzx r8d, word [rsi + r8*8]
mov r9d, edx
sub r9w, r8w
movzx ecx, cx
add ecx, r9d
movzx ecx, cx
cmp ecx, 0x1f73
jb 0x14004eab1
jmp 0x14004f6db
movzx r8d, cx
cmp r8d, 0x1f73
jae 0x14004f6f1
lea r8, [0x14020fb88]
movzx r9d, byte [r8 + rcx*4]
mov r8d, 0
cmp r9d, 1
je case.default.0x14004eade
mov r8d, r9d
lea r9, [0x140259110]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
mov edx, dword [rbp + 0xf8]
mov rcx, qword [rbp + 0x150]
test edx, edx
je 0x14004ecb9
mov r8, qword [rbp + 0x108]
mov rax, qword [rbp + 0x110]
cmp rax, rcx
ja 0x14004ecda
jmp 0x14004f707
movzx eax, word [rbp + 0xfc]
cmp rax, 5
jae 0x140051bf9
lea r8, [rbp + 0x100]
cmp rax, rcx
jbe 0x14004f707
mov r14d, dword [r8 + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x14004eda0
test edx, edx
je 0x14004eda9
mov r8, qword [rbp + 0x110]
sub r8, r9
je 0x14004edba
xor ecx, ecx
jmp 0x14004ed33
movzx eax, byte [r9 + rdx*8]
mov edx, dword [r9 + rdx*8 + 4]
mov byte [r9 + rcx*8], al
mov dword [r9 + rcx*8 + 4], edx
lea rax, [rcx + 1]
mov rcx, rax
cmp r8, rax
je 0x14004edd0
mov rdx, qword [rbp + 0x158]
add rdx, rcx
cmp dword [rbp + 0xf8], 0
je 0x14004ed70
mov rax, qword [rbp + 0x110]
cmp rax, rdx
jbe 0x14004f69a
mov r9, qword [rbp + 0x108]
cmp rax, rcx
ja 0x14004ed10
jmp 0x14004f6b1
movzx eax, word [rbp + 0xfc]
cmp rax, 5
jae 0x140051be0
cmp rdx, rax
jae 0x14004f69a
lea r9, [rbp + 0x100]
cmp rax, rcx
ja 0x14004ed10
jmp 0x14004f6b1
mov qword [rbp + 0x150], rcx
jmp 0x14004edf6
movzx r8d, word [rbp + 0xfc]
sub r8, r9
jne 0x14004ed03
test edx, edx
je 0x14004edda
cmp qword [rbp + 0x110], r8
jb 0x14004edf0
mov qword [rbp + 0x110], r8
jmp 0x14004edf0
mov edx, dword [rbp + 0xf8]
test edx, edx
jne 0x14004edbe
movzx eax, word [rbp + 0xfc]
cmp r8, rax
jae 0x14004edf0
mov word [rbp + 0xfc], r8w
nop
movdqu xmmword [r13 + 0x58], xmm6
imul eax, r14d, 0x9e3779b9
imul ecx, r14d, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1f
and eax, 0xfffffffe
lea rdx, [0x140232a88]
movzx eax, word [rax + rdx]
add eax, r14d
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1e
and eax, 0xfffffffc
lea rcx, [0x1402331bc]
mov r15d, dword [rax + rcx]
mov eax, r15d
shr eax, 8
cmp eax, r14d
mov eax, 0
cmovne r15d, eax
mov ebx, dword [rbp + 0x188]
cmp ebx, 0x110000
jne 0x14004ee80
test r15b, r15b
jne 0x14004f450
mov dword [rbp + 0x188], r14d
jmp 0x14004e814
cmp byte [rbp + 0x18c], 0
je 0x14004eee4
cmp byte [rbp + 0x18d], r15b
mov rdi, qword [rbp + 0x2c0]
jae 0x14004ef34
mov ecx, ebx
mov edx, r14d
call fcn.1401b1330
cmp eax, 0x110000
jne 0x14004f358
cmp dword [rbp + 0x168], 0
je 0x14004f3c6
mov rdx, qword [rbp + 0x180]
cmp rdx, qword [rbp + 0x170]
jne 0x14004ef6d
lea rcx, [rbp + 0x170]
call fcn.1401be7e0
jmp 0x14004ef66
mov ecx, ebx
mov edx, r14d
call fcn.1401b1330
cmp eax, 0x110000
jne 0x14004f2a8
test r15b, r15b
mov rdi, qword [rbp + 0x2c0]
je 0x14004f4cc
cmp dword [rbp + 0x168], 0
je 0x14004f3a4
mov rdx, qword [rbp + 0x180]
cmp rdx, qword [rbp + 0x170]
jne 0x14004ef6d
lea rcx, [rbp + 0x170]
call fcn.1401be7e0
jmp 0x14004ef66
test r15b, r15b
je 0x14004f4a3
cmp dword [rbp + 0x168], 0
je 0x14004f37e
mov rdx, qword [rbp + 0x180]
cmp rdx, qword [rbp + 0x170]
jne 0x14004ef6d
lea rcx, [rbp + 0x170]
call fcn.1401be7e0
mov rdx, qword [rbp + 0x180]
mov rax, qword [rbp + 0x178]
mov dword [rax + rdx*4], r14d
inc qword [rbp + 0x180]
jmp 0x14004f43b
cmp edx, 0x110000
je 0x14004f0a2
cmp byte [rbp + 0x160], 0
je 0x14004f01d
cmp edx, 0x80
jb 0x14004e80c
lea edi, [rdx - 0xac00]
cmp edi, 0x2ba4
jae 0x14004f0fe
movzx ebx, di
imul r14d, ebx, 0x6f75
shr r14d, 0x18
lea edx, [r14 + 0x1100]
mov rcx, r13
call fcn.1400529e0
imul eax, r14d, 0x24c
sub edi, eax
movzx eax, di
shr eax, 2
imul edx, eax, 0x4925
shr edx, 0x11
add edx, 0x1161
mov rcx, r13
call fcn.1400529e0
jmp 0x14004f07e
cmp edx, 0x80
jb 0x14004e80c
lea edi, [rdx - 0xac00]
cmp edi, 0x2ba4
jae 0x14004f1f8
movzx ebx, di
imul r14d, ebx, 0x6f75
shr r14d, 0x18
lea edx, [r14 + 0x1100]
mov rcx, r13
call fcn.1400529e0
imul eax, r14d, 0x24c
sub edi, eax
movzx eax, di
shr eax, 2
imul edx, eax, 0x4925
shr edx, 0x11
add edx, 0x1161
mov rcx, r13
call fcn.1400529e0
mov eax, ebx
shr eax, 2
imul eax, eax, 0x4925
shr eax, 0x11
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub bx, cx
jne 0x14004e803
jmp 0x14004e814
mov byte [rbp + 0x148], 2
mov r9d, dword [rbp + 0xf8]
test r9d, r9d
mov rdx, qword [rbp + 0x110]
movzx r8d, word [rbp + 0xfc]
movzx eax, r8w
mov rcx, rdx
cmove rcx, rax
test rcx, rcx
je 0x14004f460
mov rcx, qword [rbp + 0x158]
test r9d, r9d
je 0x14004f19a
mov r8, qword [rbp + 0x108]
mov rax, rdx
sub rax, rcx
jae 0x14004f1bb
jmp 0x140051c12
imul r8d, edx, 0x9e3779b9
imul eax, edx, 0x31415926
xor r8d, eax
imul rcx, r8, 0xee4
shr rcx, 0x1f
and ecx, 0xfffffffe
lea r9, [0x14023eac0]
movzx ecx, word [rcx + r9]
add ecx, edx
imul ecx, ecx, 0x9e3779b9
xor ecx, eax
imul rcx, rcx, 0xee4
shr rcx, 0x1d
and ecx, 0xfffffff8
lea r9, [0x140240888]
mov rcx, qword [rcx + r9]
cmp edx, ecx
jne 0x14004f2b3
mov rdx, rcx
shr rdx, 0x20
movzx eax, dx
movzx edx, dx
cmp edx, 0x1667
ja 0x140051cd0
shr rcx, 0x30
mov edx, 0x1667
sub rdx, rax
cmp rdx, rcx
jb 0x140051cbf
lea rdx, [0x140247fa8]
lea rbx, [rdx + rax*4]
test rcx, rcx
jne 0x14004f334
jmp 0x14004e814
cmp r8w, 5
jae 0x140051ca6
mov rdx, rax
lea r8, [rbp + 0x100]
mov rax, rdx
sub rax, rcx
jb 0x140051c12
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.14004db30
mov edx, dword [rbp + 0xf8]
test edx, edx
je 0x14004f1e4
mov r9, qword [rbp + 0x110]
mov qword [rbp + 0x158], r9
jmp 0x14004ec96
movzx r9d, word [rbp + 0xfc]
mov qword [rbp + 0x158], r9
jmp 0x14004ec96
imul eax, edx, 0x9e3779b9
imul ecx, edx, 0x31415926
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea r8, [0x140236464]
movzx eax, word [r8 + rax*2]
add eax, edx
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea rcx, [0x140237480]
mov rcx, qword [rcx + rax*8]
cmp edx, ecx
jne 0x14004e80c
mov rdx, rcx
shr rdx, 0x20
movzx eax, dx
movzx edx, dx
cmp edx, 0xd4e
ja 0x140051cfa
shr rcx, 0x30
mov edx, 0xd4e
sub rdx, rax
cmp rdx, rcx
jb 0x140051ce9
test rcx, rcx
je 0x14004e814
lea rdx, [0x14023b4e8]
lea rdi, [rdx + rax*4]
lea rbx, [rdi + rcx*4]
nop dword [rax + rax]
mov edx, dword [rdi]
mov rcx, r13
call fcn.1400529e0
add rdi, 4
cmp rdi, rbx
jne 0x14004f290
jmp 0x14004e814
mov dword [rbp + 0x188], eax
jmp 0x14004e814
imul rcx, r8, 0x80d
shr rcx, 0x20
lea r8, [0x140236464]
movzx ecx, word [r8 + rcx*2]
add ecx, edx
imul ecx, ecx, 0x9e3779b9
xor ecx, eax
imul rax, rcx, 0x80d
shr rax, 0x20
lea rcx, [0x140237480]
mov rcx, qword [rcx + rax*8]
cmp edx, ecx
jne 0x14004e80c
mov rdx, rcx
shr rdx, 0x20
movzx eax, dx
movzx edx, dx
cmp edx, 0xd4e
ja 0x140051d24
shr rcx, 0x30
mov edx, 0xd4e
sub rdx, rax
cmp rdx, rcx
jb 0x140051d13
lea rdx, [0x14023b4e8]
lea rbx, [rdx + rax*4]
test rcx, rcx
je 0x14004e814
lea rdi, [rbx + rcx*4]
nop dword [rax + rax]
mov edx, dword [rbx]
mov rcx, r13
call fcn.1400529e0
add rbx, 4
cmp rbx, rdi
jne 0x14004f340
jmp 0x14004e814
mov dword [rbp + 0x188], eax
jmp 0x14004e814
shl ecx, 6
or ecx, r12d
mov edx, ecx
jmp 0x14004efb1
shl ecx, 0xc
or r9d, ecx
mov edx, r9d
jmp 0x14004efb1
movzx eax, word [rbp + 0x16c]
cmp rax, 3
jbe 0x14004f42a
lea rcx, [rbp + 0x40]
lea rdx, [rbp + 0x16c]
mov r8d, r14d
call fcn.1401e8e70
jmp 0x14004f3e6
movzx eax, word [rbp + 0x16c]
cmp rax, 3
jbe 0x14004f42a
lea rcx, [rbp + 0x40]
lea rdx, [rbp + 0x16c]
mov r8d, r14d
call fcn.1401e8e70
jmp 0x14004f3e6
movzx eax, word [rbp + 0x16c]
cmp rax, 3
jbe 0x14004f42a
lea rcx, [rbp + 0x40]
lea rdx, [rbp + 0x16c]
mov r8d, r14d
call fcn.1401e8e70
cmp dword [rbp + 0x168], 0
je 0x14004f40f
cmp qword [rbp + 0x170], 0
je 0x14004f40f
mov r8, qword [rbp + 0x178]
mov rcx, qword [0x1402b32e8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
movdqu xmm0, xmmword [rbp + 0x40]
movdqu xmm1, xmmword [rbp + 0x50]
movdqu xmmword [r13 + 0x80], xmm1
movdqu xmmword [r13 + 0x70], xmm0
jmp 0x14004f43b
mov dword [rbp + rax*4 + 0x170], r14d
inc eax
mov word [rbp + 0x16c], ax
mov byte [rbp + 0x18c], 1
mov byte [rbp + 0x18d], r15b
jmp 0x14004e814
mov ebx, r14d
mov rdi, qword [rbp + 0x2c0]
jmp 0x14004f5a0
mov qword [rbp + 0xe8], 2
mov qword [rbp + 0xf0], 0
mov ebx, dword [rbp + 0x188]
mov eax, 2
cmp ebx, 0x110000
je 0x14004e785
mov dword [rbp + 0x188], 0x110000
mov rdi, qword [rbp + 0x2c0]
jmp 0x14004f5a0
mov dword [rbp + 0x188], r14d
mov byte [rbp + 0x18c], 0
mov qword [rbp + 0xe8], 1
mov qword [rbp + 0xf0], 0
jmp 0x14004f5a0
mov dword [rbp + 0x188], r14d
jmp 0x14004f5a0
mov rax, qword [rbp + 0xf0]
cmp dword [rbp + 0x168], 0
mov rdi, qword [rbp + 0x2c0]
je 0x14004f50a
cmp rax, qword [rbp + 0x180]
jae 0x14004f562
mov rdx, qword [rbp + 0x178]
jmp 0x14004f527
mov rcx, qword [rbp + 0x178]
jmp 0x14004f548
movzx ecx, word [rbp + 0x16c]
cmp rcx, 5
jae 0x140051d70
lea rdx, [rbp + 0x170]
cmp rax, rcx
jae 0x14004f56f
mov ebx, dword [rdx + rax*4]
inc rax
mov qword [rbp + 0xe8], 2
mov qword [rbp + 0xf0], rax
jmp 0x14004f5a0
lea rcx, [rbp + 0x170]
mov ebx, dword [rcx + rax*4]
inc rax
mov qword [rbp + 0xe8], 1
mov qword [rbp + 0xf0], rax
jmp 0x14004f5a0
mov qword [rbp + 0x180], 0
jmp 0x14004f582
cmp word [rbp + 0x16c], 0
je 0x14004f582
mov word [rbp + 0x16c], 0
mov ebx, dword [rbp + 0x188]
mov dword [rbp + 0x188], 0x110000
cmp ebx, 0x110000
je 0x14004f71b
nop
cmp ebx, 0x80
jae 0x14004f5d0
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi]
jne 0x14004e770
mov rcx, rdi
call fcn.140158a40
mov rdx, qword [rdi + 0x10]
jmp 0x14004e770
mov dword [rbp + 0x40], 0
mov eax, ebx
cmp ebx, 0x800
jae 0x14004f5f9
shr eax, 6
or al, 0xc0
mov byte [rbp + 0x40], al
and bl, 0x3f
or bl, 0x80
mov byte [rbp + 0x41], bl
mov ebx, 2
jmp 0x14004f653
cmp ebx, 0x10000
jae 0x14004f625
shr eax, 0xc
or al, 0xe0
mov byte [rbp + 0x40], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rbp + 0x41], al
and bl, 0x3f
or bl, 0x80
mov byte [rbp + 0x42], bl
mov ebx, 3
jmp 0x14004f653
shr eax, 0x12
or al, 0xf0
mov byte [rbp + 0x40], al
mov eax, ebx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rbp + 0x41], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rbp + 0x42], al
and bl, 0x3f
or bl, 0x80
mov byte [rbp + 0x43], bl
mov ebx, 4
mov rax, qword [rdi]
mov r14, qword [rdi + 0x10]
sub rax, r14
cmp rax, rbx
jae 0x14004f674
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.1401f07d0
mov r14, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
add rcx, r14
lea rdx, [rbp + 0x40]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add r14, rbx
mov qword [rdi + 0x10], r14
mov rax, qword [rbp + 0xe8]
jmp 0x14004e785
lea r8, str.C:UsersEnder.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srcdecompose.rs
mov rcx, rdx
mov rdx, rax
call fcn.1401e5f90
jmp case.0x14004eade.1
lea r8, str.C:UsersEnder.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srcdecompose.rs
mov rdx, rax
call fcn.1401e5f90
jmp case.0x14004eade.1
lea r8, [0x14020c028]
mov edx, 0x75a
call fcn.1401e5f90
jmp case.0x14004eade.1
lea r8, [0x14020c040]
mov edx, 0x1f73
call fcn.1401e5f90
jmp case.0x14004eade.1
lea r8, [0x14020c058]
mov edx, 0x1f73
call fcn.1401e5f90
jmp case.0x14004eade.1
lea r8, str.C:UsersEnder.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srcdecompose.rs
mov rdx, rax
call fcn.1401e5f90
jmp case.0x14004eade.1
lea rcx, [rbp + 0xe8]
call fcn.140052c20
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x98], 8
mov qword [rbp + 0xa0], 0
mov rax, qword [rdi + 8]
mov rcx, qword [rdi + 0x10]
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x68], rcx
mov qword [rbp + 0x70], 1
movabs rax, 0x2e0000002e
mov qword [rbp + 0x78], rax
mov word [rbp + 0x80], 1
and qword [rbp + 0x28], 0xffffffffffff00ff
mov sil, 1
movdqa xmm6, xmmword [0x1401f1ae0]
movdqa xmm7, xmmword [0x1401f1860]
xorps xmm8, xmm8
movdqa xmm14, xmmword [0x1401f1880]
movdqa xmm15, xmmword [0x1401f1b40]
movdqa xmm9, xmmword [0x1401f1b50]
movdqa xmm10, xmmword [0x1401f1b60]
movdqa xmm12, xmmword [0x1401f1b80]
movdqa xmm13, xmmword [0x1401f1b90]
movdqa xmm11, xmmword [0x1401f1ba0]
mov dword [rbp + 0x1a4], 0
jmp 0x14004f818
lea r8, str.C:UsersEnder.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
call fcn.1401e6010
jmp case.0x14004eade.1
lea r8, str.C:UsersEnder.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
call fcn.1401e6010
jmp case.0x14004eade.1
lea r8, str.C:UsersEnder.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srcdecompose.rs
call fcn.1401e5f10
jmp case.0x14004eade.1
lea r8, str.C:UsersEnder.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
call fcn.1401e6010
jmp case.0x14004eade.1
lea r8, str.C:UsersEnder.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srclookups.rs
call fcn.1401e6010
jmp case.0x14004eade.1
lea r8, str.C:UsersEnder.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srclookups.rs
mov edx, 0x1667
mov rcx, rax
call fcn.1401e5f10
jmp case.0x14004eade.1
lea r8, str.C:UsersEnder.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srclookups.rs
call fcn.1401e6010
jmp case.0x14004eade.1
lea r8, str.C:UsersEnder.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srclookups.rs
mov edx, 0xd4e
mov rcx, rax
call fcn.1401e5f10
jmp case.0x14004eade.1
lea r8, str.C:UsersEnder.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srclookups.rs
call fcn.1401e6010
jmp case.0x14004eade.1
lea r8, str.C:UsersEnder.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srclookups.rs
mov edx, 0xd4e
mov rcx, rax
call fcn.1401e5f10
jmp case.0x14004eade.1
lea r8, str.C:UsersEnder.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
call fcn.1401e6010
jmp case.0x14004eade.1
lea r8, str.C:UsersEnder.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
call fcn.1401e6010
jmp case.0x14004eade.1