Function at 0x1400f09c0
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
movdqa xmmword [rsp + 0x200], xmm8
movdqa xmmword [rsp + 0x1f0], xmm7
movaps xmmword [rsp + 0x1e0], xmm6
mov r14, rcx
mov r15, qword [rsp + 0x2f0]
test r9, r9
je 0x1400f0b6e
lea rax, [r8 + r9]
xor edi, edi
movdqa xmm0, xmmword [0x1402d8540]
mov rcx, r8
jmp 0x1400f0a6f
xor r11d, r11d
mov rdi, r11
cmp rcx, rax
je 0x1400f18ae
movzx ebx, byte [rcx]
movzx r10d, bl
test r10b, r10b
js 0x1400f0a90
inc rcx
cmp r10d, 0x2e
jne 0x1400f0b10
jmp 0x1400f0a60
mov r11d, r10d
and r11d, 0x1f
movzx esi, byte [rcx + 1]
and esi, 0x3f
cmp r10b, 0xdf
jbe 0x1400f0ae0
movzx r10d, byte [rcx + 2]
shl esi, 6
and r10d, 0x3f
or r10d, esi
cmp bl, 0xf0
jb 0x1400f0af9
movzx esi, byte [rcx + 3]
add rcx, 4
and r11d, 7
shl r11d, 0x12
shl r10d, 6
and esi, 0x3f
or esi, r10d
or esi, r11d
mov r10d, esi
cmp r10d, 0x2e
jne 0x1400f0b10
jmp 0x1400f0a60
add rcx, 2
shl r11d, 6
or r11d, esi
mov r10d, r11d
cmp r10d, 0x2e
jne 0x1400f0b10
jmp 0x1400f0a60
add rcx, 3
shl r11d, 0xc
or r10d, r11d
cmp r10d, 0x2e
je 0x1400f0a60
nop
cmp r10d, 0x110000
je 0x1400f18ae
test rdi, rdi
jne 0x1400f0b28
cmp r10d, 0x2d
je 0x1400f0b6e
mov r11d, 5
cmp rdi, 4
ja 0x1400f0b53
movdqa xmmword [rsp + 0x30], xmm0
je 0x1400f19d5
cmp r10d, dword [rsp + rdi*4 + 0x30]
jne 0x1400f0b53
inc rdi
mov r11, rdi
cmp rdi, 4
je 0x1400f0b6e
lea esi, [r10 - 0x61]
cmp esi, 0x1a
jb 0x1400f0a63
add r10d, 0xffffffd0
cmp r10d, 9
jbe 0x1400f0a63
mov qword [rsp + 0x128], r14
mov eax, dword [rdx + 0x30]
movzx ecx, byte [rdx + 0x34]
add r9, r8
xorps xmm6, xmm6
movups xmmword [rsp + 0x98], xmm6
mov byte [rsp + 0xa8], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x40], 0
mov word [rsp + 0x44], 0
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x4c], 0
mov byte [rsp + 0x50], 0
mov dword [rsp + 0x54], 0
mov byte [rsp + 0x58], 0
mov dword [rsp + 0x5c], 0
mov byte [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x70], r9
lea r8, [rsp + 0xe0]
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x80], 0
mov byte [rsp + 0x94], cl
shl rcx, 0x20
or rcx, rax
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0xf8], rdx
mov qword [rdx + 0x10], 0
mov dword [rsp + 0xe8], 0
mov qword [rsp + 0xe0], 0
mov rcx, qword [r15 + 0x10]
mov qword [rsp + 0x120], rcx
movups xmmword [rsp + 0x192], xmm6
lea r12, [rsp + 0x40]
mov dword [rsp + 0x90], eax
mov dword [rsp + 0xb0], 0
mov word [rsp + 0xb4], 0
movzx eax, word [rsp + 0x1a0]
mov word [rsp + 0xc6], ax
movdqu xmm0, xmmword [rsp + 0x190]
movdqu xmmword [rsp + 0xb6], xmm0
mov dword [rsp + 0xd0], 0x110000
mov byte [rsp + 0xd4], 0
lea r15, [0x1403fcef0]
lea r13, [0x1404009c0]
xor edx, edx
mov ebx, dword [rsp + 0xb0]
mov rbp, qword [rsp + 0xc0]
test ebx, ebx
je 0x1400f0d00
test rdx, rdx
je 0x1400f0db7
mov rcx, qword [rsp + 0xc8]
cmp rdx, 1
jne 0x1400f17f1
cmp rax, rcx
jb 0x1400f1831
mov qword [rsp + 0xc8], 0
jmp 0x1400f0d44
test rdx, rdx
je 0x1400f0db7
movzx r8d, word [rsp + 0xb4]
movzx ecx, r8w
cmp rdx, 1
jne 0x1400f17fb
cmp r8w, 4
ja 0x1400f3996
cmp rax, rcx
jb 0x1400f1829
test r8w, r8w
je 0x1400f0d44
mov word [rsp + 0xb4], 0
mov qword [rsp + 0x30], 0
jmp 0x1400f0db7
movzx esi, bx
imul edi, esi, 0x6f75
shr edi, 0x18
lea edx, [rdi + 0x1100]
mov rcx, r12
call fcn.1400f4210
imul eax, edi, 0x24c
sub ebx, eax
movzx eax, bx
imul edx, eax, 0x925
shr edx, 0x10
add edx, 0x1161
mov rcx, r12
call fcn.1400f4210
mov eax, esi
shr eax, 2
imul eax, eax, 0x4925
shr eax, 0x11
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub si, cx
je 0x1400f0db7
add esi, 0x11a7
movzx edx, si
mov rcx, r12
call fcn.1400f4210
mov r9, qword [rsp + 0xa0]
test r9, r9
jne 0x1400f1120
movzx r10d, byte [rsp + 0x90]
cmp r10b, 2
je 0x1400f1591
mov r8, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x68]
mov r11, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
movzx esi, byte [rsp + 0x91]
mov rbx, qword [rsp + 0x88]
test r8, r8
je 0x1400f0eb2
cmp r8, rbx
je 0x1400f0ea6
lea rcx, [r8 + 1]
mov qword [rsp + 0x80], rcx
movzx r14d, byte [r8]
movzx edx, r14b
test dl, dl
jns 0x1400f13f6
mov ecx, edx
and ecx, 0x1f
lea r9, [r8 + 2]
mov qword [rsp + 0x80], r9
movzx edi, byte [r8 + 1]
and edi, 0x3f
cmp dl, 0xdf
jbe 0x1400f16e9
lea rdx, [r8 + 3]
mov qword [rsp + 0x80], rdx
movzx r9d, byte [r8 + 2]
shl edi, 6
and r9d, 0x3f
or r9d, edi
cmp r14b, 0xf0
jb 0x1400f16f5
lea rdx, [r8 + 4]
mov qword [rsp + 0x80], 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.0x1400f1078.0
mov qword [rsp + 0x80], 0
cmp rbp, r11
je 0x1400f1589
lea rcx, [rbp + 1]
mov qword [rsp + 0x68], rcx
movzx r8d, byte [rbp]
movzx edx, r8b
test dl, dl
js 0x1400f0ef0
mov rbp, rcx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x1400f0f90
jmp 0x1400f13f6
mov ecx, edx
and ecx, 0x1f
lea rdi, [rbp + 2]
mov qword [rsp + 0x68], rdi
movzx r9d, byte [rbp + 1]
and r9d, 0x3f
cmp dl, 0xdf
jbe 0x1400f0f5d
lea rdi, [rbp + 3]
mov qword [rsp + 0x68], rdi
movzx edx, byte [rbp + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400f0f75
lea r8, [rbp + 4]
mov qword [rsp + 0x68], r8
movzx r9d, byte [rbp + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and r9d, 0x3f
or r9d, edx
or r9d, ecx
mov rbp, r8
mov edx, r9d
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x1400f0f90
jmp 0x1400f13f6
shl ecx, 6
or ecx, r9d
mov rbp, rdi
mov edx, ecx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x1400f0f90
jmp 0x1400f13f6
shl ecx, 0xc
or edx, ecx
mov rbp, rdi
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jb 0x1400f13f6
nop dword [rax]
cmp edx, 0x110000
je 0x1400f1589
lea ecx, [rdx - 0x61]
cmp ecx, 0x1a
jb 0x1400f13f6
lea ecx, [rdx - 0x30]
cmp ecx, 0xa
jb 0x1400f13f6
mov r8d, 0x75a
xor ecx, ecx
mov r9d, 0x75a
nop word cs:[rax + rax]
shr r8, 1
add r8, rcx
mov edi, dword [r15 + r8*8]
cmp edi, edx
je 0x1400f1007
lea r14, [r8 + 1]
cmp edi, edx
cmova r9, r8
cmovb rcx, r14
mov r8, r9
sub r8, rcx
ja 0x1400f0fd0
dec rcx
cmp rcx, 0x759
ja 0x1400f1973
mov r8, rcx
movzx r9d, word [r15 + r8*8 + 4]
mov ecx, r9d
and ecx, 0x7fff
test r9w, r9w
js 0x1400f1040
movzx r8d, word [r15 + r8*8]
mov r9d, edx
sub r9w, r8w
movzx ecx, cx
add ecx, r9d
movzx ecx, cx
cmp ecx, 0x1f73
jb 0x1400f1051
jmp 0x1400f1984
movzx r8d, cx
cmp r8d, 0x1f73
jae 0x1400f1995
movzx r9d, byte [r13 + rcx*4]
mov r8d, 0
cmp r9d, 1
je case.default.0x1400f1078
mov r8d, r9d
lea r9, [0x1404853a0]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
mov eax, dword [rsp + 0x40]
lea rsi, [rsp + 0x48]
mov rcx, qword [rsp + 0x98]
test eax, eax
je 0x1400f1149
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
cmp rcx, rdx
jb 0x1400f1164
jmp 0x1400f19a6
movzx edx, word [rsp + 0x44]
cmp rdx, 5
jae 0x1400f38d5
mov r8, rsi
cmp rcx, rdx
jae 0x1400f19a6
mov ebp, dword [r8 + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x1400f1220
test eax, eax
je 0x1400f122a
mov r8, qword [rsp + 0x58]
sub r8, r9
je 0x1400f1239
xor ecx, ecx
jmp 0x1400f11b3
mov edx, dword [r9 + rax*8 + 4]
movzx eax, byte [r9 + rax*8]
mov byte [r9 + rcx*8], al
mov dword [r9 + rcx*8 + 4], edx
lea rax, [rcx + 1]
mov rcx, rax
cmp r8, rax
je 0x1400f124b
mov rax, qword [rsp + 0xa0]
add rax, rcx
cmp dword [rsp + 0x40], 0
je 0x1400f11f0
mov rdx, qword [rsp + 0x58]
cmp rax, rdx
jae 0x1400f1958
mov r9, qword [rsp + 0x50]
cmp rcx, rdx
jb 0x1400f1190
jmp 0x1400f1967
movzx edx, word [rsp + 0x44]
cmp rdx, 5
jae 0x1400f38d5
cmp rax, rdx
jae 0x1400f1958
mov r9, rsi
cmp rcx, rdx
jb 0x1400f1190
jmp 0x1400f1967
mov qword [rsp + 0x98], rcx
jmp 0x1400f127b
movzx r8d, word [rsp + 0x44]
sub r8, r9
jne 0x1400f118b
test eax, eax
je 0x1400f1253
cmp qword [rsp + 0x58], r8
jb 0x1400f1270
mov qword [rsp + 0x58], r8
jmp 0x1400f1270
mov eax, dword [rsp + 0x40]
test eax, eax
jne 0x1400f123d
movzx eax, word [rsp + 0x44]
cmp r8, rax
jae 0x1400f1270
mov word [rsp + 0x44], r8w
nop word cs:[rax + rax]
lea rax, [rsp + 0x98]
movups xmmword [rax], xmm6
imul eax, ebp, 0x9e3779b9
imul ecx, ebp, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rdx, [0x14045cbbc]
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, [0x14045d2f0]
mov ebx, dword [rcx + rax*4]
mov eax, ebx
shr eax, 8
cmp eax, ebp
mov eax, 0
cmovne ebx, eax
mov esi, dword [rsp + 0xd0]
cmp esi, 0x110000
jne 0x1400f12f0
test bl, bl
jne 0x1400f1770
mov dword [rsp + 0xd0], ebp
jmp 0x1400f0db7
cmp byte [rsp + 0xd4], 0
je 0x1400f131f
cmp byte [rsp + 0xd5], bl
jae 0x1400f133c
mov ecx, esi
mov edx, ebp
call fcn.14028a950
cmp eax, 0x110000
je 0x1400f1344
mov dword [rsp + 0xd0], eax
jmp 0x1400f0db7
mov ecx, esi
mov edx, ebp
call fcn.14028a950
cmp eax, 0x110000
jne 0x1400f1632
test bl, bl
jne 0x1400f1344
jmp 0x1400f17e5
test bl, bl
je 0x1400f17bf
cmp dword [rsp + 0xb0], 0
je 0x1400f138d
mov rdx, qword [rsp + 0xc8]
cmp rdx, qword [rsp + 0xb8]
jne 0x1400f1375
lea rcx, [rsp + 0xb8]
call fcn.14010a810
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
mov dword [rax + rdx*4], ebp
inc rdx
mov qword [rsp + 0xc8], rdx
jmp 0x1400f13b0
movzx eax, word [rsp + 0xb4]
cmp rax, 3
ja 0x1400f1703
mov dword [rsp + rax*4 + 0xb8], ebp
inc eax
mov word [rsp + 0xb4], ax
mov byte [rsp + 0xd4], 1
mov byte [rsp + 0xd5], bl
jmp 0x1400f0db7
cmp edx, 0x110000
je 0x1400f1589
cmp byte [rsp + 0xa8], 0
je 0x1400f14b7
cmp edx, 0x80
jb 0x1400f0daf
lea ebx, [rdx - 0xac00]
cmp ebx, 0x2ba4
jb 0x1400f0d4f
imul ecx, edx, 0x9e3779b9
imul eax, edx, 0x31415926
xor ecx, eax
imul r8, rcx, 0xee4
shr r8, 0x20
lea r9, [0x140468bf8]
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, [0x14046a9c0]
mov rsi, qword [r9 + r8*8]
cmp edx, esi
jne 0x1400f163e
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
cmp rcx, 0x1668
jae 0x1400f396d
shr rsi, 0x30
mov edx, 0x1667
sub rdx, rcx
cmp rsi, rdx
ja 0x1400f395e
lea rax, [0x1404720e0]
lea rbx, [rax + rcx*4]
test rsi, rsi
jne 0x1400f16bd
jmp 0x1400f0db7
cmp edx, 0x80
jb 0x1400f0daf
lea ebx, [rdx - 0xac00]
cmp ebx, 0x2ba4
jb 0x1400f0d4f
imul eax, edx, 0x9e3779b9
imul ecx, edx, 0x31415926
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea r8, [0x140460598]
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, [0x1404615b4]
mov rsi, qword [rcx + rax*8]
cmp edx, esi
jne 0x1400f0daf
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
cmp rcx, 0xd4f
jae 0x1400f394d
shr rsi, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rsi, rdx
ja 0x1400f393e
test rsi, rsi
je 0x1400f0db7
lea rax, [0x14046561c]
lea rbx, [rax + rcx*4]
shl esi, 2
xor edi, edi
nop word [rax + rax]
mov edx, dword [rbx + rdi]
mov rcx, r12
call fcn.1400f4210
add rdi, 4
cmp rsi, rdi
jne 0x1400f1570
jmp 0x1400f0db7
mov byte [rsp + 0x90], 2
cmp dword [rsp + 0x40], 0
je 0x1400f15c5
mov rdx, qword [rsp + 0x58]
test rdx, rdx
lea rsi, [rsp + 0x48]
je 0x1400f1780
mov r8, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xa0]
mov rax, rdx
sub rax, rcx
jae 0x1400f15f9
jmp 0x1400f391e
movzx edx, word [rsp + 0x44]
test rdx, rdx
lea rsi, [rsp + 0x48]
je 0x1400f1780
cmp dx, 5
jae 0x1400f392a
mov r8, rsi
mov rcx, qword [rsp + 0xa0]
mov rax, rdx
sub rax, rcx
jb 0x1400f391e
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.1400f3a10
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x1400f161f
mov r9, qword [rsp + 0x58]
mov qword [rsp + 0xa0], r9
jmp 0x1400f1129
movzx r9d, word [rsp + 0x44]
mov qword [rsp + 0xa0], r9
jmp 0x1400f1129
mov dword [rsp + 0xd0], eax
jmp 0x1400f0db7
imul rcx, rcx, 0x80d
shr rcx, 0x20
lea r8, [0x140460598]
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, [0x1404615b4]
mov rsi, qword [rcx + rax*8]
cmp edx, esi
jne 0x1400f0daf
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
cmp rcx, 0xd4f
jae 0x1400f394d
shr rsi, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rsi, rdx
ja 0x1400f393e
lea rax, [0x14046561c]
lea rbx, [rax + rcx*4]
test rsi, rsi
je 0x1400f0db7
shl esi, 2
xor edi, edi
nop word cs:[rax + rax]
mov edx, dword [rbx + rdi]
mov rcx, r12
call fcn.1400f4210
add rdi, 4
cmp rsi, rdi
jne 0x1400f16d0
jmp 0x1400f0db7
shl ecx, 6
or ecx, edi
mov edx, ecx
jmp 0x1400f13f6
shl ecx, 0xc
or r9d, ecx
mov edx, r9d
jmp 0x1400f13f6
lea rcx, [rsp + 0x130]
lea rdx, [rsp + 0xb4]
mov r8d, ebp
call fcn.1402c9b50
cmp dword [rsp + 0xb0], 0
je 0x1400f1747
cmp qword [rsp + 0xb8], 0
je 0x1400f1747
mov r8, qword [rsp + 0xc0]
mov rcx, qword [0x1404c8458]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
movdqu xmm0, xmmword [rsp + 0x130]
movups xmm1, xmmword [rsp + 0x140]
lea rax, [rsp + 0x98]
movups xmmword [rax + 0x28], xmm1
movdqu xmmword [rax + 0x18], xmm0
jmp 0x1400f13b0
mov esi, ebp
jmp 0x1400f1890
mov qword [rsp + 0x30], 2
mov qword [rsp + 0x38], 0
mov esi, dword [rsp + 0xd0]
mov edx, 2
mov eax, 0
cmp esi, 0x110000
je 0x1400f0cb9
mov dword [rsp + 0xd0], 0x110000
jmp 0x1400f1890
mov dword [rsp + 0xd0], ebp
mov byte [rsp + 0xd4], 0
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x38], 0
jmp 0x1400f1890
mov dword [rsp + 0xd0], ebp
jmp 0x1400f1890
cmp rax, rcx
jae 0x1400f1848
mov rdx, rbp
jmp 0x1400f1813
cmp r8w, 5
jae 0x1400f3996
lea rdx, [rsp + 0xb8]
cmp rax, rcx
jae 0x1400f1856
mov esi, dword [rdx + rax*4]
inc rax
mov qword [rsp + 0x30], 2
mov qword [rsp + 0x38], rax
jmp 0x1400f1890
lea rbp, [rsp + 0xb8]
mov esi, dword [rbp + rax*4]
inc rax
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x38], rax
jmp 0x1400f1890
mov qword [rsp + 0xc8], 0
jmp 0x1400f1866
test r8w, r8w
je 0x1400f1866
mov word [rsp + 0xb4], 0
mov esi, dword [rsp + 0xd0]
mov dword [rsp + 0xd0], 0x110000
cmp esi, 0x110000
je 0x1400f19eb
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0xf8]
mov edx, esi
call fcn.140016f40
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
jmp 0x1400f0cb9
mov rax, qword [r15]
mov rsi, qword [r15 + 0x10]
sub rax, rsi
cmp rax, r9
jb 0x1400f19b2
mov rcx, qword [r15 + 8]
add rcx, rsi
mov rdx, r8
mov r8, r9
mov rdi, r9
call sub.VCRUNTIME140.dll_memcpy
add rsi, rdi
mov qword [r15 + 0x10], rsi
mov qword [r14], 0
mov dword [r14 + 8], 0
movaps xmm6, xmmword [rsp + 0x1e0]
movaps xmm7, xmmword [rsp + 0x1f0]
movaps xmm8, xmmword [rsp + 0x200]
movaps xmm9, xmmword [rsp + 0x210]
movaps xmm10, xmmword [rsp + 0x220]
movaps xmm11, xmmword [rsp + 0x230]
movaps xmm12, xmmword [rsp + 0x240]
movaps xmm13, xmmword [rsp + 0x250]
movaps xmm14, xmmword [rsp + 0x260]
movaps xmm15, xmmword [rsp + 0x270]
add rsp, 0x288
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [0x1403fcc10]
mov rcx, rax
call fcn.1402c7670
lea r8, [0x1403fcc28]
call fcn.1402c7670
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov edx, 0x75a
call fcn.1402c7670
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov edx, 0x1f73
call fcn.1402c7670
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov edx, 0x1f73
call fcn.1402c7670
lea r8, [0x1403fcbf8]
call fcn.1402c7670
mov rcx, r15
mov rdx, rsi
mov rsi, r8
mov r8, r9
mov rdi, r9
call fcn.1402c8070
mov r8, rsi
mov r9, rdi
mov rsi, qword [r15 + 0x10]
jmp 0x1400f18c1
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov ecx, 4
mov edx, 4
call fcn.1402c7670
cmp dword [rsp + 0x40], 0
je 0x1400f1a0e
cmp qword [rsp + 0x48], 0
je 0x1400f1a0e
mov r8, qword [rsp + 0x50]
mov rcx, qword [0x1404c8458]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
mov r15, qword [rsp + 0x2f0]
mov rsi, qword [rsp + 0xf8]
je 0x1400f1a3f
cmp qword [rsp + 0xb8], 0
je 0x1400f1a3f
mov rcx, qword [0x1404c8458]
xor edx, edx
mov r8, rbp
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], 8
mov qword [rsp + 0x188], 0
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], rcx
movabs rax, 0x2e0000002e
mov qword [rsp + 0x160], rax
mov byte [rsp + 0x168], 1
mov word [rsp + 0x170], 1
mov rax, qword [rsp + 0x110]
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x100], rax
mov dil, 1
xor ebx, ebx
lea r12, [0x1404587f4]
xorps xmm6, xmm6
movdqa xmm11, xmmword [0x1402d8590]
movdqa xmm12, xmmword [0x1402d8450]
movdqa xmm13, xmmword [0x1402d85a0]
movdqa xmm14, xmmword [0x1402d85b0]
movdqa xmm15, xmmword [0x1402d85c0]
movdqa xmm7, xmmword [0x1402d85d0]
movdqa xmm8, xmmword [0x1402d85e0]
movdqa xmm9, xmmword [0x1402d85f0]
movdqa xmm10, xmmword [0x1402d8600]
jmp 0x1400f1b89
xor ebx, ebx
mov rcx, r14
mov rdx, rsi
mov r8, qword [rsp + 0x110]
lea r9, [rsp + 0xe0]
call fcn.1400f4d30
mov rax, qword [r15]
mov r13, qword [r15 + 0x10]
sub rax, r13
cmp rax, rsi
jb 0x1400f2097
mov rcx, qword [r15 + 8]
add rcx, r13
mov rdx, r14
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsi, r13
mov qword [r15 + 0x10], rsi
xor edi, edi
lea rcx, [rsp + 0x130]
call fcn.1400c50b0
test rax, rax
je 0x1400f2a0e
mov r14, rax
mov rsi, rdx
test dil, 1
jne 0x1400f1bcf
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15]
jne 0x1400f1bc0
mov rcx, r15
call fcn.14028c300
mov rdx, qword [r15 + 0x10]
mov rax, qword [r15 + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [r15 + 0x10], rdx
cmp rsi, 4
jb 0x1400f1be2
cmp dword [r14], 0x2d2d6e78
je 0x1400f1d14
test bl, 1
jne 0x1400f1b40
test rsi, rsi
je 0x1400f1b3e
mov rax, r14
add rax, rsi
mov rcx, r14
jmp 0x1400f1c08
cmp rcx, rax
je 0x1400f1b3e
movzx r10d, byte [rcx]
movzx edx, r10b
test dl, dl
js 0x1400f1c19
inc rcx
jmp 0x1400f1c8d
mov r8d, edx
and r8d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x1400f1c6f
movzx r9d, byte [rcx + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x1400f1c7f
movzx edx, byte [rcx + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, r8d
cmp edx, 0x110000
je 0x1400f1b3e
add rcx, 4
jmp 0x1400f1c8d
add rcx, 2
shl r8d, 6
or r8d, r11d
mov edx, r8d
jmp 0x1400f1c8d
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x1400f1bff
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x1400f1cc3
cmp r11d, edx
cmova r9, r8
mov r8, r9
sub r8, r10
jbe 0x1400f1bff
shr r8, 1
add r8, r10
lea rdi, [r8 + r8*2]
mov r11d, dword [r12 + rdi*4]
mov ebx, dword [r12 + rdi*4 + 4]
cmp ebx, edx
jb 0x1400f1cdf
cmp r11d, edx
jbe 0x1400f1cee
cmp ebx, edx
jae 0x1400f1cb0
mov r10, r8
inc r10
mov r8, r9
jmp 0x1400f1cb0
movzx edx, byte [r12 + rdi*4 + 8]
cmp edx, 0x11
ja 0x1400f1bff
mov r8d, 0x20003
bt r8d, edx
jae 0x1400f1bff
mov bl, 1
jmp 0x1400f1b40
mov qword [rsp + 0x108], rbx
add r14, 4
add rsi, 0xfffffffffffffffc
lea rcx, [rsp + 0x190]
lea rdx, [rsp + 0x178]
mov r8, r14
mov r9, rsi
call fcn.1400efba0
mov rbx, qword [rsp + 0x190]
test rbx, rbx
je 0x1400f2086
mov rcx, r15
mov r15, qword [rsp + 0x198]
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x28], rax
mov rbp, qword [rsp + 0x1a8]
mov r14, qword [rsp + 0x1b0]
mov rdi, qword [rsp + 0x1b8]
mov r8, qword [rsp + 0x1c0]
mov rax, qword [rcx]
mov rsi, qword [rcx + 0x10]
sub r8, rdi
sub rax, rsi
cmp rax, r8
jb 0x1400f293a
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0x118], rbp
cmp r14, rbp
jb 0x1400f1e58
cmp rbx, r15
je 0x1400f204f
movzx r8d, byte [rbx]
test r8b, r8b
js 0x1400f1dd8
inc rbx
movzx esi, r8b
inc rdi
jmp 0x1400f1f26
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rbx + 1]
and r9d, 0x3f
cmp r8b, 0xdf
jbe 0x1400f1e2e
movzx edx, byte [rbx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400f1e37
movzx esi, byte [rbx + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and esi, 0x3f
or esi, edx
or esi, eax
cmp esi, 0x110000
je 0x1400f204f
add rbx, 4
mov rcx, rbx
jmp 0x1400f1ee1
add rbx, 2
jmp 0x1400f1f03
add rbx, 3
jmp 0x1400f1f14
mov rax, qword [r13 + 8]
mov byte [rax + rdx], sil
inc rdx
mov qword [r13 + 0x10], rdx
cmp r14, rbp
jae 0x1400f1db7
mov rax, r14
shl rax, 4
add rax, qword [rsp + 0x28]
cmp qword [rax], rdi
jne 0x1400f1e80
inc r14
mov esi, dword [rax + 8]
jmp 0x1400f1f1b
mov rcx, rbx
mov rbx, r15
cmp rcx, r15
je 0x1400f1e80
movzx r8d, byte [rcx]
test r8b, r8b
jns 0x1400f1ef1
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rcx + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x1400f1efc
movzx edx, byte [rcx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400f1f0d
movzx esi, byte [rcx + 3]
add rcx, 4
and eax, 7
shl eax, 0x12
shl edx, 6
and esi, 0x3f
or esi, edx
or esi, eax
mov rbx, rcx
cmp esi, 0x110000
je 0x1400f1e80
mov rbx, rcx
cmp esi, 0x110000
jne 0x1400f1f1b
jmp 0x1400f204f
inc rcx
mov rbx, rcx
jmp 0x1400f1dcc
add rcx, 2
mov rbx, rcx
shl eax, 6
or eax, r9d
mov esi, eax
jmp 0x1400f1f1b
add rcx, 3
mov rbx, rcx
shl eax, 0xc
or eax, edx
mov esi, eax
inc rdi
cmp esi, 0x80
jae 0x1400f1f4d
mov r13, qword [rsp + 0x2f0]
mov rdx, qword [r13 + 0x10]
cmp rdx, qword [r13]
jne 0x1400f1e40
mov rcx, r13
call fcn.14028c300
mov rdx, qword [r13 + 0x10]
jmp 0x1400f1e40
mov dword [rsp + 0x30], 0
mov eax, esi
cmp esi, 0x800
jae 0x1400f1f7c
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x30], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x31], sil
mov esi, 2
jmp 0x1400f1fe3
cmp esi, 0x10000
jae 0x1400f1fae
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x30], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x31], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x32], sil
mov esi, 3
jmp 0x1400f1fe3
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x30], al
mov eax, esi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x31], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x32], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x33], sil
mov esi, 4
mov rcx, qword [rsp + 0x2f0]
mov rax, qword [rcx]
mov r13, qword [rcx + 0x10]
sub rax, r13
cmp rax, rsi
jb 0x1400f2033
mov rbp, qword [rsp + 0x2f0]
mov rcx, qword [rbp + 8]
add rcx, r13
lea rdx, [rsp + 0x30]
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add r13, rsi
mov qword [rbp + 0x10], r13
mov rbp, qword [rsp + 0x118]
cmp r14, rbp
jae 0x1400f1db7
jmp 0x1400f1e58
mov rbp, qword [rsp + 0x2f0]
mov rcx, rbp
mov rdx, r13
mov r8, rsi
call fcn.1402c8070
mov r13, qword [rbp + 0x10]
jmp 0x1400f1ffa
mov r15, qword [rsp + 0x2f0]
mov r13, qword [r15 + 8]
mov rdi, qword [r15 + 0x10]
mov r8, qword [rsp + 0xf0]
test r8, r8
mov rbx, qword [rsp + 0x108]
je 0x1400f20b4
cmp rdi, r8
jbe 0x1400f20ae
cmp byte [r13 + r8], 0xbf
jg 0x1400f20b4
jmp 0x1400f39cd
mov byte [rsp + 0xe0], 1
mov bl, 1
xor edi, edi
jmp 0x1400f1b89
mov rcx, r15
mov rdx, r13
mov r8, rsi
call fcn.1402c8070
mov r13, qword [r15 + 0x10]
jmp 0x1400f1b6e
jne 0x1400f39cd
lea rax, [r8 + r13]
mov qword [rsp + 0x28], rax
test bl, 1
jne 0x1400f2197
cmp rdi, r8
jne 0x1400f20d2
xor ebx, ebx
jmp 0x1400f2197
mov r14, rdi
lea rsi, [rdi + r13]
mov rdi, qword [rsp + 0x28]
jmp 0x1400f20e9
cmp rdi, rsi
je 0x1400f218a
movzx r8d, byte [rdi]
movzx ecx, r8b
test cl, cl
js 0x1400f20fa
inc rdi
jmp 0x1400f215c
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [rdi + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1400f2143
movzx edx, byte [rdi + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400f2151
movzx ecx, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x1400f218a
add rdi, 4
jmp 0x1400f215c
add rdi, 2
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x1400f215c
add rdi, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x1400f20e0
call fcn.14028a880
cmp al, 0x11
ja 0x1400f20e0
movzx eax, al
mov ecx, 0x20003
bt ecx, eax
jae 0x1400f20e0
mov bl, 1
jmp 0x1400f218c
xor ebx, ebx
mov r8, qword [rsp + 0xf0]
mov rdi, r14
movq xmm0, qword [rsp + 0xe0]
movzx eax, byte [rsp + 0xe9]
pshufd xmm1, xmm0, 0x55
por xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
por xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
por xmm1, xmm0
movd ecx, xmm1
or cl, byte [rsp + 0xe8]
or al, byte [rsp + 0xea]
or al, cl
or al, byte [rsp + 0xeb]
jne 0x1400f2a07
mov qword [rsp + 0x108], rbx
cmp rdi, r8
je 0x1400f29d0
add r13, rdi
xor eax, eax
xor ebx, ebx
mov rsi, qword [rsp + 0x28]
movzx r8d, byte [rsi]
test r8b, r8b
js 0x1400f2217
inc rsi
jmp 0x1400f2295
movzx ecx, r8b
and ecx, 0x1f
movzx r9d, byte [rsi + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x1400f2267
movzx edx, byte [rsi + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400f2275
movzx ebp, byte [rsi + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and ebp, 0x3f
or ebp, edx
or ebp, ecx
cmp ebp, 0x110000
je 0x1400f27d5
add rsi, 4
jmp 0x1400f2280
add rsi, 2
shl ecx, 6
or ecx, r9d
mov ebp, ecx
jmp 0x1400f2280
add rsi, 3
shl ecx, 0xc
or edx, ecx
mov ebp, edx
cmp ebp, 0x7f
jbe 0x1400f2295
jmp 0x1400f2316
inc rsi
cmp ebp, 0x80
jae 0x1400f2314
cmp rsi, r13
je 0x1400f27d5
movzx edx, byte [rsi]
movzx ebp, dl
test bpl, bpl
jns 0x1400f228a
mov eax, ebp
and eax, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp bpl, 0xdf
jbe 0x1400f22f6
movzx ecx, byte [rsi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x1400f2304
movzx ebp, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebp, 0x3f
or ebp, ecx
or ebp, eax
cmp ebp, 0x110000
je 0x1400f27d5
add rsi, 4
jmp 0x1400f228d
add rsi, 2
shl eax, 6
or eax, r8d
mov ebp, eax
jmp 0x1400f228d
add rsi, 3
shl eax, 0xc
or ecx, eax
mov ebp, ecx
jmp 0x1400f228d
xor eax, eax
mov r14, rdi
mov edi, eax
mov ecx, ebp
call fcn.14028a8f0
cmp dil, al
mov rdi, r14
jbe 0x1400f2332
test al, al
jne case.0x1400f24f7.3907
lea ecx, [rbp - 0x340]
cmp ecx, 4
ja 0x1400f2346
cmp ecx, 2
jne case.0x1400f24f7.3907
mov cl, 2
cmp ebp, 0xd56
jg 0x1400f23ab
cmp ebp, 0x9de
jg 0x1400f23f4
cmp ebp, 0x93b
jg 0x1400f252a
lea edx, [rbp - 0x30f]
cmp edx, 0x36
ja 0x1400f2387
movabs r8, 0x48020000001005
bt r8, rdx
jb 0x1400f27c8
lea edx, [rbp - 0x374]
cmp edx, 0x13
ja case.0x1400f24f7.3908
mov r8d, 0x80401
bt r8d, edx
jb case.0x1400f24f7.3907
jmp case.0x1400f24f7.3908
cmp ebp, 0x11126
jg 0x1400f245f
cmp ebp, 0x102d
jle 0x1400f24ab
cmp ebp, 0x1f70
jg 0x1400f258c
cmp ebp, 0x102e
je 0x1400f27bd
cmp ebp, 0x1b35
mov r15, qword [rsp + 0x2f0]
je 0x1400f27c5
jmp case.0x1400f24f7.3908
cmp ebp, 0xbd6
jg 0x1400f24f9
cmp ebp, 0xbbd
jg 0x1400f263b
lea edx, [rbp - 0xb3e]
cmp edx, 0x19
ja 0x1400f2427
mov r8d, 0x3000001
bt r8d, edx
jb 0x1400f27bd
lea edx, [rbp - 0xa33]
cmp edx, 0x2b
mov r15, qword [rsp + 0x2f0]
ja 0x1400f244e
movabs r8, 0x80000000009
bt r8, rdx
jb case.0x1400f24f7.3907
cmp ebp, 0x9df
jne case.0x1400f24f7.3908
jmp case.0x1400f24f7.3907
cmp ebp, 0x114af
jle 0x1400f255b
lea edx, [rbp - 0x114b0]
cmp edx, 0xd
ja 0x1400f2486
mov r8d, 0x2401
bt r8d, edx
jb 0x1400f27bd
cmp ebp, 0x115af
je 0x1400f27bd
cmp ebp, 0x11930
mov r15, qword [rsp + 0x2f0]
je 0x1400f27c5
jmp case.0x1400f24f7.3908
lea edx, [rbp - 0xdca]
cmp edx, 0x15
ja 0x1400f24c6
mov r8d, 0x200021
bt r8d, edx
jb 0x1400f27bd
cmp ebp, 0xd57
je 0x1400f27bd
lea edx, [rbp - 0xf43]
cmp edx, 0x76
mov r15, qword [rsp + 0x2f0]
ja case.0x1400f24f7.3908
lea r8, [0x140484f90]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp ebp, 0xcc1
jg 0x1400f25eb
cmp ebp, 0xbd7
je 0x1400f27bd
cmp ebp, 0xc56
mov r15, qword [rsp + 0x2f0]
je 0x1400f27c5
jmp case.0x1400f24f7.3908
cmp ebp, 0x93c
je 0x1400f27bd
cmp ebp, 0x9be
je 0x1400f27bd
cmp ebp, 0x9d7
mov r15, qword [rsp + 0x2f0]
je 0x1400f27c5
jmp case.0x1400f24f7.3908
cmp ebp, 0x11127
je 0x1400f27bd
cmp ebp, 0x1133e
je 0x1400f27bd
cmp ebp, 0x11357
mov r15, qword [rsp + 0x2f0]
je 0x1400f27c5
jmp case.0x1400f24f7.3908
cmp ebp, 0xfa0f
jle 0x1400f260d
cmp ebp, 0x110ba
je 0x1400f27bd
lea edx, [rbp - 0xfa10]
cmp edx, 0x12
mov r15, qword [rsp + 0x2f0]
ja 0x1400f25c3
mov r8d, 0x50005
bt r8d, edx
jb case.0x1400f24f7.3907
lea edx, [rbp - 0xfb1d]
cmp edx, 0x21
ja case.0x1400f24f7.3908
movabs r8, 0x200000005
bt r8, rdx
jb case.0x1400f24f7.3907
jmp case.0x1400f24f7.3908
cmp ebp, 0xcc2
je 0x1400f27bd
cmp ebp, 0xd3e
mov r15, qword [rsp + 0x2f0]
je 0x1400f27c5
jmp case.0x1400f24f7.3908
cmp ebp, 0x2125
jg 0x1400f2651
lea edx, [rbp - 0x1f71]
cmp edx, 0x8c
mov r15, qword [rsp + 0x2f0]
ja case.0x1400f24f7.3908
lea r8, [0x14048516c]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp ebp, 0xbbe
mov r15, qword [rsp + 0x2f0]
je 0x1400f27c5
jmp case.0x1400f24f7.3908
lea edx, [rbp - 0x2329]
cmp edx, 2
mov r15, qword [rsp + 0x2f0]
jb case.0x1400f24f7.3907
cmp ebp, 0x2126
je case.0x1400f24f7.3907
cmp ebp, 0x2adc
je case.0x1400f24f7.3907
movd xmm1, ebp
pshufd xmm0, xmm1, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x1402d8560]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x1402d8570]
pxor xmm3, xmm12
pcmpgtd xmm3, xmm14
pxor xmm2, xmm12
pcmpgtd xmm2, xmm15
packssdw xmm2, xmm3
packsswb xmm2, xmm2
pmovmskb edx, xmm2
xor dl, 0xff
jne case.0x1400f24f7.3907
pshufd xmm1, xmm1, 0x50
pand xmm1, xmmword [0x1402d8550]
pshufd xmm2, xmm1, 4
pcmpeqd xmm2, xmmword [0x1402d8580]
movdqa xmm3, xmm0
paddd xmm3, xmm11
pxor xmm3, xmm12
movdqa xmm4, xmm13
pcmpgtd xmm4, xmm3
por xmm4, xmm2
movmskps edx, xmm4
test dl, dl
jne case.0x1400f24f7.3907
lea edx, [rbp - 0x1d1bb]
cmp edx, 6
jb case.0x1400f24f7.3907
lea edx, [rbp - 0x2f800]
cmp edx, 0x21e
jb case.0x1400f24f7.3907
movd edx, xmm1
cmp edx, 0x2000
je case.0x1400f24f7.3907
cmp edx, 0x212a
je case.0x1400f24f7.3907
cmp edx, 0xfb40
je case.0x1400f24f7.3907
movdqa xmm1, xmm0
paddd xmm1, xmm7
paddd xmm0, xmm8
pxor xmm0, xmm12
pcmpgtd xmm0, xmm9
pxor xmm1, xmm12
pcmpgtd xmm1, xmm10
packssdw xmm0, xmm1
packsswb xmm0, xmm0
pmovmskb r8d, xmm0
xor r8b, 0xff
jne 0x1400f27bd
lea r8d, [rbp - 0x11a8]
cmp r8d, 0x1b
jb 0x1400f27bd
cmp edx, 0x330
mov r15, qword [rsp + 0x2f0]
mov rdi, r14
je 0x1400f27c8
add ebp, 0xffffcf67
cmp ebp, 2
movzx ecx, bl
mov edx, 2
cmovb ecx, edx
jmp 0x1400f27c8
mov r15, qword [rsp + 0x2f0]
mov rdi, r14
mov ebx, ecx
cmp rsi, r13
jne 0x1400f2209
jmp 0x1400f27d7
mov ecx, ebx
test cl, cl
je 0x1400f29d0
movzx eax, cl
cmp eax, 1
je case.0x1400f24f7.3907
mov r14, rdi
lea rcx, [rsp + 0x78]
movups xmmword [rcx], xmm6
mov byte [rcx + 0x10], 0
lea rax, [rsp + 0x1d0]
movups xmmword [rax], xmm6
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x40], 0
mov word [rsp + 0x44], 0
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x4c], 0
mov byte [rsp + 0x50], 0
mov dword [rsp + 0x54], 0
mov byte [rsp + 0x58], 0
mov dword [rsp + 0x5c], 0
mov byte [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
mov rsi, qword [rsp + 0x28]
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x90], 0
mov word [rsp + 0x94], 0
movzx eax, word [rsp + 0x1de]
mov word [rcx + 0x2e], ax
movdqu xmm0, xmmword [rsp + 0x1ce]
movdqu xmmword [rcx + 0x1e], xmm0
mov dword [rsp + 0xb0], 0x110000
mov byte [rsp + 0xb4], 0
cmp rsi, r13
je 0x1400f2968
movzx edx, byte [rsi]
movzx edi, dl
test dil, dil
js 0x1400f28bb
inc rsi
jmp 0x1400f291d
mov eax, edi
and eax, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp dil, 0xdf
jbe 0x1400f2904
movzx ecx, byte [rsi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x1400f2912
movzx edi, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and edi, 0x3f
or edi, ecx
or edi, eax
cmp edi, 0x110000
je 0x1400f2968
add rsi, 4
jmp 0x1400f291d
add rsi, 2
shl eax, 6
or eax, r8d
mov edi, eax
jmp 0x1400f291d
add rsi, 3
shl eax, 0xc
or ecx, eax
mov edi, ecx
lea rcx, [rsp + 0x30]
call fcn.1400f4450
xor ebx, ebx
cmp eax, 0x110000
je 0x1400f297a
cmp eax, edi
je 0x1400f28a2
jmp 0x1400f297a
mov rcx, qword [rsp + 0x2f0]
mov rdx, rsi
call fcn.1402c8070
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0x118], rbp
cmp r14, rbp
jb 0x1400f1e58
jmp 0x1400f1db7
lea rcx, [rsp + 0x30]
call fcn.1400f4450
cmp eax, 0x110000
sete bl
cmp dword [rsp + 0x40], 0
je 0x1400f299d
cmp qword [rsp + 0x48], 0
je 0x1400f299d
mov r8, qword [rsp + 0x50]
mov rcx, qword [0x1404c8458]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [rsp + 0x90], 0
mov rdi, r14
je 0x1400f29cc
cmp qword [rsp + 0x98], 0
je 0x1400f29cc
mov r8, qword [rsp + 0xa0]
mov rcx, qword [0x1404c8458]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
test bl, bl
je case.0x1400f24f7.3907
sub rdi, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x28]
mov rdx, rdi
mov r8, qword [rsp + 0x100]
lea r9, [rsp + 0xe0]
call fcn.1400f4d30
jmp 0x1400f29ff
mov byte [rsp + 0xe5], 1
mov rbx, qword [rsp + 0x108]
xor edi, edi
jmp 0x1400f1b89
mov rcx, qword [r15 + 8]
mov r14, qword [r15 + 0x10]
mov r8, qword [rsp + 0x120]
test r8, r8
je 0x1400f2a48
cmp r14, r8
jbe 0x1400f2a46
cmp byte [rcx + r8], 0xbf
jg 0x1400f2a48
lea rax, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov qword [rsp + 0x20], rax
mov rdx, r14
mov r9, r14
call fcn.1402c7b90
jne 0x1400f2a2f
add rcx, r8
mov rax, r14
sub rax, r8
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], rax
movabs rax, 0x2e0000002e
mov qword [rsp + 0x60], rax
mov byte [rsp + 0x68], 1
mov word [rsp + 0x70], 1
test bl, 1
jne 0x1400f2aae
lea rsi, [rsp + 0x30]
mov rcx, rsi
call fcn.1400c50b0
test rax, rax
jne 0x1400f2a9c
jmp 0x1400f2e9a
mov ebx, 0x260d9
mov ebp, 0x62f8
lea rcx, [rsp + 0x30]
call fcn.1400c50b0
test rax, rax
je 0x1400f2e9a
mov r13, rdx
test rdx, rdx
je 0x1400f2ab8
mov r12, rax
movzx r8d, byte [rax]
movzx ecx, r8b
test cl, cl
js 0x1400f2ae9
lea rsi, [r12 + 1]
jmp 0x1400f2b53
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [r12 + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1400f2b38
movzx edx, byte [r12 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400f2b47
movzx ecx, byte [r12 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x1400f2ab8
lea rsi, [r12 + 4]
jmp 0x1400f2b53
lea rsi, [r12 + 2]
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x1400f2b53
lea rsi, [r12 + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r13, r12
call fcn.14028a880
test al, al
je 0x1400f2c16
movzx eax, al
cmp eax, 0x11
je 0x1400f2c16
cmp eax, 9
jne 0x1400f2e92
cmp rsi, r13
je 0x1400f2cec
movzx r8d, byte [rsi]
movzx ecx, r8b
test cl, cl
js 0x1400f2b92
inc rsi
jmp 0x1400f2bf8
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [rsi + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1400f2bdf
movzx edx, byte [rsi + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400f2bed
movzx ecx, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x1400f2cec
add rsi, 4
jmp 0x1400f2bf8
add rsi, 2
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x1400f2bf8
add rsi, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.14028a880
cmp al, 0xe
ja 0x1400f2e92
movzx eax, al
bt ebp, eax
jb 0x1400f2b78
jmp 0x1400f2e92
cmp rsi, r13
je 0x1400f2cfd
xor edi, edi
xor r15d, r15d
jmp 0x1400f2c32
mov dil, 1
cmp rsi, r13
je 0x1400f2cd8
movzx r8d, byte [rsi]
movzx ecx, r8b
test cl, cl
js 0x1400f2c43
inc rsi
jmp 0x1400f2ca5
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [rsi + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1400f2c8c
movzx edx, byte [rsi + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400f2c9a
movzx ecx, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x1400f2cd8
add rsi, 4
jmp 0x1400f2ca5
add rsi, 2
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x1400f2ca5
add rsi, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.14028a880
cmp al, 0x11
ja 0x1400f2e92
movzx eax, al
bt ebx, eax
jb 0x1400f2c29
cmp eax, 1
je 0x1400f2c26
mov r15b, 1
cmp eax, 5
je 0x1400f2c29
jmp 0x1400f2e92
test dil, 1
sete al
test r15b, 1
sete dil
or dil, al
jmp 0x1400f2d00
movzx eax, byte [r13 - 1]
test al, al
js 0x1400f2d3c
dec r13
movzx esi, al
jmp 0x1400f2d5d
mov dil, 1
movzx eax, byte [r13 - 1]
test al, al
js 0x1400f2d14
dec r13
movzx esi, al
jmp 0x1400f2df8
movzx ecx, byte [r13 - 2]
cmp cl, 0xc0
jge 0x1400f2e68
movzx edx, byte [r13 - 3]
cmp dl, 0xbf
jle 0x1400f2e35
add r13, 0xfffffffffffffffd
and edx, 0xf
jmp 0x1400f2e4c
movzx ecx, byte [r13 - 2]
cmp cl, 0xc0
jge 0x1400f2dcc
movzx edx, byte [r13 - 3]
cmp dl, 0xbf
jle 0x1400f2d96
add r13, 0xfffffffffffffffd
and edx, 0xf
jmp 0x1400f2dad
mov ecx, esi
call fcn.14028a880
cmp al, 0xd
jne 0x1400f2dd5
cmp r13, r12
je 0x1400f2ab8
movzx eax, byte [r13 - 1]
test al, al
js 0x1400f2d82
dec r13
movzx esi, al
jmp 0x1400f2dbf
movzx ecx, byte [r13 - 2]
cmp cl, 0xc0
jge 0x1400f2dcc
movzx edx, byte [r13 - 3]
cmp dl, 0xc0
jge 0x1400f2d54
movzx r8d, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and r8d, 7
shl r8d, 6
and edx, 0x3f
or edx, r8d
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and al, 0x3f
movzx esi, al
or esi, ecx
cmp esi, 0x110000
jne 0x1400f2d5d
jmp 0x1400f2ab8
add r13, 0xfffffffffffffffe
and ecx, 0x1f
jmp 0x1400f2db5
mov ecx, esi
call fcn.14028a880
cmp al, 9
je 0x1400f2ab8
mov ecx, esi
call fcn.14028a880
cmp al, 5
je 0x1400f2ab8
jmp 0x1400f2e92
mov ecx, esi
call fcn.14028a880
cmp al, 0xd
jne 0x1400f2e71
cmp r13, r12
je 0x1400f2e92
movzx eax, byte [r13 - 1]
test al, al
js 0x1400f2e1d
dec r13
movzx esi, al
jmp 0x1400f2e5e
movzx ecx, byte [r13 - 2]
cmp cl, 0xc0
jge 0x1400f2e68
movzx edx, byte [r13 - 3]
cmp dl, 0xc0
jge 0x1400f2d30
movzx r8d, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and r8d, 7
shl r8d, 6
and edx, 0x3f
or edx, r8d
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and al, 0x3f
movzx esi, al
or esi, ecx
cmp esi, 0x110000
jne 0x1400f2df8
jmp 0x1400f2e92
add r13, 0xfffffffffffffffe
and ecx, 0x1f
jmp 0x1400f2e54
mov ecx, esi
call fcn.14028a880
cmp al, 0x11
ja 0x1400f2e92
movzx eax, al
mov ecx, 0x20023
bt ecx, eax
jae 0x1400f2e92
test dil, dil
jne 0x1400f2ab8
mov byte [rsp + 0xe2], 1
movzx ebx, byte [rsp + 0xe0]
lea rcx, [rsp + 0xe1]
mov rax, qword [rcx]
mov qword [rsp + 0x130], rax
mov eax, dword [rcx + 7]
mov dword [rsp + 0x137], eax
cmp qword [rsp + 0x178], 0
mov r15, qword [rsp + 0x2f0]
je 0x1400f2eed
mov r8, qword [rsp + 0x180]
mov rcx, qword [0x1404c8458]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [r15 + 0x10]
test r14, r14
mov r12, qword [rsp + 0x128]
mov byte [rsp + 0x100], bl
je 0x1400f2f2a
js 0x1400f39ff
movzx eax, byte [0x1404c8501]
xor ecx, ecx
mov rdx, r14
call fcn.140277170
test rax, rax
jne 0x1400f2f2f
mov ecx, 1
mov rdx, r14
call fcn.1402c6f80
mov eax, 1
mov rcx, qword [r15 + 0x10]
mov qword [rsp + 0x40], rcx
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x30], xmm0
mov qword [r15], r14
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], 0
mov rdi, qword [rsp + 0xf8]
lea rsi, [rdi + 0x18]
cmp qword [rdi + 0x18], 0
je 0x1400f2f76
mov r8, qword [rdi + 0x20]
mov rcx, qword [0x1404c8458]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rsp + 0x40]
mov qword [rsi + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x30]
movdqu xmmword [rsi], xmm0
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], rcx
movabs rax, 0x2e0000002e
mov qword [rsp + 0x60], rax
mov byte [rsp + 0x68], 1
mov word [rsp + 0x70], 1
mov dil, 1
jmp 0x1400f2fe5
mov byte [rsp + 0x100], 1
mov qword [r15 + 0x10], rcx
xor edi, edi
lea rcx, [rsp + 0x30]
call fcn.1400c50b0
mov qword [rsp + 0x28], rax
test rax, rax
je 0x1400f3893
test dil, 1
mov r10d, 0x1a
movabs rdi, 0x8080808080808080
jne 0x1400f3046
mov rax, qword [r15 + 0x10]
cmp rax, qword [r15]
jne 0x1400f3037
mov rcx, r15
mov rsi, rdx
mov rdx, rax
call fcn.14028c300
mov r10d, 0x1a
mov rdx, rsi
mov rax, qword [r15 + 0x10]
mov rcx, qword [r15 + 8]
mov byte [rcx + rax], 0x2e
inc rax
mov qword [r15 + 0x10], rax
cmp rdx, 8
jae 0x1400f311c
test rdx, rdx
je 0x1400f3290
mov rax, qword [rsp + 0x28]
cmp byte [rax + rdx - 1], 0
js 0x1400f316b
mov rax, rdx
dec rax
je 0x1400f3290
mov rax, qword [rsp + 0x28]
cmp byte [rax + rdx - 2], 0
js 0x1400f316b
mov rax, rdx
add rax, 0xfffffffffffffffe
je 0x1400f3290
mov rax, qword [rsp + 0x28]
cmp byte [rax + rdx - 3], 0
js 0x1400f316b
mov rax, rdx
add rax, 0xfffffffffffffffd
je 0x1400f3290
mov rax, qword [rsp + 0x28]
cmp byte [rax + rdx - 4], 0
js 0x1400f316b
mov rax, rdx
add rax, 0xfffffffffffffffc
je 0x1400f3290
mov rax, qword [rsp + 0x28]
cmp byte [rax + rdx - 5], 0
js 0x1400f316b
mov rax, rdx
add rax, 0xfffffffffffffffb
je 0x1400f3290
mov rax, qword [rsp + 0x28]
cmp byte [rax + rdx - 6], 0
js 0x1400f316b
mov rax, rdx
add rax, 0xfffffffffffffffa
je 0x1400f3290
mov rax, qword [rsp + 0x28]
cmp byte [rax + rdx - 7], 0
js 0x1400f316b
mov rax, rdx
add rax, 0xfffffffffffffff9
jne 0x1400f316b
jmp 0x1400f3290
mov rax, qword [rsp + 0x28]
test qword [rax], rdi
jne 0x1400f316b
mov rcx, qword [rsp + 0x28]
lea rax, [rcx + 7]
and rax, 0xfffffffffffffff8
sub rax, rcx
mov ecx, 8
cmove rax, rcx
lea rcx, [rdx - 8]
cmp rax, rcx
jae 0x1400f315c
mov r8, qword [rsp + 0x28]
test qword [r8 + rax], rdi
jne 0x1400f316b
add rax, 8
cmp rax, rcx
jb 0x1400f3148
mov rax, qword [rsp + 0x28]
test qword [rax + rcx], rdi
je 0x1400f3290
mov rcx, qword [r15]
mov rdi, qword [r15 + 0x10]
sub rcx, rdi
mov rax, rdi
cmp rcx, 3
jbe 0x1400f326a
mov qword [rsp + 0xf0], rdi
mov rcx, qword [r15 + 8]
mov dword [rcx + rax], 0x2d2d6e78
add rax, 4
mov qword [r15 + 0x10], rax
xor edi, edi
test rdx, rdx
je 0x1400f2fe5
mov rsi, qword [rsp + 0x28]
mov r14, rsi
add r14, rdx
xor r13d, r13d
jmp 0x1400f31c3
inc edi
cmp rsi, r14
je 0x1400f32d7
movzx r8d, byte [rsi]
movzx edx, r8b
test dl, dl
js 0x1400f31d4
inc rsi
jmp 0x1400f323a
mov eax, edx
and eax, 0x1f
movzx r9d, byte [rsi + 1]
and r9d, 0x3f
cmp dl, 0xdf
jbe 0x1400f3221
movzx ecx, byte [rsi + 2]
shl r9d, 6
and ecx, 0x3f
or ecx, r9d
cmp r8b, 0xf0
jb 0x1400f322f
movzx edx, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
or edx, eax
cmp edx, 0x110000
je 0x1400f32d0
add rsi, 4
jmp 0x1400f323a
add rsi, 2
shl eax, 6
or eax, r9d
mov edx, eax
jmp 0x1400f323a
add rsi, 3
shl eax, 0xc
or ecx, eax
mov edx, ecx
mov eax, edi
inc eax
mov dword [rsp + 0xf8], eax
je 0x1400f3825
cmp edx, 0x7f
ja 0x1400f31b8
mov rcx, r15
call fcn.140016f40
mov r10d, 0x1a
inc r13d
jmp 0x1400f31b8
mov r8d, 4
mov rcx, r15
mov rsi, rdx
mov rdx, rdi
call fcn.1402c8070
mov r10d, 0x1a
mov rdx, rsi
mov rax, qword [r15 + 0x10]
jmp 0x1400f3182
mov rax, qword [r15]
mov rsi, qword [r15 + 0x10]
sub rax, rsi
cmp rax, rdx
jb 0x1400f3871
mov r15, rdx
mov rdi, qword [rsp + 0x2f0]
mov rcx, qword [rdi + 8]
add rcx, rsi
mov rdx, qword [rsp + 0x28]
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add r15, rsi
mov rcx, r15
mov r15, rdi
jmp 0x1400f2fdf
mov dword [rsp + 0xf8], edi
test r13d, r13d
je 0x1400f3306
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15]
jne 0x1400f32f7
mov rcx, r15
call fcn.14028c300
mov r10d, 0x1a
mov rdx, qword [r15 + 0x10]
mov rax, qword [r15 + 8]
mov byte [rax + rdx], 0x2d
inc rdx
mov qword [r15 + 0x10], rdx
xor r8d, r8d
mov edi, 0
cmp r13d, dword [rsp + 0xf8]
jae 0x1400f2fe5
mov eax, 0x80
mov ebx, 0x48
mov esi, r13d
mov qword [rsp + 0x108], r14
mov dword [rsp + 0x118], r13d
mov rcx, qword [rsp + 0x28]
mov r12d, esi
jmp 0x1400f334e
inc rcx
cmp eax, ebp
jbe 0x1400f3402
xor edx, edx
cmp rcx, r14
je 0x1400f33f5
movzx r11d, byte [rcx]
movzx ebp, r11b
test bpl, bpl
jns 0x1400f3343
mov r9d, ebp
and r9d, 0x1f
movzx esi, byte [rcx + 1]
and esi, 0x3f
cmp bpl, 0xdf
jbe 0x1400f33c3
movzx r10d, byte [rcx + 2]
shl esi, 6
and r10d, 0x3f
or r10d, esi
cmp r11b, 0xf0
jb 0x1400f33d9
movzx ebp, byte [rcx + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and ebp, 0x3f
or ebp, r10d
or ebp, r9d
cmp ebp, 0x110000
mov r10d, 0x1a
mov esi, r12d
je 0x1400f34bf
add rcx, 4
jmp 0x1400f3346
add rcx, 2
shl r9d, 6
or r9d, esi
mov ebp, r9d
mov esi, r12d
jmp 0x1400f3346
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov ebp, r10d
mov r10d, 0x1a
mov esi, r12d
jmp 0x1400f3346
test edx, edx
jne 0x1400f34c7
jmp 0x1400f39c1
mov edx, 1
cmp rcx, r14
jne 0x1400f342e
jmp 0x1400f34bf
inc rcx
cmp r9d, r10d
mov ebp, r10d
cmovb ebp, r9d
cmp r10d, eax
cmovb ebp, r9d
cmp rcx, r14
je 0x1400f34b9
mov r9d, ebp
movzx edi, byte [rcx]
movzx r10d, dil
test r10b, r10b
jns 0x1400f3411
mov r11d, r10d
and r11d, 0x1f
movzx ebp, byte [rcx + 1]
and ebp, 0x3f
cmp r10b, 0xdf
jbe 0x1400f3490
movzx esi, byte [rcx + 2]
shl ebp, 6
and esi, 0x3f
or esi, ebp
cmp dil, 0xf0
jb 0x1400f34a3
movzx r10d, byte [rcx + 3]
and r11d, 7
shl r11d, 0x12
shl esi, 6
and r10d, 0x3f
or r10d, esi
or r10d, r11d
cmp r10d, 0x110000
je 0x1400f380c
add rcx, 4
jmp 0x1400f34b1
add rcx, 2
shl r11d, 6
or r11d, ebp
mov r10d, r11d
jmp 0x1400f3414
add rcx, 3
shl r11d, 0xc
or esi, r11d
mov r10d, esi
mov esi, r12d
jmp 0x1400f3414
mov r10d, 0x1a
test edx, edx
je 0x1400f39c1
mov ecx, esi
inc ecx
mov r12, qword [rsp + 0x128]
je 0x1400f397e
mov edi, ebp
sub edi, eax
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp edi, eax
ja 0x1400f3825
imul edi, ecx
add edi, r8d
mov rcx, qword [rsp + 0x28]
jmp 0x1400f350a
mov r9d, esi
mov r8d, edi
cmp rcx, r14
je 0x1400f37e5
movzx r8d, byte [rcx]
movzx eax, r8b
test al, al
js 0x1400f351f
inc rcx
cmp eax, ebp
jb 0x1400f358f
jmp 0x1400f3597
mov r11, rcx
mov ecx, eax
and ecx, 0x1f
movzx r9d, byte [r11 + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x1400f356f
movzx edx, byte [r11 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400f357d
movzx eax, byte [r11 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
je 0x1400f3804
add r11, 4
jmp 0x1400f3588
add r11, 2
shl ecx, 6
or ecx, r9d
mov eax, ecx
jmp 0x1400f3588
add r11, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov rcx, r11
cmp eax, ebp
jae 0x1400f3597
inc edi
je 0x1400f3825
cmp eax, ebp
jne 0x1400f34fb
mov qword [rsp + 0x120], rcx
mov dword [rsp + 0x110], esi
lea r13d, [rbx + 0x1a]
lea ecx, [rbx - 0x24]
neg ecx
cmp r13d, 0x25
cmovb ecx, r10d
cmp ebx, 0x24
mov eax, 1
cmovae ecx, eax
mov eax, edi
cmp edi, ecx
jae 0x1400f368c
mov edx, 0x61
cmp eax, 0x1a
jb 0x1400f35ec
mov edx, 0x16
cmp eax, 0x24
jae 0x1400f39a7
add edx, eax
mov rcx, r15
call fcn.140016f40
mov eax, dword [rsp + 0x110]
mov r9d, eax
inc r9d
mov r12, qword [rsp + 0x128]
mov r11d, 0xd41d41d5
mov r13d, dword [rsp + 0x118]
je 0x1400f3906
cmp eax, r13d
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r8d, r8d
mov eax, edi
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div r9d
add eax, ecx
cmp eax, 0x1c8
mov r14, qword [rsp + 0x108]
jb 0x1400f37a9
xor ecx, ecx
nop word cs:[rax + rax]
mov edx, eax
imul rdx, r11
shr rdx, 0x20
mov r10d, eax
sub r10d, edx
shr r10d, 1
add r10d, edx
shr r10d, 5
add ecx, 0x24
cmp eax, 0x3e57
mov eax, r10d
ja 0x1400f3660
jmp 0x1400f37ae
mov r14d, ebx
neg r14d
mov esi, 0x48
mov eax, edi
jmp 0x1400f36d1
mov rcx, qword [r15 + 8]
mov byte [rcx + rdx], r12b
inc rdx
lea ecx, [r14 + rsi]
cmp esi, r13d
cmovae ecx, r10d
cmp esi, ebx
mov r8d, 1
cmovbe ecx, r8d
mov qword [r15 + 0x10], rdx
add esi, 0x24
cmp eax, ecx
jb 0x1400f35d4
mov r8d, ecx
sub r8d, 0x24
je 0x1400f38bd
sub eax, ecx
neg r8d
xor edx, edx
div r8d
add edx, ecx
mov r12d, 0x61
cmp edx, 0x1a
jb 0x1400f3704
mov r12d, 0x16
cmp edx, 0x24
jae 0x1400f39a7
add r12d, edx
cmp r12d, 0x80
jae 0x1400f3740
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15]
jne 0x1400f36a0
mov rcx, r15
mov r15d, eax
call fcn.14028c300
mov r10d, 0x1a
mov eax, r15d
mov r15, qword [rsp + 0x2f0]
mov rdx, qword [r15 + 0x10]
jmp 0x1400f36a0
mov rcx, qword [r15]
mov rdx, qword [r15 + 0x10]
sub rcx, rdx
cmp rcx, 1
jbe 0x1400f3781
movzx ecx, r12w
mov r8d, ecx
shr r8d, 6
mov r9, qword [r15 + 8]
and ecx, 0x3f
shl ecx, 8
movzx r8d, r8w
or r8d, ecx
or r8d, 0x80c0
mov word [r9 + rdx], r8w
add rdx, 2
jmp 0x1400f36ab
mov r8d, 2
mov rcx, r15
mov r15d, eax
call fcn.1402c8070
mov r10d, 0x1a
mov eax, r15d
mov r15, qword [rsp + 0x2f0]
mov rdx, qword [r15 + 0x10]
jmp 0x1400f3750
xor ecx, ecx
mov r10d, eax
lea eax, [r10*4]
lea eax, [rax + rax*8]
add r10d, 0x26
xor edx, edx
div r10w
movzx ebx, ax
add ebx, ecx
mov edi, r8d
mov esi, r9d
mov r10d, 0x1a
mov rcx, qword [rsp + 0x120]
cmp rcx, r14
jne 0x1400f350a
inc r8d
inc ebp
xor edi, edi
mov esi, r9d
mov eax, ebp
cmp r9d, dword [rsp + 0xf8]
jb 0x1400f3339
jmp 0x1400f2fe5
mov r9d, esi
mov r8d, edi
jmp 0x1400f37e5
mov ebp, r9d
mov r10d, 0x1a
mov esi, r12d
test edx, edx
jne 0x1400f34c7
jmp 0x1400f39c1
mov rax, qword [r15 + 0x10]
mov byte [rsp + 0x100], 1
xor edi, edi
mov rcx, qword [rsp + 0xf0]
cmp rax, rcx
jb 0x1400f2fe5
test rcx, rcx
je 0x1400f2fd7
mov byte [rsp + 0x100], 1
cmp rax, rcx
jbe 0x1400f2fdf
mov rax, qword [r15 + 8]
cmp byte [rax + rcx], 0xbf
jg 0x1400f2fdf
jmp 0x1400f39e7
mov rdi, qword [rsp + 0x2f0]
mov rcx, rdi
mov r8, rdx
mov rdx, rsi
mov r15, r8
call fcn.1402c8070
mov rsi, qword [rdi + 0x10]
jmp 0x1400f32a6
movzx eax, byte [rsp + 0x100]
mov byte [r12], al
mov rax, qword [rsp + 0x130]
mov qword [r12 + 1], rax
mov eax, dword [rsp + 0x137]
mov dword [r12 + 8], eax
jmp 0x1400f18ec
lea rcx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero_rustc_c9f8f3438a8134a413aa5d4903e0196e44e37bbclibrarycore_src_slice_sort.rs
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
mov edx, 0x39
call fcn.1402c76f0
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs_
mov rcx, rdx
mov edx, 4
call fcn.1402c76e0
lea rax, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x14040878c]
mov edx, 0x321c
call fcn.1402c7b90
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
mov edx, 0x19
call fcn.1402c76f0
lea r8, [0x1403fcbe0]
call fcn.1402c7660
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs_
mov rcx, rdx
mov edx, 4
call fcn.1402c76e0
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov rcx, rsi
call fcn.1402c76e0
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov edx, 0xd4e
call fcn.1402c7660
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov rcx, rsi
call fcn.1402c76e0
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.23_srclookups.rs
mov edx, 0x1667
call fcn.1402c7660
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
mov edx, 0x19
call fcn.1402c76f0
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs_
mov edx, 4
call fcn.1402c76e0
lea rcx, str.explicit_panic
lea r8, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
mov edx, 0xe
call fcn.1402c76f0
ud2
lea rcx, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.1402c7a40
lea rax, str.C:UsersNico.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, rdi
mov r9, rdi
call fcn.1402c7b90
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len__
lea r8, [0x14047b6a8]
mov edx, 0x30
call fcn.1402c76f0
call fcn.14007b550
int3