Function at 0x1400129d0
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 + 0x48], rdx
mov rdi, rcx
mov r15, qword [rsp + 0x300]
test r9, r9
je 0x140012b9e
lea rax, [r14 + rsi]
xor edx, edx
movdqa xmm0, xmmword [0x140131410]
mov rcx, r14
jmp 0x140012a8f
xor r9d, r9d
mov rdx, r9
cmp rcx, rax
je 0x1400138fb
movzx r10d, byte [rcx]
test r10b, r10b
js 0x140012ab0
inc rcx
mov r8d, r10d
cmp r8d, 0x2e
jne 0x140012b40
jmp 0x140012a80
mov r8d, r10d
and r8d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r10b, 0xdf
jbe 0x140012b09
movzx r9d, byte [rcx + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x140012b1f
movzx r10d, byte [rcx + 3]
add rcx, 4
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and r10d, 0x3f
or r10d, r9d
or r10d, r8d
mov r8d, r10d
cmp r8d, 0x2e
jne 0x140012b40
jmp 0x140012a80
add rcx, 2
shl r8d, 6
or r8d, r11d
cmp r8d, 0x2e
jne 0x140012b40
jmp 0x140012a80
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov r8d, r9d
cmp r8d, 0x2e
je 0x140012a80
nop word [rax + rax]
cmp r8d, 0x110000
je 0x1400138fb
test rdx, rdx
jne 0x140012b58
cmp r8d, 0x2d
je 0x140012b9e
mov r9d, 5
cmp rdx, 4
ja 0x140012b83
movdqa xmmword [rsp + 0x50], xmm0
je 0x140013a2e
cmp r8d, dword [rsp + rdx*4 + 0x50]
jne 0x140012b83
inc rdx
mov r9, rdx
cmp rdx, 4
je 0x140012b9e
lea edx, [r8 - 0x61]
cmp edx, 0x1a
jb 0x140012a83
add r8d, 0xffffffd0
cmp r8d, 0xa
jb 0x140012a83
mov qword [rsp + 0x138], rdi
mov r8, qword [rsp + 0x48]
mov eax, dword [r8 + 0x30]
movzx ecx, byte [r8 + 0x34]
add rsi, r14
xorps xmm6, xmm6
movups xmmword [rsp + 0x142], xmm6
movzx edx, word [rsp + 0x150]
mov word [rsp + 0xe6], dx
movdqu xmm0, xmmword [rsp + 0x140]
movdqu xmmword [rsp + 0xd6], xmm0
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 + 0x100]
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], 0
mov byte [rsp + 0xb4], cl
shl rcx, 0x20
or rcx, rax
mov qword [rsp + 0x40], rcx
mov qword [r8 + 0x10], 0
mov dword [rsp + 0x108], 0
mov qword [rsp + 0x100], 0
mov rcx, qword [r15 + 0x10]
mov qword [rsp + 0x110], rcx
lea r12, [rsp + 0x60]
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0xd0], 0
mov word [rsp + 0xd4], 0
mov dword [rsp + 0xf0], 0x110000
mov byte [rsp + 0xf4], 0
lea r15, [0x14013dbf0]
mov r13d, 0xff
lea r14, [0x1401416c0]
xor edx, edx
mov ebx, dword [rsp + 0xd0]
mov rbp, qword [rsp + 0xd8]
test ebx, ebx
je 0x140012d40
test rdx, rdx
je 0x140012dfb
mov rcx, qword [rsp + 0xe8]
cmp rdx, 1
jne 0x140013841
cmp rax, rcx
jb 0x140013880
mov qword [rsp + 0xe8], 0
jmp 0x140012d84
test rdx, rdx
je 0x140012dfb
movzx r8d, word [rsp + 0xd4]
movzx ecx, r8w
cmp rdx, 1
jne 0x14001384b
cmp r8w, 4
ja 0x14001594b
cmp rax, rcx
jb 0x140013878
test r8w, r8w
je 0x140012d84
mov word [rsp + 0xd4], 0
mov qword [rsp + 0x50], 0
jmp 0x140012dfb
mov edi, esi
mov eax, 0xdee95c4d
imul rdi, rax
shr rdi, 0x29
lea edx, [rdi + 0x1100]
mov rcx, r12
call fcn.140016640
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.140016640
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 0x140012dfb
add esi, 0x11a7
mov edx, esi
mov rcx, r12
call fcn.140016640
mov r9, qword [rsp + 0xc0]
test r9, r9
jne 0x140013190
movzx r10d, byte [rsp + 0xb0]
cmp r10b, 2
je 0x140013391
mov r8, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x88]
mov r11, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
movzx esi, byte [rsp + 0xb1]
mov rbx, qword [rsp + 0xa8]
test r8, r8
je 0x140012efa
cmp r8, rbx
je 0x140012eee
lea rcx, [r8 + 1]
mov qword [rsp + 0xa0], rcx
movzx edx, byte [r8]
test dl, dl
jns 0x1400131f1
mov ecx, edx
and ecx, 0x1f
lea r9, [r8 + 2]
mov qword [rsp + 0xa0], r9
movzx edi, byte [r8 + 1]
and edi, 0x3f
cmp dl, 0xdf
jbe 0x140013739
lea r9, [r8 + 3]
mov qword [rsp + 0xa0], r9
movzx r9d, byte [r8 + 2]
shl edi, 6
and r9d, 0x3f
or r9d, edi
cmp dl, 0xf0
jb 0x140013745
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
jne case.0x1400130e3.0
mov qword [rsp + 0xa0], 0
cmp rbp, r11
je 0x140013389
lea rdx, [rbp + 1]
mov qword [rsp + 0x88], rdx
movzx ecx, byte [rbp]
test cl, cl
js 0x140012f30
mov rbp, rdx
mov edx, ecx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x140012fe0
jmp 0x1400131f1
mov edx, ecx
and edx, 0x1f
lea r8, [rbp + 2]
mov qword [rsp + 0x88], r8
movzx r9d, byte [rbp + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x140012fa8
lea rdi, [rbp + 3]
mov qword [rsp + 0x88], rdi
movzx r8d, byte [rbp + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x140012fbe
lea rcx, [rbp + 4]
mov qword [rsp + 0x88], rcx
movzx r9d, byte [rbp + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and r9d, 0x3f
or r9d, r8d
or r9d, edx
mov rbp, rcx
mov edx, r9d
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x140012fe0
jmp 0x1400131f1
shl edx, 6
or edx, r9d
mov rbp, r8
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x140012fe0
jmp 0x1400131f1
shl edx, 0xc
or r8d, edx
mov rbp, rdi
mov edx, r8d
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jb 0x1400131f1
nop word cs:[rax + rax]
cmp edx, 0x110000
je 0x140013389
lea ecx, [rdx - 0x61]
cmp ecx, 0x1a
jb 0x1400131f1
lea ecx, [rdx - 0x30]
cmp ecx, 0xa
jb 0x1400131f1
mov r8d, 0x75a
xor r9d, r9d
mov ecx, 0x75a
jmp 0x140013028
mov rcx, r8
sub r8, r9
jbe 0x14001305d
shr r8, 1
add r8, r9
xor edi, edi
cmp dword [r15 + r8*8], edx
setne dil
cmovb edi, r13d
cmp dil, 1
je 0x140013020
movzx r9d, dil
cmp r9d, 0xff
jne 0x140013070
inc r8
mov r9, r8
mov r8, rcx
sub r8, r9
ja 0x140013028
dec r9
mov r8, r9
cmp r9, 0x759
ja 0x1400139c6
movzx edi, word [r15 + r8*8 + 4]
mov ecx, edi
and ecx, 0x7fff
movzx r9d, cx
test di, di
js 0x1400130b0
movzx ecx, word [r15 + r8*8]
mov r8d, edx
sub r8w, cx
add r8d, r9d
movzx ecx, r8w
cmp ecx, 0x1f73
jb 0x1400130bd
jmp 0x1400139e0
cmp r9d, 0x1f73
jae 0x1400139f3
movzx r9d, byte [r14 + rcx*4]
mov r8d, 0
cmp r9d, 1
je case.default.0x1400130e3
mov r8d, r9d
lea r9, [0x140131900]
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 0x1400133f2
mov rdx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x78]
cmp rcx, rax
jb 0x14001340d
jmp 0x140013a06
cmp edx, 0x110000
je 0x140013389
cmp byte [rsp + 0xc8], 0
je 0x1400132bb
cmp edx, 0x80
jb 0x140012df3
lea esi, [rdx - 0xac00]
cmp esi, 0x2ba4
jb 0x140012d8f
imul ecx, edx, 0x9e3779b9
imul eax, edx, 0x31415926
xor ecx, eax
imul r8, rcx, 0xee4
shr r8, 0x1f
and r8d, 0xfffffffe
lea r9, [0x14016b7d0]
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, [0x14016d598]
mov rsi, qword [r8 + r9]
cmp edx, esi
jne 0x140013690
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0x1667
ja 0x14001590d
shr rsi, 0x30
mov edx, 0x1667
sub rdx, rcx
cmp rdx, rsi
jb 0x140015920
lea rax, [0x140174cb8]
lea rbx, [rax + rcx*4]
test rsi, rsi
jne 0x140013710
jmp 0x140012dfb
cmp edx, 0x80
jb 0x140012df3
lea esi, [rdx - 0xac00]
cmp esi, 0x2ba4
jb 0x140012d8f
imul eax, edx, 0x9e3779b9
imul ecx, edx, 0x31415926
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea r8, [0x140163174]
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, [0x140164190]
mov rsi, qword [rcx + rax*8]
cmp edx, esi
jne 0x140012df3
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4e
ja 0x1400158e9
shr rsi, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rsi
jb 0x1400158fc
test rsi, rsi
je 0x140012dfb
lea rax, [0x1401681f8]
lea rdi, [rax + rcx*4]
shl rsi, 2
xor ebx, ebx
nop dword [rax]
mov edx, dword [rdi + rbx]
mov rcx, r12
call fcn.140016640
add rbx, 4
cmp rsi, rbx
jne 0x140013370
jmp 0x140012dfb
mov byte [rsp + 0xb0], 2
cmp dword [rsp + 0x60], 0
je 0x1400133a7
mov rax, qword [rsp + 0x78]
test rax, rax
jne 0x1400133b5
jmp 0x1400137d0
movzx eax, word [rsp + 0x64]
test rax, rax
je 0x1400137d0
mov rcx, r12
call fcn.140015d50
mov r8d, dword [rsp + 0x60]
test r8d, r8d
je 0x1400133ce
mov r9, qword [rsp + 0x78]
jmp 0x1400133d4
movzx r9d, word [rsp + 0x64]
lea r10, [rsp + 0x68]
mov qword [rsp + 0xc0], r9
mov rcx, qword [rsp + 0xb8]
test r8d, r8d
jne 0x1400131ab
movzx eax, word [rsp + 0x64]
cmp rax, 5
jae 0x1400158b9
mov rdx, r10
cmp rcx, rax
jae 0x140013a06
mov ebp, dword [rdx + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x1400134d0
test r8d, r8d
je 0x1400134da
mov rdx, qword [rsp + 0x78]
sub rdx, r9
je 0x1400134e8
xor ecx, ecx
jmp 0x140013463
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
je 0x1400134fb
mov rax, qword [rsp + 0xc0]
add rax, rcx
cmp dword [rsp + 0x60], 0
je 0x1400134a0
mov r9, qword [rsp + 0x78]
cmp rax, r9
jae 0x1400139a1
mov r8, qword [rsp + 0x68]
cmp rcx, r9
jb 0x140013440
jmp 0x1400139b5
movzx r9d, word [rsp + 0x64]
cmp r9, 5
jae 0x140015884
cmp rax, r9
jae 0x1400139a1
mov r8, r10
cmp rcx, r9
jb 0x140013440
jmp 0x1400139b5
mov qword [rsp + 0xb8], rcx
jmp 0x14001352b
movzx edx, word [rsp + 0x64]
sub rdx, r9
jne 0x140013434
test r8d, r8d
je 0x140013505
cmp qword [rsp + 0x78], rdx
jb 0x140013520
mov qword [rsp + 0x78], rdx
jmp 0x140013520
mov r8d, dword [rsp + 0x60]
test r8d, r8d
jne 0x1400134ed
movzx eax, word [rsp + 0x64]
cmp rdx, rax
jae 0x140013520
mov word [rsp + 0x64], dx
nop word cs:[rax + rax]
lea rax, [rsp + 0xb8]
movups xmmword [rax], xmm6
imul eax, ebp, 0x9e3779b9
imul ecx, ebp, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1f
and eax, 0xfffffffe
lea rdx, [0x14015f798]
movzx eax, word [rax + rdx]
add eax, ebp
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1e
and eax, 0xfffffffc
lea rcx, [0x14015fecc]
mov ebx, dword [rax + rcx]
mov eax, ebx
shr eax, 8
cmp eax, ebp
mov eax, 0
cmovne ebx, eax
mov esi, dword [rsp + 0xf0]
cmp esi, 0x110000
jne 0x1400135b0
test bl, bl
jne 0x1400137c0
mov dword [rsp + 0xf0], ebp
jmp 0x140012dfb
cmp byte [rsp + 0xf4], 0
je 0x1400135df
cmp byte [rsp + 0xf5], bl
jae 0x1400135fc
mov ecx, esi
mov edx, ebp
call fcn.1400b5370
cmp eax, 0x110000
je 0x140013604
mov dword [rsp + 0xf0], eax
jmp 0x140012dfb
mov ecx, esi
mov edx, ebp
call fcn.1400b5370
cmp eax, 0x110000
jne 0x140013684
test bl, bl
jne 0x140013604
jmp 0x140013835
test bl, bl
je 0x14001380f
cmp dword [rsp + 0xd0], 0
je 0x14001364d
mov rdx, qword [rsp + 0xe8]
cmp rdx, qword [rsp + 0xe0]
jne 0x140013635
lea rcx, [rsp + 0xd8]
call fcn.140016820
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xd8]
mov dword [rax + rdx*4], ebp
inc rdx
mov qword [rsp + 0xe8], rdx
jmp 0x140013670
movzx eax, word [rsp + 0xd4]
cmp rax, 3
ja 0x140013753
mov dword [rsp + rax*4 + 0xd8], ebp
inc eax
mov word [rsp + 0xd4], ax
mov byte [rsp + 0xf4], 1
mov byte [rsp + 0xf5], bl
jmp 0x140012dfb
mov dword [rsp + 0xf0], eax
jmp 0x140012dfb
imul rcx, rcx, 0x80d
shr rcx, 0x20
lea r8, [0x140163174]
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, [0x140164190]
mov rsi, qword [rcx + rax*8]
cmp edx, esi
jne 0x140012df3
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4e
ja 0x1400158e9
shr rsi, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rsi
jb 0x1400158fc
lea rax, [0x1401681f8]
lea rbx, [rax + rcx*4]
test rsi, rsi
je 0x140012dfb
shl rsi, 2
xor edi, edi
nop word cs:[rax + rax]
mov edx, dword [rbx + rdi]
mov rcx, r12
call fcn.140016640
add rdi, 4
cmp rsi, rdi
jne 0x140013720
jmp 0x140012dfb
shl ecx, 6
or ecx, edi
mov edx, ecx
jmp 0x1400131f1
shl ecx, 0xc
or r9d, ecx
mov edx, r9d
jmp 0x1400131f1
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0xd4]
mov r8d, ebp
call fcn.1400168f0
cmp dword [rsp + 0xd0], 0
je 0x140013796
cmp qword [rsp + 0xe0], 0
je 0x140013796
mov r8, qword [rsp + 0xd8]
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
movdqu xmm0, xmmword [rsp + 0x140]
movdqu xmm1, xmmword [rsp + 0x150]
lea rax, [rsp + 0xb8]
movdqu xmmword [rax + 0x28], xmm1
movdqu xmmword [rax + 0x18], xmm0
jmp 0x140013670
mov esi, ebp
jmp 0x1400138e0
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 0x140012cfa
mov dword [rsp + 0xf0], 0x110000
jmp 0x1400138e0
mov dword [rsp + 0xf0], ebp
mov byte [rsp + 0xf4], 0
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], 0
jmp 0x1400138e0
mov dword [rsp + 0xf0], ebp
jmp 0x1400138e0
cmp rax, rcx
jae 0x140013897
mov rdx, rbp
jmp 0x140013862
cmp cx, 5
jae 0x14001594b
lea rdx, [rsp + 0xd8]
cmp rax, rcx
jae 0x1400138a5
mov esi, dword [rdx + rax*4]
inc rax
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x58], rax
jmp 0x1400138e0
lea rbp, [rsp + 0xd8]
mov esi, dword [rbp + rax*4]
inc rax
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], rax
jmp 0x1400138e0
mov qword [rsp + 0xe8], 0
jmp 0x1400138b5
test r8w, r8w
je 0x1400138b5
mov word [rsp + 0xd4], 0
mov esi, dword [rsp + 0xf0]
mov dword [rsp + 0xf0], 0x110000
cmp esi, 0x110000
je 0x140013a46
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0x48]
mov edx, esi
call fcn.1400126e0
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
jmp 0x140012cfa
mov rax, qword [r15 + 8]
mov rbx, qword [r15 + 0x10]
sub rax, rbx
cmp rax, rsi
jb 0x140013a17
mov rcx, qword [r15]
add rcx, rbx
mov rdx, r14
mov r8, rsi
call sub.msvcrt.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._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_decompose.rs
mov rcx, rax
mov rdx, r9
call fcn.140005d60
ud2
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_decompose.rs
mov rdx, r9
call fcn.140005d60
ud2
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov edx, 0x75a
mov rcx, 0xffffffffffffffff
call fcn.140005d60
ud2
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov edx, 0x1f73
call fcn.140005d60
ud2
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov edx, 0x1f73
call fcn.140005d60
ud2
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_decompose.rs
mov rdx, rax
call fcn.140005d60
ud2
mov rcx, r15
mov rdx, rbx
mov r8, rsi
call fcn.140012800
mov rbx, qword [r15 + 0x10]
jmp 0x14001390f
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov ecx, 4
mov edx, 4
call fcn.140005d60
ud2
cmp dword [rsp + 0x60], 0
je 0x140013a68
cmp qword [rsp + 0x70], 0
je 0x140013a68
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
test ebx, ebx
mov r15, qword [rsp + 0x300]
je 0x140013a90
cmp qword [rsp + 0xe0], 0
je 0x140013a90
mov rcx, qword [0x1401d2138]
xor edx, edx
mov r8, rbp
call sub.KERNEL32.dll_HeapFree
mov qword [rsp + 0x188], 8
xorps xmm6, xmm6
movups xmmword [rsp + 0x190], xmm6
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x170], 1
movabs rax, 0x2e0000002e
mov qword [rsp + 0x178], rax
mov word [rsp + 0x180], 1
mov rbx, qword [rsp + 0x40]
mov rax, rbx
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x120], rax
mov dil, 1
xor eax, eax
mov qword [rsp + 0x38], rax
lea rbp, [0x14015b3d0]
mov r12d, 0xff
movdqa xmm11, xmmword [0x140131460]
movdqa xmm12, xmmword [0x140131470]
movdqa xmm13, xmmword [0x140131480]
movdqa xmm14, xmmword [0x140131490]
movdqa xmm15, xmmword [0x1401314a0]
movdqa xmm7, xmmword [0x1401314b0]
movdqa xmm8, xmmword [0x1401314c0]
movdqa xmm9, xmmword [0x1401314d0]
movdqa xmm10, xmmword [0x1401314e0]
jmp 0x140013be3
xor eax, eax
mov qword [rsp + 0x38], rax
mov rcx, r14
mov rdx, rsi
mov r8, rbx
lea r9, [rsp + 0x100]
call fcn.140017310
mov rax, qword [r15 + 8]
mov r13, qword [r15 + 0x10]
sub rax, r13
cmp rax, rsi
jb 0x140014128
mov rcx, qword [r15]
add rcx, r13
mov rdx, r14
mov r8, rsi
call sub.msvcrt.dll_memcpy
add rsi, r13
mov qword [r15 + 0x10], rsi
xor edi, edi
mov r12d, 0xff
lea rcx, [rsp + 0x140]
call fcn.1400159d0
test rax, rax
je 0x140014a65
mov r14, rax
mov rsi, rdx
test dil, 1
jne 0x140013c29
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15 + 8]
jne 0x140013c1b
mov rcx, r15
call fcn.140012620
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 0x140013c4b
mov eax, dword [r14]
bswap eax
xor ecx, ecx
xor edx, edx
cmp eax, 0x786e2d2d
setb cl
seta dl
cmp ecx, edx
je 0x140013d97
test byte [rsp + 0x38], 1
jne 0x140013b99
test rsi, rsi
je 0x140013b92
mov rax, r14
add rax, rsi
mov rcx, r14
jmp 0x140013c73
cmp rcx, rax
je 0x140013b92
movzx edx, byte [rcx]
test dl, dl
js 0x140013c7f
inc rcx
jmp 0x140013cf2
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x140013cd4
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x140013ce4
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 0x140013b92
add rcx, 4
jmp 0x140013cf2
add rcx, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
jmp 0x140013cf2
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x140013c6a
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x140013d2c
mov r9, r8
sub r8, r10
jbe 0x140013c6a
shr r8, 1
add r8, r10
lea r11, [r8 + r8*2]
xor edi, edi
cmp dword [rbp + r11*4], edx
seta dil
cmp dword [rbp + r11*4 + 4], edx
cmovb edi, r12d
cmp dil, 1
je 0x140013d20
movzx r10d, dil
cmp r10d, 0xff
jne 0x140013d70
inc r8
mov r10, r8
mov r8, r9
sub r8, r10
ja 0x140013d2c
jmp 0x140013c6a
movzx edx, byte [rbp + r11*4 + 8]
cmp rdx, 0x11
ja 0x140013c6a
mov r8d, 0x20003
bt r8, rdx
jae 0x140013c6a
mov al, 1
jmp 0x140013b94
add r14, 4
add rsi, 0xfffffffffffffffc
lea rcx, [rsp + 0x1b8]
lea rdx, [rsp + 0x188]
mov r8, r14
mov r9, rsi
call fcn.1400115d0
mov rbx, qword [rsp + 0x1b8]
test rbx, rbx
je 0x14001410d
mov rdi, qword [rsp + 0x1c0]
mov r12, qword [rsp + 0x1c8]
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x130], rax
mov r13, qword [rsp + 0x1d8]
mov rcx, r15
mov r15, qword [rsp + 0x1e0]
mov r8, qword [rsp + 0x1e8]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
sub r8, r15
mov qword [rsp + 0x118], rcx
sub rax, rcx
cmp rax, r8
jb 0x14001498e
mov qword [rsp + 0x128], r12
cmp r13, qword [rsp + 0x130]
jb 0x140013ee0
cmp rbx, rdi
je 0x1400140d7
movzx r8d, byte [rbx]
test r8b, r8b
js 0x140013e5c
inc rbx
movzx esi, r8b
inc r15
jmp 0x140013fa6
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rbx + 1]
and r9d, 0x3f
cmp r8b, 0xdf
jbe 0x140013eb2
movzx edx, byte [rbx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140013ebb
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 0x1400140d7
add rbx, 4
mov rcx, rbx
jmp 0x140013f61
add rbx, 2
jmp 0x140013f83
add rbx, 3
jmp 0x140013f94
mov rax, qword [r14]
mov byte [rax + rdx], sil
inc rdx
mov qword [r14 + 0x10], rdx
cmp r13, qword [rsp + 0x130]
jae 0x140013e3b
mov rax, r13
shl rax, 4
cmp qword [r12 + rax], r15
jne 0x140013f00
inc r13
mov esi, dword [r12 + rax + 8]
jmp 0x140013f9b
mov rcx, rbx
mov rbx, rdi
cmp rcx, rdi
je 0x140013f00
movzx r8d, byte [rcx]
test r8b, r8b
jns 0x140013f71
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rcx + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x140013f7c
movzx edx, byte [rcx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140013f8d
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 0x140013f00
mov rbx, rcx
cmp esi, 0x110000
jne 0x140013f9b
jmp 0x1400140d7
inc rcx
mov rbx, rcx
jmp 0x140013e50
add rcx, 2
mov rbx, rcx
shl eax, 6
or eax, r9d
mov esi, eax
jmp 0x140013f9b
add rcx, 3
mov rbx, rcx
shl eax, 0xc
or eax, edx
mov esi, eax
inc r15
cmp esi, 0x80
jae 0x140013fcd
mov r14, qword [rsp + 0x300]
mov rdx, qword [r14 + 0x10]
cmp rdx, qword [r14 + 8]
jne 0x140013ec4
mov rcx, r14
call fcn.140012620
mov rdx, qword [r14 + 0x10]
jmp 0x140013ec4
mov dword [rsp + 0x50], 0
mov eax, esi
cmp esi, 0x800
jae 0x140013ffc
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 0x140014063
cmp esi, 0x10000
jae 0x14001402e
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 0x140014063
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 0x1400140ba
mov r12, qword [rsp + 0x300]
mov rcx, qword [r12]
add rcx, r14
lea rdx, [rsp + 0x50]
mov r8, rsi
call sub.msvcrt.dll_memcpy
add r14, rsi
mov qword [r12 + 0x10], r14
mov r12, qword [rsp + 0x128]
cmp r13, qword [rsp + 0x130]
jae 0x140013e3b
jmp 0x140013ee0
mov r12, qword [rsp + 0x300]
mov rcx, r12
mov rdx, r14
mov r8, rsi
call fcn.140012800
mov r14, qword [r12 + 0x10]
jmp 0x14001407b
mov rax, qword [rsp + 0x300]
mov r15, qword [rax]
mov rdx, qword [rax + 0x10]
mov r8, qword [rsp + 0x118]
test r8, r8
je 0x14001413f
mov rsi, rdx
sub rsi, r8
mov r12d, 0xff
jbe 0x14001414a
cmp byte [r15 + r8], 0xbf
jg 0x140014150
jmp 0x140015992
mov byte [rsp + 0x100], 1
mov al, 1
mov qword [rsp + 0x38], rax
mov rbx, qword [rsp + 0x40]
xor edi, edi
jmp 0x140013be3
mov rcx, r15
mov rdx, r13
mov r8, rsi
call fcn.140012800
mov r13, qword [r15 + 0x10]
jmp 0x140013bc3
mov rsi, rdx
mov r12d, 0xff
jmp 0x140014150
jne 0x140015992
add r15, r8
test byte [rsp + 0x38], 1
jne 0x140014218
test rsi, rsi
je 0x140014211
lea rdi, [r15 + rsi]
mov rbx, r15
jmp 0x140014179
cmp rbx, rdi
je 0x140014211
movzx ecx, byte [rbx]
test cl, cl
js 0x140014185
inc rbx
jmp 0x1400141e6
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbx + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x1400141cd
movzx edx, byte [rbx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x1400141db
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 0x140014211
add rbx, 4
jmp 0x1400141e6
add rbx, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x1400141e6
add rbx, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x140014170
call fcn.1400b5290
cmp al, 0x11
ja 0x140014170
movzx eax, al
mov ecx, 0x20003
bt rcx, rax
jae 0x140014170
mov al, 1
jmp 0x140014213
xor eax, eax
mov qword [rsp + 0x38], rax
movq xmm0, qword [rsp + 0x100]
movzx eax, byte [rsp + 0x109]
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 + 0x108]
or al, byte [rsp + 0x10a]
or al, cl
or al, byte [rsp + 0x10b]
je 0x14001427d
mov r15, qword [rsp + 0x300]
mov rbx, qword [rsp + 0x40]
xor edi, edi
jmp 0x140013be3
test rsi, rsi
je 0x140014a30
lea rbx, [r15 + rsi]
xor edi, edi
xor r12d, r12d
mov r14, r15
movzx edx, byte [r14]
test dl, dl
js 0x1400142a2
inc r14
jmp 0x14001432a
mov eax, edx
and eax, 0x1f
movzx r8d, byte [r14 + 1]
and r8d, 0x3f
cmp dl, 0xe0
jb 0x1400142f4
movzx ecx, byte [r14 + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x140014303
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 0x14001481b
add r14, 4
jmp 0x14001430f
add r14, 2
shl eax, 6
or eax, r8d
mov r13d, eax
jmp 0x14001430f
add r14, 3
shl eax, 0xc
or ecx, eax
mov r13d, ecx
cmp r13d, 0x7f
jbe 0x14001432a
jmp 0x1400143af
inc r14
cmp r13d, 0x80
jae 0x1400143ad
cmp r14, rbx
je 0x14001481b
movzx r13d, byte [r14]
test r13b, r13b
jns 0x14001431a
mov eax, r13d
and eax, 0x1f
movzx edx, byte [r14 + 1]
and edx, 0x3f
cmp r13b, 0xdf
jbe 0x14001438e
movzx ecx, byte [r14 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r13b, 0xf0
jb 0x14001439c
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 0x14001481b
add r14, 4
jmp 0x14001431d
add r14, 2
shl eax, 6
or eax, edx
mov r13d, eax
jmp 0x14001431d
add r14, 3
shl eax, 0xc
or ecx, eax
mov r13d, ecx
jmp 0x14001431d
xor edi, edi
mov ecx, r13d
call fcn.1400b5310
cmp dil, al
jbe 0x1400143c4
test al, al
jne case.0x140014576.3907
lea ecx, [r13 - 0x340]
cmp ecx, 4
ja 0x1400143d9
cmp ecx, 2
jne case.0x140014576.3907
cmp r13d, 0xd56
jg 0x14001443f
cmp r13d, 0x9de
jg 0x140014485
cmp r13d, 0x93b
jg 0x1400145a4
lea ecx, [r13 - 0x30f]
cmp ecx, 0x36
ja 0x14001441c
movabs rdx, 0x48020000001005
bt rdx, rcx
jb 0x14001469a
lea ecx, [r13 - 0x374]
cmp ecx, 0x13
ja case.0x140014576.3908
mov edx, 0x80401
bt edx, ecx
jb case.0x140014576.3907
jmp case.0x140014576.3908
cmp r13d, 0x11126
jg 0x1400144eb
cmp r13d, 0x102d
jle 0x140014531
cmp r13d, 0x1f70
jg 0x1400145fc
cmp r13d, 0x102e
je 0x14001469a
cmp r13d, 0x1b35
je 0x14001469a
jmp case.0x140014576.3908
cmp r13d, 0xbd6
jg 0x140014578
cmp r13d, 0xbbd
jg 0x140014691
lea ecx, [r13 - 0xb3e]
cmp ecx, 0x19
ja 0x1400144b9
mov edx, 0x3000001
bt edx, ecx
jb 0x14001469a
lea ecx, [r13 - 0xa33]
cmp ecx, 0x2b
ja 0x1400144d9
movabs rdx, 0x80000000009
bt rdx, rcx
jb case.0x140014576.3907
cmp r13d, 0x9df
jne case.0x140014576.3908
jmp case.0x140014576.3907
cmp r13d, 0x114af
jle 0x1400145d0
lea ecx, [r13 - 0x114b0]
cmp ecx, 0xd
ja 0x140014512
mov edx, 0x2401
bt edx, ecx
jb 0x14001469a
cmp r13d, 0x115af
je 0x14001469a
cmp r13d, 0x11930
je 0x14001469a
jmp case.0x140014576.3908
lea ecx, [r13 - 0xdca]
cmp ecx, 0x15
ja 0x14001454b
mov edx, 0x200021
bt edx, ecx
jb 0x14001469a
cmp r13d, 0xd57
je 0x14001469a
lea ecx, [r13 - 0xf43]
cmp ecx, 0x76
ja case.0x140014576.3908
lea rdx, [0x1401314f0]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp r13d, 0xcc1
jg 0x140014655
cmp r13d, 0xbd7
je 0x14001469a
cmp r13d, 0xc56
je 0x14001469a
jmp case.0x140014576.3908
cmp r13d, 0x93c
je 0x14001469a
cmp r13d, 0x9be
je 0x14001469a
cmp r13d, 0x9d7
je 0x14001469a
jmp case.0x140014576.3908
cmp r13d, 0x11127
je 0x14001469a
cmp r13d, 0x1133e
je 0x14001469a
cmp r13d, 0x11357
je 0x14001469a
jmp case.0x140014576.3908
cmp r13d, 0xfa0f
jle 0x140014669
cmp r13d, 0x110ba
je 0x14001469a
lea ecx, [r13 - 0xfa10]
cmp ecx, 0x12
ja 0x14001462c
mov edx, 0x50005
bt edx, ecx
jb case.0x140014576.3907
lea ecx, [r13 - 0xfb1d]
cmp ecx, 0x21
ja case.0x140014576.3908
movabs rdx, 0x200000005
bt rdx, rcx
jb case.0x140014576.3907
jmp case.0x140014576.3908
cmp r13d, 0xcc2
je 0x14001469a
cmp r13d, 0xd3e
je 0x14001469a
jmp case.0x140014576.3908
cmp r13d, 0x2125
jg 0x1400146ad
lea ecx, [r13 - 0x1f71]
cmp ecx, 0x8c
ja case.0x140014576.3908
lea rdx, [0x1401316cc]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp r13d, 0xbbe
jne case.0x140014576.3908
mov r12b, 2
mov edi, eax
cmp r14, rbx
jne 0x140014292
jmp 0x14001481b
lea ecx, [r13 - 0x2329]
cmp ecx, 2
jb case.0x140014576.3907
cmp r13d, 0x2126
je case.0x140014576.3907
cmp r13d, 0x2adc
je case.0x140014576.3907
movd xmm1, r13d
pshufd xmm0, xmm1, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x140131430]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x140131440]
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.0x140014576.3907
pshufd xmm1, xmm1, 0x50
pand xmm1, xmmword [0x140131420]
pshufd xmm2, xmm1, 4
pcmpeqd xmm2, xmmword [0x140131450]
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.0x140014576.3907
lea ecx, [r13 - 0x1d1bb]
cmp ecx, 6
jb case.0x140014576.3907
lea ecx, [r13 - 0x2f800]
cmp ecx, 0x21e
jb case.0x140014576.3907
movd ecx, xmm1
cmp ecx, 0x2000
je case.0x140014576.3907
cmp ecx, 0x212a
je case.0x140014576.3907
cmp ecx, 0xfb40
je case.0x140014576.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 0x14001469a
lea edx, [r13 - 0x11a8]
cmp edx, 0x1b
jb 0x14001469a
add r13d, 0xffffcf67
cmp r13d, 2
jb 0x14001469a
cmp ecx, 0x330
jne 0x14001469d
jmp 0x14001469a
test r12b, r12b
je 0x140014a30
movzx eax, r12b
cmp eax, 1
je case.0x140014576.3907
lea rax, [rsp + 0x1a8]
movups xmmword [rax], xmm6
movzx eax, word [rsp + 0x1b6]
lea rcx, [rsp + 0xb6]
mov word [rcx + 0x10], ax
movdqu xmm0, xmmword [rsp + 0x1a6]
movdqu xmmword [rcx], xmm0
movups xmmword [rcx - 0x1e], xmm6
mov byte [rcx - 0xe], 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], r15
mov qword [rsp + 0x90], rbx
mov dword [rsp + 0xb0], 0
mov word [rsp + 0xb4], 0
mov dword [rsp + 0xd0], 0x110000
mov byte [rsp + 0xd4], 0
mov rdi, r15
cmp rdi, rbx
je 0x1400149be
movzx r14d, byte [rdi]
test r14b, r14b
js 0x140014909
inc rdi
jmp 0x14001496f
mov eax, r14d
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp r14b, 0xdf
jbe 0x140014955
movzx ecx, byte [rdi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r14b, 0xf0
jb 0x140014963
movzx r14d, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r14d, 0x3f
or r14d, ecx
or r14d, eax
cmp r14d, 0x110000
je 0x1400149be
add rdi, 4
jmp 0x14001496f
add rdi, 2
shl eax, 6
or eax, edx
mov r14d, eax
jmp 0x14001496f
add rdi, 3
shl eax, 0xc
or ecx, eax
mov r14d, ecx
lea rcx, [rsp + 0x50]
call fcn.140016a30
mov r13b, 1
cmp eax, 0x110000
je 0x1400149d4
cmp eax, r14d
je 0x1400148f2
jmp 0x1400149d4
mov rcx, qword [rsp + 0x300]
mov rdx, qword [rsp + 0x118]
call fcn.140012800
mov qword [rsp + 0x128], r12
cmp r13, qword [rsp + 0x130]
jb 0x140013ee0
jmp 0x140013e3b
lea rcx, [rsp + 0x50]
call fcn.140016a30
cmp eax, 0x110000
setne r13b
neg r13b
cmp dword [rsp + 0x60], 0
je 0x1400149f6
cmp qword [rsp + 0x70], 0
je 0x1400149f6
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp dword [rsp + 0xb0], 0
je 0x140014a21
cmp qword [rsp + 0xc0], 0
je 0x140014a21
mov r8, qword [rsp + 0xb8]
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
test r13b, r13b
je 0x140014a30
mov byte [rsp + 0x105], 1
jmp 0x140014a4b
mov rcx, r15
mov rdx, rsi
mov r8, qword [rsp + 0x120]
lea r9, [rsp + 0x100]
call fcn.140017310
mov r15, qword [rsp + 0x300]
mov rbx, qword [rsp + 0x40]
mov r12d, 0xff
xor edi, edi
jmp 0x140013be3
mov rcx, qword [r15]
mov r14, qword [r15 + 0x10]
mov rax, r14
mov r8, qword [rsp + 0x110]
test r8, r8
je 0x140014aa6
mov rax, r14
sub rax, r8
jbe 0x140014aa4
cmp byte [rcx + r8], 0xbf
jg 0x140014aa6
lea rax, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov qword [rsp + 0x20], rax
mov rdx, r14
mov r9, r14
call fcn.14000b440
ud2
jne 0x140014a8b
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 byte [rsp + 0x38], 1
jne 0x140014b15
lea rsi, [rsp + 0x50]
mov rcx, rsi
call fcn.1400159d0
test rax, rax
jne 0x140014b03
jmp 0x140014f48
mov ebx, 0xff
mov edi, 0x62f8
lea rcx, [rsp + 0x50]
call fcn.1400159d0
test rax, rax
je 0x140014f48
mov r13, rdx
test rdx, rdx
je 0x140014b1f
mov r12, rax
movzx ecx, byte [rax]
test cl, cl
js 0x140014b4b
lea rsi, [r12 + 1]
jmp 0x140014bb4
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [r12 + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x140014b99
movzx edx, byte [r12 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x140014ba8
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 0x140014b1f
lea rsi, [r12 + 4]
jmp 0x140014bb4
lea rsi, [r12 + 2]
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x140014bb4
lea rsi, [r12 + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r13, r12
call fcn.1400b5290
test al, al
je 0x140014c72
movzx eax, al
cmp eax, 0x11
je 0x140014c72
cmp eax, 9
jne 0x140014f40
cmp rsi, r13
je 0x140014d95
movzx ecx, byte [rsi]
test cl, cl
js 0x140014bee
inc rsi
jmp 0x140014c53
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x140014c3a
movzx edx, byte [rsi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x140014c48
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 0x140014d95
add rsi, 4
jmp 0x140014c53
add rsi, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x140014c53
add rsi, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1400b5290
cmp al, 0xe
ja 0x140014f40
movzx eax, al
bt rdi, rax
jb 0x140014bd9
jmp 0x140014f40
cmp rsi, r13
je 0x140014dac
xor r15d, r15d
mov dword [rsp + 0x40], 0
movzx eax, byte [rsi]
test al, al
js 0x140014c92
inc rsi
jmp 0x140014cf4
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x140014cdb
movzx edx, byte [rsi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x140014ce9
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 0x140014db7
add rsi, 4
jmp 0x140014cf4
add rsi, 2
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x140014cf4
add rsi, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov ecx, 0x5a6
xor r8d, r8d
mov edx, 0x5a6
jmp 0x140014d0f
mov rdx, rcx
sub rcx, r8
jbe 0x140014f40
shr rcx, 1
add rcx, r8
lea r9, [rcx + rcx*2]
xor r10d, r10d
cmp dword [rbp + r9*4], eax
seta r10b
cmp dword [rbp + r9*4 + 4], eax
cmovb r10d, ebx
cmp r10b, 1
je 0x140014d03
movzx r8d, r10b
cmp r8d, 0xff
jne 0x140014d54
inc rcx
mov r8, rcx
mov rcx, rdx
sub rcx, r8
ja 0x140014d0f
jmp 0x140014f40
movzx eax, byte [rbp + r9*4 + 8]
cmp eax, 1
je 0x140014d6c
cmp eax, 5
jne 0x140014d71
mov al, 1
mov dword [rsp + 0x40], eax
jmp 0x140014d8a
mov r15b, 1
jmp 0x140014d8a
cmp rax, 0x11
ja 0x140014f40
mov ecx, 0x260fb
bt rcx, rax
jae 0x140014f40
cmp rsi, r13
jne 0x140014c86
jmp 0x140014db7
movzx esi, byte [r13 - 1]
test sil, sil
js 0x140014dd6
dec r13
cmp r13, r12
jne 0x140014e24
jmp 0x140014e4d
mov dword [rsp + 0x40], 0
xor r15d, r15d
movzx esi, byte [r13 - 1]
test sil, sil
js 0x140014e8b
dec r13
cmp r13, r12
jne 0x140014ed9
jmp 0x140014efe
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x140014dff
movzx ecx, byte [r13 - 3]
cmp cl, 0xc0
jge 0x140014e08
movzx edx, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
jmp 0x140014e0f
add r13, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x140014e17
add r13, 0xfffffffffffffffd
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and esi, 0x3f
or esi, eax
cmp r13, r12
je 0x140014e4d
cmp esi, 0x110000
je 0x140014b1f
mov ecx, esi
call fcn.1400b5290
cmp al, 0xd
jne 0x140014e68
movzx esi, byte [r13 - 1]
test sil, sil
js 0x140014dd6
dec r13
cmp r13, r12
jne 0x140014e24
cmp esi, 0x110000
je 0x140014b1f
mov ecx, esi
call fcn.1400b5290
cmp al, 0xd
je 0x140014b1f
mov ecx, esi
call fcn.1400b5290
cmp al, 9
je 0x140014b1f
mov ecx, esi
call fcn.1400b5290
cmp al, 5
je 0x140014b1f
jmp 0x140014f40
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x140014eb4
movzx ecx, byte [r13 - 3]
cmp cl, 0xc0
jge 0x140014ebd
movzx edx, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
jmp 0x140014ec4
add r13, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x140014ecc
add r13, 0xfffffffffffffffd
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and esi, 0x3f
or esi, eax
cmp r13, r12
je 0x140014efe
cmp esi, 0x110000
je 0x140014f40
mov ecx, esi
call fcn.1400b5290
cmp al, 0xd
jne 0x140014f11
movzx esi, byte [r13 - 1]
test sil, sil
js 0x140014e8b
dec r13
cmp r13, r12
jne 0x140014ed9
cmp esi, 0x110000
je 0x140014f40
mov ecx, esi
call fcn.1400b5290
cmp al, 0xd
je 0x140014f40
mov ecx, esi
call fcn.1400b5290
cmp al, 0x11
ja 0x140014f40
movzx eax, al
mov ecx, 0x20023
bt rcx, rax
jae 0x140014f40
test r15b, 1
je 0x140014b1f
mov eax, dword [rsp + 0x40]
and al, 1
je 0x140014b1f
mov byte [rsp + 0x102], 1
movzx ebx, byte [rsp + 0x100]
lea rcx, [rsp + 0x101]
mov rax, qword [rcx]
mov qword [rsp + 0x140], rax
mov eax, dword [rcx + 7]
mov dword [rsp + 0x147], eax
cmp qword [rsp + 0x190], 0
mov r15, qword [rsp + 0x300]
je 0x140014f9a
mov r8, qword [rsp + 0x188]
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov r14, qword [r15 + 0x10]
test r14, r14
mov rdi, qword [rsp + 0x138]
je 0x140014ff2
js 0x1400159c5
movzx eax, byte [0x1401d21e9]
mov rcx, qword [0x1401d2138]
test rcx, rcx
jne 0x140014fd4
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x140014fe3
mov rcx, rax
mov qword [0x1401d2138], rax
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
jne 0x140014ff7
mov ecx, 1
mov rdx, r14
call fcn.1400034d0
ud2
mov eax, 1
mov byte [rsp + 0x37], 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 + 0x48]
lea rsi, [rax + 0x18]
cmp qword [rax + 0x20], 0
je 0x14001503d
mov r8, qword [rsi]
mov rcx, qword [0x1401d2138]
xor edx, edx
call sub.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 + 0x48]
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
mov bl, 1
jmp 0x1400150ba
mov byte [rsp + 0x37], 1
mov qword [r15 + 0x10], rsi
xor ebx, ebx
lea rcx, [rsp + 0x50]
call fcn.1400159d0
test rax, rax
je 0x140015848
mov r12, rax
mov rsi, rdx
test bl, 1
movabs rbx, 0x8080808080808080
mov r11d, 0x1a
jne 0x140015112
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15 + 8]
jne 0x140015104
mov rcx, r15
call fcn.140012620
mov r11d, 0x1a
mov rdx, qword [r15 + 0x10]
mov rax, qword [r15]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [r15 + 0x10], rdx
mov rcx, rsi
cmp rsi, 8
jb 0x14001519a
lea rdx, [r12 + 7]
and rdx, 0xfffffffffffffff8
mov rax, rdx
sub rax, r12
mov rcx, rsi
cmp rax, rsi
ja 0x14001519a
test qword [r12], rbx
jne 0x1400151ae
cmp rdx, r12
mov ecx, 8
cmove rax, rcx
lea rcx, [rsi - 8]
cmp rax, rcx
jae 0x14001515c
test qword [r12 + rax], rbx
jne 0x1400151ae
add rax, 8
cmp rax, rcx
jb 0x14001514d
test qword [r12 + rcx], rbx
jne 0x1400151ae
mov rax, qword [r15 + 8]
mov r15, qword [r15 + 0x10]
sub rax, r15
cmp rax, rsi
jb 0x140015829
mov rbx, qword [rsp + 0x300]
mov rcx, qword [rbx]
add rcx, r15
mov rdx, r12
mov r8, rsi
call sub.msvcrt.dll_memcpy
add rsi, r15
mov r15, rbx
jmp 0x1400150b4
mov rax, rcx
sub rax, 1
jb 0x140015162
cmp byte [r12 + rcx - 1], 0
mov rcx, rax
jns 0x14001519a
mov rcx, qword [r15 + 8]
mov rbx, qword [r15 + 0x10]
sub rcx, rbx
mov rax, rbx
cmp rcx, 3
jbe 0x1400152aa
mov qword [rsp + 0x120], rbx
mov rcx, qword [r15]
mov dword [rcx + rax], 0x2d2d6e78
add rax, 4
mov qword [r15 + 0x10], rax
xor ebx, ebx
test rsi, rsi
je 0x1400150ba
mov r13, r12
add r13, rsi
mov dword [rsp + 0x110], 0
mov rsi, r12
jmp 0x14001520c
inc ebx
cmp rsi, r13
je 0x1400152ce
movzx edx, byte [rsi]
test dl, dl
js 0x140015218
inc rsi
jmp 0x140015279
mov eax, edx
and eax, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp dl, 0xdf
jbe 0x140015260
movzx ecx, byte [rsi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x14001526e
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 0x1400152ca
add rsi, 4
jmp 0x140015279
add rsi, 2
shl eax, 6
or eax, r8d
mov edx, eax
jmp 0x140015279
add rsi, 3
shl eax, 0xc
or ecx, eax
mov edx, ecx
mov eax, ebx
inc eax
mov dword [rsp + 0x40], eax
je 0x1400157e4
cmp edx, 0x7f
ja 0x140015201
mov rcx, r15
call fcn.1400126e0
mov r11d, 0x1a
inc dword [rsp + 0x110]
jmp 0x140015201
mov r8d, 4
mov rcx, r15
mov rdx, rbx
call fcn.140012800
mov r11d, 0x1a
mov rax, qword [r15 + 0x10]
jmp 0x1400151c6
mov dword [rsp + 0x40], ebx
cmp dword [rsp + 0x110], 0
je 0x140015302
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15 + 8]
jne 0x1400152f4
mov rcx, r15
call fcn.140012620
mov r11d, 0x1a
mov rdx, qword [r15 + 0x10]
mov rax, qword [r15]
mov byte [rax + rdx], 0x2d
inc rdx
mov qword [r15 + 0x10], rdx
xor r8d, r8d
mov ebx, 0
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x110], eax
jae 0x1400150ba
mov eax, pe_nt_image_headers64
mov r14d, 0x48
mov esi, dword [rsp + 0x110]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x118], r13
mov rcx, r12
jmp 0x14001534a
inc rcx
cmp eax, ebp
jbe 0x1400153df
cmp rcx, r13
je 0x140015978
movzx ebp, byte [rcx]
test bpl, bpl
jns 0x14001533f
mov edx, ebp
and edx, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp bpl, 0xdf
jbe 0x1400153ad
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp bpl, 0xf0
jb 0x1400153bb
movzx ebp, byte [rcx + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and ebp, 0x3f
or ebp, r9d
or ebp, edx
cmp ebp, 0x110000
je 0x140015978
add rcx, 4
jmp 0x140015342
add rcx, 2
shl edx, 6
or edx, r10d
mov ebp, edx
jmp 0x140015342
add rcx, 3
shl edx, 0xc
or r9d, edx
mov ebp, r9d
jmp 0x140015342
inc rcx
cmp ebp, edx
mov r9d, edx
cmovb r9d, ebp
cmp edx, eax
cmovae ebp, r9d
cmp rcx, r13
je 0x140015478
movzx edx, byte [rcx]
test dl, dl
jns 0x1400153cd
mov r9d, edx
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x140015446
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x14001545f
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
mov r11d, 0x1a
je 0x140015478
add rcx, 4
jmp 0x1400153d0
add rcx, 2
shl r9d, 6
or r9d, r11d
mov edx, r9d
mov r11d, 0x1a
jmp 0x1400153d0
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
mov r11d, 0x1a
jmp 0x1400153d0
mov ecx, esi
inc ecx
je 0x140015931
mov r9d, ebp
sub r9d, eax
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp r9d, eax
ja 0x1400157e4
mov edx, r9d
imul edx, ecx
add edx, r8d
mov dword [rsp + 0x48], edx
mov rcx, r12
jmp 0x1400154bd
mov r9d, esi
mov r8d, dword [rsp + 0x48]
cmp rcx, r13
je 0x1400157be
movzx eax, byte [rcx]
test al, al
js 0x1400154cd
inc rcx
cmp eax, ebp
jb 0x14001553b
jmp 0x140015545
mov r9, rcx
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [r9 + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x14001551b
movzx edx, byte [r9 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x140015529
movzx eax, byte [r9 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
je 0x1400157da
add r9, 4
jmp 0x140015534
add r9, 2
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x140015534
add r9, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov rcx, r9
cmp eax, ebp
jae 0x140015545
inc dword [rsp + 0x48]
je 0x1400157e4
cmp eax, ebp
jne 0x1400154ac
mov qword [rsp + 0x128], rcx
mov dword [rsp + 0x130], esi
lea edi, [r14 + 0x1a]
lea ecx, [r14 - 0x24]
neg ecx
cmp edi, 0x25
cmovb ecx, r11d
cmp r14d, 0x24
mov eax, 1
cmovae ecx, eax
mov eax, dword [rsp + 0x48]
mov esi, eax
cmp eax, ecx
jae 0x14001564c
mov edx, 0x61
cmp esi, 0x1a
jb 0x14001559f
mov edx, 0x16
cmp esi, 0x24
jae 0x14001595e
add edx, esi
mov rcx, r15
call fcn.1400126e0
mov eax, dword [rsp + 0x130]
mov r9d, eax
inc r9d
mov esi, 0xd41d41d5
je 0x1400158cf
cmp eax, dword [rsp + 0x110]
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r8d, r8d
mov eax, dword [rsp + 0x48]
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div r9d
add eax, ecx
cmp eax, 0x1c8
mov rdi, qword [rsp + 0x138]
mov r12, qword [rsp + 0x38]
mov r13, qword [rsp + 0x118]
jb 0x14001577e
xor ecx, ecx
mov r11d, 0x1a
nop word cs:[rax + rax]
mov edx, eax
imul rdx, rsi
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 0x140015620
jmp 0x140015789
mov r12d, r14d
neg r12d
mov r13d, 0x48
mov esi, dword [rsp + 0x48]
jmp 0x140015693
mov rax, qword [rbx]
mov byte [rax + rdx], r15b
inc rdx
mov r15, rbx
lea ecx, [r12 + r13]
cmp r13d, edi
cmovae ecx, r11d
cmp r13d, r14d
mov eax, 1
cmovbe ecx, eax
mov qword [r15 + 0x10], rdx
add r13d, 0x24
cmp esi, ecx
jb 0x140015587
mov r8d, ecx
sub r8d, 0x24
je 0x14001586a
sub esi, ecx
neg r8d
mov eax, esi
xor edx, edx
div r8d
add edx, ecx
mov r15d, 0x61
mov esi, eax
cmp edx, 0x1a
jb 0x1400156ca
mov r15d, 0x16
cmp edx, 0x24
jae 0x14001595e
add r15d, edx
cmp r15d, 0x80
jae 0x140015710
mov rbx, qword [rsp + 0x300]
mov rdx, qword [rbx + 0x10]
cmp rdx, qword [rbx + 8]
jne 0x140015660
mov rcx, rbx
call fcn.140012620
mov r11d, 0x1a
mov rdx, qword [rbx + 0x10]
jmp 0x140015660
mov rcx, qword [rsp + 0x300]
mov rax, qword [rcx + 8]
mov rdx, qword [rcx + 0x10]
sub rax, rdx
cmp rax, 1
jbe 0x14001575c
movzx eax, r15w
mov ecx, eax
shr ecx, 6
mov r15, qword [rsp + 0x300]
mov r8, qword [r15]
and eax, 0x3f
shl eax, 8
movzx ecx, cx
or ecx, eax
or ecx, 0x80c0
mov word [r8 + rdx], cx
add rdx, 2
jmp 0x14001566d
mov r8d, 2
mov rbx, qword [rsp + 0x300]
mov rcx, rbx
call fcn.140012800
mov r11d, 0x1a
mov rdx, qword [rbx + 0x10]
jmp 0x140015729
xor ecx, ecx
mov r10d, eax
mov r11d, 0x1a
lea eax, [r10*4]
lea eax, [rax + rax*8]
add r10d, 0x26
xor edx, edx
div r10w
movzx r14d, ax
add r14d, ecx
mov dword [rsp + 0x48], r8d
mov esi, r9d
mov rcx, qword [rsp + 0x128]
cmp rcx, r13
jne 0x1400154bd
inc r8d
inc ebp
xor ebx, ebx
mov esi, r9d
mov eax, ebp
cmp r9d, dword [rsp + 0x40]
jb 0x14001533a
jmp 0x1400150ba
mov r9d, esi
mov r8d, dword [rsp + 0x48]
jmp 0x1400157be
mov rax, qword [r15 + 0x10]
mov byte [rsp + 0x37], 1
xor ebx, ebx
mov rsi, qword [rsp + 0x120]
cmp rax, rsi
jb 0x1400150ba
test rsi, rsi
je 0x1400150af
mov byte [rsp + 0x37], 1
cmp rax, rsi
jbe 0x1400150b4
mov rax, qword [r15]
cmp byte [rax + rsi], 0xbf
jg 0x1400150b4
jmp 0x1400159ab
mov rbx, qword [rsp + 0x300]
mov rcx, rbx
mov rdx, r15
mov r8, rsi
call fcn.140012800
mov r15, qword [rbx + 0x10]
jmp 0x140015176
movzx eax, byte [rsp + 0x37]
mov byte [rdi], al
mov rax, qword [rsp + 0x140]
mov qword [rdi + 1], rax
mov eax, dword [rsp + 0x147]
mov dword [rdi + 8], eax
jmp 0x140013935
lea rcx, [0x14013da30]
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0x39
call fcn.140006a00
ud2
lea r8, [0x14013d950]
mov edx, 4
mov rcx, r9
call fcn.140006660
ud2
lea r8, [0x14013d950]
mov edx, 4
mov rcx, rax
call fcn.140006660
ud2
lea rcx, str.attempt_to_divide_by_zero_Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0x19
call fcn.140006a00
ud2
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov edx, 0xd4e
call fcn.140005ce0
ud2
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov rcx, rsi
call fcn.140006660
ud2
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov edx, 0x1667
call fcn.140005ce0
ud2
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov rcx, rsi
call fcn.140006660
ud2
lea rcx, str.attempt_to_divide_by_zero_Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0x19
call fcn.140006a00
ud2
lea r8, [0x14013d950]
mov edx, 4
call fcn.140006660
ud2
lea rcx, str.explicit_panic
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0xe
call fcn.140006a00
ud2
lea rcx, [0x1401950a8]
lea r8, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0x2b
call fcn.140006a00
ud2
lea rax, str._Users_caojian_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov qword [rsp + 0x20], rax
mov rcx, r15
mov r9, rdx
call fcn.14000b440
ud2
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_
lea r8, [0x1401946a0]
mov edx, 0x30
call fcn.140006a00
ud2
call fcn.140003490
ud2