Function at 0x14015f160
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x298
movdqa xmmword [rsp + 0x280], xmm15
movdqa xmmword [rsp + 0x270], xmm14
movdqa xmmword [rsp + 0x260], xmm13
movdqa xmmword [rsp + 0x250], xmm12
movdqa xmmword [rsp + 0x240], xmm11
movdqa xmmword [rsp + 0x230], xmm10
movdqa xmmword [rsp + 0x220], xmm9
movdqa xmmword [rsp + 0x210], xmm8
movdqa xmmword [rsp + 0x200], xmm7
movaps xmmword [rsp + 0x1f0], xmm6
mov rsi, r9
mov r14, r8
mov qword [rsp + 0x40], rdx
mov rdi, rcx
mov r15, qword [rsp + 0x300]
test r9, r9
je 0x14015f332
lea rax, [r14 + rsi]
xor edx, edx
movdqa xmm0, xmmword [str.xn__]
mov rcx, r14
jmp 0x14015f21f
xor r9d, r9d
mov rdx, r9
cmp rcx, rax
je 0x1401601f4
movzx r10d, byte [rcx]
movzx r8d, r10b
test r8b, r8b
js 0x14015f240
inc rcx
cmp r8d, 0x2e
jne 0x14015f2d0
jmp 0x14015f210
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x14015f299
movzx r8d, byte [rcx + 2]
shl r11d, 6
and r8d, 0x3f
or r8d, r11d
cmp r10b, 0xf0
jb 0x14015f2b2
movzx r10d, byte [rcx + 3]
add rcx, 4
and r9d, 7
shl r9d, 0x12
shl r8d, 6
and r10d, 0x3f
or r10d, r8d
or r10d, r9d
mov r8d, r10d
cmp r8d, 0x2e
jne 0x14015f2d0
jmp 0x14015f210
add rcx, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
cmp r8d, 0x2e
jne 0x14015f2d0
jmp 0x14015f210
add rcx, 3
shl r9d, 0xc
or r8d, r9d
cmp r8d, 0x2e
je 0x14015f210
nop word [rax + rax]
cmp r8d, 0x110000
je 0x1401601f4
test rdx, rdx
jne 0x14015f2e8
cmp r8d, 0x2d
je 0x14015f332
mov r9d, 5
cmp rdx, 5
jae 0x14015f317
movdqa xmmword [rsp + 0x50], xmm0
cmp rdx, 4
je 0x140161302
cmp r8d, dword [rsp + rdx*4 + 0x50]
jne 0x14015f317
inc rdx
mov r9, rdx
cmp rdx, 4
je 0x14015f332
lea edx, [r8 - 0x7b]
cmp edx, 0xffffffe5
ja 0x14015f213
add r8d, 0xffffffc6
cmp r8d, 0xfffffff6
jae 0x14015f213
mov qword [rsp + 0x120], rdi
mov r8, qword [rsp + 0x40]
mov eax, dword [r8 + 0x30]
movzx ecx, byte [r8 + 0x34]
add rsi, r14
xorps xmm6, xmm6
movups xmmword [rsp + 0xb8], xmm6
mov byte [rsp + 0xc8], 0
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x60], 0
mov word [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 byte [rsp + 0x80], 0
mov dword [rsp + 0x84], 0
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rsi
lea rdx, [rsp + 0xf8]
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], 0
mov byte [rsp + 0xb4], cl
shl rcx, 0x20
or rcx, rax
mov qword [rsp + 0x48], rcx
mov qword [r8 + 0x10], 0
mov dword [rsp + 0x100], 0
mov qword [rsp + 0xf8], 0
mov rcx, qword [r15 + 0x10]
mov qword [rsp + 0x118], rcx
movups xmmword [rsp + 0x1a2], xmm6
lea r12, [rsp + 0x60]
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0xd0], 0
mov word [rsp + 0xd4], 0
movzx eax, word [rsp + 0x1b0]
mov word [rsp + 0xe6], ax
movdqu xmm0, xmmword [rsp + 0x1a0]
movdqu xmmword [rsp + 0xd6], xmm0
mov dword [rsp + 0xf0], 0x110000
mov byte [rsp + 0xf4], 0
lea r15, [0x140314540]
mov ebp, 0xff
lea r14, [0x140318010]
xor edx, edx
mov ebx, dword [rsp + 0xd0]
mov r13, qword [rsp + 0xd8]
test ebx, ebx
je 0x14015f4e0
test rdx, rdx
je 0x14015f59b
mov rcx, qword [rsp + 0xe8]
cmp rdx, 1
jne 0x14016001b
cmp rax, rcx
jb 0x14016005b
mov qword [rsp + 0xe8], 0
jmp 0x14015f524
test rdx, rdx
je 0x14015f59b
movzx r8d, word [rsp + 0xd4]
movzx ecx, r8w
cmp rdx, 1
jne 0x140160025
cmp r8w, 4
ja 0x140162371
cmp rax, rcx
jb 0x140160053
test r8w, r8w
je 0x14015f524
mov word [rsp + 0xd4], 0
mov qword [rsp + 0x50], 0
jmp 0x14015f59b
mov edi, esi
mov eax, 0xdee95c4d
imul rdi, rax
shr rdi, 0x29
lea edx, [rdi + 0x1100]
mov rcx, r12
call fcn.140162830
imul eax, edi, 0x24c
mov ecx, esi
sub ecx, eax
imul eax, ecx, 0x925
shr eax, 0x10
add eax, 0x1161
movzx edx, ax
mov rcx, r12
call fcn.140162830
mov eax, esi
shr eax, 2
imul rax, rax, 0x24924925
shr rax, 0x20
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub esi, ecx
je 0x14015f59b
add esi, 0x11a7
mov edx, esi
mov rcx, r12
call fcn.140162830
mov r9, qword [rsp + 0xc0]
test r9, r9
jne 0x14015f950
movzx r10d, byte [rsp + 0xb0]
cmp r10b, 2
je 0x14015fa83
mov r8, qword [rsp + 0xa0]
mov r13, qword [rsp + 0x88]
mov r11, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
movzx ecx, byte [rsp + 0xb1]
mov byte [rsp + 0x30], cl
mov rbx, qword [rsp + 0xa8]
test r8, r8
je 0x14015f6b1
cmp r8, rbx
je 0x14015f6a5
lea rcx, [r8 + 1]
mov qword [rsp + 0xa0], rcx
movzx edi, byte [r8]
movzx edx, dil
test dl, dl
jns 0x14015f9b1
mov rsi, r12
mov r12, r14
mov ecx, edx
and ecx, 0x1f
lea r9, [r8 + 2]
mov qword [rsp + 0xa0], r9
movzx r14d, byte [r8 + 1]
and r14d, 0x3f
cmp dl, 0xdf
jbe 0x14015fdf9
lea rdx, [r8 + 3]
mov qword [rsp + 0xa0], rdx
movzx r9d, byte [r8 + 2]
shl r14d, 6
and r9d, 0x3f
or r9d, r14d
cmp dil, 0xf0
jb 0x14015fe17
lea rdx, [r8 + 4]
mov qword [rsp + 0xa0], 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
mov r14, r12
mov r12, rsi
jne case.0x14015f8a7.0
mov qword [rsp + 0xa0], 0
cmp r13, r11
je 0x14015fa7b
lea rcx, [r13 + 1]
mov qword [rsp + 0x88], rcx
movzx r8d, byte [r13]
movzx edx, r8b
test dl, dl
js 0x14015f6f0
mov r13, rcx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x14015f7a0
jmp 0x14015f9b1
mov ecx, edx
and ecx, 0x1f
lea rdi, [r13 + 2]
mov qword [rsp + 0x88], rdi
movzx r9d, byte [r13 + 1]
and r9d, 0x3f
cmp dl, 0xdf
jbe 0x14015f767
lea rdi, [r13 + 3]
mov qword [rsp + 0x88], rdi
movzx edx, byte [r13 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x14015f77f
lea r8, [r13 + 4]
mov qword [rsp + 0x88], r8
movzx r9d, byte [r13 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and r9d, 0x3f
or r9d, edx
or r9d, ecx
mov r13, r8
mov edx, r9d
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x14015f7a0
jmp 0x14015f9b1
shl ecx, 6
or ecx, r9d
mov r13, rdi
mov edx, ecx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x14015f7a0
jmp 0x14015f9b1
shl ecx, 0xc
or edx, ecx
mov r13, rdi
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jb 0x14015f9b1
nop word cs:[rax + rax]
cmp edx, 0x110000
je 0x14015fa7b
lea ecx, [rdx - 0x61]
cmp ecx, 0x1a
jb 0x14015f9b1
lea ecx, [rdx - 0x30]
cmp ecx, 0xa
jb 0x14015f9b1
mov r8d, 0x75a
xor r9d, r9d
mov ecx, 0x75a
jmp 0x14015f7e8
mov rcx, r8
sub r8, r9
jbe 0x14015f81c
shr r8, 1
add r8, r9
xor edi, edi
cmp dword [r15 + r8*8], edx
setne dil
cmovb edi, ebp
cmp dil, 1
je 0x14015f7e0
movzx r9d, dil
cmp r9d, 0xff
jne 0x14015f82f
inc r8
mov r9, r8
mov r8, rcx
sub r8, r9
ja 0x14015f7e8
dec r9
mov r8, r9
cmp r9, 0x759
ja 0x1401602bf
movzx r9d, word [r15 + r8*8 + 4]
mov ecx, r9d
and ecx, 0x7fff
test r9w, r9w
js 0x14015f870
movzx r8d, word [r15 + r8*8]
mov r9d, edx
sub r9w, r8w
movzx r8d, cx
add r8d, r9d
movzx ecx, r8w
movzx r8d, r8w
cmp r8d, 0x1f73
jb 0x14015f881
jmp 0x1401602d9
movzx r8d, cx
cmp r8d, 0x1f73
jae 0x1401602ec
movzx r9d, byte [r14 + rcx*4]
mov r8d, 0
cmp r9d, 1
je case.default.0x14015f8a7
mov r8d, r9d
lea r9, [0x140162804]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
mov r8d, dword [rsp + 0x60]
lea r10, [rsp + 0x68]
mov rcx, qword [rsp + 0xb8]
test r8d, r8d
je 0x14015fae4
mov rdx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x78]
cmp rcx, rax
jb 0x14015faff
jmp 0x1401602ff
cmp edx, 0x110000
je 0x14015fa7b
cmp byte [rsp + 0xc8], 0
je 0x14015fe34
cmp edx, 0x80
jb 0x14015f593
lea esi, [rdx - 0xac00]
cmp esi, 0x2ba4
jb 0x14015f52f
imul ecx, edx, 0x9e3779b9
imul eax, edx, 0x31415926
xor ecx, eax
imul r8, rcx, 0xee4
shr r8, 0x1f
and r8d, 0xfffffffe
lea r9, [0x1403ae378]
movzx r8d, word [r8 + r9]
add r8d, edx
imul r8d, r8d, 0x9e3779b9
xor r8d, eax
imul r8, r8, 0xee4
shr r8, 0x1d
and r8d, 0xfffffff8
lea r9, [0x1403b0140]
mov rsi, qword [r8 + r9]
cmp edx, esi
jne 0x14015fd56
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0x1668
jae 0x140162333
shr rsi, 0x30
mov edx, 0x1667
sub rdx, rcx
cmp rdx, rsi
jb 0x140162346
lea rax, [0x1403b7860]
lea rbx, [rax + rcx*4]
test rsi, rsi
jne 0x14015fdd6
jmp 0x14015f59b
mov byte [rsp + 0xb0], 2
cmp dword [rsp + 0x60], 0
je 0x14015fa99
mov rax, qword [rsp + 0x78]
test rax, rax
jne 0x14015faa7
jmp 0x14015ff90
movzx eax, word [rsp + 0x64]
test rax, rax
je 0x14015ff90
mov rcx, r12
call fcn.140162a10
mov r8d, dword [rsp + 0x60]
test r8d, r8d
je 0x14015fac0
mov r9, qword [rsp + 0x78]
jmp 0x14015fac6
movzx r9d, word [rsp + 0x64]
lea r10, [rsp + 0x68]
mov qword [rsp + 0xc0], r9
mov rcx, qword [rsp + 0xb8]
test r8d, r8d
jne 0x14015f96b
movzx eax, word [rsp + 0x64]
cmp rax, 5
jae 0x140162301
mov rdx, r10
cmp rcx, rax
jae 0x1401602ff
mov r13d, dword [rdx + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x14015fbc0
test r8d, r8d
je 0x14015fbca
mov rdx, qword [rsp + 0x78]
sub rdx, r9
je 0x14015fbd8
xor ecx, ecx
nop dword [rax]
mov rax, qword [rsp + 0xc0]
add rax, rcx
cmp dword [rsp + 0x60], 0
je 0x14015fb60
mov r9, qword [rsp + 0x78]
cmp rax, r9
jae 0x14016029a
mov r8, qword [rsp + 0x68]
jmp 0x14015fb7c
movzx r9d, word [rsp + 0x64]
cmp r9, 5
jae 0x1401622b2
mov r8, r10
cmp rax, r9
jae 0x14016029a
cmp rcx, r9
jae 0x1401602ae
movzx r9d, byte [r8 + rax*8]
mov eax, dword [r8 + rax*8 + 4]
mov byte [r8 + rcx*8], r9b
mov dword [r8 + rcx*8 + 4], eax
lea rax, [rcx + 1]
mov rcx, rax
cmp rdx, rax
jne 0x14015fb30
mov r8d, dword [rsp + 0x60]
test r8d, r8d
jne 0x14015fbdd
movzx eax, word [rsp + 0x64]
cmp rdx, rax
jae 0x14015fbe9
mov word [rsp + 0x64], dx
jmp 0x14015fbe9
mov qword [rsp + 0xb8], rcx
jmp 0x14015fbf4
movzx edx, word [rsp + 0x64]
sub rdx, r9
jne 0x14015fb27
test r8d, r8d
je 0x14015fbae
cmp qword [rsp + 0x78], rdx
jb 0x14015fbe9
mov qword [rsp + 0x78], rdx
lea rax, [rsp + 0xb8]
movups xmmword [rax], xmm6
imul eax, r13d, 0x9e3779b9
imul ecx, r13d, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1f
and eax, 0xfffffffe
lea rdx, [0x1403a2350]
movzx eax, word [rax + rdx]
add eax, r13d
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1e
and eax, 0xfffffffc
lea rcx, [0x1403a2a84]
mov ebx, dword [rax + rcx]
mov eax, ebx
shr eax, 8
cmp eax, r13d
mov eax, 0
cmovne ebx, eax
mov esi, dword [rsp + 0xf0]
cmp esi, 0x110000
jne 0x14015fc80
test bl, bl
jne 0x14015ff80
mov dword [rsp + 0xf0], r13d
jmp 0x14015f59b
cmp byte [rsp + 0xf4], 0
je 0x14015fca6
cmp byte [rsp + 0xf5], bl
jae 0x14015fccc
mov ecx, esi
mov edx, r13d
call fcn.1402d5310
cmp eax, 0x110000
je 0x14015fcd4
jmp 0x14015fcc0
mov ecx, esi
mov edx, r13d
call fcn.1402d5310
cmp eax, 0x110000
jne 0x14015fcc0
test bl, bl
jne 0x14015fcd4
jmp 0x14015fff0
mov dword [rsp + 0xf0], eax
jmp 0x14015f59b
test bl, bl
je 0x14015ffcc
cmp dword [rsp + 0xd0], 0
je 0x14015fd1e
mov rdx, qword [rsp + 0xe8]
cmp rdx, qword [rsp + 0xe0]
jne 0x14015fd05
lea rcx, [rsp + 0xd8]
call fcn.1401632f0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xd8]
mov dword [rax + rdx*4], r13d
inc rdx
mov qword [rsp + 0xe8], rdx
jmp 0x14015fd42
movzx eax, word [rsp + 0xd4]
cmp rax, 3
ja 0x14015ff09
mov dword [rsp + rax*4 + 0xd8], r13d
inc eax
mov word [rsp + 0xd4], ax
mov byte [rsp + 0xf4], 1
mov byte [rsp + 0xf5], bl
jmp 0x14015f59b
imul rcx, rcx, 0x80d
shr rcx, 0x20
lea r8, [0x1403a5d2c]
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, [0x1403a6d48]
mov rsi, qword [rcx + rax*8]
cmp edx, esi
jne 0x14015f593
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4f
jae 0x140162320
shr rsi, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rsi
jb 0x140162317
lea rax, [0x1403aadb0]
lea rbx, [rax + rcx*4]
test rsi, rsi
je 0x14015f59b
shl rsi, 2
xor edi, edi
nop dword [rax]
mov edx, dword [rbx + rdi]
mov rcx, r12
call fcn.140162830
add rdi, 4
cmp rsi, rdi
jne 0x14015fde0
jmp 0x14015f59b
shl ecx, 6
or ecx, r14d
mov edx, ecx
mov r14, r12
mov r12, rsi
cmp byte [rsp + 0xc8], 0
jne 0x14015f9bf
jmp 0x14015fe34
shl ecx, 0xc
or r9d, ecx
mov edx, r9d
mov r14, r12
mov r12, rsi
cmp byte [rsp + 0xc8], 0
jne 0x14015f9bf
cmp edx, 0x80
jb 0x14015f593
lea esi, [rdx - 0xac00]
cmp esi, 0x2ba4
jb 0x14015f52f
imul eax, edx, 0x9e3779b9
imul ecx, edx, 0x31415926
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea r8, [0x1403a5d2c]
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, [0x1403a6d48]
mov rsi, qword [rcx + rax*8]
cmp edx, esi
jne 0x14015f593
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4f
jae 0x140162320
shr rsi, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rsi
jb 0x140162317
test rsi, rsi
je 0x14015f59b
lea rax, [0x1403aadb0]
lea rdi, [rax + rcx*4]
shl rsi, 2
xor ebx, ebx
nop word cs:[rax + rax]
mov edx, dword [rdi + rbx]
mov rcx, r12
call fcn.140162830
add rbx, 4
cmp rsi, rbx
jne 0x14015fef0
jmp 0x14015f59b
lea rcx, [rsp + 0x138]
lea rdx, [rsp + 0xd4]
mov r8d, r13d
call fcn.1402eacf0
cmp dword [rsp + 0xd0], 0
je 0x14015ff4d
cmp qword [rsp + 0xe0], 0
je 0x14015ff4d
mov r8, qword [rsp + 0xd8]
mov rcx, qword [0x1403cdf08]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
movdqu xmm0, xmmword [rsp + 0x138]
movdqu xmm1, xmmword [rsp + 0x148]
lea rax, [rsp + 0xb8]
movdqu xmmword [rax + 0x28], xmm1
movdqu xmmword [rax + 0x18], xmm0
jmp 0x14015fd42
mov esi, r13d
jmp 0x140160000
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x58], 0
mov esi, dword [rsp + 0xf0]
mov edx, 2
mov eax, 0
cmp esi, 0x110000
je 0x14015f48d
mov dword [rsp + 0xf0], 0x110000
jmp 0x140160000
mov dword [rsp + 0xf0], r13d
mov byte [rsp + 0xf4], 0
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], 0
jmp 0x140160000
mov dword [rsp + 0xf0], r13d
nop dword [rax + rax]
mov rcx, qword [rsp + 0x40]
mov edx, esi
call fcn.140023d70
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
jmp 0x14015f48d
cmp rax, rcx
jae 0x140160073
mov rdx, r13
jmp 0x14016003d
cmp r8w, 5
jae 0x140162371
lea rdx, [rsp + 0xd8]
cmp rax, rcx
jae 0x140160081
mov esi, dword [rdx + rax*4]
inc rax
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x58], rax
jmp 0x140160000
lea r13, [rsp + 0xd8]
mov esi, dword [r13 + rax*4]
inc rax
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], rax
jmp 0x140160000
mov qword [rsp + 0xe8], 0
jmp 0x140160091
test r8w, r8w
je 0x140160091
mov word [rsp + 0xd4], 0
mov esi, dword [rsp + 0xf0]
mov dword [rsp + 0xf0], 0x110000
cmp esi, 0x110000
jne 0x140160000
cmp dword [rsp + 0x60], 0
je 0x1401600d2
cmp qword [rsp + 0x70], 0
je 0x1401600d2
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x1403cdf08]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
test ebx, ebx
mov r15, qword [rsp + 0x300]
mov r12, qword [rsp + 0x48]
je 0x140160100
cmp qword [rsp + 0xe0], 0
je 0x140160100
mov rcx, qword [0x1403cdf08]
xor edx, edx
mov r8, r13
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0x188], 8
xorps xmm6, xmm6
movups xmmword [rsp + 0x190], xmm6
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x168], 1
movabs rax, 0x2e0000002e
mov qword [rsp + 0x170], rax
mov word [rsp + 0x178], 1
mov rax, r12
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x110], rax
lea r13, [0x14039df88]
movdqa xmm11, xmmword [0x1402f9ad0]
movdqa xmm12, xmmword [0x1402f9750]
movdqa xmm13, xmmword [0x1402f9ae0]
movdqa xmm14, xmmword [0x1402f9af0]
movdqa xmm15, xmmword [0x1402f9b00]
movdqa xmm7, xmmword [0x1402f9b10]
movdqa xmm8, xmmword [0x1402f9b20]
movdqa xmm9, xmmword [0x1402f9b30]
movdqa xmm10, xmmword [0x1402f9b40]
xor edi, edi
xor ebp, ebp
jmp 0x140160375
mov rax, qword [r15 + 8]
mov rbx, qword [r15 + 0x10]
sub rax, rbx
cmp rax, rsi
jb 0x140160310
mov rcx, qword [r15]
add rcx, rbx
mov rdx, r14
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rbx, rsi
mov qword [r15 + 0x10], rbx
mov qword [rdi], 0
mov dword [rdi + 8], 0
movaps xmm6, xmmword [rsp + 0x1f0]
movaps xmm7, xmmword [rsp + 0x200]
movaps xmm8, xmmword [rsp + 0x210]
movaps xmm9, xmmword [rsp + 0x220]
movaps xmm10, xmmword [rsp + 0x230]
movaps xmm11, xmmword [rsp + 0x240]
movaps xmm12, xmmword [rsp + 0x250]
movaps xmm13, xmmword [rsp + 0x260]
movaps xmm14, xmmword [rsp + 0x270]
movaps xmm15, xmmword [rsp + 0x280]
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srcdecompose.rs
mov rcx, rax
mov rdx, r9
call fcn.1402ea300
ud2
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srcdecompose.rs
mov rdx, r9
call fcn.1402ea300
ud2
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.4.0_srcuts46.rs
mov edx, 0x75a
mov rcx, 0xffffffffffffffff
call fcn.1402ea300
ud2
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.4.0_srcuts46.rs
mov edx, 0x1f73
call fcn.1402ea300
ud2
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.4.0_srcuts46.rs
mov edx, 0x1f73
call fcn.1402ea300
ud2
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srcdecompose.rs
mov rdx, rax
call fcn.1402ea300
ud2
mov rcx, r15
mov rdx, rbx
mov r8, rsi
call fcn.1402eac30
mov rbx, qword [r15 + 0x10]
jmp 0x140160208
xor ebp, ebp
mov rcx, r14
mov rdx, rsi
mov r8, r12
lea r9, [rsp + 0xf8]
call fcn.1401633c0
mov rax, qword [r15 + 8]
mov r13, qword [r15 + 0x10]
sub rax, r13
cmp rax, rsi
jb 0x140160954
mov rcx, qword [r15]
add rcx, r13
mov rdx, r14
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsi, r13
mov qword [r15 + 0x10], rsi
mov dil, 1
lea r13, [0x14039df88]
lea rcx, [rsp + 0x138]
call fcn.1402c5c70
test rax, rax
je 0x14016131a
mov r14, rax
mov rsi, rdx
test dil, 1
je 0x1401603bb
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15 + 8]
jne 0x1401603ad
mov rcx, r15
call fcn.14015efa0
mov rdx, qword [r15 + 0x10]
mov rax, qword [r15]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [r15 + 0x10], rdx
cmp rsi, 4
jb 0x1401603ce
cmp dword [r14], 0x2d2d6e78
je 0x14016052c
test bpl, 1
jne 0x140160329
test rsi, rsi
je 0x140160327
mov rax, r14
add rax, rsi
mov rcx, r14
jmp 0x1401603f5
cmp rcx, rax
je 0x140160327
movzx r10d, byte [rcx]
movzx edx, r10b
test dl, dl
js 0x140160406
inc rcx
jmp 0x14016047a
mov r8d, edx
and r8d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x14016045c
movzx r9d, byte [rcx + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x14016046c
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 0x140160327
add rcx, 4
jmp 0x14016047a
add rcx, 2
shl r8d, 6
or r8d, r11d
mov edx, r8d
jmp 0x14016047a
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x1401603ec
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x1401604ac
mov r9, r8
sub r8, r10
jbe 0x1401603ec
shr r8, 1
add r8, r10
lea r11, [r8 + r8*2]
mov edi, dword [r13 + r11*4 + 4]
cmp edi, edx
mov ebx, 0
sbb ebx, ebx
or bl, 1
cmp edi, edx
movzx ebx, bl
mov edi, ebx
mov ebp, 0
cmovae edi, ebp
cmp dword [r13 + r11*4], edx
cmova edi, ebx
cmp dil, 1
je 0x1401604a0
movzx r10d, dil
cmp r10d, 0xff
jne 0x140160504
inc r8
mov r10, r8
mov r8, r9
sub r8, r10
ja 0x1401604ac
jmp 0x1401603ec
movzx edx, byte [r13 + r11*4 + 8]
cmp rdx, 0x11
ja 0x1401603ec
mov r8d, 0x20003
bt r8, rdx
jae 0x1401603ec
mov bpl, 1
jmp 0x140160329
add r14, 4
add rsi, 0xfffffffffffffffc
lea rcx, [rsp + 0x1a0]
lea rdx, [rsp + 0x188]
mov r8, r14
mov r9, rsi
call fcn.14015de60
mov rbx, qword [rsp + 0x1a0]
test rbx, rbx
je 0x140160941
mov dword [rsp + 0x104], ebp
mov rbp, qword [rsp + 0x1a8]
mov rcx, r15
mov r15, qword [rsp + 0x1b0]
mov rdi, qword [rsp + 0x1b8]
mov r13, qword [rsp + 0x1c0]
mov r12, qword [rsp + 0x1c8]
mov r8, qword [rsp + 0x1d0]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
sub r8, r12
mov qword [rsp + 0x108], rcx
sub rax, rcx
cmp rax, r8
jb 0x14016122f
mov qword [rsp + 0x30], r15
cmp r13, rdi
jae 0x140160689
test r15, r15
je 0x140160689
mov rax, r13
shl rax, 4
cmp qword [r15 + rax], r12
jne 0x140160600
inc r13
mov esi, dword [r15 + rax + 8]
inc r12
cmp esi, 0x7f
jbe 0x1401607bb
jmp 0x1401607f6
mov rcx, rbx
mov rbx, rbp
cmp rcx, rbp
je 0x140160600
movzx r8d, byte [rcx]
test r8b, r8b
jns 0x140160716
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rcx + 1]
and r9d, 0x3f
cmp r8b, 0xdf
jbe 0x140160728
movzx edx, byte [rcx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140160734
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 0x140160600
jmp 0x1401607a4
mov rax, qword [r14]
mov byte [rax + rdx], sil
inc rdx
mov qword [r14 + 0x10], rdx
cmp r13, rdi
jb 0x1401605c7
cmp r13, rdi
jb 0x1401606b0
cmp rbx, rbp
je 0x1401608fe
movzx r8d, byte [rbx]
test r8b, r8b
js 0x14016074f
inc rbx
jmp 0x14016071c
mov rcx, rbx
mov rbx, rbp
cmp rcx, rbp
je 0x1401606b0
movzx r8d, byte [rcx]
test r8b, r8b
jns 0x140160716
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rcx + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x140160728
movzx edx, byte [rcx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140160734
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 0x1401606b0
jmp 0x1401607a4
inc rcx
mov rbx, rcx
movzx esi, r8b
inc r12
jmp 0x1401607bb
add rcx, 2
mov rbx, rcx
jmp 0x1401607e6
add rcx, 3
mov rbx, rcx
shl eax, 0xc
or eax, edx
mov esi, eax
inc r12
cmp esi, 0x7f
jbe 0x1401607bb
jmp 0x1401607f6
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rbx + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x1401607e2
movzx edx, byte [rbx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1401608d9
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 0x1401608fe
add rbx, 4
mov rcx, rbx
mov rbx, rcx
cmp esi, 0x110000
je 0x1401608fe
inc r12
cmp esi, 0x7f
ja 0x1401607f6
mov r14, qword [rsp + 0x300]
mov rdx, qword [r14 + 0x10]
cmp rdx, qword [r14 + 8]
jne 0x140160672
mov rcx, r14
call fcn.14015efa0
mov rdx, qword [r14 + 0x10]
jmp 0x140160672
add rbx, 2
shl eax, 6
or eax, r9d
mov esi, eax
inc r12
cmp esi, 0x7f
jbe 0x1401607bb
mov dword [rsp + 0x50], 0
mov eax, esi
cmp esi, 0x800
jae 0x140160825
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x50], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x51], sil
mov esi, 2
jmp 0x14016088c
cmp esi, 0x10000
jae 0x140160857
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x50], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x51], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x52], sil
mov esi, 3
jmp 0x14016088c
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x50], al
mov eax, esi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x51], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x52], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x53], sil
mov esi, 4
mov rcx, qword [rsp + 0x300]
mov rax, qword [rcx + 8]
mov r14, qword [rcx + 0x10]
sub rax, r14
cmp rax, rsi
jb 0x1401608e2
mov r15, qword [rsp + 0x300]
mov rcx, qword [r15]
add rcx, r14
lea rdx, [rsp + 0x50]
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add r14, rsi
mov qword [r15 + 0x10], r14
mov r15, qword [rsp + 0x30]
cmp r13, rdi
jb 0x1401605c7
jmp 0x140160689
add rbx, 3
jmp 0x14016073b
mov r15, qword [rsp + 0x300]
mov rcx, r15
mov rdx, r14
mov r8, rsi
call fcn.1402eac30
mov r14, qword [r15 + 0x10]
jmp 0x1401608a4
mov rax, qword [rsp + 0x300]
mov r15, qword [rax]
mov rdx, qword [rax + 0x10]
mov r8, qword [rsp + 0x108]
test r8, r8
je 0x14016096b
mov rsi, rdx
sub rsi, r8
mov r12, qword [rsp + 0x48]
lea r13, [0x14039df88]
mov ebp, dword [rsp + 0x104]
jbe 0x140160983
cmp byte [r15 + r8], 0xbf
jg 0x140160989
jmp 0x1401623b8
mov byte [rsp + 0xf8], 1
mov bpl, 1
mov dil, 1
jmp 0x140160375
mov rcx, r15
mov rdx, r13
mov r8, rsi
call fcn.1402eac30
mov r13, qword [r15 + 0x10]
jmp 0x140160353
mov rsi, rdx
mov r12, qword [rsp + 0x48]
lea r13, [0x14039df88]
mov ebp, dword [rsp + 0x104]
jmp 0x140160989
jne 0x1401623b8
add r15, r8
test bpl, 1
jne 0x140160a56
test rsi, rsi
je 0x140160a54
lea rdi, [r15 + rsi]
mov rbx, r15
jmp 0x1401609b1
cmp rbx, rdi
je 0x140160a54
movzx r8d, byte [rbx]
movzx ecx, r8b
test cl, cl
js 0x1401609c2
inc rbx
jmp 0x140160a24
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [rbx + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x140160a0b
movzx edx, byte [rbx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140160a19
movzx ecx, byte [rbx + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x140160a54
add rbx, 4
jmp 0x140160a24
add rbx, 2
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x140160a24
add rbx, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x1401609a8
call fcn.1402d5220
cmp al, 0x11
ja 0x1401609a8
movzx eax, al
mov ecx, 0x20003
bt rcx, rax
jae 0x1401609a8
mov bpl, 1
jmp 0x140160a56
xor ebp, ebp
movq xmm0, qword [rsp + 0xfa]
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 eax, xmm1
or al, byte [rsp + 0xf8]
or al, byte [rsp + 0x102]
jne 0x14016120f
cmp byte [rsp + 0xf9], 0
jne 0x14016121f
cmp byte [rsp + 0x103], 0
jne 0x1401611ff
mov qword [rsp + 0x30], rsi
test rsi, rsi
je 0x1401612ce
mov rax, qword [rsp + 0x30]
lea rbx, [r15 + rax]
xor edi, edi
xor r9d, r9d
mov r14, r15
movzx edx, byte [r14]
test dl, dl
js 0x140160ae5
inc r14
jmp 0x140160b6e
movzx eax, dl
and eax, 0x1f
movzx r8d, byte [r14 + 1]
and r8d, 0x3f
cmp dl, 0xe0
jb 0x140160b38
movzx ecx, byte [r14 + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x140160b47
movzx r13d, byte [r14 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r13d, 0x3f
or r13d, ecx
or r13d, eax
cmp r13d, 0x110000
je 0x140161087
add r14, 4
jmp 0x140160b53
add r14, 2
shl eax, 6
or eax, r8d
mov r13d, eax
jmp 0x140160b53
add r14, 3
shl eax, 0xc
or ecx, eax
mov r13d, ecx
cmp r13d, 0x7f
jbe 0x140160b6e
jmp 0x140160bfd
inc r14
cmp r13d, 0x80
jae 0x140160bfb
cmp r14, rbx
je 0x140161087
movzx edx, byte [r14]
movzx r13d, dl
test r13b, r13b
jns 0x140160b5e
mov eax, r13d
and eax, 0x1f
movzx r8d, byte [r14 + 1]
and r8d, 0x3f
cmp r13b, 0xdf
jbe 0x140160bd8
movzx ecx, byte [r14 + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x140160bea
movzx r13d, byte [r14 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r13d, 0x3f
or r13d, ecx
or r13d, eax
cmp r13d, 0x110000
je 0x140161087
add r14, 4
jmp 0x140160b61
add r14, 2
shl eax, 6
or eax, r8d
mov r13d, eax
jmp 0x140160b61
add r14, 3
shl eax, 0xc
or ecx, eax
mov r13d, ecx
jmp 0x140160b61
xor edi, edi
mov ecx, r13d
mov esi, r9d
call fcn.1402d52b0
mov r9d, esi
cmp dil, al
jbe 0x140160c18
test al, al
jne case.0x140160dca.3907
lea ecx, [r13 - 0x340]
cmp ecx, 4
ja 0x140160c2d
cmp ecx, 2
jne case.0x140160dca.3907
cmp r13d, 0xd56
jg 0x140160c93
cmp r13d, 0x9de
jg 0x140160cd9
cmp r13d, 0x93b
jg 0x140160df8
lea ecx, [r13 - 0x30f]
cmp ecx, 0x36
ja 0x140160c70
movabs rdx, 0x48020000001005
bt rdx, rcx
jb 0x140160efe
lea ecx, [r13 - 0x374]
cmp ecx, 0x13
ja case.0x140160dca.3908
mov edx, 0x80401
bt edx, ecx
jb case.0x140160dca.3907
jmp case.0x140160dca.3908
cmp r13d, 0x11126
jg 0x140160d3f
cmp r13d, 0x102d
jle 0x140160d85
cmp r13d, 0x1f70
jg 0x140160e50
cmp r13d, 0x102e
je 0x140160efe
cmp r13d, 0x1b35
je 0x140160efe
jmp case.0x140160dca.3908
cmp r13d, 0xbd6
jg 0x140160dcc
cmp r13d, 0xbbd
jg 0x140160ef5
lea ecx, [r13 - 0xb3e]
cmp ecx, 0x19
ja 0x140160d0d
mov edx, 0x3000001
bt edx, ecx
jb 0x140160efe
lea ecx, [r13 - 0xa33]
cmp ecx, 0x2b
ja 0x140160d2d
movabs rdx, 0x80000000009
bt rdx, rcx
jb case.0x140160dca.3907
cmp r13d, 0x9df
jne case.0x140160dca.3908
jmp case.0x140160dca.3907
cmp r13d, 0x114af
jle 0x140160e24
lea ecx, [r13 - 0x114b0]
cmp ecx, 0xd
ja 0x140160d66
mov edx, 0x2401
bt edx, ecx
jb 0x140160efe
cmp r13d, 0x115af
je 0x140160efe
cmp r13d, 0x11930
je 0x140160efe
jmp case.0x140160dca.3908
lea ecx, [r13 - 0xdca]
cmp ecx, 0x15
ja 0x140160d9f
mov edx, 0x200021
bt edx, ecx
jb 0x140160efe
cmp r13d, 0xd57
je 0x140160efe
lea ecx, [r13 - 0xf43]
cmp ecx, 0x76
ja case.0x140160dca.3908
lea rdx, [0x1401623f4]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp r13d, 0xcc1
jg 0x140160eb1
cmp r13d, 0xbd7
je 0x140160efe
cmp r13d, 0xc56
je 0x140160efe
jmp case.0x140160dca.3908
cmp r13d, 0x93c
je 0x140160efe
cmp r13d, 0x9be
je 0x140160efe
cmp r13d, 0x9d7
je 0x140160efe
jmp case.0x140160dca.3908
cmp r13d, 0x11127
je 0x140160efe
cmp r13d, 0x1133e
je 0x140160efe
cmp r13d, 0x11357
je 0x140160efe
jmp case.0x140160dca.3908
cmp r13d, 0xfa0f
jle 0x140160ec5
cmp r13d, 0x110ba
mov r12, qword [rsp + 0x48]
je 0x140160efe
mov r9d, esi
lea ecx, [r13 - 0xfa10]
cmp ecx, 0x12
ja 0x140160e88
mov edx, 0x50005
bt edx, ecx
jb case.0x140160dca.3907
lea ecx, [r13 - 0xfb1d]
cmp ecx, 0x21
ja case.0x140160dca.3908
movabs rdx, 0x200000005
bt rdx, rcx
jb case.0x140160dca.3907
jmp case.0x140160dca.3908
cmp r13d, 0xcc2
je 0x140160efe
cmp r13d, 0xd3e
je 0x140160efe
jmp case.0x140160dca.3908
cmp r13d, 0x2125
jg 0x140160f11
lea ecx, [r13 - 0x1f71]
cmp ecx, 0x8c
mov r12, qword [rsp + 0x48]
mov r9d, esi
ja case.0x140160dca.3908
lea rdx, [0x1401625d0]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp r13d, 0xbbe
jne case.0x140160dca.3908
mov r9b, 2
mov edi, eax
cmp r14, rbx
jne 0x140160ad5
jmp 0x140161087
lea ecx, [r13 - 0x2329]
cmp ecx, 2
mov r12, qword [rsp + 0x48]
jb case.0x140160dca.3907
cmp r13d, 0x2126
je case.0x140160dca.3907
mov r9d, esi
cmp r13d, 0x2adc
je case.0x140160dca.3907
movd xmm1, r13d
pshufd xmm0, xmm1, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x1402f9aa0]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x1402f9ab0]
pxor xmm3, xmm12
movdqa xmm4, xmm14
pcmpgtd xmm4, xmm3
pxor xmm2, xmm12
movdqa xmm3, xmm15
pcmpgtd xmm3, xmm2
packssdw xmm3, xmm4
pmovmskb ecx, xmm3
test ecx, ecx
jne case.0x140160dca.3907
pshufd xmm1, xmm1, 0x50
pand xmm1, xmmword [0x1402f9a90]
pshufd xmm2, xmm1, 4
pcmpeqd xmm2, xmmword [0x1402f9ac0]
movdqa xmm3, xmm0
paddd xmm3, xmm11
pxor xmm3, xmm12
movdqa xmm4, xmm13
pcmpgtd xmm4, xmm3
por xmm4, xmm2
movmskps ecx, xmm4
test cl, cl
jne case.0x140160dca.3907
lea ecx, [r13 - 0x1d1bb]
cmp ecx, 6
jb case.0x140160dca.3907
lea ecx, [r13 - 0x2f800]
cmp ecx, 0x21e
jb case.0x140160dca.3907
movd ecx, xmm1
cmp ecx, 0x2000
je case.0x140160dca.3907
cmp ecx, 0x212a
je case.0x140160dca.3907
cmp ecx, 0xfb40
je case.0x140160dca.3907
movdqa xmm1, xmm0
paddd xmm1, xmm7
paddd xmm0, xmm8
pxor xmm0, xmm12
movdqa xmm2, xmm9
pcmpgtd xmm2, xmm0
pxor xmm1, xmm12
movdqa xmm0, xmm10
pcmpgtd xmm0, xmm1
packssdw xmm2, xmm0
pmovmskb edx, xmm2
test edx, edx
jne 0x140160efe
lea edx, [r13 - 0x11a8]
cmp edx, 0x1b
jb 0x140160efe
add r13d, 0xffffcf67
cmp r13d, 2
jb 0x140160efe
cmp ecx, 0x330
jne 0x140160f01
jmp 0x140160efe
test r9b, r9b
je 0x1401612ce
movzx eax, r9b
cmp eax, 1
je case.0x140160dca.3907
mov r13d, ebp
lea rcx, [rsp + 0x98]
movups xmmword [rcx], xmm6
movups xmmword [rsp + 0x1e0], xmm6
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x60], 0
mov word [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 byte [rsp + 0x80], 0
mov dword [rsp + 0x84], 0
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], rbx
mov byte [rsp + 0xa8], 0
mov dword [rsp + 0xb0], 0
mov word [rsp + 0xb4], 0
movzx eax, word [rsp + 0x1ee]
mov word [rcx + 0x2e], ax
movdqu xmm0, xmmword [rsp + 0x1de]
movdqu xmmword [rcx + 0x1e], xmm0
mov dword [rsp + 0xd0], 0x110000
mov byte [rsp + 0xd4], 0
mov rdi, r15
cmp rdi, rbx
je 0x140161257
movzx edx, byte [rdi]
movzx ebp, dl
test bpl, bpl
js 0x14016117b
inc rdi
jmp 0x1401611e1
mov eax, ebp
and eax, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp bpl, 0xdf
jbe 0x1401611c8
movzx ecx, byte [rdi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x1401611d6
movzx ebp, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebp, 0x3f
or ebp, ecx
or ebp, eax
cmp ebp, 0x110000
je 0x140161257
add rdi, 4
jmp 0x1401611e1
add rdi, 2
shl eax, 6
or eax, r8d
mov ebp, eax
jmp 0x1401611e1
add rdi, 3
shl eax, 0xc
or ecx, eax
mov ebp, ecx
lea rcx, [rsp + 0x50]
call fcn.140163600
mov r14b, 1
cmp eax, 0x110000
je 0x14016126d
cmp eax, ebp
je 0x140161162
jmp 0x14016126d
mov r15, qword [rsp + 0x300]
mov dil, 1
jmp 0x140160375
mov r15, qword [rsp + 0x300]
mov dil, 1
jmp 0x140160375
mov r15, qword [rsp + 0x300]
mov dil, 1
jmp 0x140160375
mov rcx, qword [rsp + 0x300]
mov rdx, qword [rsp + 0x108]
call fcn.1402eac30
mov qword [rsp + 0x30], r15
cmp r13, rdi
jb 0x1401605c7
jmp 0x140160689
lea rcx, [rsp + 0x50]
call fcn.140163600
cmp eax, 0x110000
setne r14b
neg r14b
cmp dword [rsp + 0x60], 0
je 0x140161290
cmp qword [rsp + 0x70], 0
je 0x140161290
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x1403cdf08]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp dword [rsp + 0xb0], 0
mov ebp, r13d
je 0x1401612bf
cmp qword [rsp + 0xc0], 0
je 0x1401612bf
mov r8, qword [rsp + 0xb8]
mov rcx, qword [0x1403cdf08]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
test r14b, r14b
je 0x1401612ce
mov byte [rsp + 0xfd], 1
jmp 0x1401612eb
mov rcx, r15
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x110]
lea r9, [rsp + 0xf8]
call fcn.1401633c0
mov r15, qword [rsp + 0x300]
lea r13, [0x14039df88]
mov dil, 1
jmp 0x140160375
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.4.0_srcuts46.rs
mov ecx, 4
mov edx, 4
call fcn.1402ea300
ud2
mov rcx, qword [r15]
mov r14, qword [r15 + 0x10]
mov rax, r14
mov r8, qword [rsp + 0x118]
test r8, r8
je 0x14016135b
mov rax, r14
sub rax, r8
jbe 0x140161359
cmp byte [rcx + r8], 0xbf
jg 0x14016135b
lea rax, str.0D1_
mov qword [rsp + 0x20], rax
mov rdx, r14
mov r9, r14
call fcn.1402ea9d0
ud2
jne 0x140161340
add rcx, r8
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], 1
movabs rax, 0x2e0000002e
mov qword [rsp + 0x88], rax
mov word [rsp + 0x90], 1
test bpl, 1
jne 0x1401613c9
lea rsi, [rsp + 0x50]
mov rcx, rsi
call fcn.1402c5c70
test rax, rax
jne 0x1401613b7
jmp 0x140161890
lea rbp, [rsp + 0x50]
xor ebx, ebx
mov edi, 0x62f8
mov rcx, rbp
call fcn.1402c5c70
test rax, rax
je 0x140161890
mov r13, rdx
test rdx, rdx
je 0x1401613d5
mov r12, rax
movzx r8d, byte [rax]
movzx ecx, r8b
test cl, cl
js 0x140161404
lea rsi, [r12 + 1]
jmp 0x14016146e
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [r12 + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x140161453
movzx edx, byte [r12 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140161462
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 0x1401613d5
lea rsi, [r12 + 4]
jmp 0x14016146e
lea rsi, [r12 + 2]
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x14016146e
lea rsi, [r12 + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r13, r12
call fcn.1402d5220
test al, al
je 0x140161532
movzx eax, al
cmp eax, 0x11
je 0x140161532
cmp eax, 9
jne 0x140161888
cmp rsi, r13
je 0x140161686
movzx r8d, byte [rsi]
movzx ecx, r8b
test cl, cl
js 0x1401614ad
inc rsi
jmp 0x140161513
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [rsi + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1401614fa
movzx edx, byte [rsi + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140161508
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 0x140161686
add rsi, 4
jmp 0x140161513
add rsi, 2
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x140161513
add rsi, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1402d5220
cmp al, 0xe
ja 0x140161888
movzx eax, al
bt rdi, rax
jb 0x140161493
jmp 0x140161888
cmp rsi, r13
je 0x1401616bf
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x48], 0
movzx r8d, byte [rsi]
movzx eax, r8b
test al, al
js 0x14016155c
inc rsi
jmp 0x1401615c0
mov ecx, eax
and ecx, 0x1f
movzx r9d, byte [rsi + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x1401615a7
movzx edx, byte [rsi + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1401615b5
movzx eax, byte [rsi + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
je 0x1401616cf
add rsi, 4
jmp 0x1401615c0
add rsi, 2
shl ecx, 6
or ecx, r9d
mov eax, ecx
jmp 0x1401615c0
add rsi, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov ecx, 0x5a6
xor r8d, r8d
mov edx, 0x5a6
jmp 0x1401615db
mov rdx, rcx
sub rcx, r8
jbe 0x140161888
shr rcx, 1
add rcx, r8
lea r9, [rcx + rcx*2]
lea r15, [0x14039df88]
mov r10d, dword [r15 + r9*4 + 4]
cmp r10d, eax
mov r11d, 0
sbb r11d, r11d
or r11b, 1
cmp r10d, eax
movzx r11d, r11b
mov r10d, r11d
cmovae r10d, ebx
cmp dword [r15 + r9*4], eax
cmova r10d, r11d
cmp r10b, 1
je 0x1401615cf
movzx r8d, r10b
cmp r8d, 0xff
jne 0x14016163d
inc rcx
mov r8, rcx
mov rcx, rdx
sub rcx, r8
ja 0x1401615db
jmp 0x140161888
lea rax, [0x14039df88]
movzx eax, byte [rax + r9*4 + 8]
cmp eax, 1
je 0x14016165c
cmp eax, 5
jne 0x140161662
mov al, 1
mov dword [rsp + 0x48], eax
jmp 0x14016167b
mov dword [rsp + 0x30], eax
jmp 0x14016167b
cmp rax, 0x11
ja 0x140161888
mov ecx, 0x260fb
bt rcx, rax
jae 0x140161888
cmp rsi, r13
jne 0x14016154b
jmp 0x1401616cf
movzx eax, byte [r13 - 1]
test al, al
jns 0x140161713
movzx ecx, byte [r13 - 2]
add r13, 0xfffffffffffffffe
cmp cl, 0xc0
jge 0x14016171f
movzx edx, byte [r13 - 1]
dec r13
cmp dl, 0xc0
jge 0x140161782
movzx r8d, byte [r13 - 1]
dec r13
jmp 0x14016176e
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x30], 0
movzx eax, byte [r13 - 1]
test al, al
jns 0x140161708
movzx ecx, byte [r13 - 2]
add r13, 0xfffffffffffffffe
cmp cl, 0xc0
jge 0x1401617d1
movzx edx, byte [r13 - 1]
dec r13
cmp dl, 0xc0
jge 0x140161838
movzx r8d, byte [r13 - 1]
dec r13
jmp 0x140161824
dec r13
movzx esi, al
jmp 0x1401617de
dec r13
movzx esi, al
jmp 0x14016172c
add r13, 0xfffffffffffffffe
and ecx, 0x1f
shl ecx, 6
and al, 0x3f
movzx esi, al
or esi, ecx
cmp r13, r12
je 0x14016178f
cmp esi, 0x110000
je 0x1401613d5
mov ecx, esi
call fcn.1402d5220
cmp al, 0xd
jne 0x1401617aa
movzx eax, byte [r13 - 1]
test al, al
jns 0x140161713
movzx ecx, byte [r13 - 2]
cmp cl, 0xc0
jge 0x14016171b
movzx edx, byte [r13 - 3]
cmp dl, 0xc0
jge 0x14016177e
movzx r8d, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and r8d, 7
shl r8d, 6
and edx, 0x3f
or edx, r8d
jmp 0x140161785
add r13, 0xfffffffffffffffd
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
jmp 0x140161722
cmp esi, 0x110000
je 0x1401613d5
mov ecx, esi
call fcn.1402d5220
cmp al, 0xd
je 0x1401613d5
mov ecx, esi
call fcn.1402d5220
cmp al, 9
je 0x1401613d5
mov ecx, esi
call fcn.1402d5220
cmp al, 5
je 0x1401613d5
jmp 0x140161888
add r13, 0xfffffffffffffffe
and ecx, 0x1f
shl ecx, 6
and al, 0x3f
movzx esi, al
or esi, ecx
cmp r13, r12
je 0x140161845
cmp esi, 0x110000
je 0x140161888
mov ecx, esi
call fcn.1402d5220
cmp al, 0xd
jne 0x140161858
movzx eax, byte [r13 - 1]
test al, al
jns 0x140161708
movzx ecx, byte [r13 - 2]
cmp cl, 0xc0
jge 0x1401617cd
movzx edx, byte [r13 - 3]
cmp dl, 0xc0
jge 0x140161834
movzx r8d, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and r8d, 7
shl r8d, 6
and edx, 0x3f
or edx, r8d
jmp 0x14016183b
add r13, 0xfffffffffffffffd
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
jmp 0x1401617d4
cmp esi, 0x110000
je 0x140161888
mov ecx, esi
call fcn.1402d5220
cmp al, 0xd
je 0x140161888
mov ecx, esi
call fcn.1402d5220
cmp al, 0x11
ja 0x140161888
movzx eax, al
mov ecx, 0x20023
bt rcx, rax
jae 0x140161888
test byte [rsp + 0x30], 1
je 0x1401613d5
mov eax, dword [rsp + 0x48]
and al, 1
je 0x1401613d5
mov byte [rsp + 0xfa], 1
movzx ebx, byte [rsp + 0xf8]
lea rcx, [rsp + 0xf9]
mov rax, qword [rcx]
mov qword [rsp + 0x138], rax
mov eax, dword [rcx + 7]
mov dword [rsp + 0x13f], eax
cmp qword [rsp + 0x190], 0
mov r15, qword [rsp + 0x300]
je 0x1401618e3
mov r8, qword [rsp + 0x188]
mov rcx, qword [0x1403cdf08]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov r14, qword [r15 + 0x10]
test r14, r14
je 0x140161935
js 0x1401623eb
movzx eax, byte [0x1403ce430]
mov rcx, qword [0x1403cdf08]
test rcx, rcx
jne 0x140161916
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x140161926
mov rcx, rax
mov qword [0x1403cdf08], rax
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
jne 0x14016193a
mov ecx, 1
mov rdx, r14
call fcn.1402e6e10
ud2
mov eax, 1
mov byte [rsp + 0x2f], bl
mov rcx, qword [r15 + 0x10]
mov qword [rsp + 0x60], rcx
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x50], xmm0
mov qword [r15], rax
mov qword [r15 + 8], r14
mov qword [r15 + 0x10], 0
mov rax, qword [rsp + 0x40]
lea rsi, [rax + 0x18]
cmp qword [rax + 0x20], 0
je 0x140161981
mov r8, qword [rsi]
mov rcx, qword [0x1403cdf08]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rsp + 0x60]
mov qword [rsi + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x50]
movdqu xmmword [rsi], xmm0
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], 1
movabs rax, 0x2e0000002e
mov qword [rsp + 0x88], rax
mov word [rsp + 0x90], 1
xor ecx, ecx
mov rbx, qword [rsp + 0x120]
jmp 0x140161a08
mov byte [rsp + 0x2f], 1
xor esi, esi
mov qword [r15 + 0x10], rsi
mov cl, 1
mov qword [rsp + 0x130], rcx
lea rcx, [rsp + 0x50]
call fcn.1402c5c70
mov qword [rsp + 0x38], rax
test rax, rax
je 0x140162290
mov rsi, rdx
test byte [rsp + 0x130], 1
movabs rdi, 0x8080808080808080
je 0x140161a63
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15 + 8]
jne 0x140161a55
mov rcx, r15
call fcn.14015efa0
mov rdx, qword [r15 + 0x10]
mov rax, qword [r15]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [r15 + 0x10], rdx
cmp rsi, 8
jae 0x140161b39
test rsi, rsi
je 0x140162219
mov rax, qword [rsp + 0x38]
cmp byte [rax + rsi - 1], 0
js 0x140161b88
mov rax, rsi
dec rax
je 0x140162219
mov rax, qword [rsp + 0x38]
cmp byte [rax + rsi - 2], 0
js 0x140161b88
mov rax, rsi
add rax, 0xfffffffffffffffe
je 0x140162219
mov rax, qword [rsp + 0x38]
cmp byte [rax + rsi - 3], 0
js 0x140161b88
mov rax, rsi
add rax, 0xfffffffffffffffd
je 0x140162219
mov rax, qword [rsp + 0x38]
cmp byte [rax + rsi - 4], 0
js 0x140161b88
mov rax, rsi
add rax, 0xfffffffffffffffc
je 0x140162219
mov rax, qword [rsp + 0x38]
cmp byte [rax + rsi - 5], 0
js 0x140161b88
mov rax, rsi
add rax, 0xfffffffffffffffb
je 0x140162219
mov rax, qword [rsp + 0x38]
cmp byte [rax + rsi - 6], 0
js 0x140161b88
mov rax, rsi
add rax, 0xfffffffffffffffa
je 0x140162219
mov rax, qword [rsp + 0x38]
cmp byte [rax + rsi - 7], 0
js 0x140161b88
mov rax, rsi
add rax, 0xfffffffffffffff9
jne 0x140161b88
jmp 0x140162219
mov rax, qword [rsp + 0x38]
test qword [rax], rdi
jne 0x140161b88
mov rcx, qword [rsp + 0x38]
lea rax, [rcx + 7]
and rax, 0xfffffffffffffff8
sub rax, rcx
mov ecx, 8
cmove rax, rcx
lea rcx, [rsi - 8]
cmp rax, rcx
jae 0x140161b79
mov rdx, qword [rsp + 0x38]
test qword [rdx + rax], rdi
jne 0x140161b88
add rax, 8
cmp rax, rcx
jb 0x140161b65
mov rax, qword [rsp + 0x38]
test qword [rax + rcx], rdi
je 0x140162219
mov rax, qword [r15 + 8]
mov rdi, qword [r15 + 0x10]
sub rax, rdi
mov rdx, rdi
cmp rax, 3
jbe 0x1401621a9
mov qword [rsp + 0x180], rdi
mov rax, qword [r15]
mov dword [rax + rdx], 0x2d2d6e78
add rdx, 4
mov qword [r15 + 0x10], rdx
mov cl, 1
mov qword [rsp + 0x130], rcx
test rsi, rsi
je 0x140161a10
mov rcx, qword [rsp + 0x38]
mov r14, rcx
add r14, rsi
xor ebp, ebp
xor r12d, r12d
mov rsi, rcx
jmp 0x140161bf9
mov byte [rax + rdx], dil
inc rdx
mov qword [r15 + 0x10], rdx
inc r12d
cmp rsi, r14
je 0x140161ca2
movzx r9d, byte [rsi]
movzx edi, r9b
test dil, dil
js 0x140161c0d
inc rsi
inc ebp
jmp 0x140161c84
mov ecx, edi
and ecx, 0x1f
movzx r10d, byte [rsi + 1]
and r10d, 0x3f
cmp dil, 0xdf
jbe 0x140161c5b
movzx r8d, byte [rsi + 2]
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
cmp r9b, 0xf0
jb 0x140161c69
movzx edi, byte [rsi + 3]
and ecx, 7
shl ecx, 0x12
shl r8d, 6
and edi, 0x3f
or edi, r8d
or edi, ecx
cmp edi, 0x110000
je 0x140161ca2
add rsi, 4
jmp 0x140161c76
add rsi, 2
shl ecx, 6
or ecx, r10d
mov edi, ecx
jmp 0x140161c76
add rsi, 3
shl ecx, 0xc
or r8d, ecx
mov edi, r8d
inc ebp
cmp edi, 0x80
jae 0x140161bf0
cmp rdx, qword [r15 + 8]
jne 0x140161be2
mov rcx, r15
call fcn.14015efa0
mov rax, qword [r15]
mov rdx, qword [r15 + 0x10]
jmp 0x140161be2
test r12d, r12d
mov edi, 1
je 0x140161ccc
cmp rdx, qword [r15 + 8]
jne 0x140161cbe
mov rcx, r15
call fcn.14015efa0
mov rdx, qword [r15 + 0x10]
mov rax, qword [r15]
mov byte [rax + rdx], 0x2d
inc rdx
mov qword [r15 + 0x10], rdx
cmp r12d, ebp
jae 0x140161a10
mov eax, 0x80
mov ecx, 0x48
xor r8d, r8d
mov r13d, r12d
mov qword [rsp + 0x110], r14
mov dword [rsp + 0x12c], ebp
mov dword [rsp + 0x104], r12d
mov qword [rsp + 0x30], rcx
mov rcx, qword [rsp + 0x38]
jmp 0x140161d13
inc rcx
cmp eax, ebx
jbe 0x140161dab
cmp rcx, r14
je 0x14016239e
movzx r10d, byte [rcx]
movzx ebx, r10b
test bl, bl
jns 0x140161d08
mov edx, ebx
and edx, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp bl, 0xdf
jbe 0x140161d79
movzx r9d, byte [rcx + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x140161d87
movzx ebx, byte [rcx + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and ebx, 0x3f
or ebx, r9d
or ebx, edx
cmp ebx, 0x110000
je 0x14016239e
add rcx, 4
jmp 0x140161d0b
add rcx, 2
shl edx, 6
or edx, r11d
mov ebx, edx
jmp 0x140161d0b
add rcx, 3
shl edx, 0xc
or r9d, edx
mov ebx, r9d
jmp 0x140161d0b
inc rcx
cmp ebx, edx
mov r9d, edx
cmovb r9d, ebx
cmp edx, eax
cmovae ebx, r9d
cmp rcx, r14
je 0x140161e2e
movzx r11d, byte [rcx]
movzx edx, r11b
test dl, dl
jns 0x140161d99
mov r9d, edx
and r9d, 0x1f
movzx esi, byte [rcx + 1]
and esi, 0x3f
cmp dl, 0xdf
jbe 0x140161e0b
movzx r10d, byte [rcx + 2]
shl esi, 6
and r10d, 0x3f
or r10d, esi
cmp r11b, 0xf0
jb 0x140161e1b
movzx edx, byte [rcx + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and edx, 0x3f
or edx, r10d
or edx, r9d
cmp edx, 0x110000
je 0x140161e2e
add rcx, 4
jmp 0x140161d9c
add rcx, 2
shl r9d, 6
or r9d, esi
mov edx, r9d
jmp 0x140161d9c
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
jmp 0x140161d9c
mov ecx, r13d
inc ecx
je 0x140162357
mov r9d, ebx
sub r9d, eax
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp r9d, eax
ja 0x1401621d0
mov edx, r9d
imul edx, ecx
add edx, r8d
mov dword [rsp + 0x40], edx
mov rsi, qword [rsp + 0x38]
mov dword [rsp + 0x108], ebx
jmp 0x140161e7d
mov r9d, r13d
mov r8d, dword [rsp + 0x40]
cmp rsi, r14
je 0x140162185
movzx r8d, byte [rsi]
movzx eax, r8b
test al, al
js 0x140161e8e
inc rsi
jmp 0x140161ef7
mov ecx, eax
and ecx, 0x1f
movzx r9d, byte [rsi + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x140161ede
movzx edx, byte [rsi + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140161eec
movzx eax, byte [rsi + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
mov r9, qword [rsp + 0x30]
je 0x14016219f
add rsi, 4
jmp 0x140161efc
add rsi, 2
shl ecx, 6
or ecx, r9d
mov eax, ecx
jmp 0x140161ef7
add rsi, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov r9, qword [rsp + 0x30]
cmp eax, ebx
jae 0x140161f0a
inc dword [rsp + 0x40]
je 0x1401621d0
cmp eax, ebx
jne 0x140161e6c
mov qword [rsp + 0x118], rsi
mov dword [rsp + 0x48], r13d
lea r13d, [r9 + 0x1a]
lea ecx, [r9 - 0x24]
neg ecx
cmp r13d, 0x25
mov r8d, 0x1a
cmovb ecx, r8d
cmp r9d, 0x24
cmovae ecx, edi
mov eax, dword [rsp + 0x40]
mov esi, eax
cmp eax, ecx
jae 0x14016200c
mov edx, 0x61
cmp esi, 0x1a
jb 0x140161f64
mov edx, 0x16
cmp esi, 0x24
jae 0x140162384
add edx, esi
mov rcx, r15
call fcn.140023d70
mov eax, dword [rsp + 0x48]
mov r9d, eax
inc r9d
mov r11d, 0xd41d41d5
mov r12d, dword [rsp + 0x104]
je 0x1401622c8
cmp eax, r12d
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r8d, r8d
mov eax, dword [rsp + 0x40]
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div r9d
add eax, ecx
cmp eax, 0x1c8
mov r14, qword [rsp + 0x110]
mov ebp, dword [rsp + 0x12c]
mov rsi, qword [rsp + 0x118]
jb 0x140162149
xor ecx, ecx
mov ebx, dword [rsp + 0x108]
nop dword [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 0x140161fe0
jmp 0x140162155
mov ebx, r9d
neg ebx
mov r14d, 0x48
mov esi, dword [rsp + 0x40]
jmp 0x140162058
mov rax, qword [rbp]
mov byte [rax + rdx], r15b
inc rdx
mov qword [rbp + 0x10], rdx
mov eax, esi
xor edx, edx
div r12d
lea ecx, [rbx + r14]
cmp r14d, r13d
cmovae ecx, r8d
cmp r14d, r9d
cmovbe ecx, edi
add r14d, 0x24
mov esi, eax
cmp eax, ecx
mov r15, rbp
jb 0x140161f4c
mov r12d, ecx
sub r12d, 0x24
je 0x140162276
sub esi, ecx
neg r12d
mov eax, esi
xor edx, edx
div r12d
add edx, ecx
mov r15d, 0x61
cmp edx, 0x1a
jb 0x14016208d
mov r15d, 0x16
cmp edx, 0x24
jae 0x140162384
add r15d, edx
cmp r15d, 0x7f
ja 0x1401620d0
mov rbp, qword [rsp + 0x300]
mov rdx, qword [rbp + 0x10]
cmp rdx, qword [rbp + 8]
jne 0x140162020
mov rcx, rbp
call fcn.14015efa0
mov r9, qword [rsp + 0x30]
mov r8d, 0x1a
mov rdx, qword [rbp + 0x10]
jmp 0x140162020
movzx edi, r15w
shr edi, 6
mov rcx, qword [rsp + 0x300]
mov rax, qword [rcx + 8]
mov rdx, qword [rcx + 0x10]
sub rax, rdx
cmp rax, 1
jbe 0x140162122
mov rbp, qword [rsp + 0x300]
mov rax, qword [rbp]
and r15d, 0x3f
shl r15d, 8
movzx ecx, di
or ecx, r15d
or ecx, 0x80c0
mov word [rax + rdx], cx
add rdx, 2
mov edi, 1
jmp 0x14016202b
mov r8d, 2
mov rbp, qword [rsp + 0x300]
mov rcx, rbp
call fcn.1402eac30
mov r9, qword [rsp + 0x30]
mov r8d, 0x1a
mov rdx, qword [rbp + 0x10]
jmp 0x1401620f0
xor ecx, ecx
mov r10d, eax
mov ebx, dword [rsp + 0x108]
lea eax, [r10*4]
lea eax, [rax + rax*8]
add r10d, 0x26
xor edx, edx
div r10w
movzx eax, ax
add eax, ecx
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x40], r8d
mov r13d, r9d
cmp rsi, r14
jne 0x140161e7d
inc r8d
inc ebx
mov r13d, r9d
mov eax, ebx
cmp r9d, ebp
mov rcx, qword [rsp + 0x30]
jb 0x140161cfc
jmp 0x1401621c3
mov r9d, r13d
mov r8d, dword [rsp + 0x40]
jmp 0x140162185
mov r8d, 4
mov rcx, r15
mov rdx, rdi
call fcn.1402eac30
mov rdx, qword [r15 + 0x10]
jmp 0x140161ba0
mov rbx, qword [rsp + 0x120]
jmp 0x140161a10
mov rax, qword [r15 + 0x10]
mov byte [rsp + 0x2f], 1
mov cl, 1
mov rsi, qword [rsp + 0x180]
cmp rax, rsi
mov rbx, qword [rsp + 0x120]
jb 0x140161a08
test rsi, rsi
je 0x1401619fb
mov byte [rsp + 0x2f], 1
cmp rax, rsi
jbe 0x14016224f
mov rax, qword [r15]
cmp byte [rax + rsi], 0xbf
jg 0x140161a02
jmp 0x1401623d1
mov rax, qword [r15 + 8]
mov r15, qword [r15 + 0x10]
sub rax, r15
cmp rax, rsi
jb 0x14016225a
mov rdi, qword [rsp + 0x300]
mov rcx, qword [rdi]
add rcx, r15
mov rdx, qword [rsp + 0x38]
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsi, r15
mov r15, rdi
jmp 0x140161a02
je 0x140161a02
jmp 0x1401623d1
mov rdi, qword [rsp + 0x300]
mov rcx, rdi
mov rdx, r15
mov r8, rsi
call fcn.1402eac30
mov r15, qword [rdi + 0x10]
jmp 0x140162229
lea rcx, [0x140314390]
lea r8, [0x1403143e8]
mov edx, 0x39
call fcn.1402ea480
ud2
movzx eax, byte [rsp + 0x2f]
mov byte [rbx], al
mov rax, qword [rsp + 0x138]
mov qword [rbx + 1], rax
mov eax, dword [rsp + 0x13f]
mov dword [rbx + 8], eax
jmp 0x14016022e
lea r8, [0x1403141a8]
mov edx, 4
mov rcx, r9
call fcn.1402ea400
ud2
lea rcx, str.attempt_to_divide_by_zeroC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.4.0_srcpunycode.rs
lea r8, [0x140314330]
mov edx, 0x19
call fcn.1402ea480
ud2
lea r8, [0x1403141a8]
mov edx, 4
mov rcx, rax
call fcn.1402ea400
ud2
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srclookups.rs
jmp 0x14016234d
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srclookups.rs
mov edx, 0xd4e
call fcn.1402ea380
ud2
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srclookups.rs
mov edx, 0x1667
call fcn.1402ea380
ud2
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001funicode_normalization_0.1.22_srclookups.rs
mov rcx, rsi
call fcn.1402ea400
ud2
lea rcx, str.attempt_to_divide_by_zeroC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.4.0_srcpunycode.rs
lea r8, [0x1403143d0]
mov edx, 0x19
call fcn.1402ea480
ud2
lea r8, [0x1403141a8]
mov edx, 4
call fcn.1402ea400
ud2
lea rcx, str.explicit_panic
lea r8, [0x140314418]
mov edx, 0xe
call fcn.1402ea480
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x140314400]
mov edx, 0x2b
call fcn.1402ea480
ud2
lea rax, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.4.0_srcuts46.rs
mov qword [rsp + 0x20], rax
mov rcx, r15
mov r9, rdx
call fcn.1402ea9d0
ud2
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_
lea r8, [0x1403c0ec0]
mov edx, 0x30
call fcn.1402ea480
ud2
call fcn.1400f7020
ud2