Function at 0x1400bae50
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 0x1400bb01e
lea rax, [r14 + rsi]
xor edx, edx
movdqa xmm0, xmmword [0x14011c200]
mov rcx, r14
jmp 0x1400baf0f
xor r9d, r9d
mov rdx, r9
cmp rcx, rax
je 0x1400bbd7b
movzx r10d, byte [rcx]
test r10b, r10b
js 0x1400baf30
inc rcx
mov r8d, r10d
cmp r8d, 0x2e
jne 0x1400bafc0
jmp 0x1400baf00
mov r8d, r10d
and r8d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r10b, 0xdf
jbe 0x1400baf89
movzx r9d, byte [rcx + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x1400baf9f
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 0x1400bafc0
jmp 0x1400baf00
add rcx, 2
shl r8d, 6
or r8d, r11d
cmp r8d, 0x2e
jne 0x1400bafc0
jmp 0x1400baf00
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov r8d, r9d
cmp r8d, 0x2e
je 0x1400baf00
nop word [rax + rax]
cmp r8d, 0x110000
je 0x1400bbd7b
test rdx, rdx
jne 0x1400bafd8
cmp r8d, 0x2d
je 0x1400bb01e
mov r9d, 5
cmp rdx, 4
ja 0x1400bb003
movdqa xmmword [rsp + 0x50], xmm0
je 0x1400bbeae
cmp r8d, dword [rsp + rdx*4 + 0x50]
jne 0x1400bb003
inc rdx
mov r9, rdx
cmp rdx, 4
je 0x1400bb01e
lea edx, [r8 - 0x61]
cmp edx, 0x1a
jb 0x1400baf03
add r8d, 0xffffffd0
cmp r8d, 0xa
jb 0x1400baf03
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, [0x14013e588]
mov r13d, 0xff
lea r14, [0x140142058]
xor edx, edx
mov ebx, dword [rsp + 0xd0]
mov rbp, qword [rsp + 0xd8]
test ebx, ebx
je 0x1400bb1c0
test rdx, rdx
je 0x1400bb27b
mov rcx, qword [rsp + 0xe8]
cmp rdx, 1
jne 0x1400bbcc1
cmp rax, rcx
jb 0x1400bbd00
mov qword [rsp + 0xe8], 0
jmp 0x1400bb204
test rdx, rdx
je 0x1400bb27b
movzx r8d, word [rsp + 0xd4]
movzx ecx, r8w
cmp rdx, 1
jne 0x1400bbccb
cmp r8w, 4
ja 0x1400bddcb
cmp rax, rcx
jb 0x1400bbcf8
test r8w, r8w
je 0x1400bb204
mov word [rsp + 0xd4], 0
mov qword [rsp + 0x50], 0
jmp 0x1400bb27b
mov edi, esi
mov eax, 0xdee95c4d
imul rdi, rax
shr rdi, 0x29
lea edx, [rdi + 0x1100]
mov rcx, r12
call fcn.1400beac0
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.1400beac0
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 0x1400bb27b
add esi, 0x11a7
mov edx, esi
mov rcx, r12
call fcn.1400beac0
mov r9, qword [rsp + 0xc0]
test r9, r9
jne 0x1400bb610
movzx r10d, byte [rsp + 0xb0]
cmp r10b, 2
je 0x1400bb811
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 0x1400bb37a
cmp r8, rbx
je 0x1400bb36e
lea rcx, [r8 + 1]
mov qword [rsp + 0xa0], rcx
movzx edx, byte [r8]
test dl, dl
jns 0x1400bb671
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 0x1400bbbb9
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 0x1400bbbc5
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.0x1400bb563.0
mov qword [rsp + 0xa0], 0
cmp rbp, r11
je 0x1400bb809
lea rdx, [rbp + 1]
mov qword [rsp + 0x88], rdx
movzx ecx, byte [rbp]
test cl, cl
js 0x1400bb3b0
mov rbp, rdx
mov edx, ecx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x1400bb460
jmp 0x1400bb671
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 0x1400bb428
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 0x1400bb43e
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 0x1400bb460
jmp 0x1400bb671
shl edx, 6
or edx, r9d
mov rbp, r8
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x1400bb460
jmp 0x1400bb671
shl edx, 0xc
or r8d, edx
mov rbp, rdi
mov edx, r8d
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jb 0x1400bb671
nop word cs:[rax + rax]
cmp edx, 0x110000
je 0x1400bb809
lea ecx, [rdx - 0x61]
cmp ecx, 0x1a
jb 0x1400bb671
lea ecx, [rdx - 0x30]
cmp ecx, 0xa
jb 0x1400bb671
mov r8d, 0x75a
xor r9d, r9d
mov ecx, 0x75a
jmp 0x1400bb4a8
mov rcx, r8
sub r8, r9
jbe 0x1400bb4dd
shr r8, 1
add r8, r9
xor edi, edi
cmp dword [r15 + r8*8], edx
setne dil
cmovb edi, r13d
cmp dil, 1
je 0x1400bb4a0
movzx r9d, dil
cmp r9d, 0xff
jne 0x1400bb4f0
inc r8
mov r9, r8
mov r8, rcx
sub r8, r9
ja 0x1400bb4a8
dec r9
mov r8, r9
cmp r9, 0x759
ja 0x1400bbe46
movzx edi, word [r15 + r8*8 + 4]
mov ecx, edi
and ecx, 0x7fff
movzx r9d, cx
test di, di
js 0x1400bb530
movzx ecx, word [r15 + r8*8]
mov r8d, edx
sub r8w, cx
add r8d, r9d
movzx ecx, r8w
cmp ecx, 0x1f73
jb 0x1400bb53d
jmp 0x1400bbe60
cmp r9d, 0x1f73
jae 0x1400bbe73
movzx r9d, byte [r14 + rcx*4]
mov r8d, 0
cmp r9d, 1
je case.default.0x1400bb563
mov r8d, r9d
lea r9, [0x14011c6f0]
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 0x1400bb872
mov rdx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x78]
cmp rcx, rax
jb 0x1400bb88d
jmp 0x1400bbe86
cmp edx, 0x110000
je 0x1400bb809
cmp byte [rsp + 0xc8], 0
je 0x1400bb73b
cmp edx, 0x80
jb 0x1400bb273
lea esi, [rdx - 0xac00]
cmp esi, 0x2ba4
jb 0x1400bb20f
imul ecx, edx, 0x9e3779b9
imul eax, edx, 0x31415926
xor ecx, eax
imul r8, rcx, 0xee4
shr r8, 0x1f
and r8d, 0xfffffffe
lea r9, [0x140166378]
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, [0x140168140]
mov rsi, qword [r8 + r9]
cmp edx, esi
jne 0x1400bbb10
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0x1667
ja 0x1400bdd8d
shr rsi, 0x30
mov edx, 0x1667
sub rdx, rcx
cmp rdx, rsi
jb 0x1400bdda0
lea rax, [0x14016f860]
lea rbx, [rax + rcx*4]
test rsi, rsi
jne 0x1400bbb90
jmp 0x1400bb27b
cmp edx, 0x80
jb 0x1400bb273
lea esi, [rdx - 0xac00]
cmp esi, 0x2ba4
jb 0x1400bb20f
imul eax, edx, 0x9e3779b9
imul ecx, edx, 0x31415926
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea r8, [0x14015dd20]
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, [0x14015ed3c]
mov rsi, qword [rcx + rax*8]
cmp edx, esi
jne 0x1400bb273
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4e
ja 0x1400bdd69
shr rsi, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rsi
jb 0x1400bdd7c
test rsi, rsi
je 0x1400bb27b
lea rax, [0x140162da4]
lea rdi, [rax + rcx*4]
shl rsi, 2
xor ebx, ebx
nop dword [rax]
mov edx, dword [rdi + rbx]
mov rcx, r12
call fcn.1400beac0
add rbx, 4
cmp rsi, rbx
jne 0x1400bb7f0
jmp 0x1400bb27b
mov byte [rsp + 0xb0], 2
cmp dword [rsp + 0x60], 0
je 0x1400bb827
mov rax, qword [rsp + 0x78]
test rax, rax
jne 0x1400bb835
jmp 0x1400bbc50
movzx eax, word [rsp + 0x64]
test rax, rax
je 0x1400bbc50
mov rcx, r12
call fcn.1400be1d0
mov r8d, dword [rsp + 0x60]
test r8d, r8d
je 0x1400bb84e
mov r9, qword [rsp + 0x78]
jmp 0x1400bb854
movzx r9d, word [rsp + 0x64]
lea r10, [rsp + 0x68]
mov qword [rsp + 0xc0], r9
mov rcx, qword [rsp + 0xb8]
test r8d, r8d
jne 0x1400bb62b
movzx eax, word [rsp + 0x64]
cmp rax, 5
jae 0x1400bdd39
mov rdx, r10
cmp rcx, rax
jae 0x1400bbe86
mov ebp, dword [rdx + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x1400bb950
test r8d, r8d
je 0x1400bb95a
mov rdx, qword [rsp + 0x78]
sub rdx, r9
je 0x1400bb968
xor ecx, ecx
jmp 0x1400bb8e3
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 0x1400bb97b
mov rax, qword [rsp + 0xc0]
add rax, rcx
cmp dword [rsp + 0x60], 0
je 0x1400bb920
mov r9, qword [rsp + 0x78]
cmp rax, r9
jae 0x1400bbe21
mov r8, qword [rsp + 0x68]
cmp rcx, r9
jb 0x1400bb8c0
jmp 0x1400bbe35
movzx r9d, word [rsp + 0x64]
cmp r9, 5
jae 0x1400bdd04
cmp rax, r9
jae 0x1400bbe21
mov r8, r10
cmp rcx, r9
jb 0x1400bb8c0
jmp 0x1400bbe35
mov qword [rsp + 0xb8], rcx
jmp 0x1400bb9ab
movzx edx, word [rsp + 0x64]
sub rdx, r9
jne 0x1400bb8b4
test r8d, r8d
je 0x1400bb985
cmp qword [rsp + 0x78], rdx
jb 0x1400bb9a0
mov qword [rsp + 0x78], rdx
jmp 0x1400bb9a0
mov r8d, dword [rsp + 0x60]
test r8d, r8d
jne 0x1400bb96d
movzx eax, word [rsp + 0x64]
cmp rdx, rax
jae 0x1400bb9a0
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, [0x14015a344]
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, [0x14015aa78]
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 0x1400bba30
test bl, bl
jne 0x1400bbc40
mov dword [rsp + 0xf0], ebp
jmp 0x1400bb27b
cmp byte [rsp + 0xf4], 0
je 0x1400bba5f
cmp byte [rsp + 0xf5], bl
jae 0x1400bba7c
mov ecx, esi
mov edx, ebp
call fcn.14010a5c0
cmp eax, 0x110000
je 0x1400bba84
mov dword [rsp + 0xf0], eax
jmp 0x1400bb27b
mov ecx, esi
mov edx, ebp
call fcn.14010a5c0
cmp eax, 0x110000
jne 0x1400bbb04
test bl, bl
jne 0x1400bba84
jmp 0x1400bbcb5
test bl, bl
je 0x1400bbc8f
cmp dword [rsp + 0xd0], 0
je 0x1400bbacd
mov rdx, qword [rsp + 0xe8]
cmp rdx, qword [rsp + 0xe0]
jne 0x1400bbab5
lea rcx, [rsp + 0xd8]
call fcn.1400beca0
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xd8]
mov dword [rax + rdx*4], ebp
inc rdx
mov qword [rsp + 0xe8], rdx
jmp 0x1400bbaf0
movzx eax, word [rsp + 0xd4]
cmp rax, 3
ja 0x1400bbbd3
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 0x1400bb27b
mov dword [rsp + 0xf0], eax
jmp 0x1400bb27b
imul rcx, rcx, 0x80d
shr rcx, 0x20
lea r8, [0x14015dd20]
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, [0x14015ed3c]
mov rsi, qword [rcx + rax*8]
cmp edx, esi
jne 0x1400bb273
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4e
ja 0x1400bdd69
shr rsi, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rsi
jb 0x1400bdd7c
lea rax, [0x140162da4]
lea rbx, [rax + rcx*4]
test rsi, rsi
je 0x1400bb27b
shl rsi, 2
xor edi, edi
nop word cs:[rax + rax]
mov edx, dword [rbx + rdi]
mov rcx, r12
call fcn.1400beac0
add rdi, 4
cmp rsi, rdi
jne 0x1400bbba0
jmp 0x1400bb27b
shl ecx, 6
or ecx, edi
mov edx, ecx
jmp 0x1400bb671
shl ecx, 0xc
or r9d, ecx
mov edx, r9d
jmp 0x1400bb671
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0xd4]
mov r8d, ebp
call fcn.1400bed70
cmp dword [rsp + 0xd0], 0
je 0x1400bbc16
cmp qword [rsp + 0xe0], 0
je 0x1400bbc16
mov r8, qword [rsp + 0xd8]
mov rcx, qword [0x140189110]
xor edx, edx
call fcn.14011631c
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 0x1400bbaf0
mov esi, ebp
jmp 0x1400bbd60
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 0x1400bb17a
mov dword [rsp + 0xf0], 0x110000
jmp 0x1400bbd60
mov dword [rsp + 0xf0], ebp
mov byte [rsp + 0xf4], 0
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], 0
jmp 0x1400bbd60
mov dword [rsp + 0xf0], ebp
jmp 0x1400bbd60
cmp rax, rcx
jae 0x1400bbd17
mov rdx, rbp
jmp 0x1400bbce2
cmp cx, 5
jae 0x1400bddcb
lea rdx, [rsp + 0xd8]
cmp rax, rcx
jae 0x1400bbd25
mov esi, dword [rdx + rax*4]
inc rax
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x58], rax
jmp 0x1400bbd60
lea rbp, [rsp + 0xd8]
mov esi, dword [rbp + rax*4]
inc rax
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], rax
jmp 0x1400bbd60
mov qword [rsp + 0xe8], 0
jmp 0x1400bbd35
test r8w, r8w
je 0x1400bbd35
mov word [rsp + 0xd4], 0
mov esi, dword [rsp + 0xf0]
mov dword [rsp + 0xf0], 0x110000
cmp esi, 0x110000
je 0x1400bbec6
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0x48]
mov edx, esi
call fcn.1400bab60
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
jmp 0x1400bb17a
mov rax, qword [r15 + 8]
mov rbx, qword [r15 + 0x10]
sub rax, rbx
cmp rax, rsi
jb 0x1400bbe97
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, [0x14013e240]
mov rcx, rax
mov rdx, r9
call fcn.140085ca0
ud2
lea r8, [0x14013e258]
mov rdx, r9
call fcn.140085ca0
ud2
lea r8, str._Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov edx, 0x75a
mov rcx, 0xffffffffffffffff
call fcn.140085ca0
ud2
lea r8, str._Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov edx, 0x1f73
call fcn.140085ca0
ud2
lea r8, str._Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov edx, 0x1f73
call fcn.140085ca0
ud2
lea r8, [0x14013e228]
mov rdx, rax
call fcn.140085ca0
ud2
mov rcx, r15
mov rdx, rbx
mov r8, rsi
call fcn.1400bac80
mov rbx, qword [r15 + 0x10]
jmp 0x1400bbd8f
lea r8, str._Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov ecx, 4
mov edx, 4
call fcn.140085ca0
ud2
cmp dword [rsp + 0x60], 0
je 0x1400bbee8
cmp qword [rsp + 0x70], 0
je 0x1400bbee8
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x140189110]
xor edx, edx
call fcn.14011631c
test ebx, ebx
mov r15, qword [rsp + 0x300]
je 0x1400bbf10
cmp qword [rsp + 0xe0], 0
je 0x1400bbf10
mov rcx, qword [0x140189110]
xor edx, edx
mov r8, rbp
call fcn.14011631c
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, [0x140155f7c]
mov r12d, 0xff
movdqa xmm11, xmmword [0x14011c250]
movdqa xmm12, xmmword [0x14011c260]
movdqa xmm13, xmmword [0x14011c270]
movdqa xmm14, xmmword [0x14011c280]
movdqa xmm15, xmmword [0x14011c290]
movdqa xmm7, xmmword [0x14011c2a0]
movdqa xmm8, xmmword [0x14011c2b0]
movdqa xmm9, xmmword [0x14011c2c0]
movdqa xmm10, xmmword [0x14011c2d0]
jmp 0x1400bc063
xor eax, eax
mov qword [rsp + 0x38], rax
mov rcx, r14
mov rdx, rsi
mov r8, rbx
lea r9, [rsp + 0x100]
call fcn.1400bf790
mov rax, qword [r15 + 8]
mov r13, qword [r15 + 0x10]
sub rax, r13
cmp rax, rsi
jb 0x1400bc5a8
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.1400bde50
test rax, rax
je 0x1400bcee5
mov r14, rax
mov rsi, rdx
test dil, 1
jne 0x1400bc0a9
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15 + 8]
jne 0x1400bc09b
mov rcx, r15
call fcn.1400baaa0
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 0x1400bc0cb
mov eax, dword [r14]
bswap eax
xor ecx, ecx
xor edx, edx
cmp eax, 0x786e2d2d
setb cl
seta dl
cmp ecx, edx
je 0x1400bc217
test byte [rsp + 0x38], 1
jne 0x1400bc019
test rsi, rsi
je 0x1400bc012
mov rax, r14
add rax, rsi
mov rcx, r14
jmp 0x1400bc0f3
cmp rcx, rax
je 0x1400bc012
movzx edx, byte [rcx]
test dl, dl
js 0x1400bc0ff
inc rcx
jmp 0x1400bc172
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x1400bc154
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x1400bc164
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 0x1400bc012
add rcx, 4
jmp 0x1400bc172
add rcx, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
jmp 0x1400bc172
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x1400bc0ea
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x1400bc1ac
mov r9, r8
sub r8, r10
jbe 0x1400bc0ea
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 0x1400bc1a0
movzx r10d, dil
cmp r10d, 0xff
jne 0x1400bc1f0
inc r8
mov r10, r8
mov r8, r9
sub r8, r10
ja 0x1400bc1ac
jmp 0x1400bc0ea
movzx edx, byte [rbp + r11*4 + 8]
cmp rdx, 0x11
ja 0x1400bc0ea
mov r8d, 0x20003
bt r8, rdx
jae 0x1400bc0ea
mov al, 1
jmp 0x1400bc014
add r14, 4
add rsi, 0xfffffffffffffffc
lea rcx, [rsp + 0x1b8]
lea rdx, [rsp + 0x188]
mov r8, r14
mov r9, rsi
call fcn.1400b9a50
mov rbx, qword [rsp + 0x1b8]
test rbx, rbx
je 0x1400bc58d
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 0x1400bce0e
mov qword [rsp + 0x128], r12
cmp r13, qword [rsp + 0x130]
jb 0x1400bc360
cmp rbx, rdi
je 0x1400bc557
movzx r8d, byte [rbx]
test r8b, r8b
js 0x1400bc2dc
inc rbx
movzx esi, r8b
inc r15
jmp 0x1400bc426
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rbx + 1]
and r9d, 0x3f
cmp r8b, 0xdf
jbe 0x1400bc332
movzx edx, byte [rbx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400bc33b
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 0x1400bc557
add rbx, 4
mov rcx, rbx
jmp 0x1400bc3e1
add rbx, 2
jmp 0x1400bc403
add rbx, 3
jmp 0x1400bc414
mov rax, qword [r14]
mov byte [rax + rdx], sil
inc rdx
mov qword [r14 + 0x10], rdx
cmp r13, qword [rsp + 0x130]
jae 0x1400bc2bb
mov rax, r13
shl rax, 4
cmp qword [r12 + rax], r15
jne 0x1400bc380
inc r13
mov esi, dword [r12 + rax + 8]
jmp 0x1400bc41b
mov rcx, rbx
mov rbx, rdi
cmp rcx, rdi
je 0x1400bc380
movzx r8d, byte [rcx]
test r8b, r8b
jns 0x1400bc3f1
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rcx + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x1400bc3fc
movzx edx, byte [rcx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400bc40d
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 0x1400bc380
mov rbx, rcx
cmp esi, 0x110000
jne 0x1400bc41b
jmp 0x1400bc557
inc rcx
mov rbx, rcx
jmp 0x1400bc2d0
add rcx, 2
mov rbx, rcx
shl eax, 6
or eax, r9d
mov esi, eax
jmp 0x1400bc41b
add rcx, 3
mov rbx, rcx
shl eax, 0xc
or eax, edx
mov esi, eax
inc r15
cmp esi, 0x80
jae 0x1400bc44d
mov r14, qword [rsp + 0x300]
mov rdx, qword [r14 + 0x10]
cmp rdx, qword [r14 + 8]
jne 0x1400bc344
mov rcx, r14
call fcn.1400baaa0
mov rdx, qword [r14 + 0x10]
jmp 0x1400bc344
mov dword [rsp + 0x50], 0
mov eax, esi
cmp esi, 0x800
jae 0x1400bc47c
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 0x1400bc4e3
cmp esi, 0x10000
jae 0x1400bc4ae
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 0x1400bc4e3
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 0x1400bc53a
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 0x1400bc2bb
jmp 0x1400bc360
mov r12, qword [rsp + 0x300]
mov rcx, r12
mov rdx, r14
mov r8, rsi
call fcn.1400bac80
mov r14, qword [r12 + 0x10]
jmp 0x1400bc4fb
mov rax, qword [rsp + 0x300]
mov r15, qword [rax]
mov rdx, qword [rax + 0x10]
mov r8, qword [rsp + 0x118]
test r8, r8
je 0x1400bc5bf
mov rsi, rdx
sub rsi, r8
mov r12d, 0xff
jbe 0x1400bc5ca
cmp byte [r15 + r8], 0xbf
jg 0x1400bc5d0
jmp 0x1400bde12
mov byte [rsp + 0x100], 1
mov al, 1
mov qword [rsp + 0x38], rax
mov rbx, qword [rsp + 0x40]
xor edi, edi
jmp 0x1400bc063
mov rcx, r15
mov rdx, r13
mov r8, rsi
call fcn.1400bac80
mov r13, qword [r15 + 0x10]
jmp 0x1400bc043
mov rsi, rdx
mov r12d, 0xff
jmp 0x1400bc5d0
jne 0x1400bde12
add r15, r8
test byte [rsp + 0x38], 1
jne 0x1400bc698
test rsi, rsi
je 0x1400bc691
lea rdi, [r15 + rsi]
mov rbx, r15
jmp 0x1400bc5f9
cmp rbx, rdi
je 0x1400bc691
movzx ecx, byte [rbx]
test cl, cl
js 0x1400bc605
inc rbx
jmp 0x1400bc666
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbx + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x1400bc64d
movzx edx, byte [rbx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x1400bc65b
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 0x1400bc691
add rbx, 4
jmp 0x1400bc666
add rbx, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x1400bc666
add rbx, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x1400bc5f0
call fcn.14010a4e0
cmp al, 0x11
ja 0x1400bc5f0
movzx eax, al
mov ecx, 0x20003
bt rcx, rax
jae 0x1400bc5f0
mov al, 1
jmp 0x1400bc693
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 0x1400bc6fd
mov r15, qword [rsp + 0x300]
mov rbx, qword [rsp + 0x40]
xor edi, edi
jmp 0x1400bc063
test rsi, rsi
je 0x1400bceb0
lea rbx, [r15 + rsi]
xor edi, edi
xor r12d, r12d
mov r14, r15
movzx edx, byte [r14]
test dl, dl
js 0x1400bc722
inc r14
jmp 0x1400bc7aa
mov eax, edx
and eax, 0x1f
movzx r8d, byte [r14 + 1]
and r8d, 0x3f
cmp dl, 0xe0
jb 0x1400bc774
movzx ecx, byte [r14 + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x1400bc783
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 0x1400bcc9b
add r14, 4
jmp 0x1400bc78f
add r14, 2
shl eax, 6
or eax, r8d
mov r13d, eax
jmp 0x1400bc78f
add r14, 3
shl eax, 0xc
or ecx, eax
mov r13d, ecx
cmp r13d, 0x7f
jbe 0x1400bc7aa
jmp 0x1400bc82f
inc r14
cmp r13d, 0x80
jae 0x1400bc82d
cmp r14, rbx
je 0x1400bcc9b
movzx r13d, byte [r14]
test r13b, r13b
jns 0x1400bc79a
mov eax, r13d
and eax, 0x1f
movzx edx, byte [r14 + 1]
and edx, 0x3f
cmp r13b, 0xdf
jbe 0x1400bc80e
movzx ecx, byte [r14 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r13b, 0xf0
jb 0x1400bc81c
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 0x1400bcc9b
add r14, 4
jmp 0x1400bc79d
add r14, 2
shl eax, 6
or eax, edx
mov r13d, eax
jmp 0x1400bc79d
add r14, 3
shl eax, 0xc
or ecx, eax
mov r13d, ecx
jmp 0x1400bc79d
xor edi, edi
mov ecx, r13d
call fcn.14010a560
cmp dil, al
jbe 0x1400bc844
test al, al
jne case.0x1400bc9f6.3907
lea ecx, [r13 - 0x340]
cmp ecx, 4
ja 0x1400bc859
cmp ecx, 2
jne case.0x1400bc9f6.3907
cmp r13d, 0xd56
jg 0x1400bc8bf
cmp r13d, 0x9de
jg 0x1400bc905
cmp r13d, 0x93b
jg 0x1400bca24
lea ecx, [r13 - 0x30f]
cmp ecx, 0x36
ja 0x1400bc89c
movabs rdx, 0x48020000001005
bt rdx, rcx
jb 0x1400bcb1a
lea ecx, [r13 - 0x374]
cmp ecx, 0x13
ja case.0x1400bc9f6.3908
mov edx, 0x80401
bt edx, ecx
jb case.0x1400bc9f6.3907
jmp case.0x1400bc9f6.3908
cmp r13d, 0x11126
jg 0x1400bc96b
cmp r13d, 0x102d
jle 0x1400bc9b1
cmp r13d, 0x1f70
jg 0x1400bca7c
cmp r13d, 0x102e
je 0x1400bcb1a
cmp r13d, 0x1b35
je 0x1400bcb1a
jmp case.0x1400bc9f6.3908
cmp r13d, 0xbd6
jg 0x1400bc9f8
cmp r13d, 0xbbd
jg 0x1400bcb11
lea ecx, [r13 - 0xb3e]
cmp ecx, 0x19
ja 0x1400bc939
mov edx, 0x3000001
bt edx, ecx
jb 0x1400bcb1a
lea ecx, [r13 - 0xa33]
cmp ecx, 0x2b
ja 0x1400bc959
movabs rdx, 0x80000000009
bt rdx, rcx
jb case.0x1400bc9f6.3907
cmp r13d, 0x9df
jne case.0x1400bc9f6.3908
jmp case.0x1400bc9f6.3907
cmp r13d, 0x114af
jle 0x1400bca50
lea ecx, [r13 - 0x114b0]
cmp ecx, 0xd
ja 0x1400bc992
mov edx, 0x2401
bt edx, ecx
jb 0x1400bcb1a
cmp r13d, 0x115af
je 0x1400bcb1a
cmp r13d, 0x11930
je 0x1400bcb1a
jmp case.0x1400bc9f6.3908
lea ecx, [r13 - 0xdca]
cmp ecx, 0x15
ja 0x1400bc9cb
mov edx, 0x200021
bt edx, ecx
jb 0x1400bcb1a
cmp r13d, 0xd57
je 0x1400bcb1a
lea ecx, [r13 - 0xf43]
cmp ecx, 0x76
ja case.0x1400bc9f6.3908
lea rdx, [0x14011c2e0]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp r13d, 0xcc1
jg 0x1400bcad5
cmp r13d, 0xbd7
je 0x1400bcb1a
cmp r13d, 0xc56
je 0x1400bcb1a
jmp case.0x1400bc9f6.3908
cmp r13d, 0x93c
je 0x1400bcb1a
cmp r13d, 0x9be
je 0x1400bcb1a
cmp r13d, 0x9d7
je 0x1400bcb1a
jmp case.0x1400bc9f6.3908
cmp r13d, 0x11127
je 0x1400bcb1a
cmp r13d, 0x1133e
je 0x1400bcb1a
cmp r13d, 0x11357
je 0x1400bcb1a
jmp case.0x1400bc9f6.3908
cmp r13d, 0xfa0f
jle 0x1400bcae9
cmp r13d, 0x110ba
je 0x1400bcb1a
lea ecx, [r13 - 0xfa10]
cmp ecx, 0x12
ja 0x1400bcaac
mov edx, 0x50005
bt edx, ecx
jb case.0x1400bc9f6.3907
lea ecx, [r13 - 0xfb1d]
cmp ecx, 0x21
ja case.0x1400bc9f6.3908
movabs rdx, 0x200000005
bt rdx, rcx
jb case.0x1400bc9f6.3907
jmp case.0x1400bc9f6.3908
cmp r13d, 0xcc2
je 0x1400bcb1a
cmp r13d, 0xd3e
je 0x1400bcb1a
jmp case.0x1400bc9f6.3908
cmp r13d, 0x2125
jg 0x1400bcb2d
lea ecx, [r13 - 0x1f71]
cmp ecx, 0x8c
ja case.0x1400bc9f6.3908
lea rdx, [0x14011c4bc]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp r13d, 0xbbe
jne case.0x1400bc9f6.3908
mov r12b, 2
mov edi, eax
cmp r14, rbx
jne 0x1400bc712
jmp 0x1400bcc9b
lea ecx, [r13 - 0x2329]
cmp ecx, 2
jb case.0x1400bc9f6.3907
cmp r13d, 0x2126
je case.0x1400bc9f6.3907
cmp r13d, 0x2adc
je case.0x1400bc9f6.3907
movd xmm1, r13d
pshufd xmm0, xmm1, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x14011c220]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x14011c230]
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.0x1400bc9f6.3907
pshufd xmm1, xmm1, 0x50
pand xmm1, xmmword [0x14011c210]
pshufd xmm2, xmm1, 4
pcmpeqd xmm2, xmmword [0x14011c240]
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.0x1400bc9f6.3907
lea ecx, [r13 - 0x1d1bb]
cmp ecx, 6
jb case.0x1400bc9f6.3907
lea ecx, [r13 - 0x2f800]
cmp ecx, 0x21e
jb case.0x1400bc9f6.3907
movd ecx, xmm1
cmp ecx, 0x2000
je case.0x1400bc9f6.3907
cmp ecx, 0x212a
je case.0x1400bc9f6.3907
cmp ecx, 0xfb40
je case.0x1400bc9f6.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 0x1400bcb1a
lea edx, [r13 - 0x11a8]
cmp edx, 0x1b
jb 0x1400bcb1a
add r13d, 0xffffcf67
cmp r13d, 2
jb 0x1400bcb1a
cmp ecx, 0x330
jne 0x1400bcb1d
jmp 0x1400bcb1a
test r12b, r12b
je 0x1400bceb0
movzx eax, r12b
cmp eax, 1
je case.0x1400bc9f6.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 0x1400bce3e
movzx r14d, byte [rdi]
test r14b, r14b
js 0x1400bcd89
inc rdi
jmp 0x1400bcdef
mov eax, r14d
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp r14b, 0xdf
jbe 0x1400bcdd5
movzx ecx, byte [rdi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r14b, 0xf0
jb 0x1400bcde3
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 0x1400bce3e
add rdi, 4
jmp 0x1400bcdef
add rdi, 2
shl eax, 6
or eax, edx
mov r14d, eax
jmp 0x1400bcdef
add rdi, 3
shl eax, 0xc
or ecx, eax
mov r14d, ecx
lea rcx, [rsp + 0x50]
call fcn.1400beeb0
mov r13b, 1
cmp eax, 0x110000
je 0x1400bce54
cmp eax, r14d
je 0x1400bcd72
jmp 0x1400bce54
mov rcx, qword [rsp + 0x300]
mov rdx, qword [rsp + 0x118]
call fcn.1400bac80
mov qword [rsp + 0x128], r12
cmp r13, qword [rsp + 0x130]
jb 0x1400bc360
jmp 0x1400bc2bb
lea rcx, [rsp + 0x50]
call fcn.1400beeb0
cmp eax, 0x110000
setne r13b
neg r13b
cmp dword [rsp + 0x60], 0
je 0x1400bce76
cmp qword [rsp + 0x70], 0
je 0x1400bce76
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x140189110]
xor edx, edx
call fcn.14011631c
cmp dword [rsp + 0xb0], 0
je 0x1400bcea1
cmp qword [rsp + 0xc0], 0
je 0x1400bcea1
mov r8, qword [rsp + 0xb8]
mov rcx, qword [0x140189110]
xor edx, edx
call fcn.14011631c
test r13b, r13b
je 0x1400bceb0
mov byte [rsp + 0x105], 1
jmp 0x1400bcecb
mov rcx, r15
mov rdx, rsi
mov r8, qword [rsp + 0x120]
lea r9, [rsp + 0x100]
call fcn.1400bf790
mov r15, qword [rsp + 0x300]
mov rbx, qword [rsp + 0x40]
mov r12d, 0xff
xor edi, edi
jmp 0x1400bc063
mov rcx, qword [r15]
mov r14, qword [r15 + 0x10]
mov rax, r14
mov r8, qword [rsp + 0x110]
test r8, r8
je 0x1400bcf26
mov rax, r14
sub rax, r8
jbe 0x1400bcf24
cmp byte [rcx + r8], 0xbf
jg 0x1400bcf26
lea rax, str._Users_no_.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.14008aa10
ud2
jne 0x1400bcf0b
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 0x1400bcf95
lea rsi, [rsp + 0x50]
mov rcx, rsi
call fcn.1400bde50
test rax, rax
jne 0x1400bcf83
jmp 0x1400bd3c8
mov ebx, 0xff
mov edi, 0x62f8
lea rcx, [rsp + 0x50]
call fcn.1400bde50
test rax, rax
je 0x1400bd3c8
mov r13, rdx
test rdx, rdx
je 0x1400bcf9f
mov r12, rax
movzx ecx, byte [rax]
test cl, cl
js 0x1400bcfcb
lea rsi, [r12 + 1]
jmp 0x1400bd034
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [r12 + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x1400bd019
movzx edx, byte [r12 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x1400bd028
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 0x1400bcf9f
lea rsi, [r12 + 4]
jmp 0x1400bd034
lea rsi, [r12 + 2]
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x1400bd034
lea rsi, [r12 + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r13, r12
call fcn.14010a4e0
test al, al
je 0x1400bd0f2
movzx eax, al
cmp eax, 0x11
je 0x1400bd0f2
cmp eax, 9
jne 0x1400bd3c0
cmp rsi, r13
je 0x1400bd215
movzx ecx, byte [rsi]
test cl, cl
js 0x1400bd06e
inc rsi
jmp 0x1400bd0d3
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x1400bd0ba
movzx edx, byte [rsi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x1400bd0c8
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 0x1400bd215
add rsi, 4
jmp 0x1400bd0d3
add rsi, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x1400bd0d3
add rsi, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.14010a4e0
cmp al, 0xe
ja 0x1400bd3c0
movzx eax, al
bt rdi, rax
jb 0x1400bd059
jmp 0x1400bd3c0
cmp rsi, r13
je 0x1400bd22c
xor r15d, r15d
mov dword [rsp + 0x40], 0
movzx eax, byte [rsi]
test al, al
js 0x1400bd112
inc rsi
jmp 0x1400bd174
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x1400bd15b
movzx edx, byte [rsi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x1400bd169
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 0x1400bd237
add rsi, 4
jmp 0x1400bd174
add rsi, 2
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x1400bd174
add rsi, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov ecx, 0x5a6
xor r8d, r8d
mov edx, 0x5a6
jmp 0x1400bd18f
mov rdx, rcx
sub rcx, r8
jbe 0x1400bd3c0
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 0x1400bd183
movzx r8d, r10b
cmp r8d, 0xff
jne 0x1400bd1d4
inc rcx
mov r8, rcx
mov rcx, rdx
sub rcx, r8
ja 0x1400bd18f
jmp 0x1400bd3c0
movzx eax, byte [rbp + r9*4 + 8]
cmp eax, 1
je 0x1400bd1ec
cmp eax, 5
jne 0x1400bd1f1
mov al, 1
mov dword [rsp + 0x40], eax
jmp 0x1400bd20a
mov r15b, 1
jmp 0x1400bd20a
cmp rax, 0x11
ja 0x1400bd3c0
mov ecx, 0x260fb
bt rcx, rax
jae 0x1400bd3c0
cmp rsi, r13
jne 0x1400bd106
jmp 0x1400bd237
movzx esi, byte [r13 - 1]
test sil, sil
js 0x1400bd256
dec r13
cmp r13, r12
jne 0x1400bd2a4
jmp 0x1400bd2cd
mov dword [rsp + 0x40], 0
xor r15d, r15d
movzx esi, byte [r13 - 1]
test sil, sil
js 0x1400bd30b
dec r13
cmp r13, r12
jne 0x1400bd359
jmp 0x1400bd37e
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x1400bd27f
movzx ecx, byte [r13 - 3]
cmp cl, 0xc0
jge 0x1400bd288
movzx edx, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
jmp 0x1400bd28f
add r13, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x1400bd297
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 0x1400bd2cd
cmp esi, 0x110000
je 0x1400bcf9f
mov ecx, esi
call fcn.14010a4e0
cmp al, 0xd
jne 0x1400bd2e8
movzx esi, byte [r13 - 1]
test sil, sil
js 0x1400bd256
dec r13
cmp r13, r12
jne 0x1400bd2a4
cmp esi, 0x110000
je 0x1400bcf9f
mov ecx, esi
call fcn.14010a4e0
cmp al, 0xd
je 0x1400bcf9f
mov ecx, esi
call fcn.14010a4e0
cmp al, 9
je 0x1400bcf9f
mov ecx, esi
call fcn.14010a4e0
cmp al, 5
je 0x1400bcf9f
jmp 0x1400bd3c0
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x1400bd334
movzx ecx, byte [r13 - 3]
cmp cl, 0xc0
jge 0x1400bd33d
movzx edx, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
jmp 0x1400bd344
add r13, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x1400bd34c
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 0x1400bd37e
cmp esi, 0x110000
je 0x1400bd3c0
mov ecx, esi
call fcn.14010a4e0
cmp al, 0xd
jne 0x1400bd391
movzx esi, byte [r13 - 1]
test sil, sil
js 0x1400bd30b
dec r13
cmp r13, r12
jne 0x1400bd359
cmp esi, 0x110000
je 0x1400bd3c0
mov ecx, esi
call fcn.14010a4e0
cmp al, 0xd
je 0x1400bd3c0
mov ecx, esi
call fcn.14010a4e0
cmp al, 0x11
ja 0x1400bd3c0
movzx eax, al
mov ecx, 0x20023
bt rcx, rax
jae 0x1400bd3c0
test r15b, 1
je 0x1400bcf9f
mov eax, dword [rsp + 0x40]
and al, 1
je 0x1400bcf9f
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 0x1400bd41a
mov r8, qword [rsp + 0x188]
mov rcx, qword [0x140189110]
xor edx, edx
call fcn.14011631c
mov r14, qword [r15 + 0x10]
test r14, r14
mov rdi, qword [rsp + 0x138]
je 0x1400bd472
js 0x1400bde45
movzx eax, byte [0x1401891c0]
mov rcx, qword [0x140189110]
test rcx, rcx
jne 0x1400bd454
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x1400bd463
mov rcx, rax
mov qword [0x140189110], rax
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
jne 0x1400bd477
mov ecx, 1
mov rdx, r14
call fcn.140083160
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 0x1400bd4bd
mov r8, qword [rsi]
mov rcx, qword [0x140189110]
xor edx, edx
call fcn.14011631c
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 0x1400bd53a
mov byte [rsp + 0x37], 1
mov qword [r15 + 0x10], rsi
xor ebx, ebx
lea rcx, [rsp + 0x50]
call fcn.1400bde50
test rax, rax
je 0x1400bdcc8
mov r12, rax
mov rsi, rdx
test bl, 1
movabs rbx, 0x8080808080808080
mov r11d, 0x1a
jne 0x1400bd592
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15 + 8]
jne 0x1400bd584
mov rcx, r15
call fcn.1400baaa0
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 0x1400bd61a
lea rdx, [r12 + 7]
and rdx, 0xfffffffffffffff8
mov rax, rdx
sub rax, r12
mov rcx, rsi
cmp rax, rsi
ja 0x1400bd61a
test qword [r12], rbx
jne 0x1400bd62e
cmp rdx, r12
mov ecx, 8
cmove rax, rcx
lea rcx, [rsi - 8]
cmp rax, rcx
jae 0x1400bd5dc
test qword [r12 + rax], rbx
jne 0x1400bd62e
add rax, 8
cmp rax, rcx
jb 0x1400bd5cd
test qword [r12 + rcx], rbx
jne 0x1400bd62e
mov rax, qword [r15 + 8]
mov r15, qword [r15 + 0x10]
sub rax, r15
cmp rax, rsi
jb 0x1400bdca9
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 0x1400bd534
mov rax, rcx
sub rax, 1
jb 0x1400bd5e2
cmp byte [r12 + rcx - 1], 0
mov rcx, rax
jns 0x1400bd61a
mov rcx, qword [r15 + 8]
mov rbx, qword [r15 + 0x10]
sub rcx, rbx
mov rax, rbx
cmp rcx, 3
jbe 0x1400bd72a
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 0x1400bd53a
mov r13, r12
add r13, rsi
mov dword [rsp + 0x110], 0
mov rsi, r12
jmp 0x1400bd68c
inc ebx
cmp rsi, r13
je 0x1400bd74e
movzx edx, byte [rsi]
test dl, dl
js 0x1400bd698
inc rsi
jmp 0x1400bd6f9
mov eax, edx
and eax, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp dl, 0xdf
jbe 0x1400bd6e0
movzx ecx, byte [rsi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x1400bd6ee
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 0x1400bd74a
add rsi, 4
jmp 0x1400bd6f9
add rsi, 2
shl eax, 6
or eax, r8d
mov edx, eax
jmp 0x1400bd6f9
add rsi, 3
shl eax, 0xc
or ecx, eax
mov edx, ecx
mov eax, ebx
inc eax
mov dword [rsp + 0x40], eax
je 0x1400bdc64
cmp edx, 0x7f
ja 0x1400bd681
mov rcx, r15
call fcn.1400bab60
mov r11d, 0x1a
inc dword [rsp + 0x110]
jmp 0x1400bd681
mov r8d, 4
mov rcx, r15
mov rdx, rbx
call fcn.1400bac80
mov r11d, 0x1a
mov rax, qword [r15 + 0x10]
jmp 0x1400bd646
mov dword [rsp + 0x40], ebx
cmp dword [rsp + 0x110], 0
je 0x1400bd782
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15 + 8]
jne 0x1400bd774
mov rcx, r15
call fcn.1400baaa0
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 0x1400bd53a
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 0x1400bd7ca
inc rcx
cmp eax, ebp
jbe 0x1400bd85f
cmp rcx, r13
je 0x1400bddf8
movzx ebp, byte [rcx]
test bpl, bpl
jns 0x1400bd7bf
mov edx, ebp
and edx, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp bpl, 0xdf
jbe 0x1400bd82d
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp bpl, 0xf0
jb 0x1400bd83b
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 0x1400bddf8
add rcx, 4
jmp 0x1400bd7c2
add rcx, 2
shl edx, 6
or edx, r10d
mov ebp, edx
jmp 0x1400bd7c2
add rcx, 3
shl edx, 0xc
or r9d, edx
mov ebp, r9d
jmp 0x1400bd7c2
inc rcx
cmp ebp, edx
mov r9d, edx
cmovb r9d, ebp
cmp edx, eax
cmovae ebp, r9d
cmp rcx, r13
je 0x1400bd8f8
movzx edx, byte [rcx]
test dl, dl
jns 0x1400bd84d
mov r9d, edx
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x1400bd8c6
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x1400bd8df
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 0x1400bd8f8
add rcx, 4
jmp 0x1400bd850
add rcx, 2
shl r9d, 6
or r9d, r11d
mov edx, r9d
mov r11d, 0x1a
jmp 0x1400bd850
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
mov r11d, 0x1a
jmp 0x1400bd850
mov ecx, esi
inc ecx
je 0x1400bddb1
mov r9d, ebp
sub r9d, eax
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp r9d, eax
ja 0x1400bdc64
mov edx, r9d
imul edx, ecx
add edx, r8d
mov dword [rsp + 0x48], edx
mov rcx, r12
jmp 0x1400bd93d
mov r9d, esi
mov r8d, dword [rsp + 0x48]
cmp rcx, r13
je 0x1400bdc3e
movzx eax, byte [rcx]
test al, al
js 0x1400bd94d
inc rcx
cmp eax, ebp
jb 0x1400bd9bb
jmp 0x1400bd9c5
mov r9, rcx
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [r9 + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x1400bd99b
movzx edx, byte [r9 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x1400bd9a9
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 0x1400bdc5a
add r9, 4
jmp 0x1400bd9b4
add r9, 2
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x1400bd9b4
add r9, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov rcx, r9
cmp eax, ebp
jae 0x1400bd9c5
inc dword [rsp + 0x48]
je 0x1400bdc64
cmp eax, ebp
jne 0x1400bd92c
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 0x1400bdacc
mov edx, 0x61
cmp esi, 0x1a
jb 0x1400bda1f
mov edx, 0x16
cmp esi, 0x24
jae 0x1400bddde
add edx, esi
mov rcx, r15
call fcn.1400bab60
mov eax, dword [rsp + 0x130]
mov r9d, eax
inc r9d
mov esi, 0xd41d41d5
je 0x1400bdd4f
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 0x1400bdbfe
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 0x1400bdaa0
jmp 0x1400bdc09
mov r12d, r14d
neg r12d
mov r13d, 0x48
mov esi, dword [rsp + 0x48]
jmp 0x1400bdb13
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 0x1400bda07
mov r8d, ecx
sub r8d, 0x24
je 0x1400bdcea
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 0x1400bdb4a
mov r15d, 0x16
cmp edx, 0x24
jae 0x1400bddde
add r15d, edx
cmp r15d, 0x80
jae 0x1400bdb90
mov rbx, qword [rsp + 0x300]
mov rdx, qword [rbx + 0x10]
cmp rdx, qword [rbx + 8]
jne 0x1400bdae0
mov rcx, rbx
call fcn.1400baaa0
mov r11d, 0x1a
mov rdx, qword [rbx + 0x10]
jmp 0x1400bdae0
mov rcx, qword [rsp + 0x300]
mov rax, qword [rcx + 8]
mov rdx, qword [rcx + 0x10]
sub rax, rdx
cmp rax, 1
jbe 0x1400bdbdc
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 0x1400bdaed
mov r8d, 2
mov rbx, qword [rsp + 0x300]
mov rcx, rbx
call fcn.1400bac80
mov r11d, 0x1a
mov rdx, qword [rbx + 0x10]
jmp 0x1400bdba9
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 0x1400bd93d
inc r8d
inc ebp
xor ebx, ebx
mov esi, r9d
mov eax, ebp
cmp r9d, dword [rsp + 0x40]
jb 0x1400bd7ba
jmp 0x1400bd53a
mov r9d, esi
mov r8d, dword [rsp + 0x48]
jmp 0x1400bdc3e
mov rax, qword [r15 + 0x10]
mov byte [rsp + 0x37], 1
xor ebx, ebx
mov rsi, qword [rsp + 0x120]
cmp rax, rsi
jb 0x1400bd53a
test rsi, rsi
je 0x1400bd52f
mov byte [rsp + 0x37], 1
cmp rax, rsi
jbe 0x1400bd534
mov rax, qword [r15]
cmp byte [rax + rsi], 0xbf
jg 0x1400bd534
jmp 0x1400bde2b
mov rbx, qword [rsp + 0x300]
mov rcx, rbx
mov rdx, r15
mov r8, rsi
call fcn.1400bac80
mov r15, qword [rbx + 0x10]
jmp 0x1400bd5f6
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 0x1400bbdb5
lea rcx, [0x14013e3e0]
lea r8, str._Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0x39
call fcn.140086940
ud2
lea r8, [0x14013e308]
mov edx, 4
mov rcx, r9
call fcn.1400865a0
ud2
lea r8, [0x14013e308]
mov edx, 4
mov rcx, rax
call fcn.1400865a0
ud2
lea rcx, str.attempt_to_divide_by_zero_Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
lea r8, str._Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0x19
call fcn.140086940
ud2
lea r8, str._Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.22_src_lookups.rs
mov edx, 0xd4e
call fcn.140085c20
ud2
lea r8, str._Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.22_src_lookups.rs
mov rcx, rsi
call fcn.1400865a0
ud2
lea r8, str._Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.22_src_lookups.rs
mov edx, 0x1667
call fcn.140085c20
ud2
lea r8, str._Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.22_src_lookups.rs
mov rcx, rsi
call fcn.1400865a0
ud2
lea rcx, str.attempt_to_divide_by_zero_Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
lea r8, str._Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0x19
call fcn.140086940
ud2
lea r8, [0x14013e308]
mov edx, 4
call fcn.1400865a0
ud2
lea rcx, str.explicit_panic
lea r8, str._Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0xe
call fcn.140086940
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._Users_no_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0x2b
call fcn.140086940
ud2
lea rax, str._Users_no_.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.14008aa10
ud2
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len__
lea r8, [0x140178e90]
mov edx, 0x30
call fcn.140086940
ud2
call fcn.140083120
ud2