Function at 0x140062820
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2d8
movdqa xmmword [rsp + 0x2c0], xmm15
movdqa xmmword [rsp + 0x2b0], xmm14
movdqa xmmword [rsp + 0x2a0], xmm13
movdqa xmmword [rsp + 0x290], xmm12
movdqa xmmword [rsp + 0x280], xmm11
movdqa xmmword [rsp + 0x270], xmm10
movdqa xmmword [rsp + 0x260], xmm9
movdqa xmmword [rsp + 0x250], xmm8
movdqa xmmword [rsp + 0x240], xmm7
movaps xmmword [rsp + 0x230], xmm6
mov r15, rdx
mov rbx, qword [rsp + 0x340]
test r9, r9
mov qword [rsp + 0x1c0], rcx
je 0x1400629ee
lea rax, [r8 + r9]
xor edx, edx
movdqa xmm0, xmmword [0x1401d28a0]
mov r14, r8
jmp 0x1400628df
xor r11d, r11d
mov rdx, r11
cmp r14, rax
je 0x14006374e
movzx esi, byte [r14]
test sil, sil
js 0x140062900
inc r14
mov r10d, esi
cmp r10d, 0x2e
jne 0x140062990
jmp 0x1400628d0
mov r10d, esi
and r10d, 0x1f
movzx edi, byte [r14 + 1]
and edi, 0x3f
cmp sil, 0xdf
jbe 0x140062956
movzx r11d, byte [r14 + 2]
shl edi, 6
and r11d, 0x3f
or r11d, edi
cmp sil, 0xf0
jb 0x14006296c
movzx esi, byte [r14 + 3]
add r14, 4
and r10d, 7
shl r10d, 0x12
shl r11d, 6
and esi, 0x3f
or esi, r11d
or esi, r10d
mov r10d, esi
cmp r10d, 0x2e
jne 0x140062990
jmp 0x1400628d0
add r14, 2
shl r10d, 6
or r10d, edi
cmp r10d, 0x2e
jne 0x140062990
jmp 0x1400628d0
add r14, 3
shl r10d, 0xc
or r11d, r10d
mov r10d, r11d
cmp r10d, 0x2e
je 0x1400628d0
nop word cs:[rax + rax]
cmp r10d, 0x110000
je 0x14006374e
test rdx, rdx
jne 0x1400629a8
cmp r10d, 0x2d
je 0x1400629ee
mov r11d, 5
cmp rdx, 4
ja 0x1400629d3
movdqa xmmword [rsp + 0x50], xmm0
je 0x1400639b3
cmp r10d, dword [rsp + rdx*4 + 0x50]
jne 0x1400629d3
inc rdx
mov r11, rdx
cmp rdx, 4
je 0x1400629ee
lea edx, [r10 - 0x61]
cmp edx, 0x1a
jb 0x1400628d3
add r10d, 0xffffffd0
cmp r10d, 9
jbe 0x1400628d3
mov eax, dword [r15 + 0x30]
movzx ecx, byte [r15 + 0x34]
add r9, r8
xorps xmm6, xmm6
movups xmmword [rsp + 0xb8], xmm6
mov byte [rsp + 0xc8], 0
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x60], 0
mov word [rsp + 0x64], 0
mov byte [rsp + 0x68], 0
mov dword [rsp + 0x6c], 0
mov byte [rsp + 0x70], 0
mov dword [rsp + 0x74], 0
mov byte [rsp + 0x78], 0
mov dword [rsp + 0x7c], 0
mov byte [rsp + 0x80], 0
mov dword [rsp + 0x84], 0
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x90], r9
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], 0
mov byte [rsp + 0xb4], cl
shl rcx, 0x20
or rcx, rax
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x148], r15
mov qword [r15 + 0x10], 0
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x140], rcx
movups xmmword [rsp + 0x1e2], xmm6
lea r12, [rsp + 0x60]
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0xd0], 0
mov word [rsp + 0xd4], 0
movzx eax, word [rsp + 0x1f0]
mov word [rsp + 0xe6], ax
movdqu xmm0, xmmword [rsp + 0x1e0]
movdqu xmmword [rsp + 0xd6], xmm0
mov dword [rsp + 0xf0], 0x110000
mov byte [rsp + 0xf4], 0
lea r15, [0x1401e2308]
lea r13, [0x1401e5dd8]
xor edx, edx
mov ebx, dword [rsp + 0xd0]
mov r14, qword [rsp + 0xe0]
test ebx, ebx
je 0x140062b80
test rdx, rdx
je 0x140062c30
mov rcx, qword [rsp + 0xe8]
cmp rdx, 1
jne 0x140063693
cmp rax, rcx
jb 0x1400636d2
mov qword [rsp + 0xe8], 0
jmp 0x140062bbd
test rdx, rdx
je 0x140062c30
movzx ecx, word [rsp + 0xd4]
cmp rdx, 1
jne 0x14006369d
cmp cx, 4
ja 0x140065a49
cmp rax, rcx
jb 0x1400636ca
test rcx, rcx
je 0x140062bbd
mov word [rsp + 0xd4], 0
mov qword [rsp + 0x50], 0
jmp 0x140062c30
movzx ebx, bp
imul esi, ebx, 0x6f75
shr esi, 0x18
lea edx, [rsi + 0x1100]
mov rcx, r12
call fcn.140060cf0
imul eax, esi, 0x24c
sub ebp, eax
movzx eax, bp
imul edx, eax, 0x925
shr edx, 0x10
add edx, 0x1161
mov rcx, r12
call fcn.140060cf0
mov eax, ebx
shr eax, 2
imul eax, eax, 0x4925
shr eax, 0x11
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub bx, cx
je 0x140062c30
add ebx, 0x11a7
movzx edx, bx
mov rcx, r12
call fcn.140060cf0
mov r9, qword [rsp + 0xc0]
test r9, r9
jne 0x140062fb0
movzx r10d, byte [rsp + 0xb0]
cmp r10b, 2
je 0x140063431
mov r8, qword [rsp + 0xa0]
mov r14, qword [rsp + 0x88]
mov r11, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
movzx ebp, byte [rsp + 0xb1]
mov rbx, qword [rsp + 0xa8]
test r8, r8
je 0x140062d2f
cmp r8, rbx
je 0x140062d23
lea rcx, [r8 + 1]
mov qword [rsp + 0xa0], rcx
movzx edx, byte [r8]
test dl, dl
jns 0x140063292
mov ecx, edx
and ecx, 0x1f
lea r9, [r8 + 2]
mov qword [rsp + 0xa0], r9
movzx esi, byte [r8 + 1]
and esi, 0x3f
cmp dl, 0xdf
jbe 0x140063589
lea r9, [r8 + 3]
mov qword [rsp + 0xa0], r9
movzx r9d, byte [r8 + 2]
shl esi, 6
and r9d, 0x3f
or r9d, esi
cmp dl, 0xf0
jb 0x140063595
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.0x140062f08.0
mov qword [rsp + 0xa0], 0
cmp r14, r11
je 0x140063429
lea rdx, [r14 + 1]
mov qword [rsp + 0x88], rdx
movzx ecx, byte [r14]
test cl, cl
js 0x140062d70
mov r14, rdx
mov edx, ecx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x140062e20
jmp 0x140063292
mov edx, ecx
and edx, 0x1f
lea r8, [r14 + 2]
mov qword [rsp + 0x88], r8
movzx r9d, byte [r14 + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x140062de8
lea rsi, [r14 + 3]
mov qword [rsp + 0x88], rsi
movzx r8d, byte [r14 + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x140062dfe
lea rcx, [r14 + 4]
mov qword [rsp + 0x88], rcx
movzx r9d, byte [r14 + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and r9d, 0x3f
or r9d, r8d
or r9d, edx
mov r14, rcx
mov edx, r9d
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x140062e20
jmp 0x140063292
shl edx, 6
or edx, r9d
mov r14, r8
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x140062e20
jmp 0x140063292
shl edx, 0xc
or r8d, edx
mov r14, rsi
mov edx, r8d
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jb 0x140063292
nop word cs:[rax + rax]
cmp edx, 0x110000
je 0x140063429
lea ecx, [rdx - 0x61]
cmp ecx, 0x1a
jb 0x140063292
lea ecx, [rdx - 0x30]
cmp ecx, 0xa
jb 0x140063292
mov r8d, 0x75a
xor ecx, ecx
mov r9d, 0x75a
nop word cs:[rax + rax]
shr r8, 1
add r8, rcx
mov esi, dword [r15 + r8*8]
cmp esi, edx
je 0x140062e97
lea rdi, [r8 + 1]
cmp esi, edx
cmova r9, r8
cmovb rcx, rdi
mov r8, r9
sub r8, rcx
ja 0x140062e60
dec rcx
mov r8, rcx
cmp rcx, 0x759
ja 0x14006394a
movzx r9d, word [r15 + r8*8 + 4]
mov ecx, r9d
and ecx, 0x7fff
test r9w, r9w
js 0x140062ed0
movzx r8d, word [r15 + r8*8]
mov r9d, edx
sub r9w, r8w
movzx ecx, cx
add ecx, r9d
movzx ecx, cx
cmp ecx, 0x1f73
jb 0x140062ee1
jmp 0x140063962
movzx r8d, cx
cmp r8d, 0x1f73
jae 0x140063973
movzx r9d, byte [r13 + rcx*4]
mov r8d, 0
cmp r9d, 1
je case.default.0x140062f08
mov r8d, r9d
lea r9, [0x1401d2d90]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
mov eax, dword [rsp + 0x60]
lea rsi, [rsp + 0x68]
mov rcx, qword [rsp + 0xb8]
test eax, eax
je 0x140062fd9
mov r8, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
cmp rcx, rdx
jb 0x140062ff4
jmp 0x140063984
movzx edx, word [rsp + 0x64]
cmp rdx, 5
jae 0x140065991
mov r8, rsi
cmp rcx, rdx
jae 0x140063984
mov r14d, dword [r8 + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x1400630b0
test eax, eax
je 0x1400630ba
mov r8, qword [rsp + 0x78]
sub r8, r9
je 0x1400630c9
xor ecx, ecx
jmp 0x140063043
movzx edx, byte [r9 + rax*8]
mov eax, dword [r9 + rax*8 + 4]
mov byte [r9 + rcx*8], dl
mov dword [r9 + rcx*8 + 4], eax
lea rax, [rcx + 1]
mov rcx, rax
cmp r8, rax
je 0x1400630db
mov rax, qword [rsp + 0xc0]
add rax, rcx
cmp dword [rsp + 0x60], 0
je 0x140063080
mov rdx, qword [rsp + 0x78]
cmp rax, rdx
jae 0x1400638ae
mov r9, qword [rsp + 0x70]
cmp rcx, rdx
jb 0x140063020
jmp 0x1400638bd
movzx edx, word [rsp + 0x64]
cmp rdx, 5
jae 0x140065991
cmp rax, rdx
jae 0x1400638ae
mov r9, rsi
cmp rcx, rdx
jb 0x140063020
jmp 0x1400638bd
mov qword [rsp + 0xb8], rcx
jmp 0x14006310b
movzx r8d, word [rsp + 0x64]
sub r8, r9
jne 0x14006301b
test eax, eax
je 0x1400630e3
cmp qword [rsp + 0x78], r8
jb 0x140063100
mov qword [rsp + 0x78], r8
jmp 0x140063100
mov eax, dword [rsp + 0x60]
test eax, eax
jne 0x1400630cd
movzx eax, word [rsp + 0x64]
cmp r8, rax
jae 0x140063100
mov word [rsp + 0x64], r8w
nop word cs:[rax + rax]
lea rax, [rsp + 0xb8]
movups xmmword [rax], xmm6
imul eax, r14d, 0x9e3779b9
imul ecx, r14d, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rdx, [0x140214f38]
movzx eax, word [rdx + rax*2]
add eax, r14d
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rcx, [0x14021566c]
mov ebx, dword [rcx + rax*4]
mov eax, ebx
shr eax, 8
cmp eax, r14d
mov eax, 0
cmovne ebx, eax
mov ebp, dword [rsp + 0xf0]
cmp ebp, 0x110000
jne 0x140063190
test bl, bl
jne 0x140063610
mov dword [rsp + 0xf0], r14d
jmp 0x140062c30
cmp byte [rsp + 0xf4], 0
je 0x1400631c0
cmp byte [rsp + 0xf5], bl
jae 0x1400631de
mov ecx, ebp
mov edx, r14d
call fcn.14017b460
cmp eax, 0x110000
je 0x1400631e6
mov dword [rsp + 0xf0], eax
jmp 0x140062c30
mov ecx, ebp
mov edx, r14d
call fcn.14017b460
cmp eax, 0x110000
jne 0x1400634d2
test bl, bl
jne 0x1400631e6
jmp 0x140063686
test bl, bl
je 0x14006365f
cmp dword [rsp + 0xd0], 0
je 0x140063228
mov rsi, qword [rsp + 0xe8]
cmp rsi, qword [rsp + 0xd8]
jne 0x14006320f
lea rcx, [rsp + 0xd8]
call fcn.14017c240
mov rax, qword [rsp + 0xe0]
mov dword [rax + rsi*4], r14d
inc rsi
mov qword [rsp + 0xe8], rsi
jmp 0x14006324c
movzx eax, word [rsp + 0xd4]
cmp rax, 3
ja 0x1400635a3
mov dword [rsp + rax*4 + 0xd8], r14d
inc eax
mov word [rsp + 0xd4], ax
mov byte [rsp + 0xf4], 1
mov byte [rsp + 0xf5], bl
jmp 0x140062c30
cmp edx, 0x110000
je 0x140063429
cmp byte [rsp + 0xc8], 0
je 0x140063353
cmp edx, 0x80
jb 0x140062c28
lea ebp, [rdx - 0xac00]
cmp ebp, 0x2ba4
jb 0x140062bc8
imul ecx, edx, 0x9e3779b9
imul eax, edx, 0x31415926
xor ecx, eax
imul r8, rcx, 0xee4
shr r8, 0x20
lea r9, [0x140220f78]
movzx r8d, word [r9 + r8*2]
add r8d, edx
imul r8d, r8d, 0x9e3779b9
xor r8d, eax
imul r8, r8, 0xee4
shr r8, 0x20
lea r9, [0x140222d40]
mov rbp, qword [r9 + r8*8]
cmp edx, ebp
jne 0x1400634de
mov rax, rbp
shr rax, 0x20
movzx ecx, ax
cmp rcx, 0x1668
jae 0x1400659ff
shr rbp, 0x30
mov edx, 0x1667
sub rdx, rcx
cmp rbp, rdx
ja 0x140065a10
lea rax, [0x14022a460]
lea rbx, [rax + rcx*4]
test rbp, rbp
jne 0x14006355d
jmp 0x140062c30
cmp edx, 0x80
jb 0x140062c28
lea ebp, [rdx - 0xac00]
cmp ebp, 0x2ba4
jb 0x140062bc8
imul eax, edx, 0x9e3779b9
imul ecx, edx, 0x31415926
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea r8, [0x140218914]
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, [0x140219930]
mov r14, qword [rcx + rax*8]
cmp edx, r14d
jne 0x140062c28
mov rax, r14
shr rax, 0x20
movzx ecx, ax
cmp rcx, 0xd4f
jae 0x1400659ee
shr r14, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp r14, rdx
ja 0x140065a1f
test r14, r14
je 0x140062c30
lea rax, [0x14021d998]
lea rbx, [rax + rcx*4]
shl r14d, 2
xor esi, esi
nop word cs:[rax + rax]
mov edx, dword [rbx + rsi]
mov rcx, r12
call fcn.140060cf0
add rsi, 4
cmp r14, rsi
jne 0x140063410
jmp 0x140062c30
mov byte [rsp + 0xb0], 2
cmp dword [rsp + 0x60], 0
je 0x140063465
mov rdx, qword [rsp + 0x78]
test rdx, rdx
lea rsi, [rsp + 0x68]
je 0x140063620
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xc0]
mov rax, rdx
sub rax, rcx
jae 0x140063499
jmp 0x1400659ce
movzx edx, word [rsp + 0x64]
test rdx, rdx
lea rsi, [rsp + 0x68]
je 0x140063620
cmp dx, 5
jae 0x1400659da
mov r8, rsi
mov rcx, qword [rsp + 0xc0]
mov rax, rdx
sub rax, rcx
jb 0x1400659ce
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.140061b10
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x1400634bf
mov r9, qword [rsp + 0x78]
mov qword [rsp + 0xc0], r9
jmp 0x140062fb9
movzx r9d, word [rsp + 0x64]
mov qword [rsp + 0xc0], r9
jmp 0x140062fb9
mov dword [rsp + 0xf0], eax
jmp 0x140062c30
imul rcx, rcx, 0x80d
shr rcx, 0x20
lea r8, [0x140218914]
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, [0x140219930]
mov rbp, qword [rcx + rax*8]
cmp edx, ebp
jne 0x140062c28
mov rax, rbp
shr rax, 0x20
movzx ecx, ax
cmp rcx, 0xd4f
jae 0x1400659ee
shr rbp, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rbp, rdx
ja 0x140065a2e
lea rax, [0x14021d998]
lea rbx, [rax + rcx*4]
test rbp, rbp
je 0x140062c30
shl ebp, 2
xor esi, esi
nop word cs:[rax + rax]
mov edx, dword [rbx + rsi]
mov rcx, r12
call fcn.140060cf0
add rsi, 4
cmp rbp, rsi
jne 0x140063570
jmp 0x140062c30
shl ecx, 6
or ecx, esi
mov edx, ecx
jmp 0x140063292
shl ecx, 0xc
or r9d, ecx
mov edx, r9d
jmp 0x140063292
lea rcx, [rsp + 0x160]
lea rdx, [rsp + 0xd4]
mov r8d, r14d
call fcn.140060f20
cmp dword [rsp + 0xd0], 0
je 0x1400635e6
cmp qword [rsp + 0xd8], 0
je 0x1400635e6
mov r8, qword [rsp + 0xe0]
mov rcx, qword [0x140279280]
xor edx, edx
call fcn.1401abdbc
movdqu xmm0, xmmword [rsp + 0x160]
movups xmm1, xmmword [rsp + 0x170]
lea rax, [rsp + 0xb8]
movups xmmword [rax + 0x28], xmm1
movdqu xmmword [rax + 0x18], xmm0
jmp 0x14006324c
mov ebp, r14d
jmp 0x140063730
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x58], 0
mov ebp, dword [rsp + 0xf0]
mov edx, 2
mov eax, 0
cmp ebp, 0x110000
je 0x140062b39
mov dword [rsp + 0xf0], 0x110000
jmp 0x140063730
mov dword [rsp + 0xf0], r14d
mov byte [rsp + 0xf4], 0
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], 0
jmp 0x140063730
mov dword [rsp + 0xf0], r14d
jmp 0x140063730
cmp rax, rcx
jae 0x1400636e9
mov rdx, r14
jmp 0x1400636b4
cmp cx, 5
jae 0x140065a49
lea rdx, [rsp + 0xd8]
cmp rax, rcx
jae 0x1400636f7
mov ebp, dword [rdx + rax*4]
inc rax
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x58], rax
jmp 0x140063730
lea r14, [rsp + 0xd8]
mov ebp, dword [r14 + rax*4]
inc rax
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], rax
jmp 0x140063730
mov qword [rsp + 0xe8], 0
jmp 0x140063706
test rcx, rcx
je 0x140063706
mov word [rsp + 0xd4], 0
mov ebp, dword [rsp + 0xf0]
mov dword [rsp + 0xf0], 0x110000
cmp ebp, 0x110000
je 0x1400639c9
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0x148]
mov edx, ebp
call fcn.140060730
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
jmp 0x140062b39
mov rax, qword [rbx]
mov r14, qword [rbx + 0x10]
sub rax, r14
cmp rax, r9
jb 0x140063990
mov rcx, qword [rbx + 8]
add rcx, r14
mov rdx, r8
mov r8, r9
mov rsi, r9
call sub.msvcrt.dll_memcpy
add r14, rsi
mov qword [rbx + 0x10], r14
xor r12d, r12d
xor r8d, r8d
mov dword [rsp + 0x118], 0
mov dword [rsp + 0x140], 0
mov dword [rsp + 0x100], 0
mov dword [rsp + 0x138], 0
mov dword [rsp + 0x130], 0
mov dword [rsp + 0x110], 0
mov dword [rsp + 0x128], 0
xor ebp, ebp
xor r14d, r14d
mov dword [rsp + 0x124], 0
cmp byte [r15 + 0x32], 0
je 0x140065873
mov rax, rbx
mov rbx, qword [rbx + 8]
mov r15, qword [rax + 0x10]
mov sil, 1
movabs rcx, 0x2e0000002e
test r15, r15
je 0x1400638c9
cmp byte [rbx + r15 - 1], 0x2e
jne 0x14006381d
dec r15
je 0x1400638c9
mov r13d, r8d
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x80], rcx
mov byte [rsp + 0x88], 1
mov word [rsp + 0x90], 1
lea rdi, [rsp + 0x50]
nop word cs:[rax + rax]
mov rcx, rdi
call fcn.1400609c0
test rax, rax
je 0x140063882
test rdx, rdx
jne 0x140063870
test rax, rax
movzx eax, r14b
mov esi, 1
cmove esi, eax
mov al, 1
cmp r15, 0xfd
mov r8d, r13d
movabs rcx, 0x2e0000002e
jbe 0x1400638cc
jmp 0x140065878
lea r8, [0x1401e2020]
mov rcx, rax
call fcn.140046290
lea r8, [0x1401e2038]
call fcn.140046290
xor r15d, r15d
mov r13d, r8d
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x80], rcx
mov byte [rsp + 0x88], 1
mov word [rsp + 0x90], 1
lea rdi, [rsp + 0x50]
nop word cs:[rax + rax]
mov rcx, rdi
call fcn.1400609c0
test rax, rax
je 0x140063933
cmp rdx, 0x40
jb 0x140063920
test rax, rax
movzx ecx, bpl
mov eax, 1
cmove eax, ecx
mov r8d, r13d
jmp 0x140065878
lea r8, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov edx, 0x75a
mov rcx, 0xffffffffffffffff
call fcn.140046290
lea r8, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov edx, 0x1f73
call fcn.140046290
lea r8, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov edx, 0x1f73
call fcn.140046290
lea r8, [0x1401e2008]
call fcn.140046290
mov rcx, rbx
mov rdx, r14
mov rsi, r8
mov r8, r9
mov rdi, r9
call fcn.140060840
mov r8, rsi
mov r9, rdi
mov r14, qword [rbx + 0x10]
jmp 0x140063761
lea r8, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov ecx, 4
mov edx, 4
call fcn.140046290
cmp dword [rsp + 0x60], 0
je 0x1400639eb
cmp qword [rsp + 0x68], 0
je 0x1400639eb
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x140279280]
xor edx, edx
call fcn.1401abdbc
test ebx, ebx
mov rsi, qword [rsp + 0x148]
je 0x140063a13
cmp qword [rsp + 0xd8], 0
je 0x140063a13
mov rcx, qword [0x140279280]
xor edx, edx
mov r8, r14
call fcn.1401abdbc
mov qword [rsp + 0x1c8], 0
mov qword [rsp + 0x1d0], 8
mov qword [rsp + 0x1d8], 0
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], rcx
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], rcx
movabs rax, 0x2e0000002e
mov qword [rsp + 0x190], rax
mov byte [rsp + 0x198], 1
mov word [rsp + 0x1a0], 1
mov rax, qword [rsp + 0x118]
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x128], rax
mov sil, 1
xor edi, edi
lea r12, [0x140210b70]
xorps xmm6, xmm6
movdqa xmm11, xmmword [0x1401d28f0]
movdqa xmm12, xmmword [0x1401d2900]
movdqa xmm13, xmmword [0x1401d2910]
movdqa xmm14, xmmword [0x1401d2920]
movdqa xmm15, xmmword [0x1401d2930]
movdqa xmm7, xmmword [0x1401d2940]
movdqa xmm8, xmmword [0x1401d2950]
movdqa xmm9, xmmword [0x1401d2960]
movdqa xmm10, xmmword [0x1401d2970]
mov rbx, qword [rsp + 0x340]
jmp 0x140063b62
xor edi, edi
mov rcx, r13
mov rdx, r14
mov r8, qword [rsp + 0x118]
lea r9, [rsp + 0x30]
call fcn.140061930
mov rax, qword [rbx]
mov rbp, qword [rbx + 0x10]
sub rax, rbp
cmp rax, r14
jb 0x140064070
mov rcx, qword [rbx + 8]
add rcx, rbp
mov rdx, r13
mov r8, r14
call sub.msvcrt.dll_memcpy
add r14, rbp
mov qword [rbx + 0x10], r14
xor esi, esi
lea rcx, [rsp + 0x160]
call fcn.1400609c0
test rax, rax
je 0x140064957
mov r13, rax
mov r14, rdx
test sil, 1
jne 0x140063ba4
mov rsi, qword [rbx + 0x10]
cmp rsi, qword [rbx]
jne 0x140063b95
mov rcx, rbx
call fcn.1400c7210
mov rax, qword [rbx + 8]
mov byte [rax + rsi], 0x2e
inc rsi
mov qword [rbx + 0x10], rsi
cmp r14, 4
jb 0x140063bb8
cmp dword [r13], 0x2d2d6e78
je 0x140063ce5
test dil, 1
jne 0x140063b1c
test r14, r14
je 0x140063b1a
mov rax, r13
add rax, r14
mov rcx, r13
jmp 0x140063bdf
cmp rcx, rax
je 0x140063b1a
movzx edx, byte [rcx]
test dl, dl
js 0x140063beb
inc rcx
jmp 0x140063c5e
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x140063c40
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x140063c50
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 0x140063b1a
add rcx, 4
jmp 0x140063c5e
add rcx, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
jmp 0x140063c5e
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x140063bd6
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x140063c93
cmp r11d, edx
cmova r9, r8
mov r8, r9
sub r8, r10
jbe 0x140063bd6
shr r8, 1
add r8, r10
lea rsi, [r8 + r8*2]
mov r11d, dword [r12 + rsi*4]
mov edi, dword [r12 + rsi*4 + 4]
cmp edi, edx
jb 0x140063caf
cmp r11d, edx
jbe 0x140063cbe
cmp edi, edx
jae 0x140063c80
mov r10, r8
inc r10
mov r8, r9
jmp 0x140063c80
movzx edx, byte [r12 + rsi*4 + 8]
cmp edx, 0x11
ja 0x140063bd6
mov r8d, 0x20003
bt r8d, edx
jae 0x140063bd6
mov dil, 1
jmp 0x140063b1c
mov qword [rsp + 0x130], rdi
add r14, 0xfffffffffffffffc
add r13, 4
lea rcx, [rsp + 0x1e0]
lea rdx, [rsp + 0x1c8]
mov r8, r13
mov r9, r14
call fcn.14005fa00
mov rdi, qword [rsp + 0x1e0]
test rdi, rdi
je 0x140064061
mov rcx, rbx
mov rbx, qword [rsp + 0x1e8]
mov rax, qword [rsp + 0x1f0]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x1f8]
mov qword [rsp + 0x100], rax
mov r14, qword [rsp + 0x200]
mov rsi, qword [rsp + 0x208]
mov r8, qword [rsp + 0x210]
mov rax, qword [rcx]
mov r15, qword [rcx + 0x10]
sub r8, rsi
sub rax, r15
cmp rax, r8
jb 0x140064888
mov qword [rsp + 0x110], r15
cmp r14, qword [rsp + 0x100]
jb 0x140063e36
cmp rdi, rbx
je 0x14006402a
movzx r8d, byte [rdi]
test r8b, r8b
js 0x140063db1
inc rdi
movzx ebp, r8b
inc rsi
jmp 0x140063f06
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rdi + 1]
and r9d, 0x3f
cmp r8b, 0xdf
jbe 0x140063e07
movzx edx, byte [rdi + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140063e10
movzx ebp, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ebp, 0x3f
or ebp, edx
or ebp, eax
cmp ebp, 0x110000
je 0x14006402a
add rdi, 4
mov rcx, rdi
jmp 0x140063ec1
add rdi, 2
jmp 0x140063ee3
add rdi, 3
jmp 0x140063ef4
mov rax, qword [r15 + 8]
mov byte [rax + r13], bpl
inc r13
mov qword [r15 + 0x10], r13
cmp r14, qword [rsp + 0x100]
jae 0x140063d90
mov rax, r14
shl rax, 4
add rax, qword [rsp + 0x138]
cmp qword [rax], rsi
jne 0x140063e60
inc r14
mov ebp, dword [rax + 8]
jmp 0x140063efb
mov rcx, rdi
mov rdi, rbx
cmp rcx, rbx
je 0x140063e60
movzx r8d, byte [rcx]
test r8b, r8b
jns 0x140063ed1
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rcx + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x140063edc
movzx edx, byte [rcx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140063eed
movzx ebp, byte [rcx + 3]
add rcx, 4
and eax, 7
shl eax, 0x12
shl edx, 6
and ebp, 0x3f
or ebp, edx
or ebp, eax
mov rdi, rcx
cmp ebp, 0x110000
je 0x140063e60
mov rdi, rcx
cmp ebp, 0x110000
jne 0x140063efb
jmp 0x14006402a
inc rcx
mov rdi, rcx
jmp 0x140063da5
add rcx, 2
mov rdi, rcx
shl eax, 6
or eax, r9d
mov ebp, eax
jmp 0x140063efb
add rcx, 3
mov rdi, rcx
shl eax, 0xc
or eax, edx
mov ebp, eax
inc rsi
cmp ebp, 0x80
jae 0x140063f28
mov r15, qword [rsp + 0x340]
mov r13, qword [r15 + 0x10]
cmp r13, qword [r15]
jne 0x140063e19
mov rcx, r15
call fcn.1400c7210
jmp 0x140063e19
mov dword [rsp + 0x50], 0
mov eax, ebp
cmp ebp, 0x800
jae 0x140063f58
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x50], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x51], bpl
mov r13d, 2
jmp 0x140063fc1
cmp ebp, 0x10000
jae 0x140063f8b
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x50], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x51], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x52], bpl
mov r13d, 3
jmp 0x140063fc1
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x50], al
mov eax, ebp
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x51], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x52], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x53], bpl
mov r13d, 4
mov rcx, qword [rsp + 0x340]
mov rax, qword [rcx]
mov rbp, qword [rcx + 0x10]
sub rax, rbp
cmp rax, r13
jb 0x14006400e
mov r15, qword [rsp + 0x340]
mov rcx, qword [r15 + 8]
add rcx, rbp
lea rdx, [rsp + 0x50]
mov r8, r13
call sub.msvcrt.dll_memcpy
add rbp, r13
mov qword [r15 + 0x10], rbp
cmp r14, qword [rsp + 0x100]
jae 0x140063d90
jmp 0x140063e36
mov r15, qword [rsp + 0x340]
mov rcx, r15
mov rdx, rbp
mov r8, r13
call fcn.140060840
mov rbp, qword [r15 + 0x10]
jmp 0x140063fd8
mov rbx, qword [rsp + 0x340]
mov r13, qword [rbx + 8]
mov rsi, qword [rbx + 0x10]
mov r15, qword [rsp + 0x110]
test r15, r15
mov rdi, qword [rsp + 0x130]
je 0x14006408d
cmp rsi, r15
jbe 0x140064087
cmp byte [r13 + r15], 0xbf
jg 0x14006408d
jmp 0x140065a80
mov byte [rsp + 0x30], 1
mov dil, 1
xor esi, esi
jmp 0x140063b62
mov rcx, rbx
mov rdx, rbp
mov r8, r14
call fcn.140060840
mov rbp, qword [rbx + 0x10]
jmp 0x140063b47
jne 0x140065a80
lea rax, [r15 + r13]
mov qword [rsp + 0x100], rax
test dil, 1
jne 0x140064165
cmp rsi, r15
jne 0x1400640af
xor edi, edi
jmp 0x140064165
mov r14, rsi
add rsi, r13
mov rdi, qword [rsp + 0x100]
jmp 0x1400640c8
cmp rdi, rsi
je 0x140064160
movzx ecx, byte [rdi]
test cl, cl
js 0x1400640d4
inc rdi
jmp 0x140064135
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14006411c
movzx edx, byte [rdi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14006412a
movzx ecx, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x140064160
add rdi, 4
jmp 0x140064135
add rdi, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x140064135
add rdi, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x1400640bf
call fcn.14017b390
cmp al, 0x11
ja 0x1400640bf
movzx eax, al
mov ecx, 0x20003
bt ecx, eax
jae 0x1400640bf
mov dil, 1
jmp 0x140064162
xor edi, edi
mov rsi, r14
movq xmm0, qword [rsp + 0x30]
movzx eax, byte [rsp + 0x39]
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 + 0x38]
or al, byte [rsp + 0x3a]
or al, cl
or al, byte [rsp + 0x3b]
jne 0x140064950
mov r14, rdi
cmp rsi, r15
je 0x140064919
add r13, rsi
xor eax, eax
xor ebx, ebx
mov rdi, qword [rsp + 0x100]
movzx r8d, byte [rdi]
test r8b, r8b
js 0x1400641d4
inc rdi
jmp 0x140064251
mov ecx, r8d
and ecx, 0x1f
movzx r9d, byte [rdi + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x140064223
movzx edx, byte [rdi + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140064231
movzx ebp, byte [rdi + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and ebp, 0x3f
or ebp, edx
or ebp, ecx
cmp ebp, 0x110000
je 0x140064718
add rdi, 4
jmp 0x14006423c
add rdi, 2
shl ecx, 6
or ecx, r9d
mov ebp, ecx
jmp 0x14006423c
add rdi, 3
shl ecx, 0xc
or edx, ecx
mov ebp, edx
cmp ebp, 0x7f
jbe 0x140064251
jmp 0x1400642c8
inc rdi
cmp ebp, 0x80
jae 0x1400642c6
cmp rdi, r13
je 0x140064718
movzx ebp, byte [rdi]
test bpl, bpl
jns 0x140064246
mov eax, ebp
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp bpl, 0xdf
jbe 0x1400642ac
movzx ecx, byte [rdi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bpl, 0xf0
jb 0x1400642b9
movzx ebp, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebp, 0x3f
or ebp, ecx
or ebp, eax
cmp ebp, 0x110000
je 0x140064718
add rdi, 4
jmp 0x140064249
add rdi, 2
shl eax, 6
or eax, edx
mov ebp, eax
jmp 0x140064249
add rdi, 3
shl eax, 0xc
or ecx, eax
mov ebp, ecx
jmp 0x140064249
xor eax, eax
mov r15, rsi
mov esi, eax
mov ecx, ebp
call fcn.14017b400
cmp sil, al
mov rsi, r15
jbe 0x1400642e4
test al, al
jne case.0x140064489.3907
lea ecx, [rbp - 0x340]
cmp ecx, 4
ja 0x1400642f8
cmp ecx, 2
jne case.0x140064489.3907
mov cl, 2
cmp ebp, 0xd56
jg 0x14006435d
cmp ebp, 0x9de
jg 0x14006439e
cmp ebp, 0x93b
jg 0x1400644b4
lea edx, [rbp - 0x30f]
cmp edx, 0x36
ja 0x140064339
movabs r8, 0x48020000001005
bt r8, rdx
jb 0x14006459d
lea edx, [rbp - 0x374]
cmp edx, 0x13
ja case.0x140064489.3908
mov r8d, 0x80401
bt r8d, edx
jb case.0x140064489.3907
jmp case.0x140064489.3908
cmp ebp, 0x11126
jg 0x140064401
cmp ebp, 0x102d
jle 0x140064445
cmp ebp, 0x1f70
jg 0x140064506
cmp ebp, 0x102e
je 0x14006459a
cmp ebp, 0x1b35
je 0x14006459a
jmp case.0x140064489.3908
cmp ebp, 0xbd6
jg 0x14006448b
cmp ebp, 0xbbd
jg 0x140064592
lea edx, [rbp - 0xb3e]
cmp edx, 0x19
ja 0x1400643d1
mov r8d, 0x3000001
bt r8d, edx
jb 0x14006459a
lea edx, [rbp - 0xa33]
cmp edx, 0x2b
ja 0x1400643f0
movabs r8, 0x80000000009
bt r8, rdx
jb case.0x140064489.3907
cmp ebp, 0x9df
jne case.0x140064489.3908
jmp case.0x140064489.3907
cmp ebp, 0x114af
jle 0x1400644dd
lea edx, [rbp - 0x114b0]
cmp edx, 0xd
ja 0x140064428
mov r8d, 0x2401
bt r8d, edx
jb 0x14006459a
cmp ebp, 0x115af
je 0x14006459a
cmp ebp, 0x11930
je 0x14006459a
jmp case.0x140064489.3908
lea edx, [rbp - 0xdca]
cmp edx, 0x15
ja 0x140064460
mov r8d, 0x200021
bt r8d, edx
jb 0x14006459a
cmp ebp, 0xd57
je 0x14006459a
lea edx, [rbp - 0xf43]
cmp edx, 0x76
ja case.0x140064489.3908
lea r8, [0x1401d2980]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp ebp, 0xcc1
jg 0x14006455a
cmp ebp, 0xbd7
je 0x14006459a
cmp ebp, 0xc56
je 0x14006459a
jmp case.0x140064489.3908
cmp ebp, 0x93c
je 0x14006459a
cmp ebp, 0x9be
je 0x14006459a
cmp ebp, 0x9d7
je 0x14006459a
jmp case.0x140064489.3908
cmp ebp, 0x11127
je 0x14006459a
cmp ebp, 0x1133e
je 0x14006459a
cmp ebp, 0x11357
je 0x14006459a
jmp case.0x140064489.3908
cmp ebp, 0xfa0f
jle 0x14006456c
cmp ebp, 0x110ba
je 0x14006459a
lea edx, [rbp - 0xfa10]
cmp edx, 0x12
ja 0x140064535
mov r8d, 0x50005
bt r8d, edx
jb case.0x140064489.3907
lea edx, [rbp - 0xfb1d]
cmp edx, 0x21
ja case.0x140064489.3908
movabs r8, 0x200000005
bt r8, rdx
jb case.0x140064489.3907
jmp case.0x140064489.3908
cmp ebp, 0xcc2
je 0x14006459a
cmp ebp, 0xd3e
je 0x14006459a
jmp case.0x140064489.3908
cmp ebp, 0x2125
jg 0x1400645ad
lea edx, [rbp - 0x1f71]
cmp edx, 0x8c
ja case.0x140064489.3908
lea r8, [0x1401d2b5c]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp ebp, 0xbbe
jne case.0x140064489.3908
mov rsi, r15
mov ebx, ecx
cmp rdi, r13
jne 0x1400641c6
jmp 0x14006471a
lea edx, [rbp - 0x2329]
cmp edx, 2
jb case.0x140064489.3907
cmp ebp, 0x2126
je case.0x140064489.3907
cmp ebp, 0x2adc
je case.0x140064489.3907
movd xmm1, ebp
pshufd xmm0, xmm1, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x1401d28c0]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x1401d28d0]
pxor xmm3, xmm12
pcmpgtd xmm3, xmm14
pxor xmm2, xmm12
pcmpgtd xmm2, xmm15
packssdw xmm2, xmm3
packsswb xmm2, xmm2
pmovmskb edx, xmm2
xor dl, 0xff
jne case.0x140064489.3907
pshufd xmm1, xmm1, 0x50
pand xmm1, xmmword [0x1401d28b0]
pshufd xmm2, xmm1, 4
pcmpeqd xmm2, xmmword [0x1401d28e0]
movdqa xmm3, xmm0
paddd xmm3, xmm11
pxor xmm3, xmm12
movdqa xmm4, xmm13
pcmpgtd xmm4, xmm3
por xmm4, xmm2
movmskps edx, xmm4
test dl, dl
jne case.0x140064489.3907
lea edx, [rbp - 0x1d1bb]
cmp edx, 6
jb case.0x140064489.3907
lea edx, [rbp - 0x2f800]
cmp edx, 0x21e
jb case.0x140064489.3907
movd edx, xmm1
cmp edx, 0x2000
je case.0x140064489.3907
cmp edx, 0x212a
je case.0x140064489.3907
cmp edx, 0xfb40
je case.0x140064489.3907
movdqa xmm1, xmm0
paddd xmm1, xmm7
paddd xmm0, xmm8
pxor xmm0, xmm12
pcmpgtd xmm0, xmm9
pxor xmm1, xmm12
pcmpgtd xmm1, xmm10
packssdw xmm0, xmm1
packsswb xmm0, xmm0
pmovmskb r8d, xmm0
xor r8b, 0xff
jne 0x14006459a
lea r8d, [rbp - 0x11a8]
cmp r8d, 0x1b
jb 0x14006459a
cmp edx, 0x330
mov rsi, r15
je 0x14006459d
add ebp, 0xffffcf67
cmp ebp, 2
movzx ecx, bl
mov edx, 2
cmovb ecx, edx
jmp 0x14006459d
mov ecx, ebx
test cl, cl
je 0x140064919
movzx eax, cl
cmp eax, 1
je case.0x140064489.3907
mov r15, rsi
lea rcx, [rsp + 0x98]
movups xmmword [rcx], xmm6
mov byte [rcx + 0x10], 0
lea rax, [rsp + 0x220]
movups xmmword [rax], xmm6
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x60], 0
mov word [rsp + 0x64], 0
mov byte [rsp + 0x68], 0
mov dword [rsp + 0x6c], 0
mov byte [rsp + 0x70], 0
mov dword [rsp + 0x74], 0
mov byte [rsp + 0x78], 0
mov dword [rsp + 0x7c], 0
mov byte [rsp + 0x80], 0
mov dword [rsp + 0x84], 0
mov rsi, qword [rsp + 0x100]
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], r13
mov dword [rsp + 0xb0], 0
mov word [rsp + 0xb4], 0
movzx eax, word [rsp + 0x22e]
mov word [rcx + 0x2e], ax
movdqu xmm0, xmmword [rsp + 0x21e]
movdqu xmmword [rcx + 0x1e], xmm0
mov dword [rsp + 0xd0], 0x110000
mov byte [rsp + 0xd4], 0
cmp rsi, r13
je 0x1400648b3
movzx edi, byte [rsi]
test dil, dil
js 0x14006480d
inc rsi
jmp 0x14006486b
mov eax, edi
and eax, 0x1f
movzx edx, byte [rsi + 1]
and edx, 0x3f
cmp dil, 0xdf
jbe 0x140064853
movzx ecx, byte [rsi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp dil, 0xf0
jb 0x140064860
movzx edi, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and edi, 0x3f
or edi, ecx
or edi, eax
cmp edi, 0x110000
je 0x1400648b3
add rsi, 4
jmp 0x14006486b
add rsi, 2
shl eax, 6
or eax, edx
mov edi, eax
jmp 0x14006486b
add rsi, 3
shl eax, 0xc
or ecx, eax
mov edi, ecx
lea rcx, [rsp + 0x50]
call fcn.140061060
xor ebx, ebx
cmp eax, 0x110000
je 0x1400648c5
cmp eax, edi
je 0x1400647f7
jmp 0x1400648c5
mov rcx, qword [rsp + 0x340]
mov rdx, r15
call fcn.140060840
mov qword [rsp + 0x110], r15
cmp r14, qword [rsp + 0x100]
jb 0x140063e36
jmp 0x140063d90
lea rcx, [rsp + 0x50]
call fcn.140061060
cmp eax, 0x110000
sete bl
cmp dword [rsp + 0x60], 0
je 0x1400648e7
cmp qword [rsp + 0x68], 0
je 0x1400648e7
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x140279280]
xor edx, edx
call fcn.1401abdbc
cmp dword [rsp + 0xb0], 0
mov rsi, r15
je 0x140064915
cmp qword [rsp + 0xb8], 0
je 0x140064915
mov r8, qword [rsp + 0xc0]
mov rcx, qword [0x140279280]
xor edx, edx
call fcn.1401abdbc
test bl, bl
je case.0x140064489.3907
sub rsi, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x100]
mov rdx, rsi
mov r8, qword [rsp + 0x128]
lea r9, [rsp + 0x30]
call fcn.140061930
jmp 0x140064945
mov byte [rsp + 0x35], 1
mov rbx, qword [rsp + 0x340]
mov rdi, r14
xor esi, esi
jmp 0x140063b62
mov rdx, rdi
mov rcx, qword [rbx + 8]
mov rdi, qword [rbx + 0x10]
mov r8, qword [rsp + 0x140]
test r8, r8
je 0x140064994
cmp rdi, r8
jbe 0x140064992
cmp byte [rcx + r8], 0xbf
jg 0x140064994
lea rax, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov r9, rdi
call fcn.14004aea0
jne 0x14006497b
mov rax, rdi
sub rax, r8
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
movabs rax, 0x2e0000002e
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x88], 1
mov word [rsp + 0x90], 1
test dl, 1
jne 0x140064a03
lea r15, [rsp + 0x50]
mov rcx, r15
call fcn.1400609c0
test rax, rax
jne 0x1400649f1
jmp 0x140064dc0
mov ebx, 0x260d9
mov r14d, 0x62f8
lea rcx, [rsp + 0x50]
call fcn.1400609c0
test rax, rax
je 0x140064dc0
mov r13, rdx
test rdx, rdx
je 0x140064a0e
mov r12, rax
movzx ecx, byte [rax]
test cl, cl
js 0x140064a3a
lea rbp, [r12 + 1]
jmp 0x140064aa3
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [r12 + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x140064a88
movzx edx, byte [r12 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x140064a97
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 0x140064a0e
lea rbp, [r12 + 4]
jmp 0x140064aa3
lea rbp, [r12 + 2]
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x140064aa3
lea rbp, [r12 + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r13, r12
call fcn.14017b390
test al, al
je 0x140064b62
movzx eax, al
cmp eax, 0x11
je 0x140064b62
cmp eax, 9
jne 0x140064dbb
cmp rbp, r13
je 0x140064c33
movzx ecx, byte [rbp]
test cl, cl
js 0x140064ade
inc rbp
jmp 0x140064b43
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbp + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x140064b2a
movzx edx, byte [rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x140064b38
movzx ecx, byte [rbp + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x140064c33
add rbp, 4
jmp 0x140064b43
add rbp, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x140064b43
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.14017b390
cmp al, 0xe
ja 0x140064dbb
movzx eax, al
bt r14d, eax
jb 0x140064ac8
jmp 0x140064dbb
cmp rbp, r13
je 0x140064c42
xor esi, esi
xor r15d, r15d
jmp 0x140064b7e
mov sil, 1
cmp rbp, r13
je 0x140064c1f
movzx ecx, byte [rbp]
test cl, cl
js 0x140064b8b
inc rbp
jmp 0x140064bec
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbp + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x140064bd3
movzx edx, byte [rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x140064be1
movzx ecx, byte [rbp + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x140064c1f
add rbp, 4
jmp 0x140064bec
add rbp, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x140064bec
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.14017b390
cmp al, 0x11
ja 0x140064dbb
movzx eax, al
bt ebx, eax
jb 0x140064b75
cmp eax, 1
je 0x140064b72
cmp eax, 5
jne 0x140064dbb
mov r15b, 1
jmp 0x140064b75
test sil, 1
sete al
test r15b, 1
sete sil
or sil, al
jmp 0x140064c45
movzx ebp, byte [r13 - 1]
test bpl, bpl
js 0x140064c7e
dec r13
jmp 0x140064c9a
mov sil, 1
movzx ebp, byte [r13 - 1]
test bpl, bpl
js 0x140064c57
dec r13
jmp 0x140064d2d
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x140064d91
movzx ecx, byte [r13 - 3]
cmp cl, 0xbf
jle 0x140064d63
add r13, 0xfffffffffffffffd
and ecx, 0xf
jmp 0x140064d77
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x140064d01
movzx ecx, byte [r13 - 3]
cmp cl, 0xbf
jle 0x140064cd0
add r13, 0xfffffffffffffffd
and ecx, 0xf
jmp 0x140064ce4
mov ecx, ebp
call fcn.14017b390
cmp al, 0xd
jne 0x140064d0a
cmp r13, r12
je 0x140064a0e
movzx ebp, byte [r13 - 1]
test bpl, bpl
js 0x140064cbd
dec r13
jmp 0x140064cf4
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x140064d01
movzx ecx, byte [r13 - 3]
cmp cl, 0xc0
jge 0x140064c91
movzx edx, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and ebp, 0x3f
or ebp, eax
cmp ebp, 0x110000
jne 0x140064c9a
jmp 0x140064a0e
add r13, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x140064cec
mov ecx, ebp
call fcn.14017b390
cmp al, 9
je 0x140064a0e
mov ecx, ebp
call fcn.14017b390
cmp al, 5
je 0x140064a0e
jmp 0x140064dbb
mov ecx, ebp
call fcn.14017b390
cmp al, 0xd
jne 0x140064d9a
cmp r13, r12
je 0x140064dbb
movzx ebp, byte [r13 - 1]
test bpl, bpl
js 0x140064d4c
dec r13
jmp 0x140064d87
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x140064d91
movzx ecx, byte [r13 - 3]
cmp cl, 0xc0
jge 0x140064c72
movzx edx, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and ebp, 0x3f
or ebp, eax
cmp ebp, 0x110000
jne 0x140064d2d
jmp 0x140064dbb
add r13, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x140064d7f
mov ecx, ebp
call fcn.14017b390
cmp al, 0x11
ja 0x140064dbb
movzx eax, al
mov ecx, 0x20023
bt ecx, eax
jae 0x140064dbb
test sil, sil
jne 0x140064a0e
mov byte [rsp + 0x32], 1
movzx ebp, byte [rsp + 0x30]
movzx eax, byte [rsp + 0x31]
mov dword [rsp + 0x158], eax
movzx r14d, byte [rsp + 0x32]
movzx r15d, byte [rsp + 0x33]
movzx eax, byte [rsp + 0x34]
mov dword [rsp + 0x100], eax
movzx eax, byte [rsp + 0x35]
mov dword [rsp + 0x138], eax
movzx eax, byte [rsp + 0x36]
mov dword [rsp + 0x130], eax
movzx eax, byte [rsp + 0x37]
mov dword [rsp + 0x110], eax
movzx eax, byte [rsp + 0x38]
mov dword [rsp + 0x128], eax
movzx eax, byte [rsp + 0x39]
mov dword [rsp + 0x154], eax
movzx eax, byte [rsp + 0x3a]
mov dword [rsp + 0x150], eax
movzx eax, byte [rsp + 0x3b]
mov dword [rsp + 0x124], eax
cmp qword [rsp + 0x1c8], 0
mov rsi, qword [rsp + 0x340]
je 0x140064e6a
mov r8, qword [rsp + 0x1d0]
mov rcx, qword [0x140279280]
xor edx, edx
call fcn.1401abdbc
mov rdi, qword [rsi + 0x10]
test rdi, rdi
mov rbx, qword [rsp + 0x148]
je 0x140064ea0
js 0x140065ab5
movzx eax, byte [0x1402792e0]
xor ecx, ecx
mov rdx, rdi
call fcn.1401685e0
test rax, rax
jne 0x140064ea5
mov ecx, 1
mov rdx, rdi
call fcn.1400418b0
mov eax, 1
mov dword [rsp + 0x140], r15d
mov dword [rsp + 0x118], r14d
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x60], rcx
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsi], rdi
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], 0
lea rsi, [rbx + 0x18]
cmp qword [rbx + 0x18], 0
je 0x140064ef2
mov r8, qword [rbx + 0x20]
mov rcx, qword [0x140279280]
xor edx, edx
call fcn.1401abdbc
mov rax, qword [rsp + 0x60]
mov qword [rsi + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x50]
movdqu xmmword [rsi], xmm0
mov rax, qword [rbx + 0x20]
mov rcx, qword [rbx + 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
movabs rax, 0x2e0000002e
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x88], 1
mov word [rsp + 0x90], 1
mov bl, 1
mov ecx, ebp
jmp 0x140064f6b
mov rbx, qword [rsp + 0x340]
mov qword [rbx + 0x10], rbp
xor ebx, ebx
mov dword [rsp + 0x108], ecx
mov ebp, ecx
lea rcx, [rsp + 0x50]
call fcn.1400609c0
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14006583e
test bl, 1
mov rbx, qword [rsp + 0x340]
movabs r14, 0x8080808080808080
mov r10d, 0x1a
mov r11d, 1
jne 0x140064fe1
mov rsi, qword [rbx + 0x10]
cmp rsi, qword [rbx]
jne 0x140064fd2
mov rcx, rbx
mov rdi, rdx
call fcn.1400c7210
mov r11d, 1
mov r10d, 0x1a
mov rdx, rdi
mov rax, qword [rbx + 8]
mov byte [rax + rsi], 0x2e
inc rsi
mov qword [rbx + 0x10], rsi
cmp rdx, 8
jae 0x1400650b7
test rdx, rdx
je 0x1400657f2
mov rax, qword [rsp + 0x40]
cmp byte [rax + rdx - 1], 0
js 0x140065106
mov rax, rdx
dec rax
je 0x1400657f2
mov rax, qword [rsp + 0x40]
cmp byte [rax + rdx - 2], 0
js 0x140065106
mov rax, rdx
add rax, 0xfffffffffffffffe
je 0x1400657f2
mov rax, qword [rsp + 0x40]
cmp byte [rax + rdx - 3], 0
js 0x140065106
mov rax, rdx
add rax, 0xfffffffffffffffd
je 0x1400657f2
mov rax, qword [rsp + 0x40]
cmp byte [rax + rdx - 4], 0
js 0x140065106
mov rax, rdx
add rax, 0xfffffffffffffffc
je 0x1400657f2
mov rax, qword [rsp + 0x40]
cmp byte [rax + rdx - 5], 0
js 0x140065106
mov rax, rdx
add rax, 0xfffffffffffffffb
je 0x1400657f2
mov rax, qword [rsp + 0x40]
cmp byte [rax + rdx - 6], 0
js 0x140065106
mov rax, rdx
add rax, 0xfffffffffffffffa
je 0x1400657f2
mov rax, qword [rsp + 0x40]
cmp byte [rax + rdx - 7], 0
js 0x140065106
mov rax, rdx
add rax, 0xfffffffffffffff9
jne 0x140065106
jmp 0x1400657f2
mov rax, qword [rsp + 0x40]
test qword [rax], r14
jne 0x140065106
mov rcx, qword [rsp + 0x40]
lea rax, [rcx + 7]
and rax, 0xfffffffffffffff8
sub rax, rcx
mov ecx, 8
cmove rax, rcx
lea rcx, [rdx - 8]
cmp rax, rcx
jae 0x1400650f7
mov r8, qword [rsp + 0x40]
test qword [r8 + rax], r14
jne 0x140065106
add rax, 8
cmp rax, rcx
jb 0x1400650e3
mov rax, qword [rsp + 0x40]
test qword [rax + rcx], r14
je 0x1400657f2
mov rcx, qword [rbx]
mov rdi, qword [rbx + 0x10]
sub rcx, rdi
mov rax, rdi
cmp rcx, 3
jbe 0x14006521a
mov qword [rsp + 0x1a8], rdi
mov rcx, qword [rbx + 8]
mov dword [rcx + rax], 0x2d2d6e78
add rax, 4
mov qword [rbx + 0x10], rax
xor ebx, ebx
test rdx, rdx
je 0x140064f74
mov rsi, qword [rsp + 0x40]
mov r14, rsi
add r14, rdx
mov dword [rsp + 0x4c], 0
jmp 0x14006516a
mov ebp, dword [rsp + 0x108]
inc ebx
cmp rsi, r14
je 0x14006524d
movzx edx, byte [rsi]
test dl, dl
js 0x140065176
inc rsi
jmp 0x1400651db
mov eax, edx
and eax, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp dl, 0xdf
jbe 0x1400651c2
movzx ecx, byte [rsi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x1400651d0
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 0x140065246
add rsi, 4
jmp 0x1400651db
add rsi, 2
shl eax, 6
or eax, r8d
mov edx, eax
jmp 0x1400651db
add rsi, 3
shl eax, 0xc
or ecx, eax
mov edx, ecx
mov eax, ebx
inc eax
mov dword [rsp + 0x10c], eax
je 0x1400657a2
cmp edx, 0x80
jae 0x140065158
mov rcx, qword [rsp + 0x340]
call fcn.140060730
mov r11d, 1
mov r10d, 0x1a
inc dword [rsp + 0x4c]
jmp 0x140065158
mov r8d, 4
mov rcx, rbx
mov rsi, rdx
mov rdx, rdi
call fcn.140060840
mov r11d, 1
mov r10d, 0x1a
mov rdx, rsi
mov rax, qword [rbx + 0x10]
jmp 0x14006511d
mov dword [rsp + 0x10c], ebx
cmp dword [rsp + 0x4c], 0
je 0x140065288
mov rdi, qword [rsp + 0x340]
mov rsi, qword [rdi + 0x10]
cmp rsi, qword [rdi]
jne 0x140065279
mov rcx, rdi
call fcn.1400c7210
mov r11d, 1
mov r10d, 0x1a
mov rax, qword [rdi + 8]
mov byte [rax + rsi], 0x2d
inc rsi
mov qword [rdi + 0x10], rsi
xor r8d, r8d
mov ebx, 0
mov eax, dword [rsp + 0x10c]
cmp dword [rsp + 0x4c], eax
jae 0x140064f74
mov eax, pe_nt_image_headers64
mov r15d, 0x48
mov r12d, dword [rsp + 0x4c]
mov qword [rsp + 0x1b0], r14
mov rcx, qword [rsp + 0x40]
jmp 0x1400652cb
inc rcx
cmp eax, ebp
jbe 0x140065386
xor edx, edx
cmp rcx, r14
je 0x140065379
movzx ebp, byte [rcx]
test bpl, bpl
jns 0x1400652c0
mov r9d, ebp
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp bpl, 0xdf
jbe 0x140065341
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp bpl, 0xf0
jb 0x14006535a
movzx ebp, byte [rcx + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and ebp, 0x3f
or ebp, r10d
or ebp, r9d
cmp ebp, 0x110000
mov r10d, 0x1a
mov r11d, 1
je 0x140065440
add rcx, 4
jmp 0x1400652c3
add rcx, 2
shl r9d, 6
or r9d, r11d
mov ebp, r9d
mov r11d, 1
jmp 0x1400652c3
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov ebp, r10d
mov r10d, 0x1a
mov r11d, 1
jmp 0x1400652c3
test edx, edx
jne 0x140065448
jmp 0x140065a74
mov edx, 1
cmp rcx, r14
jne 0x1400653b2
jmp 0x140065440
inc rcx
cmp r9d, r10d
mov ebp, r10d
cmovb ebp, r9d
cmp r10d, eax
cmovb ebp, r9d
cmp rcx, r14
je 0x14006543a
mov r9d, ebp
movzx r10d, byte [rcx]
test r10b, r10b
jns 0x140065395
mov r11d, r10d
and r11d, 0x1f
movzx edi, byte [rcx + 1]
and edi, 0x3f
cmp r10b, 0xdf
jbe 0x140065411
movzx esi, byte [rcx + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp r10b, 0xf0
jb 0x140065421
movzx r10d, byte [rcx + 3]
and r11d, 7
shl r11d, 0x12
shl esi, 6
and r10d, 0x3f
or r10d, esi
or r10d, r11d
cmp r10d, 0x110000
je 0x140065786
add rcx, 4
jmp 0x14006542f
add rcx, 2
shl r11d, 6
or r11d, edi
mov r10d, r11d
jmp 0x14006542f
add rcx, 3
shl r11d, 0xc
or esi, r11d
mov r10d, esi
mov r11d, 1
jmp 0x140065398
mov r10d, 0x1a
test edx, edx
je 0x140065a74
mov ecx, r12d
inc ecx
je 0x140065a3d
mov edi, ebp
sub edi, eax
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp edi, eax
ja 0x1400657a2
imul edi, ecx
add edi, r8d
mov rsi, qword [rsp + 0x40]
jmp 0x140065484
mov r8d, edi
mov r9d, r12d
cmp rsi, r14
je 0x140065758
movzx eax, byte [rsi]
test al, al
js 0x140065490
inc rsi
jmp 0x1400654f2
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x1400654d9
movzx edx, byte [rsi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x1400654e7
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 0x14006577e
add rsi, 4
jmp 0x1400654f2
add rsi, 2
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x1400654f2
add rsi, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, ebp
jae 0x1400654fe
inc edi
je 0x1400657a2
cmp eax, ebp
jne 0x140065475
mov qword [rsp + 0x1b8], rsi
mov dword [rsp + 0x15c], r12d
lea r12d, [r15 + 0x1a]
lea ecx, [r15 - 0x24]
neg ecx
cmp r12d, 0x25
cmovb ecx, r10d
cmp r15d, 0x24
cmovae ecx, r11d
mov eax, edi
mov dword [rsp + 0x120], edi
cmp edi, ecx
mov rbx, qword [rsp + 0x340]
jae 0x1400655fc
mov edx, 0x61
cmp eax, 0x1a
jb 0x140065561
mov edx, 0x16
cmp eax, 0x24
jae 0x140065a5a
add edx, eax
mov rcx, rbx
call fcn.140060730
mov eax, dword [rsp + 0x15c]
mov r9d, eax
inc r9d
mov esi, 0xd41d41d5
je 0x1400659c2
cmp eax, dword [rsp + 0x4c]
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r8d, r8d
mov eax, dword [rsp + 0x120]
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div r9d
add eax, ecx
cmp eax, 0x1c8
mov r14, qword [rsp + 0x1b0]
jb 0x140065714
xor ecx, ecx
mov r11d, 1
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 0x1400655d0
jmp 0x14006571f
mov esi, r15d
neg esi
mov r14d, 0x48
mov eax, dword [rsp + 0x120]
jmp 0x14006563d
mov rcx, qword [rbx + 8]
mov byte [rcx + r13], dil
inc r13
lea ecx, [rsi + r14]
cmp r14d, r12d
cmovae ecx, r10d
cmp r14d, r15d
cmovbe ecx, r11d
mov qword [rbx + 0x10], r13
add r14d, 0x24
cmp eax, ecx
jb 0x140065549
mov r8d, ecx
sub r8d, 0x24
je 0x140065985
sub eax, ecx
neg r8d
xor edx, edx
div r8d
add edx, ecx
mov edi, 0x61
cmp edx, 0x1a
jb 0x14006566e
mov edi, 0x16
cmp edx, 0x24
jae 0x140065a5a
add edi, edx
cmp edi, 0x80
jae 0x1400656b0
mov r13, qword [rbx + 0x10]
cmp r13, qword [rbx]
jne 0x140065610
mov rcx, rbx
mov ebx, eax
call fcn.1400c7210
mov r11d, 1
mov r10d, 0x1a
mov eax, ebx
mov rbx, qword [rsp + 0x340]
jmp 0x140065610
mov rcx, qword [rbx]
mov r13, qword [rbx + 0x10]
sub rcx, r13
cmp rcx, 1
jbe 0x1400656eb
movzx ecx, di
mov edx, ecx
shr edx, 6
mov r8, qword [rbx + 8]
and ecx, 0x3f
shl ecx, 8
movzx edx, dx
or edx, ecx
or edx, 0x80c0
mov word [r8 + r13], dx
add r13, 2
jmp 0x14006561b
mov r8d, 2
mov rcx, rbx
mov rdx, r13
mov r13d, eax
call fcn.140060840
mov r11d, 1
mov r10d, 0x1a
mov eax, r13d
mov r13, qword [rbx + 0x10]
jmp 0x1400656c0
xor ecx, ecx
mov r10d, eax
mov r11d, 1
lea eax, [r10*4]
lea eax, [rax + rax*8]
add r10d, 0x26
xor edx, edx
div r10w
movzx r15d, ax
add r15d, ecx
mov r12d, r9d
mov edi, r8d
mov r10d, 0x1a
mov rsi, qword [rsp + 0x1b8]
cmp rsi, r14
jne 0x140065484
inc r8d
inc ebp
xor ebx, ebx
mov r12d, r9d
mov eax, ebp
cmp r9d, dword [rsp + 0x10c]
mov ebp, dword [rsp + 0x108]
jb 0x1400652b9
jmp 0x140064f74
mov r8d, edi
mov r9d, r12d
jmp 0x140065758
mov ebp, r9d
mov r10d, 0x1a
mov r11d, 1
test edx, edx
jne 0x140065448
jmp 0x140065a74
mov rax, qword [rsp + 0x340]
mov rax, qword [rax + 0x10]
mov cl, 1
xor ebx, ebx
mov rbp, qword [rsp + 0x1a8]
cmp rax, rbp
jb 0x140064f6b
mov cl, 1
test rbp, rbp
je 0x140064f5d
cmp rax, rbp
mov rbx, qword [rsp + 0x340]
jbe 0x140064f65
mov rax, qword [rbx + 8]
cmp byte [rax + rbp], 0xbf
jg 0x140064f65
jmp 0x140065a9d
mov rax, qword [rbx]
mov r13, qword [rbx + 0x10]
sub rax, r13
cmp rax, rdx
jb 0x140065827
mov rbp, rdx
mov rcx, qword [rbx + 8]
add rcx, r13
mov rdx, qword [rsp + 0x40]
mov r8, rbp
call sub.msvcrt.dll_memcpy
add rbp, r13
mov ecx, dword [rsp + 0x108]
jmp 0x140064f65
mov rcx, rbx
mov r8, rdx
mov rdx, r13
mov rbp, r8
call fcn.140060840
mov r13, qword [rbx + 0x10]
jmp 0x140065804
mov r12d, ebp
mov rbx, qword [rsp + 0x340]
mov r15, qword [rsp + 0x148]
mov r8d, dword [rsp + 0x158]
mov ebp, dword [rsp + 0x154]
mov r14d, dword [rsp + 0x150]
cmp byte [r15 + 0x32], 0
jne 0x1400637eb
mov eax, ebp
mov esi, r14d
mov ecx, r8d
or cl, r12b
mov r9d, dword [rsp + 0x118]
mov edx, r9d
mov r10d, dword [rsp + 0x140]
or dl, r10b
or dl, cl
mov r11d, dword [rsp + 0x100]
mov ecx, r11d
mov edi, dword [rsp + 0x138]
or cl, dil
mov ebx, dword [rsp + 0x130]
or cl, bl
or cl, dl
mov r14d, dword [rsp + 0x110]
mov edx, r14d
mov r15d, dword [rsp + 0x128]
or dl, r15b
or dl, al
or dl, sil
or dl, cl
mov cl, 2
mov r13d, dword [rsp + 0x124]
or dl, r13b
mov rdx, qword [rsp + 0x1c0]
je 0x140065917
mov byte [rdx + 1], r8b
mov byte [rdx + 2], r9b
mov byte [rdx + 3], r10b
mov byte [rdx + 4], r11b
mov byte [rdx + 5], dil
mov byte [rdx + 6], bl
mov byte [rdx + 7], r14b
mov byte [rdx + 8], r15b
mov byte [rdx + 9], al
mov byte [rdx + 0xa], sil
mov byte [rdx + 0xb], r13b
mov ecx, r12d
mov byte [rdx], cl
movaps xmm6, xmmword [rsp + 0x230]
movaps xmm7, xmmword [rsp + 0x240]
movaps xmm8, xmmword [rsp + 0x250]
movaps xmm9, xmmword [rsp + 0x260]
movaps xmm10, xmmword [rsp + 0x270]
movaps xmm11, xmmword [rsp + 0x280]
movaps xmm12, xmmword [rsp + 0x290]
movaps xmm13, xmmword [rsp + 0x2a0]
movaps xmm14, xmmword [rsp + 0x2b0]
movaps xmm15, xmmword [rsp + 0x2c0]
add rsp, 0x2d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
call fcn.14004cef0
lea r8, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov rcx, rdx
mov edx, 4
call fcn.140046bf0
lea rax, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1401edba4]
mov edx, 0x321c
call fcn.14004aea0
lea rcx, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
call fcn.140047360
lea r8, [0x1401e1ff0]
call fcn.140046280
lea r8, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov rcx, rdx
mov edx, 4
call fcn.140046bf0
lea r8, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov edx, 0xd4e
call fcn.140046280
lea r8, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov edx, 0x1667
call fcn.140046280
lea r8, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov rcx, rbp
call fcn.140046bf0
lea r8, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov rcx, r14
call fcn.140046bf0
lea r8, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov rcx, rbp
call fcn.140046bf0
lea rcx, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
call fcn.140047360
lea r8, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
call fcn.140046bf0
lea rcx, [0x1402089df]
lea r8, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0xe
call fcn.140046f60
ud2
lea rcx, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
call fcn.140049c70
lea rax, str._home_dreamingcodes_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, rsi
mov r8, r15
mov r9, rsi
call fcn.14004aea0
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len__a9_
lea r8, [0x140233ba0]
mov edx, 0x30
call fcn.140046f60
call fcn.1400418d0
int3