Function at 0x1400382f0
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x288
movdqa xmmword [rsp + 0x270], xmm15
movdqa xmmword [rsp + 0x260], xmm14
movdqa xmmword [rsp + 0x250], xmm13
movdqa xmmword [rsp + 0x240], xmm12
movdqa xmmword [rsp + 0x230], xmm11
movdqa xmmword [rsp + 0x220], xmm10
movdqa xmmword [rsp + 0x210], xmm9
movaps xmmword [rsp + 0x200], xmm8
movdqa xmmword [rsp + 0x1f0], xmm7
movdqa xmmword [rsp + 0x1e0], xmm6
mov qword [rsp + 0x1a8], rcx
mov rax, qword [rsp + 0x2f8]
mov rcx, qword [rsp + 0x2f0]
mov qword [rsp + 0x148], r9
mov qword [rcx + 0x10], 0
mov dword [rsp + 0x118], 0
mov qword [rsp + 0x110], 0
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x1b0], rax
add r8, rdx
pxor xmm6, xmm6
movdqu xmmword [rsp + 0x1bd], xmm6
mov byte [rsp + 0x1cd], 0
movdqu xmmword [rsp + 0x1d0], xmm6
mov qword [rsp + 0x48], 0
lea r13, [rsp + 0x58]
mov dword [rsp + 0x58], 0
mov word [rsp + 0x5c], 0
mov byte [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
mov byte [rsp + 0x68], 0
mov dword [rsp + 0x6c], 0
mov byte [rsp + 0x70], 0
mov dword [rsp + 0x74], 0
mov byte [rsp + 0x78], 0
mov dword [rsp + 0x7c], 0
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], r8
lea rax, [rsp + 0x110]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 0
mov rax, r9
shr rax, 0x20
mov byte [rsp + 0xac], al
mov qword [rsp + 0x1a0], r9
mov dword [rsp + 0xa8], r9d
movups xmm0, xmmword [rsp + 0x1ba]
movups xmmword [rsp + 0xad], xmm0
mov eax, dword [rsp + 0x1ca]
mov dword [rsp + 0xbd], eax
mov dword [rsp + 0xc8], 0
mov word [rsp + 0xcc], 0
movzx eax, word [rsp + 0x1de]
mov word [rsp + 0xde], ax
movdqu xmm0, xmmword [rsp + 0x1ce]
movdqu xmmword [rsp + 0xce], xmm0
mov dword [rsp + 0xe8], 0x110000
mov byte [rsp + 0xec], 0
lea rdi, [0x1401416f8]
lea r14, [0x1401451c8]
xor eax, eax
jmp 0x140038504
mov rax, qword [rsi + 8]
mov byte [rax + rbx], r15b
inc rbx
mov qword [rsi + 0x10], rbx
mov rax, qword [rsp + 0x48]
cmp rax, 2
je 0x140038540
cmp rax, 1
jne 0x14003869d
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0xc8], 0
je 0x140038568
cmp rax, qword [rsp + 0xe0]
jae 0x1400385fc
mov rdx, qword [rsp + 0xd8]
jmp 0x14003858b
mov rdx, qword [rsp + 0x50]
mov eax, dword [rsp + 0xc8]
test eax, eax
je 0x1400385b2
cmp rdx, qword [rsp + 0xe0]
jae 0x14003860a
mov r8, qword [rsp + 0xd8]
jmp 0x1400385d5
movzx ecx, word [rsp + 0xcc]
cmp rcx, 4
ja 0x14003bb66
lea rdx, [rsp + 0xd0]
cmp rax, rcx
jae 0x14003861b
mov r15d, dword [rdx + rax*4]
inc rax
mov qword [rsp + 0x48], 1
mov qword [rsp + 0x50], rax
cmp r15d, 0x80
jb 0x1400399cd
jmp 0x140039810
movzx ecx, word [rsp + 0xcc]
cmp rcx, 5
jae 0x14003bb66
lea r8, [rsp + 0xd0]
cmp rdx, rcx
jae 0x140039990
mov r15d, dword [r8 + rdx*4]
inc rdx
mov qword [rsp + 0x48], 2
mov qword [rsp + 0x50], rdx
cmp r15d, 0x80
jb 0x1400399cd
jmp 0x140039810
mov qword [rsp + 0xe0], 0
jmp 0x14003862a
mov qword [rsp + 0xe0], 0
jmp 0x14003999f
test cx, cx
je 0x14003862a
mov word [rsp + 0xcc], 0
mov qword [rsp + 0x48], 0
jmp 0x14003869d
movzx ebx, bp
imul esi, ebx, 0x6f75
shr esi, 0x18
lea edx, [rsi + 0x1100]
mov rcx, r13
call fcn.14003e580
imul eax, esi, 0x24c
sub ebp, eax
movzx eax, bp
imul edx, eax, 0x925
shr edx, 0x10
add edx, 0x1161
mov rcx, r13
call fcn.14003e580
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
je 0x14003869d
add ebx, 0x11a7
movzx edx, bx
mov rcx, r13
call fcn.14003e580
mov r9, qword [rsp + 0xb8]
test r9, r9
jne 0x140038980
movzx r10d, byte [rsp + 0xa8]
cmp r10b, 2
je 0x140038a95
mov r8, qword [rsp + 0x98]
mov r15, qword [rsp + 0x80]
mov r11, qword [rsp + 0x88]
mov rax, qword [rsp + 0x90]
movzx ebx, byte [rsp + 0xa9]
mov r12, qword [rsp + 0xa0]
nop word cs:[rax + rax]
test r8, r8
je 0x14003871a
cmp r8, r12
jne 0x140038d89
mov qword [rsp + 0x98], 0
cmp r15, r11
je 0x140038a8d
lea rcx, [r15 + 1]
mov qword [rsp + 0x80], rcx
movzx r8d, byte [r15]
movzx edx, r8b
test dl, dl
js 0x140038750
mov r15, rcx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x140038800
jmp case.0x1400388d7.0
mov ecx, edx
and ecx, 0x1f
lea rbp, [r15 + 2]
mov qword [rsp + 0x80], rbp
movzx r9d, byte [r15 + 1]
and r9d, 0x3f
cmp dl, 0xdf
jbe 0x1400387c7
lea rbp, [r15 + 3]
mov qword [rsp + 0x80], rbp
movzx edx, byte [r15 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400387df
lea r8, [r15 + 4]
mov qword [rsp + 0x80], r8
movzx r9d, byte [r15 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and r9d, 0x3f
or r9d, edx
or r9d, ecx
mov r15, r8
mov edx, r9d
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x140038800
jmp case.0x1400388d7.0
shl ecx, 6
or ecx, r9d
mov r15, rbp
mov edx, ecx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x140038800
jmp case.0x1400388d7.0
shl ecx, 0xc
or edx, ecx
mov r15, rbp
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jb case.0x1400388d7.0
nop word cs:[rax + rax]
lea ecx, [rdx - 0x61]
cmp ecx, 0x1a
jb case.0x1400388d7.0
lea ecx, [rdx - 0x30]
cmp ecx, 0xa
jb case.0x1400388d7.0
mov r8d, 0x75a
xor ecx, ecx
mov r9d, 0x75a
nop word cs:[rax + rax]
shr r8, 1
add r8, rcx
mov ebp, dword [rdi + r8*8]
cmp ebp, edx
je 0x140038867
lea rsi, [r8 + 1]
cmp ebp, edx
cmova r9, r8
cmovb rcx, rsi
mov r8, r9
sub r8, rcx
ja 0x140038830
dec rcx
mov r8, rcx
cmp rcx, 0x759
ja 0x14003ba73
movzx r9d, word [rdi + r8*8 + 4]
mov ecx, r9d
and ecx, 0x7fff
test r9w, r9w
js 0x1400388a0
movzx r8d, word [rdi + r8*8]
mov r9d, edx
sub r9w, r8w
movzx ecx, cx
add ecx, r9d
movzx ecx, cx
cmp ecx, 0x1f73
jb 0x1400388b1
jmp 0x14003ba62
movzx r8d, cx
cmp r8d, 0x1f73
jae 0x14003ba9f
movzx r9d, byte [r14 + rcx*4]
mov r8d, 0
cmp r9d, 1
je case.default.0x1400388d7
mov r8d, r9d
lea r9, [0x14018c688]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
mov eax, dword [rsp + 0x58]
lea r12, [rsp + 0x60]
mov rcx, qword [rsp + 0xb0]
test eax, eax
je 0x1400389a9
mov r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
cmp rcx, rdx
jb 0x1400389c4
jmp 0x14003bab0
movzx edx, word [rsp + 0x5c]
cmp rdx, 5
jae 0x14003ba8b
mov r8, r12
cmp rcx, rdx
jae 0x14003bab0
mov ebp, dword [r8 + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x140038a80
test eax, eax
je 0x140038ae8
mov r8, qword [rsp + 0x70]
sub r8, r9
je 0x140038af7
xor ecx, ecx
jmp 0x140038a13
movzx edx, byte [r9 + rax*8]
mov eax, dword [r9 + rax*8 + 4]
mov byte [r9 + rcx*8], dl
mov dword [r9 + rcx*8 + 4], eax
lea rax, [rcx + 1]
mov rcx, rax
cmp r8, rax
je 0x140038b09
mov rax, qword [rsp + 0xb8]
add rax, rcx
cmp dword [rsp + 0x58], 0
je 0x140038a50
mov rdx, qword [rsp + 0x70]
cmp rax, rdx
jae 0x14003ba47
mov r9, qword [rsp + 0x68]
cmp rcx, rdx
jb 0x1400389f0
jmp 0x14003ba56
movzx edx, word [rsp + 0x5c]
cmp rdx, 5
jae 0x14003ba8b
cmp rax, rdx
jae 0x14003ba47
mov r9, r12
cmp rcx, rdx
jb 0x1400389f0
jmp 0x14003ba56
mov qword [rsp + 0xb0], rcx
jmp 0x140038b36
mov byte [rsp + 0xa8], 2
mov r9d, dword [rsp + 0x58]
test r9d, r9d
mov rdx, qword [rsp + 0x70]
movzx r8d, word [rsp + 0x5c]
movzx eax, r8w
mov rcx, rdx
cmove rcx, rax
test rcx, rcx
je 0x140039885
mov rcx, qword [rsp + 0xb8]
test r9d, r9d
lea r12, [rsp + 0x60]
je 0x140038e80
mov r8, qword [rsp + 0x68]
mov rax, rdx
sub rax, rcx
jae 0x140038e9d
jmp 0x14003bad9
movzx r8d, word [rsp + 0x5c]
sub r8, r9
jne 0x1400389eb
test eax, eax
je 0x140038b11
cmp qword [rsp + 0x70], r8
jb 0x140038b30
mov qword [rsp + 0x70], r8
jmp 0x140038b30
mov eax, dword [rsp + 0x58]
test eax, eax
jne 0x140038afb
movzx eax, word [rsp + 0x5c]
cmp r8, rax
jae 0x140038b30
mov word [rsp + 0x5c], r8w
nop word cs:[rax + rax]
movdqu xmmword [r13 + 0x58], xmm6
imul eax, ebp, 0x9e3779b9
imul ecx, ebp, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rdx, [0x140168440]
movzx eax, word [rdx + rax*2]
add eax, ebp
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rcx, [0x140168b74]
mov r12d, dword [rcx + rax*4]
mov eax, r12d
shr eax, 8
cmp eax, ebp
mov eax, 0
cmovne r12d, eax
mov r15d, dword [rsp + 0xe8]
cmp r15d, 0x110000
jne 0x140038bc0
test r12b, r12b
jne 0x140039800
mov dword [rsp + 0xe8], ebp
jmp 0x14003869d
cmp byte [rsp + 0xec], 0
je 0x140038d47
cmp byte [rsp + 0xed], r12b
jae 0x140038e72
lea eax, [r15 - 0x1100]
cmp eax, 0x13
jae 0x1400390d4
lea eax, [rbp - 0x1161]
cmp eax, 0x15
jae 0x140039120
imul eax, r15d, 0x24c
lea ecx, [rbp + rbp*8]
lea ecx, [rcx + rcx*2]
add ecx, ebp
add eax, ecx
add eax, 0xffd7b964
mov dword [rsp + 0xe8], eax
jmp 0x14003869d
cmp edx, 0x80
jb 0x140038695
lea ebp, [rdx - 0xac00]
cmp ebp, 0x2ba4
jb 0x140038635
imul eax, edx, 0x9e3779b9
imul ecx, edx, 0x31415926
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea r8, [0x14016be1c]
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, [0x14016ce38]
mov rbx, qword [rcx + rax*8]
cmp edx, ebx
jne 0x140038695
mov rax, rbx
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4e
ja 0x14003bb08
shr rbx, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rbx
jb 0x14003baf9
test rbx, rbx
je 0x14003869d
lea rax, [0x140170ea0]
lea r15, [rax + rcx*4]
shl ebx, 2
xor r12d, r12d
nop word cs:[rax + rax]
mov edx, dword [r15 + r12]
mov rcx, r13
call fcn.14003e580
add r12, 4
cmp rbx, r12
jne 0x140038d10
jmp 0x14003869d
lea eax, [r15 - 0x1100]
cmp eax, 0x13
jae 0x140038fda
lea eax, [rbp - 0x1161]
cmp eax, 0x15
jae 0x140039026
imul eax, r15d, 0x24c
lea ecx, [rbp + rbp*8]
lea ecx, [rcx + rcx*2]
add ecx, ebp
add eax, ecx
add eax, 0xffd7b964
mov dword [rsp + 0xe8], eax
jmp 0x14003869d
lea rax, [r8 + 1]
mov qword [rsp + 0x98], rax
movzx ecx, byte [r8]
movzx edx, cl
test dl, dl
js 0x14003919b
nop word cs:[rax + rax]
cmp byte [rsp + 0xc0], 0
je 0x140038c50
cmp edx, 0x80
jb 0x140038695
lea ebp, [rdx - 0xac00]
cmp ebp, 0x2ba4
jb 0x140038635
imul ecx, edx, 0x9e3779b9
imul eax, edx, 0x31415926
xor ecx, eax
imul r8, rcx, 0xee4
shr r8, 0x20
lea r9, [0x140174478]
movzx r8d, word [r9 + r8*2]
add r8d, edx
imul r8d, r8d, 0x9e3779b9
xor r8d, eax
imul r8, r8, 0xee4
shr r8, 0x20
lea r9, [0x140176240]
mov rbx, qword [r9 + r8*8]
cmp edx, ebx
jne 0x140038f31
mov rax, rbx
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0x1667
ja 0x14003bb28
shr rbx, 0x30
mov edx, 0x1667
sub rdx, rcx
cmp rdx, rbx
jb 0x14003bb19
lea rax, [0x14017d960]
lea r15, [rax + rcx*4]
test rbx, rbx
jne 0x140038fb1
jmp 0x14003869d
test r12b, r12b
jne 0x14003951d
jmp 0x140039961
cmp r8w, 5
jae 0x14003bae5
mov rdx, rax
mov r8, r12
mov rax, rdx
sub rax, rcx
jb 0x14003bad9
cmp rax, 2
jb 0x1400390a7
lea rcx, [r8 + rcx*8]
cmp rax, 0x15
jae 0x14003909f
lea rax, [r8 + rdx*8]
lea rdx, [rcx + 8]
xor r8d, r8d
jmp 0x140038eee
mov rbx, rcx
shl r10, 0x20
or r10, r9
mov qword [rbx], r10
add rdx, 8
add r8, 0xfffffffffffffff8
cmp rdx, rax
je 0x1400390a7
movzx r11d, byte [rdx]
cmp r11b, byte [rdx - 8]
jae 0x140038edd
movzx r9d, r11b
mov r10d, dword [rdx + 4]
xor r15d, r15d
nop word cs:[rax + rax]
mov rsi, qword [rdx + r15 - 8]
mov qword [rdx + r15], rsi
cmp r8, r15
je 0x140038ed0
lea rbx, [r15 - 8]
cmp r11b, byte [rdx + r15 - 0x10]
mov r15, rbx
jb 0x140038f10
add rbx, rdx
jmp 0x140038ed3
imul rcx, rcx, 0x80d
shr rcx, 0x20
lea r8, [0x14016be1c]
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, [0x14016ce38]
mov rbx, qword [rcx + rax*8]
cmp edx, ebx
jne 0x140038695
mov rax, rbx
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4e
ja 0x14003bb08
shr rbx, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rbx
jb 0x14003baf9
lea rax, [0x140170ea0]
lea r15, [rax + rcx*4]
test rbx, rbx
je 0x14003869d
shl ebx, 2
xor r12d, r12d
nop word [rax + rax]
mov edx, dword [r15 + r12]
mov rcx, r13
call fcn.14003e580
add r12, 4
cmp rbx, r12
jne 0x140038fc0
jmp 0x14003869d
lea eax, [r15 - 0xac00]
cmp eax, 0x2ba3
ja 0x140039026
lea ecx, [rbp - 0x11a8]
cmp ecx, 0x1a
ja 0x140039026
movzx ecx, ax
shr ecx, 2
imul ecx, ecx, 0x4925
shr ecx, 0x11
lea edx, [rcx + rcx*8]
lea edx, [rdx + rdx*2]
add edx, ecx
sub eax, edx
test ax, ax
jne 0x140039026
lea eax, [r15 + rbp]
add eax, 0xffffee59
mov dword [rsp + 0xe8], eax
jmp 0x14003869d
mov eax, ebp
or eax, r15d
cmp eax, 0x10000
jae 0x140039218
mov ecx, r15d
shl ecx, 0x10
or ecx, ebp
imul eax, ecx, 0x9e3779b9
imul edx, ecx, 0x31415926
xor eax, edx
imul rax, rax, 0x3a0
shr rax, 0x20
lea r8, [0x1401699dc]
movzx eax, word [r8 + rax*2]
add eax, ecx
imul eax, eax, 0x9e3779b9
xor eax, edx
imul rax, rax, 0x3a0
shr rax, 0x20
lea rdx, [0x14016a11c]
cmp dword [rdx + rax*8], ecx
jne 0x140039514
lea rcx, [0x14016a11c]
mov eax, dword [rcx + rax*8 + 4]
mov dword [rsp + 0xe8], eax
jmp 0x14003869d
mov rdx, rax
call fcn.14003f7f0
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x1400390c1
mov r9, qword [rsp + 0x70]
mov qword [rsp + 0xb8], r9
jmp 0x140038989
movzx r9d, word [rsp + 0x5c]
mov qword [rsp + 0xb8], r9
jmp 0x140038989
lea eax, [r15 - 0xac00]
cmp eax, 0x2ba3
ja 0x140039120
lea ecx, [rbp - 0x11a8]
cmp ecx, 0x1a
ja 0x140039120
movzx ecx, ax
shr ecx, 2
imul ecx, ecx, 0x4925
shr ecx, 0x11
lea edx, [rcx + rcx*8]
lea edx, [rdx + rdx*2]
add edx, ecx
sub eax, edx
test ax, ax
jne 0x140039120
lea eax, [r15 + rbp]
add eax, 0xffffee59
mov dword [rsp + 0xe8], eax
jmp 0x14003869d
mov eax, ebp
or eax, r15d
cmp eax, 0x10000
jae 0x14003926f
shl r15d, 0x10
or r15d, ebp
imul eax, r15d, 0x9e3779b9
imul ecx, r15d, 0x31415926
xor eax, ecx
imul rax, rax, 0x3a0
shr rax, 0x20
lea rdx, [0x1401699dc]
movzx eax, word [rdx + rax*2]
add eax, r15d
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x3a0
shr rax, 0x20
lea rcx, [0x14016a11c]
cmp dword [rcx + rax*8], r15d
jne 0x14003951d
lea rcx, [0x14016a11c]
mov eax, dword [rcx + rax*8 + 4]
mov dword [rsp + 0xe8], eax
jmp 0x14003869d
mov eax, edx
and eax, 0x1f
lea r9, [r8 + 2]
mov qword [rsp + 0x98], r9
movzx r9d, byte [r8 + 1]
and r9d, 0x3f
cmp dl, 0xdf
jbe 0x1400392c6
lea rdx, [r8 + 3]
mov qword [rsp + 0x98], rdx
movzx edx, byte [r8 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp cl, 0xf0
jb 0x140039375
lea rcx, [r8 + 4]
mov qword [rsp + 0x98], rcx
movzx ecx, byte [r8 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
mov edx, ecx
cmp byte [rsp + 0xc0], 0
jne 0x140038dbe
jmp 0x140038c50
cmp r15d, 0x11346
jg 0x1400392e1
cmp r15d, 0x110a4
jle 0x14003938d
cmp r15d, 0x110a5
je 0x1400394ca
cmp r15d, 0x11131
je 0x1400394f0
cmp r15d, 0x11132
jne 0x140039514
mov eax, 0x1112f
cmp ebp, 0x11127
je 0x140038d7d
jmp 0x140039514
cmp r15d, 0x11346
jg 0x14003932b
cmp r15d, 0x110a4
jle 0x14003940c
cmp r15d, 0x110a5
je 0x140039761
cmp r15d, 0x11131
je 0x14003978d
cmp r15d, 0x11132
jne 0x14003951d
mov eax, 0x1112f
cmp ebp, 0x11127
je 0x140038c12
jmp 0x14003951d
shl eax, 6
or eax, r9d
mov edx, eax
cmp byte [rsp + 0xc0], 0
jne 0x140038dbe
jmp 0x140038c50
cmp r15d, 0x115b7
jle 0x1400393bd
cmp r15d, 0x115b8
je 0x1400394dd
cmp r15d, 0x115b9
je 0x140039503
cmp r15d, 0x11935
jne 0x140039514
mov eax, 0x11938
cmp ebp, 0x11930
je 0x140038d7d
jmp 0x140039514
cmp r15d, 0x115b7
jle 0x14003943c
cmp r15d, 0x115b8
je 0x140039777
cmp r15d, 0x115b9
je 0x1400397a3
cmp r15d, 0x11935
jne 0x14003951d
mov eax, 0x11938
cmp ebp, 0x11930
je 0x140038c12
jmp 0x14003951d
shl eax, 0xc
or edx, eax
cmp byte [rsp + 0xc0], 0
jne 0x140038dbe
jmp 0x140038c50
cmp r15d, 0x11099
je 0x14003948b
cmp r15d, 0x1109b
jne 0x140039514
mov eax, 0x1109c
cmp ebp, 0x110ba
je 0x140038d7d
jmp 0x140039514
cmp r15d, 0x11347
je 0x14003949e
cmp r15d, 0x114b9
jne 0x140039514
cmp ebp, 0x114b0
je 0x1400397ca
cmp ebp, 0x114ba
je 0x1400397b9
cmp ebp, 0x114bd
jne 0x140039514
mov eax, 0x114be
mov dword [rsp + 0xe8], eax
jmp 0x14003869d
cmp r15d, 0x11099
je 0x14003971c
cmp r15d, 0x1109b
jne 0x14003951d
mov eax, 0x1109c
cmp ebp, 0x110ba
je 0x140038c12
jmp 0x14003951d
cmp r15d, 0x11347
je 0x140039732
cmp r15d, 0x114b9
jne 0x14003951d
cmp ebp, 0x114b0
je 0x1400397ec
cmp ebp, 0x114ba
je 0x1400397db
cmp ebp, 0x114bd
jne 0x14003951d
mov eax, 0x114be
mov dword [rsp + 0xe8], eax
jmp 0x14003869d
mov eax, 0x1109a
cmp ebp, 0x110ba
je 0x140038d7d
jmp 0x140039514
mov eax, 0x1134b
cmp ebp, 0x1133e
je 0x140038d7d
mov eax, 0x110000
cmp ebp, 0x11357
mov ecx, 0x1134c
cmove eax, ecx
je 0x140038d7d
jmp 0x140039514
mov eax, 0x110ab
cmp ebp, 0x110ba
je 0x140038d7d
jmp 0x140039514
mov eax, 0x115ba
cmp ebp, 0x115af
je 0x140038d7d
jmp 0x140039514
mov eax, 0x1112e
cmp ebp, 0x11127
je 0x140038d7d
jmp 0x140039514
mov eax, 0x115bb
cmp ebp, 0x115af
je 0x140038d7d
test r12b, r12b
je 0x140039a0e
cmp dword [rsp + 0xc8], 0
je 0x140039561
mov rbx, qword [rsp + 0xe0]
cmp rbx, qword [rsp + 0xd0]
jne 0x140039546
lea rcx, [rsp + 0xd0]
call fcn.14003f5e0
mov rax, qword [rsp + 0xd8]
mov dword [rax + rbx*4], ebp
inc rbx
mov qword [rsp + 0xe0], rbx
jmp 0x140039707
movzx ebx, word [rsp + 0xcc]
cmp rbx, 3
ja 0x140039586
mov dword [rsp + rbx*4 + 0xd0], ebp
lea eax, [rbx + 1]
mov word [rsp + 0xcc], ax
jmp 0x140039707
lea r15d, [rbx*8]
movzx eax, byte [0x140198310]
xor ecx, ecx
mov rdx, r15
call fcn.1400f3050
test rax, rax
je 0x14003bb39
lea ecx, [rbx + rbx]
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], 0
cmp bx, 4
jne 0x14003bb46
mov ecx, dword [rsp + 0xd0]
mov dword [rsp + 0xd0], 0
mov dword [rax], ecx
mov ecx, dword [rsp + 0xd4]
mov dword [rsp + 0xd4], 0
mov dword [rax + 4], ecx
mov ecx, dword [rsp + 0xd8]
mov dword [rsp + 0xd8], 0
mov dword [rax + 8], ecx
mov ecx, dword [rsp + 0xdc]
mov dword [rsp + 0xdc], 0
mov dword [rax + 0xc], ecx
mov word [rsp + 0xcc], 0
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], 4
cmp qword [rsp + 0xf0], 4
jne 0x140039672
lea rcx, [rsp + 0xf0]
call fcn.14003f5e0
mov rax, qword [rsp + 0xf8]
mov ecx, 4
mov dword [rax + rcx*4], ebp
lea rax, [rcx + 1]
mov qword [rsp + 0x100], rax
lea rcx, [rsp + 0x15c]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0xf0]
mov qword [rcx], rax
mov rax, qword [rsp + 0xf8]
mov qword [rcx + 8], rax
cmp dword [rsp + 0xc8], 0
je 0x1400396dd
cmp qword [rsp + 0xd0], 0
je 0x1400396dd
mov r8, qword [rsp + 0xd8]
mov rcx, qword [0x140198260]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov dword [rsp + 0xc8], 1
movdqu xmm0, xmmword [rsp + 0x158]
movups xmm1, xmmword [rsp + 0x164]
movups xmmword [r13 + 0x80], xmm1
movdqu xmmword [r13 + 0x74], xmm0
mov byte [rsp + 0xec], 1
mov byte [rsp + 0xed], r12b
jmp 0x14003869d
mov eax, 0x1109a
cmp ebp, 0x110ba
je 0x140038c12
jmp 0x14003951d
mov eax, 0x1134b
cmp ebp, 0x1133e
je 0x140038c12
mov eax, 0x110000
cmp ebp, 0x11357
mov ecx, 0x1134c
cmove eax, ecx
je 0x140038c12
jmp 0x14003951d
mov eax, 0x110ab
cmp ebp, 0x110ba
je 0x140038c12
jmp 0x14003951d
mov eax, 0x115ba
cmp ebp, 0x115af
je 0x140038c12
jmp 0x14003951d
mov eax, 0x1112e
cmp ebp, 0x11127
je 0x140038c12
jmp 0x14003951d
mov eax, 0x115bb
cmp ebp, 0x115af
je 0x140038c12
jmp 0x14003951d
mov eax, 0x114bb
mov dword [rsp + 0xe8], eax
jmp 0x14003869d
mov eax, 0x114bc
mov dword [rsp + 0xe8], eax
jmp 0x14003869d
mov eax, 0x114bb
mov dword [rsp + 0xe8], eax
jmp 0x14003869d
mov eax, 0x114bc
mov dword [rsp + 0xe8], eax
jmp 0x14003869d
mov r15d, ebp
cmp r15d, 0x80
jb 0x1400399cd
mov dword [rsp + 0x158], 0
mov eax, r15d
cmp r15d, 0x800
jae 0x140039850
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x158], al
mov ebx, 2
mov eax, 1
jmp 0x140039906
cmp r15d, 0x10000
jae 0x1400398ce
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x158], al
mov eax, r15d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x159], al
mov ebx, 3
mov eax, 2
jmp 0x140039906
mov qword [rsp + 0x48], 2
mov qword [rsp + 0x50], 0
mov r15d, dword [rsp + 0xe8]
mov eax, 2
cmp r15d, 0x110000
je 0x140038504
mov dword [rsp + 0xe8], 0x110000
cmp r15d, 0x80
jb 0x1400399cd
jmp 0x140039810
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x158], al
mov eax, r15d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x159], al
mov eax, r15d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x15a], al
mov ebx, 4
mov eax, 3
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + rax + 0x158], r15b
mov rcx, qword [rsp + 0x2f0]
mov rax, qword [rcx]
mov r15, qword [rcx + 0x10]
sub rax, r15
cmp rax, rbx
jb 0x1400399ef
mov rsi, qword [rsp + 0x2f0]
mov rcx, qword [rsi + 8]
add rcx, r15
lea rdx, [rsp + 0x158]
mov r8, rbx
call fcn.14011a750
add r15, rbx
mov qword [rsi + 0x10], r15
mov rax, qword [rsp + 0x48]
jmp 0x140038504
mov dword [rsp + 0xe8], ebp
mov byte [rsp + 0xec], 0
mov qword [rsp + 0x48], 1
mov qword [rsp + 0x50], 0
cmp r15d, 0x80
jb 0x1400399cd
jmp 0x140039810
test cx, cx
je 0x14003999f
mov word [rsp + 0xcc], 0
mov r15d, dword [rsp + 0xe8]
mov dword [rsp + 0xe8], 0x110000
cmp r15d, 0x110000
je 0x140039a23
nop dword [rax + rax]
cmp r15d, 0x80
jae 0x140039810
mov rsi, qword [rsp + 0x2f0]
mov rbx, qword [rsi + 0x10]
cmp rbx, qword [rsi]
jne 0x1400384f0
mov rcx, rsi
call fcn.1400e2a40
jmp 0x1400384f0
mov rsi, qword [rsp + 0x2f0]
mov rcx, rsi
mov rdx, r15
mov r8, rbx
call fcn.140123dc0
mov r15, qword [rsi + 0x10]
jmp 0x140039931
mov dword [rsp + 0xe8], ebp
cmp r15d, 0x80
jb 0x1400399cd
jmp 0x140039810
cmp dword [rsp + 0x58], 0
je 0x140039a6b
cmp qword [rsp + 0x60], 0
mov r14, qword [rsp + 0x2f8]
mov r12, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x2f0]
je 0x140039a65
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x140198260]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [rsp + 0xc8]
test eax, eax
jne 0x140039a87
jmp 0x140039aa9
mov r14, qword [rsp + 0x2f8]
mov r12, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x2f0]
test eax, eax
je 0x140039aa9
cmp qword [rsp + 0xd0], 0
je 0x140039aa9
mov r8, qword [rsp + 0xd8]
mov rcx, qword [0x140198260]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 8
mov qword [rsp + 0x130], 0
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], rcx
movabs rax, 0x2e0000002e
mov qword [rsp + 0x188], rax
mov byte [rsp + 0x190], 1
mov word [rsp + 0x198], 1
and qword [rsp + 0x1a0], 0xffffffffffff00ff
mov dil, 1
lea r15, [0x140164078]
movdqa xmm6, xmmword [str.________________]
movdqa xmm7, xmmword [0x140128700]
xorps xmm8, xmm8
movdqa xmm14, xmmword [0x140128720]
movdqa xmm15, xmmword [0x1401289f0]
movdqa xmm10, xmmword [0x140128a10]
movdqa xmm11, xmmword [0x140128a20]
movdqa xmm12, xmmword [0x140128a30]
movdqa xmm13, xmmword [0x140128a40]
movdqa xmm9, xmmword [0x140128a50]
xor r13d, r13d
jmp 0x140039bd0
lea r8, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srcdecompose.rs
mov rcx, rax
call fcn.14011b570
lea r8, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srcdecompose.rs
call fcn.14011b570
lea r8, [0x140141680]
mov edx, 0x1f73
call fcn.14011b570
lea r8, [0x140141668]
mov edx, 0x75a
mov rcx, 0xffffffffffffffff
call fcn.14011b570
lea r8, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov rcx, rdx
mov edx, 4
call fcn.14011b5e0
lea r8, [0x140141698]
mov edx, 0x1f73
call fcn.14011b570
lea r8, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srcdecompose.rs
call fcn.14011b570
lea rax, [0x140141650]
mov qword [rsp + 0x20], rax
lea rcx, [0x14014cf94]
mov edx, 0x321c
call fcn.14011bae0
lea r8, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srcdecompose.rs
call fcn.14011b560
lea r8, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
call fcn.14011b5e0
lea r8, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov rcx, rbx
call fcn.14011b5e0
lea r8, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov edx, 0xd4e
call fcn.14011b560
lea r8, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov rcx, rbx
call fcn.14011b5e0
lea r8, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov edx, 0x1667
call fcn.14011b560
mov ecx, 4
mov rdx, r15
call fcn.14011b260
lea r8, str.C:UsersCodeX.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rbx
call fcn.14011b5e0