Function at 0x140157330
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 0x140157502
lea rax, [r14 + rsi]
xor edx, edx
movdqa xmm0, xmmword [0x1403096d0]
mov rcx, r14
jmp 0x1401573ef
xor r9d, r9d
mov rdx, r9
cmp rcx, rax
je 0x14015826b
movzx r10d, byte [rcx]
test r10b, r10b
js 0x140157410
inc rcx
mov r8d, r10d
cmp r8d, 0x2e
jne 0x1401574a0
jmp 0x1401573e0
mov r8d, r10d
and r8d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r10b, 0xdf
jbe 0x140157469
movzx r9d, byte [rcx + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x14015747f
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 0x1401574a0
jmp 0x1401573e0
add rcx, 2
shl r8d, 6
or r8d, r11d
cmp r8d, 0x2e
jne 0x1401574a0
jmp 0x1401573e0
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov r8d, r9d
cmp r8d, 0x2e
je 0x1401573e0
nop word [rax + rax]
cmp r8d, 0x110000
je 0x14015826b
test rdx, rdx
jne 0x1401574b8
cmp r8d, 0x2d
je 0x140157502
mov r9d, 5
cmp rdx, 5
jae 0x1401574e7
movdqa xmmword [rsp + 0x50], xmm0
cmp rdx, 4
je 0x14015839e
cmp r8d, dword [rsp + rdx*4 + 0x50]
jne 0x1401574e7
inc rdx
mov r9, rdx
cmp rdx, 4
je 0x140157502
lea edx, [r8 - 0x7b]
cmp edx, 0xffffffe5
ja 0x1401573e3
add r8d, 0xffffffc6
cmp r8d, 0xfffffff6
jae 0x1401573e3
mov qword [rsp + 0x180], 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 + 0x13a], xmm6
movzx edx, word [rsp + 0x148]
mov word [rsp + 0xe6], dx
movdqu xmm0, xmmword [rsp + 0x138]
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 + 0x48], rcx
mov qword [r8 + 0x10], 0
mov dword [rsp + 0x108], 0
mov qword [rsp + 0x100], 0
mov rcx, qword [r15 + 0x10]
mov qword [rsp + 0x128], 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, [0x14032b908]
mov r13d, 0xff
lea r14, [0x14032f3d8]
xor edx, edx
mov ebx, dword [rsp + 0xd0]
mov rbp, qword [rsp + 0xd8]
test ebx, ebx
je 0x1401576b0
test rdx, rdx
je 0x14015776b
mov rcx, qword [rsp + 0xe8]
cmp rdx, 1
jne 0x1401581b1
cmp rax, rcx
jb 0x1401581f0
mov qword [rsp + 0xe8], 0
jmp 0x1401576f4
test rdx, rdx
je 0x14015776b
movzx r8d, word [rsp + 0xd4]
movzx ecx, r8w
cmp rdx, 1
jne 0x1401581bb
cmp r8w, 4
ja 0x14015a3d1
cmp rax, rcx
jb 0x1401581e8
test r8w, r8w
je 0x1401576f4
mov word [rsp + 0xd4], 0
mov qword [rsp + 0x50], 0
jmp 0x14015776b
mov edi, esi
mov eax, 0xdee95c4d
imul rdi, rax
shr rdi, 0x29
lea edx, [rdi + 0x1100]
mov rcx, r12
call fcn.14015ad50
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.14015ad50
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 0x14015776b
add esi, 0x11a7
mov edx, esi
mov rcx, r12
call fcn.14015ad50
mov r9, qword [rsp + 0xc0]
test r9, r9
jne 0x140157b00
movzx r10d, byte [rsp + 0xb0]
cmp r10b, 2
je 0x140157d01
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 0x14015786a
cmp r8, rbx
je 0x14015785e
lea rcx, [r8 + 1]
mov qword [rsp + 0xa0], rcx
movzx edx, byte [r8]
test dl, dl
jns 0x140157b61
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 0x1401580a9
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 0x1401580b5
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.0x140157a53.0
mov qword [rsp + 0xa0], 0
cmp rbp, r11
je 0x140157cf9
lea rdx, [rbp + 1]
mov qword [rsp + 0x88], rdx
movzx ecx, byte [rbp]
test cl, cl
js 0x1401578a0
mov rbp, rdx
mov edx, ecx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x140157950
jmp 0x140157b61
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 0x140157918
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 0x14015792e
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 0x140157950
jmp 0x140157b61
shl edx, 6
or edx, r9d
mov rbp, r8
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x140157950
jmp 0x140157b61
shl edx, 0xc
or r8d, edx
mov rbp, rdi
mov edx, r8d
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jb 0x140157b61
nop word cs:[rax + rax]
cmp edx, 0x110000
je 0x140157cf9
lea ecx, [rdx - 0x61]
cmp ecx, 0x1a
jb 0x140157b61
lea ecx, [rdx - 0x30]
cmp ecx, 0xa
jb 0x140157b61
mov r8d, 0x75a
xor r9d, r9d
mov ecx, 0x75a
jmp 0x140157998
mov rcx, r8
sub r8, r9
jbe 0x1401579cd
shr r8, 1
add r8, r9
xor edi, edi
cmp dword [r15 + r8*8], edx
setne dil
cmovb edi, r13d
cmp dil, 1
je 0x140157990
movzx r9d, dil
cmp r9d, 0xff
jne 0x1401579e0
inc r8
mov r9, r8
mov r8, rcx
sub r8, r9
ja 0x140157998
dec r9
mov r8, r9
cmp r9, 0x759
ja 0x140158336
movzx edi, word [r15 + r8*8 + 4]
mov ecx, edi
and ecx, 0x7fff
movzx r9d, cx
test di, di
js 0x140157a20
movzx ecx, word [r15 + r8*8]
mov r8d, edx
sub r8w, cx
add r8d, r9d
movzx ecx, r8w
cmp ecx, 0x1f73
jb 0x140157a2d
jmp 0x140158350
cmp r9d, 0x1f73
jae 0x140158363
movzx r9d, byte [r14 + rcx*4]
mov r8d, 0
cmp r9d, 1
je case.default.0x140157a53
mov r8d, r9d
lea r9, [0x140309bc0]
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 0x140157d62
mov rdx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x78]
cmp rcx, rax
jb 0x140157d7d
jmp 0x140158376
cmp edx, 0x110000
je 0x140157cf9
cmp byte [rsp + 0xc8], 0
je 0x140157c2b
cmp edx, 0x80
jb 0x140157763
lea esi, [rdx - 0xac00]
cmp esi, 0x2ba4
jb 0x1401576ff
imul ecx, edx, 0x9e3779b9
imul eax, edx, 0x31415926
xor ecx, eax
imul r8, rcx, 0xee4
shr r8, 0x1f
and r8d, 0xfffffffe
lea r9, [0x1403c50e8]
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, [0x1403c6eb0]
mov rsi, qword [r8 + r9]
cmp edx, esi
jne 0x140158000
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0x1667
ja 0x14015a393
shr rsi, 0x30
mov edx, 0x1667
sub rdx, rcx
cmp rdx, rsi
jb 0x14015a3a6
lea rax, [0x1403ce5d0]
lea rbx, [rax + rcx*4]
test rsi, rsi
jne 0x140158080
jmp 0x14015776b
cmp edx, 0x80
jb 0x140157763
lea esi, [rdx - 0xac00]
cmp esi, 0x2ba4
jb 0x1401576ff
imul eax, edx, 0x9e3779b9
imul ecx, edx, 0x31415926
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea r8, [0x1403bca94]
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, [0x1403bdab0]
mov rsi, qword [rcx + rax*8]
cmp edx, esi
jne 0x140157763
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4e
ja 0x14015a36f
shr rsi, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rsi
jb 0x14015a382
test rsi, rsi
je 0x14015776b
lea rax, [0x1403c1b18]
lea rdi, [rax + rcx*4]
shl rsi, 2
xor ebx, ebx
nop dword [rax]
mov edx, dword [rdi + rbx]
mov rcx, r12
call fcn.14015ad50
add rbx, 4
cmp rsi, rbx
jne 0x140157ce0
jmp 0x14015776b
mov byte [rsp + 0xb0], 2
cmp dword [rsp + 0x60], 0
je 0x140157d17
mov rax, qword [rsp + 0x78]
test rax, rax
jne 0x140157d25
jmp 0x140158140
movzx eax, word [rsp + 0x64]
test rax, rax
je 0x140158140
mov rcx, r12
call fcn.14015a460
mov r8d, dword [rsp + 0x60]
test r8d, r8d
je 0x140157d3e
mov r9, qword [rsp + 0x78]
jmp 0x140157d44
movzx r9d, word [rsp + 0x64]
lea r10, [rsp + 0x68]
mov qword [rsp + 0xc0], r9
mov rcx, qword [rsp + 0xb8]
test r8d, r8d
jne 0x140157b1b
movzx eax, word [rsp + 0x64]
cmp rax, 5
jae 0x14015a359
mov rdx, r10
cmp rcx, rax
jae 0x140158376
mov ebp, dword [rdx + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x140157e40
test r8d, r8d
je 0x140157e4a
mov rdx, qword [rsp + 0x78]
sub rdx, r9
je 0x140157e58
xor ecx, ecx
jmp 0x140157dd3
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 0x140157e6b
mov rax, qword [rsp + 0xc0]
add rax, rcx
cmp dword [rsp + 0x60], 0
je 0x140157e10
mov r9, qword [rsp + 0x78]
cmp rax, r9
jae 0x140158311
mov r8, qword [rsp + 0x68]
cmp rcx, r9
jb 0x140157db0
jmp 0x140158325
movzx r9d, word [rsp + 0x64]
cmp r9, 5
jae 0x14015a30a
cmp rax, r9
jae 0x140158311
mov r8, r10
cmp rcx, r9
jb 0x140157db0
jmp 0x140158325
mov qword [rsp + 0xb8], rcx
jmp 0x140157e9b
movzx edx, word [rsp + 0x64]
sub rdx, r9
jne 0x140157da4
test r8d, r8d
je 0x140157e75
cmp qword [rsp + 0x78], rdx
jb 0x140157e90
mov qword [rsp + 0x78], rdx
jmp 0x140157e90
mov r8d, dword [rsp + 0x60]
test r8d, r8d
jne 0x140157e5d
movzx eax, word [rsp + 0x64]
cmp rdx, rax
jae 0x140157e90
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, [0x1403b90b8]
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, [0x1403b97ec]
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 0x140157f20
test bl, bl
jne 0x140158130
mov dword [rsp + 0xf0], ebp
jmp 0x14015776b
cmp byte [rsp + 0xf4], 0
je 0x140157f4f
cmp byte [rsp + 0xf5], bl
jae 0x140157f6c
mov ecx, esi
mov edx, ebp
call fcn.1402f7070
cmp eax, 0x110000
je 0x140157f74
mov dword [rsp + 0xf0], eax
jmp 0x14015776b
mov ecx, esi
mov edx, ebp
call fcn.1402f7070
cmp eax, 0x110000
jne 0x140157ff4
test bl, bl
jne 0x140157f74
jmp 0x1401581a5
test bl, bl
je 0x14015817f
cmp dword [rsp + 0xd0], 0
je 0x140157fbd
mov rdx, qword [rsp + 0xe8]
cmp rdx, qword [rsp + 0xe0]
jne 0x140157fa5
lea rcx, [rsp + 0xd8]
call fcn.14015af30
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xd8]
mov dword [rax + rdx*4], ebp
inc rdx
mov qword [rsp + 0xe8], rdx
jmp 0x140157fe0
movzx eax, word [rsp + 0xd4]
cmp rax, 3
ja 0x1401580c3
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 0x14015776b
mov dword [rsp + 0xf0], eax
jmp 0x14015776b
imul rcx, rcx, 0x80d
shr rcx, 0x20
lea r8, [0x1403bca94]
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, [0x1403bdab0]
mov rsi, qword [rcx + rax*8]
cmp edx, esi
jne 0x140157763
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4e
ja 0x14015a36f
shr rsi, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rsi
jb 0x14015a382
lea rax, [0x1403c1b18]
lea rbx, [rax + rcx*4]
test rsi, rsi
je 0x14015776b
shl rsi, 2
xor edi, edi
nop word cs:[rax + rax]
mov edx, dword [rbx + rdi]
mov rcx, r12
call fcn.14015ad50
add rdi, 4
cmp rsi, rdi
jne 0x140158090
jmp 0x14015776b
shl ecx, 6
or ecx, edi
mov edx, ecx
jmp 0x140157b61
shl ecx, 0xc
or r9d, ecx
mov edx, r9d
jmp 0x140157b61
lea rcx, [rsp + 0x138]
lea rdx, [rsp + 0xd4]
mov r8d, ebp
call fcn.14015b000
cmp dword [rsp + 0xd0], 0
je 0x140158106
cmp qword [rsp + 0xe0], 0
je 0x140158106
mov r8, qword [rsp + 0xd8]
mov rcx, qword [0x1403f6548]
xor edx, edx
call fcn.140302ad4
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 0x140157fe0
mov esi, ebp
jmp 0x140158250
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 0x14015765e
mov dword [rsp + 0xf0], 0x110000
jmp 0x140158250
mov dword [rsp + 0xf0], ebp
mov byte [rsp + 0xf4], 0
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], 0
jmp 0x140158250
mov dword [rsp + 0xf0], ebp
jmp 0x140158250
cmp rax, rcx
jae 0x140158207
mov rdx, rbp
jmp 0x1401581d2
cmp cx, 5
jae 0x14015a3d1
lea rdx, [rsp + 0xd8]
cmp rax, rcx
jae 0x140158215
mov esi, dword [rdx + rax*4]
inc rax
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x58], rax
jmp 0x140158250
lea rbp, [rsp + 0xd8]
mov esi, dword [rbp + rax*4]
inc rax
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], rax
jmp 0x140158250
mov qword [rsp + 0xe8], 0
jmp 0x140158225
test r8w, r8w
je 0x140158225
mov word [rsp + 0xd4], 0
mov esi, dword [rsp + 0xf0]
mov dword [rsp + 0xf0], 0x110000
cmp esi, 0x110000
je 0x1401583b6
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0x40]
mov edx, esi
call fcn.140157040
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
jmp 0x14015765e
mov rax, qword [r15 + 8]
mov rbx, qword [r15 + 0x10]
sub rax, rbx
cmp rax, rsi
jb 0x140158387
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, [0x14032b5c0]
mov rcx, rax
mov rdx, r9
call fcn.140136ed0
ud2
lea r8, [0x14032b5d8]
mov rdx, r9
call fcn.140136ed0
ud2
lea r8, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_idna_0.4.0_src_uts46.rs
mov edx, 0x75a
mov rcx, 0xffffffffffffffff
call fcn.140136ed0
ud2
lea r8, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_idna_0.4.0_src_uts46.rs
mov edx, 0x1f73
call fcn.140136ed0
ud2
lea r8, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_idna_0.4.0_src_uts46.rs
mov edx, 0x1f73
call fcn.140136ed0
ud2
lea r8, [0x14032b5a8]
mov rdx, rax
call fcn.140136ed0
ud2
mov rcx, r15
mov rdx, rbx
mov r8, rsi
call fcn.140157160
mov rbx, qword [r15 + 0x10]
jmp 0x14015827f
lea r8, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_idna_0.4.0_src_uts46.rs
mov ecx, 4
mov edx, 4
call fcn.140136ed0
ud2
cmp dword [rsp + 0x60], 0
je 0x1401583d8
cmp qword [rsp + 0x70], 0
je 0x1401583d8
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x1403f6548]
xor edx, edx
call fcn.140302ad4
test ebx, ebx
mov r13, qword [rsp + 0x300]
mov r15, qword [rsp + 0x48]
je 0x140158405
cmp qword [rsp + 0xe0], 0
je 0x140158405
mov rcx, qword [0x1403f6548]
xor edx, edx
mov r8, rbp
call fcn.140302ad4
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, r15
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x120], rax
xor r12d, r12d
lea rbp, [0x1403b4cf0]
movdqa xmm11, xmmword [0x140309720]
movdqa xmm12, xmmword [0x140309730]
movdqa xmm13, xmmword [0x140309740]
movdqa xmm14, xmmword [0x140309750]
movdqa xmm15, xmmword [0x140309760]
movdqa xmm7, xmmword [0x140309770]
movdqa xmm8, xmmword [0x140309780]
movdqa xmm9, xmmword [0x140309790]
movdqa xmm10, xmmword [0x1403097a0]
xor edi, edi
xor ebx, ebx
jmp 0x14015854b
xor ebx, ebx
mov rcx, r14
mov rdx, rsi
mov r8, r15
lea r9, [rsp + 0x100]
call fcn.14015ba20
mov rax, qword [r13 + 8]
mov r13, qword [r13 + 0x10]
sub rax, r13
cmp rax, rsi
jb 0x1401587bc
mov rdi, qword [rsp + 0x300]
mov rcx, qword [rdi]
add rcx, r13
mov rdx, r14
mov r8, rsi
call sub.msvcrt.dll_memcpy
add rsi, r13
mov r13, rdi
mov qword [rdi + 0x10], rsi
mov dil, 1
lea rcx, [rsp + 0x138]
call fcn.14028bd70
test rax, rax
je 0x1401593f9
mov r14, rax
mov rsi, rdx
test dil, 1
je 0x140158592
mov rdx, qword [r13 + 0x10]
cmp rdx, qword [r13 + 8]
jne 0x140158583
mov rcx, r13
call fcn.140156f80
mov rdx, qword [r13 + 0x10]
mov rax, qword [r13]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [r13 + 0x10], rdx
cmp rsi, 4
jb 0x1401585b4
mov eax, dword [r14]
bswap eax
xor ecx, ecx
xor edx, edx
cmp eax, 0x786e2d2d
setb cl
seta dl
cmp ecx, edx
je 0x140158707
test bl, 1
jne 0x1401584fb
test rsi, rsi
je 0x1401584f9
mov rax, r14
add rax, rsi
mov rcx, r14
jmp 0x1401585da
cmp rcx, rax
je 0x1401584f9
movzx edx, byte [rcx]
test dl, dl
js 0x1401585e6
inc rcx
jmp 0x140158659
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x14015863b
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x14015864b
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 0x1401584f9
add rcx, 4
jmp 0x140158659
add rcx, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
jmp 0x140158659
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x1401585d1
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x14015868c
mov r9, r8
sub r8, r10
jbe 0x1401585d1
shr r8, 1
add r8, r10
lea r11, [r8 + r8*2]
mov edi, dword [rbp + r11*4 + 4]
cmp edi, edx
mov ebx, 0
sbb ebx, ebx
or bl, 1
cmp edi, edx
movzx ebx, bl
mov edi, ebx
cmovae edi, r12d
cmp dword [rbp + r11*4], edx
cmova edi, ebx
cmp dil, 1
je 0x140158680
movzx r10d, dil
cmp r10d, 0xff
jne 0x1401586e0
inc r8
mov r10, r8
mov r8, r9
sub r8, r10
ja 0x14015868c
jmp 0x1401585d1
movzx edx, byte [rbp + r11*4 + 8]
cmp rdx, 0x11
ja 0x1401585d1
mov r8d, 0x20003
bt r8, rdx
jae 0x1401585d1
mov bl, 1
jmp 0x1401584fb
mov dword [rsp + 0x38], ebx
add r14, 4
add rsi, 0xfffffffffffffffc
lea rcx, [rsp + 0x1b8]
lea rdx, [rsp + 0x188]
mov r8, r14
mov r9, rsi
call fcn.140155e60
mov rbx, qword [rsp + 0x1b8]
test rbx, rbx
je 0x1401587aa
mov rdi, qword [rsp + 0x1c0]
mov r10, qword [rsp + 0x1c8]
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x110], rax
mov rcx, r13
mov r13, qword [rsp + 0x1d8]
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 + 0x30], rcx
sub rax, rcx
cmp rax, r8
mov qword [rsp + 0x118], r10
jae 0x1401587f3
mov rcx, qword [rsp + 0x300]
mov rdx, qword [rsp + 0x30]
call fcn.140157160
jmp 0x1401587db
mov byte [rsp + 0x100], 1
mov bl, 1
mov dil, 1
jmp 0x14015854b
mov rdi, qword [rsp + 0x300]
mov rcx, rdi
mov rdx, r13
mov r8, rsi
call fcn.140157160
mov r13, qword [rdi + 0x10]
jmp 0x140158525
mov r10, qword [rsp + 0x118]
jmp 0x1401587f3
mov rax, qword [r14]
mov byte [rax + rdx], sil
inc rdx
mov qword [r14 + 0x10], rdx
cmp r13, qword [rsp + 0x110]
jae 0x14015888f
mov rax, r13
shl rax, 4
cmp qword [r10 + rax], r15
jne 0x140158820
inc r13
mov esi, dword [r10 + rax + 8]
jmp 0x140158942
mov rcx, rbx
mov rbx, rdi
cmp rcx, rdi
je 0x140158820
movzx r8d, byte [rcx]
test r8b, r8b
jns 0x140158917
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rcx + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x14015891f
movzx edx, byte [rcx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x14015892e
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 0x140158820
jmp 0x140158901
cmp rbx, rdi
je 0x140158a56
movzx r8d, byte [rbx]
test r8b, r8b
js 0x1401588b0
inc rbx
movzx esi, r8b
inc r15
jmp 0x14015894d
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rbx + 1]
and r9d, 0x3f
cmp r8b, 0xdf
jbe 0x140158911
movzx edx, byte [rbx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140158937
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 0x140158a56
add rbx, 4
mov rcx, rbx
mov rbx, rcx
cmp esi, 0x110000
jne 0x140158942
jmp 0x140158a56
add rbx, 2
jmp 0x140158926
inc rcx
mov rbx, rcx
jmp 0x1401588a4
add rcx, 2
mov rbx, rcx
shl eax, 6
or eax, r9d
jmp 0x140158940
add rcx, 3
mov rbx, rcx
jmp 0x14015893b
add rbx, 3
shl eax, 0xc
or eax, edx
mov esi, eax
inc r15
cmp esi, 0x80
jae 0x14015897c
mov r14, qword [rsp + 0x300]
mov rdx, qword [r14 + 0x10]
cmp rdx, qword [r14 + 8]
jne 0x1401587e5
mov rcx, r14
call fcn.140156f80
mov r10, qword [rsp + 0x118]
mov rdx, qword [r14 + 0x10]
jmp 0x1401587e5
mov dword [rsp + 0x50], 0
mov eax, esi
cmp esi, 0x800
jae 0x1401589ab
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 0x140158a12
cmp esi, 0x10000
jae 0x1401589dd
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 0x140158a12
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 0x140158a88
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
xor r12d, r12d
jmp 0x1401587db
mov r13, qword [rsp + 0x300]
mov r15, qword [r13]
mov rdx, qword [r13 + 0x10]
mov r8, qword [rsp + 0x30]
test r8, r8
je 0x140158aa5
mov rsi, rdx
sub rsi, r8
mov ebx, dword [rsp + 0x38]
jbe 0x140158aae
cmp byte [r15 + r8], 0xbf
jg 0x140158ab4
jmp 0x14015a418
mov r12, qword [rsp + 0x300]
mov rcx, r12
mov rdx, r14
mov r8, rsi
call fcn.140157160
mov r14, qword [r12 + 0x10]
jmp 0x140158a2a
mov rsi, rdx
mov ebx, dword [rsp + 0x38]
jmp 0x140158ab4
jne 0x14015a418
add r15, r8
test bl, 1
jne 0x140158b75
test rsi, rsi
je 0x140158b73
lea rdi, [r15 + rsi]
mov rbx, r15
jmp 0x140158adb
cmp rbx, rdi
je 0x140158b73
movzx ecx, byte [rbx]
test cl, cl
js 0x140158ae7
inc rbx
jmp 0x140158b48
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbx + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x140158b2f
movzx edx, byte [rbx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x140158b3d
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 0x140158b73
add rbx, 4
jmp 0x140158b48
add rbx, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x140158b48
add rbx, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x140158ad2
call fcn.1402f6f80
cmp al, 0x11
ja 0x140158ad2
movzx eax, al
mov ecx, 0x20003
bt rcx, rax
jae 0x140158ad2
mov bl, 1
jmp 0x140158b75
xor ebx, ebx
movq xmm0, qword [rsp + 0x102]
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 + 0x100]
or al, byte [rsp + 0x10a]
jne 0x140159334
cmp byte [rsp + 0x101], 0
jne 0x140159341
cmp byte [rsp + 0x10b], 0
jne 0x140159327
mov dword [rsp + 0x38], ebx
mov qword [rsp + 0x110], rsi
test rsi, rsi
je 0x1401593c0
mov rax, qword [rsp + 0x110]
lea rbx, [r15 + rax]
xor edi, edi
xor r9d, r9d
mov r14, r15
movzx edx, byte [r14]
test dl, dl
js 0x140158c0e
inc r14
jmp 0x140158c96
mov eax, edx
and eax, 0x1f
movzx r8d, byte [r14 + 1]
and r8d, 0x3f
cmp dl, 0xe0
jb 0x140158c60
movzx ecx, byte [r14 + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x140158c6f
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 0x1401591b4
add r14, 4
jmp 0x140158c7b
add r14, 2
shl eax, 6
or eax, r8d
mov r13d, eax
jmp 0x140158c7b
add r14, 3
shl eax, 0xc
or ecx, eax
mov r13d, ecx
cmp r13d, 0x7f
jbe 0x140158c96
jmp 0x140158d1b
inc r14
cmp r13d, 0x80
jae 0x140158d19
cmp r14, rbx
je 0x1401591b4
movzx r13d, byte [r14]
test r13b, r13b
jns 0x140158c86
mov eax, r13d
and eax, 0x1f
movzx edx, byte [r14 + 1]
and edx, 0x3f
cmp r13b, 0xdf
jbe 0x140158cfa
movzx ecx, byte [r14 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r13b, 0xf0
jb 0x140158d08
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 0x1401591b4
add r14, 4
jmp 0x140158c89
add r14, 2
shl eax, 6
or eax, edx
mov r13d, eax
jmp 0x140158c89
add r14, 3
shl eax, 0xc
or ecx, eax
mov r13d, ecx
jmp 0x140158c89
xor edi, edi
mov ecx, r13d
mov esi, r9d
call fcn.1402f7010
mov r9d, esi
cmp dil, al
jbe 0x140158d36
test al, al
jne case.0x140158ef1.3907
lea ecx, [r13 - 0x340]
cmp ecx, 4
ja 0x140158d4b
cmp ecx, 2
jne case.0x140158ef1.3907
cmp r13d, 0xd56
jg 0x140158db1
cmp r13d, 0x9de
jg 0x140158e00
cmp r13d, 0x93b
jg 0x140158f1f
lea ecx, [r13 - 0x30f]
cmp ecx, 0x36
ja 0x140158d8e
movabs rdx, 0x48020000001005
bt rdx, rcx
jb 0x14015902a
lea ecx, [r13 - 0x374]
cmp ecx, 0x13
ja case.0x140158ef1.3908
mov edx, 0x80401
bt edx, ecx
jb case.0x140158ef1.3907
jmp case.0x140158ef1.3908
cmp r13d, 0x11126
jg 0x140158e66
cmp r13d, 0x102d
jle 0x140158eac
cmp r13d, 0x1f70
jg 0x140158f77
cmp r13d, 0x102e
mov r12d, 0
je 0x14015902a
mov r9d, esi
cmp r13d, 0x1b35
je 0x14015902a
jmp case.0x140158ef1.3908
cmp r13d, 0xbd6
jg 0x140158ef3
cmp r13d, 0xbbd
jg 0x140159021
lea ecx, [r13 - 0xb3e]
cmp ecx, 0x19
ja 0x140158e34
mov edx, 0x3000001
bt edx, ecx
jb 0x14015902a
lea ecx, [r13 - 0xa33]
cmp ecx, 0x2b
ja 0x140158e54
movabs rdx, 0x80000000009
bt rdx, rcx
jb case.0x140158ef1.3907
cmp r13d, 0x9df
jne case.0x140158ef1.3908
jmp case.0x140158ef1.3907
cmp r13d, 0x114af
jle 0x140158f4b
lea ecx, [r13 - 0x114b0]
cmp ecx, 0xd
ja 0x140158e8d
mov edx, 0x2401
bt edx, ecx
jb 0x14015902a
cmp r13d, 0x115af
je 0x14015902a
cmp r13d, 0x11930
je 0x14015902a
jmp case.0x140158ef1.3908
lea ecx, [r13 - 0xdca]
cmp ecx, 0x15
ja 0x140158ec6
mov edx, 0x200021
bt edx, ecx
jb 0x14015902a
cmp r13d, 0xd57
je 0x14015902a
lea ecx, [r13 - 0xf43]
cmp ecx, 0x76
ja case.0x140158ef1.3908
lea rdx, [0x1403097b0]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp r13d, 0xcc1
jg 0x140158fd9
cmp r13d, 0xbd7
je 0x14015902a
cmp r13d, 0xc56
je 0x14015902a
jmp case.0x140158ef1.3908
cmp r13d, 0x93c
je 0x14015902a
cmp r13d, 0x9be
je 0x14015902a
cmp r13d, 0x9d7
je 0x14015902a
jmp case.0x140158ef1.3908
cmp r13d, 0x11127
je 0x14015902a
cmp r13d, 0x1133e
je 0x14015902a
cmp r13d, 0x11357
je 0x14015902a
jmp case.0x140158ef1.3908
cmp r13d, 0xfa0f
jle 0x140158ff0
cmp r13d, 0x110ba
mov r12d, 0
je 0x14015902a
mov r9d, esi
lea ecx, [r13 - 0xfa10]
cmp ecx, 0x12
ja 0x140158fb0
mov edx, 0x50005
bt edx, ecx
jb case.0x140158ef1.3907
lea ecx, [r13 - 0xfb1d]
cmp ecx, 0x21
ja case.0x140158ef1.3908
movabs rdx, 0x200000005
bt rdx, rcx
jb case.0x140158ef1.3907
jmp case.0x140158ef1.3908
cmp r13d, 0xcc2
je 0x14015902a
cmp r13d, 0xd3e
je 0x14015902a
jmp case.0x140158ef1.3908
cmp r13d, 0x2125
jg 0x14015903d
lea ecx, [r13 - 0x1f71]
cmp ecx, 0x8c
mov r12d, 0
mov r9d, esi
ja case.0x140158ef1.3908
lea rdx, [0x14030998c]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp r13d, 0xbbe
jne case.0x140158ef1.3908
mov r9b, 2
mov edi, eax
cmp r14, rbx
jne 0x140158bfe
jmp 0x1401591b4
lea ecx, [r13 - 0x2329]
cmp ecx, 2
mov r12d, 0
jb case.0x140158ef1.3907
cmp r13d, 0x2126
je case.0x140158ef1.3907
mov r9d, esi
cmp r13d, 0x2adc
je case.0x140158ef1.3907
movd xmm1, r13d
pshufd xmm0, xmm1, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x1403096f0]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x140309700]
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.0x140158ef1.3907
pshufd xmm1, xmm1, 0x50
pand xmm1, xmmword [0x1403096e0]
pshufd xmm2, xmm1, 4
pcmpeqd xmm2, xmmword [0x140309710]
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.0x140158ef1.3907
lea ecx, [r13 - 0x1d1bb]
cmp ecx, 6
jb case.0x140158ef1.3907
lea ecx, [r13 - 0x2f800]
cmp ecx, 0x21e
jb case.0x140158ef1.3907
movd ecx, xmm1
cmp ecx, 0x2000
je case.0x140158ef1.3907
cmp ecx, 0x212a
je case.0x140158ef1.3907
cmp ecx, 0xfb40
je case.0x140158ef1.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 0x14015902a
lea edx, [r13 - 0x11a8]
cmp edx, 0x1b
jb 0x14015902a
add r13d, 0xffffcf67
cmp r13d, 2
jb 0x14015902a
cmp ecx, 0x330
jne 0x14015902d
jmp 0x14015902a
test r9b, r9b
je 0x1401593c0
movzx eax, r9b
cmp eax, 1
je case.0x140158ef1.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 0x14015934e
movzx r14d, byte [rdi]
test r14b, r14b
js 0x1401592a2
inc rdi
jmp 0x140159308
mov eax, r14d
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp r14b, 0xdf
jbe 0x1401592ee
movzx ecx, byte [rdi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r14b, 0xf0
jb 0x1401592fc
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 0x14015934e
add rdi, 4
jmp 0x140159308
add rdi, 2
shl eax, 6
or eax, edx
mov r14d, eax
jmp 0x140159308
add rdi, 3
shl eax, 0xc
or ecx, eax
mov r14d, ecx
lea rcx, [rsp + 0x50]
call fcn.14015b140
mov r13b, 1
cmp eax, 0x110000
je 0x140159364
cmp eax, r14d
je 0x14015928b
jmp 0x140159364
mov r15, qword [rsp + 0x48]
mov dil, 1
jmp 0x14015854b
mov r15, qword [rsp + 0x48]
mov dil, 1
jmp 0x14015854b
mov r15, qword [rsp + 0x48]
mov dil, 1
jmp 0x14015854b
lea rcx, [rsp + 0x50]
call fcn.14015b140
cmp eax, 0x110000
setne r13b
neg r13b
cmp dword [rsp + 0x60], 0
je 0x140159386
cmp qword [rsp + 0x70], 0
je 0x140159386
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x1403f6548]
xor edx, edx
call fcn.140302ad4
cmp dword [rsp + 0xb0], 0
je 0x1401593b1
cmp qword [rsp + 0xc0], 0
je 0x1401593b1
mov r8, qword [rsp + 0xb8]
mov rcx, qword [0x1403f6548]
xor edx, edx
call fcn.140302ad4
test r13b, r13b
je 0x1401593c0
mov byte [rsp + 0x105], 1
jmp 0x1401593e0
mov rcx, r15
mov rdx, qword [rsp + 0x110]
mov r8, qword [rsp + 0x120]
lea r9, [rsp + 0x100]
call fcn.14015ba20
mov r13, qword [rsp + 0x300]
mov r15, qword [rsp + 0x48]
mov ebx, dword [rsp + 0x38]
mov dil, 1
jmp 0x14015854b
mov rcx, qword [r13]
mov r14, qword [r13 + 0x10]
mov rax, r14
mov r8, qword [rsp + 0x128]
test r8, r8
je 0x14015943b
mov rax, r14
sub rax, r8
jbe 0x140159439
cmp byte [rcx + r8], 0xbf
jg 0x14015943b
lea rax, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_idna_0.4.0_src_uts46.rs
mov qword [rsp + 0x20], rax
mov rdx, r14
mov r9, r14
call fcn.14013fdc0
ud2
jne 0x140159420
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 bl, 1
jne 0x1401594a8
lea rsi, [rsp + 0x50]
mov rcx, rsi
call fcn.14028bd70
test rax, rax
jne 0x140159496
jmp 0x1401598ef
xor ebx, ebx
mov edi, 0x62f8
lea rcx, [rsp + 0x50]
call fcn.14028bd70
test rax, rax
je 0x1401598ef
mov r13, rdx
test rdx, rdx
je 0x1401594af
mov r12, rax
movzx ecx, byte [rax]
test cl, cl
js 0x1401594db
lea rsi, [r12 + 1]
jmp 0x140159544
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [r12 + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x140159529
movzx edx, byte [r12 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x140159538
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 0x1401594af
lea rsi, [r12 + 4]
jmp 0x140159544
lea rsi, [r12 + 2]
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x140159544
lea rsi, [r12 + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r13, r12
call fcn.1402f6f80
test al, al
je 0x140159602
movzx eax, al
cmp eax, 0x11
je 0x140159602
cmp eax, 9
jne 0x1401598e7
cmp rsi, r13
je 0x14015973c
movzx ecx, byte [rsi]
test cl, cl
js 0x14015957e
inc rsi
jmp 0x1401595e3
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x1401595ca
movzx edx, byte [rsi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x1401595d8
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 0x14015973c
add rsi, 4
jmp 0x1401595e3
add rsi, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x1401595e3
add rsi, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1402f6f80
cmp al, 0xe
ja 0x1401598e7
movzx eax, al
bt rdi, rax
jb 0x140159569
jmp 0x1401598e7
cmp rsi, r13
je 0x140159753
xor r15d, r15d
mov dword [rsp + 0x48], 0
movzx eax, byte [rsi]
test al, al
js 0x140159622
inc rsi
jmp 0x140159684
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x14015966b
movzx edx, byte [rsi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x140159679
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 0x14015975e
add rsi, 4
jmp 0x140159684
add rsi, 2
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x140159684
add rsi, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov ecx, 0x5a6
xor r8d, r8d
mov edx, 0x5a6
jmp 0x14015969f
mov rdx, rcx
sub rcx, r8
jbe 0x1401598e7
shr rcx, 1
add rcx, r8
lea r9, [rcx + rcx*2]
mov r10d, dword [rbp + 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 [rbp + r9*4], eax
cmova r10d, r11d
cmp r10b, 1
je 0x140159693
movzx r8d, r10b
cmp r8d, 0xff
jne 0x1401596fb
inc rcx
mov r8, rcx
mov rcx, rdx
sub rcx, r8
ja 0x14015969f
jmp 0x1401598e7
movzx eax, byte [rbp + r9*4 + 8]
cmp eax, 1
je 0x140159713
cmp eax, 5
jne 0x140159718
mov al, 1
mov dword [rsp + 0x48], eax
jmp 0x140159731
mov r15b, 1
jmp 0x140159731
cmp rax, 0x11
ja 0x1401598e7
mov ecx, 0x260fb
bt rcx, rax
jae 0x1401598e7
cmp rsi, r13
jne 0x140159616
jmp 0x14015975e
movzx esi, byte [r13 - 1]
test sil, sil
js 0x14015977d
dec r13
cmp r13, r12
jne 0x1401597cb
jmp 0x1401597f4
mov dword [rsp + 0x48], 0
xor r15d, r15d
movzx esi, byte [r13 - 1]
test sil, sil
js 0x140159832
dec r13
cmp r13, r12
jne 0x140159880
jmp 0x1401598a5
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x1401597a6
movzx ecx, byte [r13 - 3]
cmp cl, 0xc0
jge 0x1401597af
movzx edx, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
jmp 0x1401597b6
add r13, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x1401597be
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 0x1401597f4
cmp esi, 0x110000
je 0x1401594af
mov ecx, esi
call fcn.1402f6f80
cmp al, 0xd
jne 0x14015980f
movzx esi, byte [r13 - 1]
test sil, sil
js 0x14015977d
dec r13
cmp r13, r12
jne 0x1401597cb
cmp esi, 0x110000
je 0x1401594af
mov ecx, esi
call fcn.1402f6f80
cmp al, 0xd
je 0x1401594af
mov ecx, esi
call fcn.1402f6f80
cmp al, 9
je 0x1401594af
mov ecx, esi
call fcn.1402f6f80
cmp al, 5
je 0x1401594af
jmp 0x1401598e7
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x14015985b
movzx ecx, byte [r13 - 3]
cmp cl, 0xc0
jge 0x140159864
movzx edx, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
jmp 0x14015986b
add r13, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x140159873
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 0x1401598a5
cmp esi, 0x110000
je 0x1401598e7
mov ecx, esi
call fcn.1402f6f80
cmp al, 0xd
jne 0x1401598b8
movzx esi, byte [r13 - 1]
test sil, sil
js 0x140159832
dec r13
cmp r13, r12
jne 0x140159880
cmp esi, 0x110000
je 0x1401598e7
mov ecx, esi
call fcn.1402f6f80
cmp al, 0xd
je 0x1401598e7
mov ecx, esi
call fcn.1402f6f80
cmp al, 0x11
ja 0x1401598e7
movzx eax, al
mov ecx, 0x20023
bt rcx, rax
jae 0x1401598e7
test r15b, 1
je 0x1401594af
mov eax, dword [rsp + 0x48]
and al, 1
je 0x1401594af
mov byte [rsp + 0x102], 1
movzx ebp, byte [rsp + 0x100]
lea rcx, [rsp + 0x101]
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 r13, qword [rsp + 0x300]
je 0x140159941
mov r8, qword [rsp + 0x188]
mov rcx, qword [0x1403f6548]
xor edx, edx
call fcn.140302ad4
mov r14, qword [r13 + 0x10]
test r14, r14
je 0x140159991
js 0x14015a44b
movzx eax, byte [0x1403f6a90]
mov rcx, qword [0x1403f6548]
test rcx, rcx
jne 0x140159973
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140159982
mov rcx, rax
mov qword [0x1403f6548], rax
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapAlloc
test rax, rax
jne 0x140159996
mov ecx, 1
mov rdx, r14
call fcn.1400eb190
ud2
mov eax, 1
mov rcx, qword [r13 + 0x10]
mov qword [rsp + 0x60], rcx
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0x50], xmm0
mov qword [r13], rax
mov qword [r13 + 8], r14
mov qword [r13 + 0x10], 0
mov rax, qword [rsp + 0x40]
lea rsi, [rax + 0x18]
cmp qword [rax + 0x20], 0
je 0x1401599da
mov r8, qword [rsi]
mov rcx, qword [0x1403f6548]
xor edx, edx
call fcn.140302ad4
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 r15d, 1
mov dword [rsp + 0x120], ecx
jmp 0x140159a60
mov dword [rsp + 0x120], ecx
lea rcx, [rsp + 0x50]
call fcn.14028bd70
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14015a2e4
mov rsi, rdx
test byte [rsp + 0x120], 1
mov r11d, 0x1a
je 0x140159ab6
mov rdx, qword [r13 + 0x10]
cmp rdx, qword [r13 + 8]
jne 0x140159aa7
mov rcx, r13
call fcn.140156f80
mov r11d, 0x1a
mov rdx, qword [r13 + 0x10]
mov rax, qword [r13]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [r13 + 0x10], rdx
cmp rsi, 8
jae 0x140159b90
test rsi, rsi
je 0x14015a26d
mov rax, qword [rsp + 0x30]
cmp byte [rax + rsi - 1], 0
js 0x140159bfd
mov rax, rsi
dec rax
je 0x14015a26d
mov rax, qword [rsp + 0x30]
cmp byte [rax + rsi - 2], 0
js 0x140159bfd
mov rax, rsi
add rax, 0xfffffffffffffffe
je 0x14015a26d
mov rax, qword [rsp + 0x30]
cmp byte [rax + rsi - 3], 0
js 0x140159bfd
mov rax, rsi
add rax, 0xfffffffffffffffd
je 0x14015a26d
mov rax, qword [rsp + 0x30]
cmp byte [rax + rsi - 4], 0
js 0x140159bfd
mov rax, rsi
add rax, 0xfffffffffffffffc
je 0x14015a26d
mov rax, qword [rsp + 0x30]
cmp byte [rax + rsi - 5], 0
js 0x140159bfd
mov rax, rsi
add rax, 0xfffffffffffffffb
je 0x14015a26d
mov rax, qword [rsp + 0x30]
cmp byte [rax + rsi - 6], 0
js 0x140159bfd
mov rax, rsi
add rax, 0xfffffffffffffffa
je 0x14015a26d
mov rax, qword [rsp + 0x30]
cmp byte [rax + rsi - 7], 0
js 0x140159bfd
mov rax, rsi
add rax, 0xfffffffffffffff9
jne 0x140159bfd
jmp 0x14015a26d
movabs rax, 0x8080808080808080
mov rcx, qword [rsp + 0x30]
test qword [rcx], rax
jne 0x140159bfd
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + 7]
and rax, 0xfffffffffffffff8
sub rax, rcx
mov ecx, 8
cmove rax, rcx
lea rcx, [rsi - 8]
cmp rax, rcx
jae 0x140159be4
movabs rdx, 0x8080808080808080
mov r8, qword [rsp + 0x30]
test qword [r8 + rax], rdx
jne 0x140159bfd
add rax, 8
cmp rax, rcx
jb 0x140159bc6
movabs rax, 0x8080808080808080
mov rdx, qword [rsp + 0x30]
test qword [rdx + rcx], rax
je 0x14015a26d
mov rax, qword [r13 + 8]
mov rdx, qword [r13 + 0x10]
sub rax, rdx
mov qword [rsp + 0x130], rdx
cmp rax, 3
jbe 0x140159d2c
mov rax, qword [r13]
mov dword [rax + rdx], 0x2d2d6e78
add rdx, 4
mov qword [r13 + 0x10], rdx
mov cl, 1
mov dword [rsp + 0x120], ecx
test rsi, rsi
je 0x140159a60
mov rcx, qword [rsp + 0x30]
mov r14, rcx
add r14, rsi
xor r12d, r12d
xor r8d, r8d
mov rsi, rcx
jmp 0x140159c6c
mov byte [rax + rdx], dil
inc rdx
mov qword [r13 + 0x10], rdx
inc r8d
cmp rsi, r14
je 0x140159d54
movzx edi, byte [rsi]
test dil, dil
js 0x140159c7f
inc rsi
inc r12d
jmp 0x140159d01
mov ecx, edi
and ecx, 0x1f
movzx r9d, byte [rsi + 1]
and r9d, 0x3f
cmp dil, 0xdf
jbe 0x140159cd4
mov r10d, r8d
movzx r8d, byte [rsi + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp dil, 0xf0
jb 0x140159ce2
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 0x140159d51
add rsi, 4
jmp 0x140159cef
add rsi, 2
shl ecx, 6
or ecx, r9d
mov edi, ecx
jmp 0x140159cf2
add rsi, 3
shl ecx, 0xc
or r8d, ecx
mov edi, r8d
mov r8d, r10d
inc r12d
cmp edi, 0x80
jae 0x140159c63
cmp rdx, qword [r13 + 8]
jne 0x140159c55
mov rcx, r13
mov ebx, r8d
call fcn.140156f80
mov r8d, ebx
mov r11d, 0x1a
mov rax, qword [r13]
mov rdx, qword [r13 + 0x10]
jmp 0x140159c55
mov r8d, 4
mov rcx, r13
mov rdx, qword [rsp + 0x130]
call fcn.140157160
mov r11d, 0x1a
mov rdx, qword [r13 + 0x10]
jmp 0x140159c1a
mov r8d, r10d
test r8d, r8d
je 0x140159d86
cmp rdx, qword [r13 + 8]
jne 0x140159d77
mov rcx, r13
mov esi, r8d
call fcn.140156f80
mov r8d, esi
mov r11d, 0x1a
mov rdx, qword [r13 + 0x10]
mov rax, qword [r13]
mov byte [rax + rdx], 0x2d
inc rdx
mov qword [r13 + 0x10], rdx
cmp r8d, r12d
jae 0x140159a60
mov byte [rsp + 0x3f], bpl
mov eax, pe_nt_image_headers64
mov ebx, 0x48
mov ecx, r8d
xor r8d, r8d
mov dword [rsp + 0x38], ecx
mov esi, ecx
mov qword [rsp + 0x110], r14
mov dword [rsp + 0x118], r12d
mov rcx, qword [rsp + 0x30]
jmp 0x140159dcc
inc rcx
cmp eax, ebp
jbe 0x140159e61
cmp rcx, r14
je 0x14015a3fe
movzx ebp, byte [rcx]
test bpl, bpl
jns 0x140159dc1
mov edx, ebp
and edx, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp bpl, 0xdf
jbe 0x140159e2f
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp bpl, 0xf0
jb 0x140159e3d
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 0x14015a3fe
add rcx, 4
jmp 0x140159dc4
add rcx, 2
shl edx, 6
or edx, r10d
mov ebp, edx
jmp 0x140159dc4
add rcx, 3
shl edx, 0xc
or r9d, edx
mov ebp, r9d
jmp 0x140159dc4
inc rcx
cmp ebp, edx
mov r9d, edx
cmovb r9d, ebp
cmp edx, eax
cmovae ebp, r9d
cmp rcx, r14
je 0x140159efa
movzx edx, byte [rcx]
test dl, dl
jns 0x140159e4f
mov r9d, edx
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x140159ec8
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x140159ee1
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 0x140159efa
add rcx, 4
jmp 0x140159e52
add rcx, 2
shl r9d, 6
or r9d, r11d
mov edx, r9d
mov r11d, 0x1a
jmp 0x140159e52
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
mov r11d, 0x1a
jmp 0x140159e52
mov ecx, esi
inc ecx
je 0x14015a3b7
mov r9d, ebp
sub r9d, eax
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp r9d, eax
ja 0x14015a23a
mov edx, r9d
imul edx, ecx
add edx, r8d
mov dword [rsp + 0x40], edx
mov rdi, qword [rsp + 0x30]
jmp 0x140159f41
mov r9d, esi
mov r8d, dword [rsp + 0x40]
cmp rdi, r14
je 0x14015a21b
movzx eax, byte [rdi]
test al, al
js 0x140159f4d
inc rdi
jmp 0x140159faf
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x140159f96
movzx edx, byte [rdi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x140159fa4
movzx eax, byte [rdi + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
je 0x14015a230
add rdi, 4
jmp 0x140159faf
add rdi, 2
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x140159faf
add rdi, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, ebp
jae 0x140159fbd
inc dword [rsp + 0x40]
je 0x14015a23a
cmp eax, ebp
jne 0x140159f30
mov qword [rsp + 0x128], rdi
mov dword [rsp + 0x48], esi
lea edi, [rbx + 0x1a]
lea ecx, [rbx - 0x24]
neg ecx
cmp edi, 0x25
cmovb ecx, r11d
cmp ebx, 0x24
cmovae ecx, r15d
mov eax, dword [rsp + 0x40]
mov esi, eax
cmp eax, ecx
jae 0x14015a0ac
mov edx, 0x61
cmp esi, 0x1a
jb 0x14015a00d
mov edx, 0x16
cmp esi, 0x24
jae 0x14015a3e4
add edx, esi
mov rcx, r13
call fcn.140157040
mov eax, dword [rsp + 0x48]
mov r9d, eax
inc r9d
mov esi, 0xd41d41d5
mov rdi, qword [rsp + 0x128]
je 0x14015a320
cmp eax, dword [rsp + 0x38]
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 r12d, dword [rsp + 0x118]
jb 0x14015a1e5
xor ecx, ecx
mov r11d, 0x1a
nop dword [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 0x14015a080
jmp 0x14015a1f0
mov r12d, ebx
neg r12d
mov r14d, 0x48
mov esi, dword [rsp + 0x40]
jmp 0x14015a0f5
mov rax, qword [r15]
mov byte [rax + rdx], r13b
inc rdx
mov r13, r15
mov r15d, 1
lea ecx, [r12 + r14]
cmp r14d, edi
cmovae ecx, r11d
cmp r14d, ebx
cmovbe ecx, r15d
mov qword [r13 + 0x10], rdx
add r14d, 0x24
cmp esi, ecx
jb 0x140159ff5
mov r8d, ecx
sub r8d, 0x24
je 0x14015a2ca
sub esi, ecx
neg r8d
mov eax, esi
xor edx, edx
div r8d
add edx, ecx
mov r13d, 0x61
mov esi, eax
cmp edx, 0x1a
jb 0x14015a12c
mov r13d, 0x16
cmp edx, 0x24
jae 0x14015a3e4
add r13d, edx
cmp r13d, 0x80
jae 0x14015a170
mov r15, qword [rsp + 0x300]
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15 + 8]
jne 0x14015a0c0
mov rcx, r15
call fcn.140156f80
mov r11d, 0x1a
mov rdx, qword [r15 + 0x10]
jmp 0x14015a0c0
mov rcx, qword [rsp + 0x300]
mov rax, qword [rcx + 8]
mov rdx, qword [rcx + 0x10]
sub rax, rdx
cmp rax, 1
jbe 0x14015a1bd
movzx eax, r13w
mov ecx, eax
shr ecx, 6
mov r13, qword [rsp + 0x300]
mov r8, qword [r13]
and eax, 0x3f
shl eax, 8
movzx ecx, cx
or ecx, eax
or ecx, 0x80c0
mov word [r8 + rdx], cx
add rdx, 2
jmp 0x14015a0d3
mov r8d, 2
mov r15, qword [rsp + 0x300]
mov rcx, r15
call fcn.140157160
mov r11d, 0x1a
mov rdx, qword [r15 + 0x10]
mov r15d, 1
jmp 0x14015a189
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 ebx, ax
add ebx, ecx
mov dword [rsp + 0x40], r8d
mov esi, r9d
cmp rdi, r14
jne 0x140159f41
inc r8d
inc ebp
mov esi, r9d
mov eax, ebp
cmp r9d, r12d
jb 0x140159dba
jmp 0x14015a2ac
mov r9d, esi
mov r8d, dword [rsp + 0x40]
jmp 0x14015a21b
mov rax, qword [r13 + 0x10]
mov bpl, 1
mov cl, 1
mov rsi, qword [rsp + 0x130]
cmp rax, rsi
jb 0x140159a59
test rsi, rsi
je 0x14015a29a
cmp rax, rsi
jbe 0x14015a29a
mov rax, qword [r13]
cmp byte [rax + rsi], 0xbf
jg 0x14015a29a
jmp 0x14015a431
mov rax, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
sub rax, r15
cmp rax, rsi
jb 0x14015a2b6
mov rcx, qword [r13]
add rcx, r15
mov rdx, qword [rsp + 0x30]
mov r8, rsi
call sub.msvcrt.dll_memcpy
add rsi, r15
mov r15d, 1
mov qword [r13 + 0x10], rsi
mov cl, 1
mov dword [rsp + 0x120], ecx
jmp 0x140159a60
movzx ebp, byte [rsp + 0x3f]
jmp 0x140159a60
mov rcx, r13
mov rdx, r15
mov r8, rsi
call fcn.140157160
mov r15, qword [r13 + 0x10]
jmp 0x14015a27d
lea rcx, [0x14032b760]
lea r8, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_idna_0.4.0_src_punycode.rs
mov edx, 0x39
call fcn.140137ef0
ud2
mov rcx, qword [rsp + 0x180]
mov byte [rcx], bpl
mov rax, qword [rsp + 0x138]
mov qword [rcx + 1], rax
mov eax, dword [rsp + 0x13f]
mov dword [rcx + 8], eax
jmp 0x1401582a5
lea r8, [0x14032b688]
mov edx, 4
mov rcx, r9
call fcn.140137b60
ud2
lea rcx, str.attempt_to_divide_by_zero_Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_tinyvec_1.6.0_src_arrayvec.rs
lea r8, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_idna_0.4.0_src_punycode.rs
mov edx, 0x19
call fcn.140137ef0
ud2
lea r8, [0x14032b688]
mov edx, 4
mov rcx, rax
call fcn.140137b60
ud2
lea r8, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_unicode_normalization_0.1.22_src_lookups.rs
mov edx, 0xd4e
call fcn.140136e60
ud2
lea r8, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_unicode_normalization_0.1.22_src_lookups.rs
mov rcx, rsi
call fcn.140137b60
ud2
lea r8, str.PP__
mov edx, 0x1667
call fcn.140136e60
ud2
lea r8, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_unicode_normalization_0.1.22_src_lookups.rs
mov rcx, rsi
call fcn.140137b60
ud2
lea rcx, str.attempt_to_divide_by_zero_Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_tinyvec_1.6.0_src_arrayvec.rs
lea r8, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_idna_0.4.0_src_punycode.rs
mov edx, 0x19
call fcn.140137ef0
ud2
lea r8, [0x14032b688]
mov edx, 4
call fcn.140137b60
ud2
lea rcx, str.explicit_panic
lea r8, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_idna_0.4.0_src_punycode.rs
mov edx, 0xe
call fcn.140137ef0
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_idna_0.4.0_src_punycode.rs
mov edx, 0x2b
call fcn.140137ef0
ud2
lea rax, str._Users_sh1n_.cargo_registry_src_rsproxy.cn_8f6827c7555bfaf8_idna_0.4.0_src_uts46.rs
mov qword [rsp + 0x20], rax
mov rcx, r15
mov r9, rdx
call fcn.14013fdc0
ud2
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_oy_
lea r8, [0x1403d7be0]
mov edx, 0x30
call fcn.140137ef0
ud2
call fcn.1400eb150
ud2