Function at 0x140057f00
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2f8
movdqa xmmword [rsp + 0x2e0], xmm15
movdqa xmmword [rsp + 0x2d0], xmm14
movdqa xmmword [rsp + 0x2c0], xmm13
movdqa xmmword [rsp + 0x2b0], xmm12
movdqa xmmword [rsp + 0x2a0], xmm11
movdqa xmmword [rsp + 0x290], xmm10
movdqa xmmword [rsp + 0x280], xmm9
movdqa xmmword [rsp + 0x270], xmm8
movdqa xmmword [rsp + 0x260], xmm7
movaps xmmword [rsp + 0x250], xmm6
mov rbx, rdx
mov r13, qword [rsp + 0x360]
test r9, r9
mov qword [rsp + 0x1e8], rcx
je 0x1400580ce
lea rax, [r8 + r9]
xor edx, edx
movdqa xmm0, xmmword [0x1401fe600]
mov r14, r8
jmp 0x140057fbf
xor r11d, r11d
mov rdx, r11
cmp r14, rax
je 0x140058fb4
movzx esi, byte [r14]
test sil, sil
js 0x140057fe0
inc r14
mov r10d, esi
cmp r10d, 0x2e
jne 0x140058070
jmp 0x140057fb0
mov r10d, esi
and r10d, 0x1f
movzx edi, byte [r14 + 1]
and edi, 0x3f
cmp sil, 0xdf
jbe 0x140058036
movzx r11d, byte [r14 + 2]
shl edi, 6
and r11d, 0x3f
or r11d, edi
cmp sil, 0xf0
jb 0x14005804c
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 0x140058070
jmp 0x140057fb0
add r14, 2
shl r10d, 6
or r10d, edi
cmp r10d, 0x2e
jne 0x140058070
jmp 0x140057fb0
add r14, 3
shl r10d, 0xc
or r11d, r10d
mov r10d, r11d
cmp r10d, 0x2e
je 0x140057fb0
nop word cs:[rax + rax]
cmp r10d, 0x110000
je 0x140058fb4
test rdx, rdx
jne 0x140058088
cmp r10d, 0x2d
je 0x1400580ce
mov r11d, 5
cmp rdx, 4
ja 0x1400580b3
movdqa xmmword [rsp + 0x50], xmm0
je 0x140059212
cmp r10d, dword [rsp + rdx*4 + 0x50]
jne 0x1400580b3
inc rdx
mov r11, rdx
cmp rdx, 4
je 0x1400580ce
lea edx, [r10 - 0x61]
cmp edx, 0x1a
jb 0x140057fb3
add r10d, 0xffffffd0
cmp r10d, 9
jbe 0x140057fb3
mov eax, dword [rbx + 0x30]
movzx ecx, byte [rbx + 0x34]
add r9, r8
xorps xmm6, xmm6
movups xmmword [rsp + 0xb8], xmm6
movups xmmword [rsp + 0x1f2], xmm6
mov byte [rsp + 0x202], 0
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x60], 0
mov word [rsp + 0x64], 0
movups xmm0, xmmword [rsp + 0x1f0]
movups xmmword [rsp + 0x66], xmm0
mov edx, dword [rsp + 0x1ff]
mov dword [rsp + 0x75], edx
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 + 0x38]
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], 0
mov byte [rsp + 0xb4], cl
shl rcx, 0x20
or rcx, rax
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x150], rbx
mov qword [rbx + 0x10], 0
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov rcx, qword [r13 + 0x10]
mov qword [rsp + 0x148], rcx
movups xmmword [rsp + 0x172], xmm6
lea r12, [rsp + 0x60]
mov dword [rsp + 0xb0], eax
mov byte [rsp + 0xc8], 0
mov dword [rsp + 0xd0], 0
mov word [rsp + 0xd4], 0
movzx eax, word [rsp + 0x180]
mov word [rsp + 0xe6], ax
movdqu xmm0, xmmword [rsp + 0x170]
movdqu xmmword [rsp + 0xd6], xmm0
mov dword [rsp + 0xf0], 0x110000
mov byte [rsp + 0xf4], 0
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x130], rax
lea rax, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.1_src_arrayvec.rs
mov qword [rsp + 0x118], rax
lea rdi, [0x1402130f0]
lea r15, [0x140216bc0]
lea rax, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov qword [rsp + 0x110], rax
lea rax, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
mov r13d, dword [rsp + 0xd0]
mov rbx, qword [rsp + 0xe0]
test r13d, r13d
je 0x1400582b0
test rcx, rcx
je 0x140058305
mov rdx, qword [rsp + 0xe8]
cmp rcx, 1
jne 0x140058f09
cmp rax, rdx
jb 0x140058f48
mov qword [rsp + 0xe8], 0
jmp 0x1400582e9
test rcx, rcx
je 0x140058305
movzx edx, word [rsp + 0xd4]
cmp rcx, 1
jne 0x140058f13
cmp dx, 4
ja 0x14005a7cf
cmp rax, rdx
jb 0x140058f40
test rdx, rdx
je 0x1400582e9
mov word [rsp + 0xd4], 0
mov qword [rsp + 0x50], 0
jmp 0x140058305
add ebx, 0x11a7
movzx edx, bx
mov rcx, r12
call fcn.1400562d0
mov r9, qword [rsp + 0xc0]
test r9, r9
jne 0x1400586f0
movzx r10d, byte [rsp + 0xb0]
cmp r10b, 2
je 0x140058acc
mov r8, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x88]
mov r11, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
movzx ebx, byte [rsp + 0xb1]
mov r13, qword [rsp + 0xa8]
test r8, r8
je 0x140058406
cmp r8, r13
je 0x1400583fa
lea rcx, [r8 + 1]
mov qword [rsp + 0xa0], rcx
movzx edx, byte [r8]
test dl, dl
jns 0x1400589d2
mov ecx, edx
and ecx, 0x1f
lea r9, [r8 + 2]
mov qword [rsp + 0xa0], r9
movzx r14d, byte [r8 + 1]
and r14d, 0x3f
cmp dl, 0xdf
jbe 0x140058d76
lea r9, [r8 + 3]
mov qword [rsp + 0xa0], r9
movzx r9d, byte [r8 + 2]
shl r14d, 6
and r9d, 0x3f
or r9d, r14d
cmp dl, 0xf0
jb 0x140058d83
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.0x1400585d7.0
mov qword [rsp + 0xa0], 0
cmp rbp, r11
je 0x140058ac4
lea rdx, [rbp + 1]
mov qword [rsp + 0x88], rdx
movzx ecx, byte [rbp]
test cl, cl
js 0x140058440
mov rbp, rdx
mov edx, ecx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x1400584f0
jmp 0x1400589d2
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 0x1400584b8
lea r14, [rbp + 3]
mov qword [rsp + 0x88], r14
movzx r8d, byte [rbp + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x1400584ce
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 0x1400584f0
jmp 0x1400589d2
shl edx, 6
or edx, r9d
mov rbp, r8
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x1400584f0
jmp 0x1400589d2
shl edx, 0xc
or r8d, edx
mov rbp, r14
mov edx, r8d
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jb 0x1400589d2
nop word cs:[rax + rax]
cmp edx, 0x110000
je 0x140058ac4
lea ecx, [rdx - 0x61]
cmp ecx, 0x1a
jb 0x1400589d2
lea ecx, [rdx - 0x30]
cmp ecx, 0xa
jb 0x1400589d2
mov r8d, 0x75a
xor ecx, ecx
mov r9d, 0x75a
nop word cs:[rax + rax]
shr r8, 1
add r8, rcx
mov r14d, dword [rdi + r8*8]
cmp r14d, edx
je 0x140058569
lea rsi, [r8 + 1]
cmp r14d, edx
cmova r9, r8
cmovb rcx, rsi
mov r8, r9
sub r8, rcx
ja 0x140058530
dec rcx
mov r8, rcx
cmp rcx, 0x759
ja 0x1400591aa
movzx r9d, word [rdi + r8*8 + 4]
mov ecx, r9d
and ecx, 0x7fff
test r9w, r9w
js 0x1400585a0
movzx r8d, word [rdi + r8*8]
mov r9d, edx
sub r9w, r8w
movzx ecx, cx
add ecx, r9d
movzx ecx, cx
cmp ecx, 0x1f73
jb 0x1400585b1
jmp 0x1400591bf
movzx r8d, cx
cmp r8d, 0x1f72
ja 0x1400591cd
movzx r9d, byte [r15 + rcx*4]
mov r8d, 0
cmp r9d, 1
je case.default.0x1400585d7
mov r8d, r9d
lea r9, [0x1401feaf0]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
mov r8d, dword [rsp + 0x60]
mov rcx, qword [rsp + 0xb8]
test r8d, r8d
je 0x140058716
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
cmp rcx, rdx
jb 0x140058733
jmp 0x1400591e3
movzx edx, word [rsp + 0x64]
cmp rdx, 4
ja 0x14005a7cf
lea rax, [rsp + 0x68]
cmp rcx, rdx
jae 0x1400591e3
mov ebx, dword [rax + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x1400587f0
test r8d, r8d
je 0x1400587fa
mov rax, qword [rsp + 0x78]
sub rax, r9
je 0x140058808
xor r8d, r8d
nop dword [rax]
mov rcx, qword [rsp + 0xc0]
add rcx, r8
cmp dword [rsp + 0x60], 0
je 0x140058790
mov rdx, qword [rsp + 0x78]
cmp rcx, rdx
jae 0x14005910e
mov r9, qword [rsp + 0x70]
jmp 0x1400587ad
movzx edx, word [rsp + 0x64]
cmp rdx, 4
ja 0x14005a7cf
lea r9, [rsp + 0x68]
cmp rcx, rdx
jae 0x14005910e
cmp r8, rdx
jae 0x140059117
movzx edx, byte [r9 + rcx*8]
mov ecx, dword [r9 + rcx*8 + 4]
mov byte [r9 + r8*8], dl
mov dword [r9 + r8*8 + 4], ecx
lea rcx, [r8 + 1]
mov r8, rcx
cmp rax, rcx
jne 0x140058760
mov r8d, dword [rsp + 0x60]
test r8d, r8d
jne 0x14005880d
movzx ecx, word [rsp + 0x64]
cmp rax, rcx
jae 0x140058819
mov word [rsp + 0x64], ax
jmp 0x140058819
mov qword [rsp + 0xb8], rcx
jmp 0x140058824
movzx eax, word [rsp + 0x64]
sub rax, r9
jne 0x14005875a
test r8d, r8d
je 0x1400587df
cmp qword [rsp + 0x78], rax
jb 0x140058819
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0xb8]
movups xmmword [rax], xmm6
imul eax, ebx, 0x9e3779b9
imul ecx, ebx, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rdx, [0x140276a28]
movzx eax, word [rdx + rax*2]
add eax, ebx
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rcx, [0x14027715c]
mov r13d, dword [rcx + rax*4]
mov eax, r13d
shr eax, 8
cmp eax, ebx
mov eax, 0
cmovne r13d, eax
mov ebp, dword [rsp + 0xf0]
cmp ebp, 0x110000
jne 0x1400588a0
test r13b, r13b
jne 0x140058ed0
mov dword [rsp + 0xf0], ebx
jmp 0x140058305
cmp byte [rsp + 0xf4], 0
je 0x140058902
cmp byte [rsp + 0xf5], r13b
jae 0x14005894e
mov ecx, ebp
mov edx, ebx
call fcn.1401a7210
cmp eax, 0x110000
jne 0x140058d6a
cmp dword [rsp + 0xd0], 0
je 0x140058de9
mov r14, qword [rsp + 0xe8]
cmp r14, qword [rsp + 0xd8]
jne 0x140058984
lea rcx, [rsp + 0xd8]
call fcn.1401a84c0
jmp 0x140058984
mov ecx, ebp
mov edx, ebx
call fcn.1401a7210
cmp eax, 0x110000
jne 0x140058cba
test r13b, r13b
je 0x140058efd
cmp dword [rsp + 0xd0], 0
je 0x140058dbd
mov r14, qword [rsp + 0xe8]
cmp r14, qword [rsp + 0xd8]
jne 0x140058984
lea rcx, [rsp + 0xd8]
call fcn.1401a84c0
jmp 0x140058984
test r13b, r13b
je 0x140058ed7
cmp dword [rsp + 0xd0], 0
je 0x140058d91
mov r14, qword [rsp + 0xe8]
cmp r14, qword [rsp + 0xd8]
jne 0x140058984
lea rcx, [rsp + 0xd8]
call fcn.1401a84c0
mov rax, qword [rsp + 0xe0]
mov dword [rax + r14*4], ebx
inc r14
mov qword [rsp + 0xe8], r14
jmp 0x140058e71
cmp edx, 0x110000
je 0x140058ac4
cmp byte [rsp + 0xc8], 0
je 0x140058a3f
cmp edx, 0x80
jb 0x1400582fd
lea ebp, [rdx - 0xac00]
cmp ebp, 0x2ba4
jae 0x140058b03
movzx ebx, bp
imul r14d, ebx, 0x6f75
shr r14d, 0x18
lea edx, [r14 + 0x1100]
mov rcx, r12
call fcn.1400562d0
imul eax, r14d, 0x24c
sub ebp, eax
movzx eax, bp
shr eax, 2
imul edx, eax, 0x4925
shr edx, 0x11
add edx, 0x1161
mov rcx, r12
call fcn.1400562d0
jmp 0x140058aa0
cmp edx, 0x80
jb 0x1400582fd
lea ebp, [rdx - 0xac00]
cmp ebp, 0x2ba4
jae 0x140058c04
movzx ebx, bp
imul r14d, ebx, 0x6f75
shr r14d, 0x18
lea edx, [r14 + 0x1100]
mov rcx, r12
call fcn.1400562d0
imul eax, r14d, 0x24c
sub ebp, eax
movzx eax, bp
shr eax, 2
imul edx, eax, 0x4925
shr edx, 0x11
add edx, 0x1161
mov rcx, r12
call fcn.1400562d0
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
jne 0x1400582f4
jmp 0x140058305
mov byte [rsp + 0xb0], 2
cmp dword [rsp + 0x60], 0
je 0x140058b98
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x140058e90
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xc0]
mov rax, rdx
sub rax, rcx
jae 0x140058bc9
jmp 0x14005b1f1
imul ecx, edx, 0x9e3779b9
imul eax, edx, 0x31415926
xor ecx, eax
imul r8, rcx, 0xee4
shr r8, 0x20
lea r9, [0x140282a60]
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, [0x140284828]
mov rbp, qword [r9 + r8*8]
cmp edx, ebp
jne 0x140058cc6
mov rax, rbp
shr rax, 0x20
movzx ecx, ax
cmp rcx, 0x1667
ja 0x14005b21d
shr rbp, 0x30
mov edx, 0x1667
sub rdx, rcx
cmp rbp, rdx
ja 0x14005b240
lea rax, [0x14028bf48]
lea rbx, [rax + rcx*4]
test rbp, rbp
jne 0x140058d45
jmp 0x140058305
movzx edx, word [rsp + 0x64]
test rdx, rdx
je 0x140058e90
cmp dx, 4
ja 0x14005b1ff
lea r8, [rsp + 0x68]
mov rcx, qword [rsp + 0xc0]
mov rax, rdx
sub rax, rcx
jb 0x14005b1f1
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.140057180
mov r8d, dword [rsp + 0x60]
test r8d, r8d
je 0x140058bf1
mov r9, qword [rsp + 0x78]
mov qword [rsp + 0xc0], r9
jmp 0x1400586f5
movzx r9d, word [rsp + 0x64]
mov qword [rsp + 0xc0], r9
jmp 0x1400586f5
imul eax, edx, 0x9e3779b9
imul ecx, edx, 0x31415926
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea r8, [0x14027a404]
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, [0x14027b420]
mov rax, qword [rcx + rax*8]
cmp edx, eax
jne 0x1400582fd
mov rcx, rax
shr rcx, 0x20
movzx ecx, cx
cmp rcx, 0xd4f
jae 0x14005b216
mov rbp, rax
shr rbp, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rbp, rdx
ja 0x14005b24c
shr rax, 0x30
je 0x140058305
lea rax, [0x14027f488]
lea rbx, [rax + rcx*4]
shl ebp, 2
xor r14d, r14d
nop dword [rax + rax]
mov edx, dword [rbx + r14]
mov rcx, r12
call fcn.1400562d0
add r14, 4
cmp rbp, r14
jne 0x140058ca0
jmp 0x140058305
mov dword [rsp + 0xf0], eax
jmp 0x140058305
imul rcx, rcx, 0x80d
shr rcx, 0x20
lea r8, [0x14027a404]
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, [0x14027b420]
mov rbp, qword [rcx + rax*8]
cmp edx, ebp
jne 0x1400582fd
mov rax, rbp
shr rax, 0x20
movzx ecx, ax
cmp rcx, 0xd4e
ja 0x14005b216
shr rbp, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rbp, rdx
ja 0x14005b24c
lea rax, [0x14027f488]
lea rbx, [rax + rcx*4]
test rbp, rbp
je 0x140058305
shl ebp, 2
xor r14d, r14d
nop dword [rax + rax]
mov edx, dword [rbx + r14]
mov rcx, r12
call fcn.1400562d0
add r14, 4
cmp rbp, r14
jne 0x140058d50
jmp 0x140058305
mov dword [rsp + 0xf0], eax
jmp 0x140058305
shl ecx, 6
or ecx, r14d
mov edx, ecx
jmp 0x1400589d2
shl ecx, 0xc
or r9d, ecx
mov edx, r9d
jmp 0x1400589d2
movzx eax, word [rsp + 0xd4]
cmp rax, 3
jbe 0x140058e60
lea rcx, [rsp + 0x188]
lea rdx, [rsp + 0xd4]
mov r8d, ebx
call fcn.140056500
jmp 0x140058e0f
movzx eax, word [rsp + 0xd4]
cmp rax, 3
jbe 0x140058e60
lea rcx, [rsp + 0x188]
lea rdx, [rsp + 0xd4]
mov r8d, ebx
call fcn.140056500
jmp 0x140058e0f
movzx eax, word [rsp + 0xd4]
cmp rax, 3
jbe 0x140058e60
lea rcx, [rsp + 0x188]
lea rdx, [rsp + 0xd4]
mov r8d, ebx
call fcn.140056500
cmp dword [rsp + 0xd0], 0
je 0x140058e3a
cmp qword [rsp + 0xd8], 0
je 0x140058e3a
mov r8, qword [rsp + 0xe0]
mov rcx, qword [0x1402f3170]
xor edx, edx
call fcn.1401d7c44
movdqu xmm0, xmmword [rsp + 0x188]
movdqu xmm1, xmmword [rsp + 0x198]
lea rax, [rsp + 0xb8]
movdqu xmmword [rax + 0x28], xmm1
movdqu xmmword [rax + 0x18], xmm0
jmp 0x140058e71
mov dword [rsp + rax*4 + 0xd8], ebx
inc eax
mov word [rsp + 0xd4], ax
mov byte [rsp + 0xf4], 1
mov byte [rsp + 0xf5], r13b
jmp 0x140058305
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x58], 0
mov ebp, dword [rsp + 0xf0]
mov ecx, 2
mov eax, 0
cmp ebp, 0x110000
je 0x140058262
mov dword [rsp + 0xf0], 0x110000
jmp 0x140058fa0
mov ebp, ebx
jmp 0x140058fa0
mov dword [rsp + 0xf0], ebx
mov byte [rsp + 0xf4], 0
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], 0
jmp 0x140058fa0
mov dword [rsp + 0xf0], ebx
jmp 0x140058fa0
cmp rax, rdx
jae 0x140058f5e
mov rcx, rbx
jmp 0x140058f2a
cmp dx, 4
ja 0x14005a7cf
lea rcx, [rsp + 0xd8]
cmp rax, rdx
jae 0x140058f6c
mov ebp, dword [rcx + rax*4]
inc rax
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x58], rax
jmp 0x140058fa0
lea rbx, [rsp + 0xd8]
mov ebp, dword [rbx + rax*4]
inc rax
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], rax
jmp 0x140058fa0
mov qword [rsp + 0xe8], 0
jmp 0x140058f7b
test rdx, rdx
je 0x140058f7b
mov word [rsp + 0xd4], 0
mov ebp, dword [rsp + 0xf0]
mov dword [rsp + 0xf0], 0x110000
cmp ebp, 0x110000
je 0x140059228
nop dword [rax]
mov rcx, qword [rsp + 0x150]
mov edx, ebp
call fcn.140055db0
jmp 0x140058258
mov rax, qword [r13]
mov rsi, qword [r13 + 0x10]
sub rax, rsi
cmp rax, r9
jb 0x1400591ef
mov rcx, qword [r13 + 8]
add rcx, rsi
mov rdx, r8
mov r8, r9
mov rdi, r9
call sub.msvcrt.dll_memcpy
add rsi, rdi
mov qword [r13 + 0x10], rsi
xor r12d, r12d
xor r8d, r8d
mov dword [rsp + 0x130], 0
mov dword [rsp + 0x128], 0
mov dword [rsp + 0x148], 0
mov dword [rsp + 0x118], 0
mov dword [rsp + 0x110], 0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x100], 0
xor ebp, ebp
xor r14d, r14d
mov dword [rsp + 0x140], 0
cmp byte [rbx + 0x32], 0
je 0x14005b0ab
mov rbx, qword [r13 + 8]
mov r15, qword [r13 + 0x10]
mov dil, 1
movabs rcx, 0x2e0000002e
test r15, r15
je 0x14005912b
cmp byte [rbx + r15 - 1], 0x2e
jne 0x14005907d
dec r15
je 0x14005912b
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 rsi, [rsp + 0x50]
nop word cs:[rax + rax]
mov rcx, rsi
call fcn.140055fa0
test rax, rax
je 0x1400590e2
test rdx, rdx
jne 0x1400590d0
test rax, rax
movzx eax, r14b
mov edi, 1
cmove edi, eax
mov al, 1
cmp r15, 0xfd
mov r8d, r13d
movabs rcx, 0x2e0000002e
jbe 0x14005912e
jmp 0x14005b0b0
lea r8, [0x140212e10]
jmp 0x140059121
mov rcx, r8
lea r8, str.m___
call fcn.14002d5f0
jmp case.0x1400585d7.1
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 rsi, [rsp + 0x50]
nop word cs:[rax + rax]
mov rcx, rsi
call fcn.140055fa0
test rax, rax
je 0x140059193
cmp rdx, 0x40
jb 0x140059180
test rax, rax
movzx ecx, bpl
mov eax, 1
cmove eax, ecx
mov r8d, r13d
jmp 0x14005b0b0
mov edx, 0x75a
mov rcx, 0xffffffffffffffff
lea r8, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
jmp 0x1400591d9
mov edx, 0x1f73
lea r8, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
jmp 0x1400591d9
mov edx, 0x1f73
lea r8, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
call fcn.14002d5f0
jmp case.0x1400585d7.1
lea r8, [0x140212df8]
jmp 0x140059121
mov rcx, r13
mov rdx, rsi
mov rsi, r8
mov r8, r9
mov rdi, r9
call fcn.14005efc0
mov r8, rsi
mov r9, rdi
mov rsi, qword [r13 + 0x10]
jmp 0x140058fc8
lea r8, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov ecx, 4
mov edx, 4
call fcn.14002d5f0
cmp dword [rsp + 0x60], 0
je 0x14005924a
cmp qword [rsp + 0x68], 0
je 0x14005924a
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x1402f3170]
xor edx, edx
call fcn.1401d7c44
test r13d, r13d
je 0x14005926b
cmp qword [rsp + 0xd8], 0
je 0x14005926b
mov rcx, qword [0x1402f3170]
xor edx, edx
mov r8, rbx
call fcn.1401d7c44
mov qword [rsp + 0x170], 0
lea rax, [rsp + 0x178]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x178], 8
mov qword [rsp + 0x180], 0
mov rcx, qword [rsp + 0x150]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0x198], rax
mov qword [rsp + 0x1a0], rcx
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x1b0], rcx
movabs rax, 0x2e0000002e
mov qword [rsp + 0x1b8], rax
mov byte [rsp + 0x1c0], 1
mov word [rsp + 0x1c8], 1
mov rax, qword [rsp + 0x128]
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x140], rax
mov bl, 1
xor eax, eax
mov qword [rsp + 0x30], rax
lea r13, [0x140272660]
xorps xmm6, xmm6
movdqa xmm11, xmmword [0x1401fe650]
movdqa xmm12, xmmword [0x1401fe660]
movdqa xmm13, xmmword [0x1401fe670]
movdqa xmm14, xmmword [0x1401fe680]
movdqa xmm15, xmmword [0x1401fe690]
movdqa xmm7, xmmword [0x1401fe6a0]
movdqa xmm8, xmmword [0x1401fe6b0]
movdqa xmm9, xmmword [0x1401fe6c0]
movdqa xmm10, xmmword [0x1401fe6d0]
lea rax, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov qword [rsp + 0x48], rax
jmp 0x1400593ad
mov rcx, qword [r14 + 8]
add rcx, rbx
mov rdx, rdi
mov r8, rsi
call sub.msvcrt.dll_memcpy
add rsi, rbx
mov qword [r14 + 0x10], rsi
xor ebx, ebx
lea rcx, [rsp + 0x188]
call fcn.140055fa0
mov rdi, rax
test rax, rax
je 0x14005a1a6
mov rsi, rdx
test bl, 1
jne 0x140059403
mov rax, qword [rsp + 0x360]
mov rbx, qword [rax + 0x10]
cmp rbx, qword [rax]
jne 0x1400593ec
mov rcx, qword [rsp + 0x360]
call fcn.14005f060
mov rcx, qword [rsp + 0x360]
mov rax, qword [rcx + 8]
mov byte [rax + rbx], 0x2e
inc rbx
mov qword [rcx + 0x10], rbx
cmp rsi, 4
jb 0x140059415
cmp dword [rdi], 0x2d2d6e78
je 0x14005959b
test byte [rsp + 0x30], 1
jne 0x140059549
test rsi, rsi
je 0x140059542
mov rax, rdi
add rax, rsi
mov rcx, rdi
jmp 0x14005943d
cmp rcx, rax
je 0x140059542
movzx edx, byte [rcx]
test dl, dl
js 0x140059449
inc rcx
jmp 0x1400594bc
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x14005949e
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x1400594ae
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 0x140059542
add rcx, 4
jmp 0x1400594bc
add rcx, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
jmp 0x1400594bc
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x140059434
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x1400594f3
cmp r11d, edx
cmova r9, r8
mov r8, r9
sub r8, r10
jbe 0x140059434
shr r8, 1
add r8, r10
lea rbx, [r8 + r8*2]
mov r11d, dword [r13 + rbx*4]
mov ebp, dword [r13 + rbx*4 + 4]
cmp ebp, edx
jb 0x140059510
cmp r11d, edx
jbe 0x14005951f
cmp ebp, edx
jae 0x1400594e0
mov r10, r8
inc r10
mov r8, r9
jmp 0x1400594e0
movzx edx, byte [r13 + rbx*4 + 8]
cmp edx, 0x11
ja 0x140059434
mov r8d, 0x20003
bt r8d, edx
jae 0x140059434
mov al, 1
jmp 0x140059544
xor eax, eax
mov qword [rsp + 0x30], rax
mov rcx, rdi
mov rdx, rsi
mov r8, qword [rsp + 0x128]
lea r9, [rsp + 0x38]
call fcn.140056fa0
mov r14, qword [rsp + 0x360]
mov rax, qword [r14]
mov rbx, qword [r14 + 0x10]
sub rax, rbx
cmp rax, rsi
jae 0x140059392
mov rcx, r14
mov rdx, rbx
mov r8, rsi
call fcn.14005efc0
mov r14, qword [rsp + 0x360]
mov rbx, qword [r14 + 0x10]
jmp 0x140059392
add rsi, 0xfffffffffffffffc
add rdi, 4
lea rcx, [rsp + 0x1f0]
lea rdx, [rsp + 0x170]
mov r8, rdi
mov r9, rsi
call fcn.140054f80
mov r15, qword [rsp + 0x1f0]
test r15, r15
je 0x140059916
mov rbp, qword [rsp + 0x1f8]
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x118], rax
mov rsi, qword [rsp + 0x210]
mov r14, qword [rsp + 0x218]
mov r8, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x360]
mov rax, qword [rcx]
mov rcx, qword [rcx + 0x10]
sub r8, r14
mov qword [rsp + 0x100], rcx
sub rax, rcx
cmp rax, r8
jae 0x140059659
mov rcx, qword [rsp + 0x360]
mov rdx, qword [rsp + 0x100]
call fcn.14005efc0
jmp 0x140059659
mov rax, qword [r12 + 8]
mov byte [rax + rbx], dil
inc rbx
mov qword [r12 + 0x10], rbx
cmp rsi, qword [rsp + 0x118]
jae 0x140059754
mov rax, rsi
shl rax, 4
add rax, qword [rsp + 0x110]
cmp qword [rax], r14
jne 0x140059690
inc rsi
mov edi, dword [rax + 8]
jmp 0x1400597d5
mov rcx, r15
mov r15, rbp
cmp rcx, rbp
je 0x140059690
movzx r8d, byte [rcx]
test r8b, r8b
jns 0x1400596f6
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rcx + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x1400596fe
movzx edx, byte [rcx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140059707
movzx edi, byte [rcx + 3]
add rcx, 4
and eax, 7
shl eax, 0x12
shl edx, 6
and edi, 0x3f
or edi, edx
or edi, eax
mov r15, rcx
cmp edi, 0x110000
je 0x140059690
jmp 0x1400597c6
inc rcx
mov r15, rcx
jmp 0x140059710
add rcx, 2
mov r15, rcx
jmp 0x14005973b
add rcx, 3
mov r15, rcx
jmp 0x140059748
movzx edi, r8b
inc r14
mov r12, qword [rsp + 0x360]
mov rbx, qword [r12 + 0x10]
cmp rbx, qword [r12]
jne 0x140059648
mov rcx, r12
call fcn.14005f060
jmp 0x140059648
shl eax, 6
or eax, r9d
mov edi, eax
jmp 0x1400597d5
shl eax, 0xc
or eax, edx
mov edi, eax
jmp 0x1400597d5
cmp r15, rbp
je 0x1400598e8
movzx r8d, byte [r15]
test r8b, r8b
js 0x14005976b
inc r15
jmp 0x140059710
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [r15 + 1]
and r9d, 0x3f
cmp r8b, 0xdf
jbe 0x140059845
movzx edx, byte [r15 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400598df
movzx edi, byte [r15 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and edi, 0x3f
or edi, edx
or edi, eax
cmp edi, 0x110000
je 0x1400598e8
add r15, 4
mov rcx, r15
mov r15, rcx
cmp edi, 0x110000
je 0x1400598e8
inc r14
cmp edi, 0x80
jb 0x140059717
mov dword [rsp + 0x50], 0
mov eax, edi
cmp edi, 0x800
jae 0x140059813
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x50], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x51], dil
mov edi, 2
jmp 0x140059883
cmp edi, 0x10000
jae 0x14005984e
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x50], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x51], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x52], dil
mov edi, 3
jmp 0x140059883
add r15, 2
jmp 0x14005973b
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x50], al
mov eax, edi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x51], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x52], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x53], dil
mov edi, 4
mov r12, qword [rsp + 0x360]
mov rax, qword [r12]
mov rbx, qword [r12 + 0x10]
sub rax, rbx
cmp rax, rdi
jae 0x1400598af
mov rcx, r12
mov rdx, rbx
mov r8, rdi
call fcn.14005efc0
mov rbx, qword [r12 + 0x10]
mov rcx, qword [r12 + 8]
add rcx, rbx
lea rdx, [rsp + 0x50]
mov r8, rdi
call sub.msvcrt.dll_memcpy
add rbx, rdi
mov qword [r12 + 0x10], rbx
cmp rsi, qword [rsp + 0x118]
jb 0x140059667
jmp 0x140059754
add r15, 3
jmp 0x140059748
mov rax, qword [rsp + 0x360]
mov rdi, qword [rax + 8]
mov rbx, qword [rax + 0x10]
mov r15, qword [rsp + 0x100]
test r15, r15
je 0x14005992f
cmp rbx, r15
jbe 0x140059929
cmp byte [rdi + r15], 0xbf
jg 0x14005992f
jmp 0x14005a1e2
mov byte [rsp + 0x38], 1
mov al, 1
mov qword [rsp + 0x30], rax
xor ebx, ebx
jmp 0x1400593ad
jne 0x14005a1e2
lea r12, [rdi + r15]
test byte [rsp + 0x30], 1
jne 0x1400599f5
cmp rbx, r15
jne 0x14005994a
xor eax, eax
jmp 0x1400599f0
lea rsi, [rdi + rbx]
mov r14, r12
jmp 0x140059958
cmp r14, rsi
je 0x140059943
movzx ecx, byte [r14]
test cl, cl
js 0x140059965
inc r14
jmp 0x1400599c8
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [r14 + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x1400599af
movzx edx, byte [r14 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x1400599bd
movzx ecx, byte [r14 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x140059943
add r14, 4
jmp 0x1400599c8
add r14, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x1400599c8
add r14, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x140059953
call fcn.1401a7140
cmp al, 0x11
ja 0x140059953
movzx eax, al
mov ecx, 0x20003
bt ecx, eax
jae 0x140059953
mov al, 1
mov qword [rsp + 0x30], rax
movq xmm0, qword [rsp + 0x38]
movzx eax, byte [rsp + 0x41]
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 + 0x40]
or al, byte [rsp + 0x42]
or al, cl
or al, byte [rsp + 0x43]
jne 0x14005a193
cmp rbx, r15
je 0x14005a173
add rdi, rbx
xor eax, eax
xor r14d, r14d
mov r15, r12
movzx r8d, byte [r15]
test r8b, r8b
js 0x140059a5d
inc r15
jmp 0x140059adc
mov ecx, r8d
and ecx, 0x1f
movzx r9d, byte [r15 + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x140059aae
movzx edx, byte [r15 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x140059abc
movzx ebp, byte [r15 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and ebp, 0x3f
or ebp, edx
or ebp, ecx
cmp ebp, 0x110000
je 0x140059f9a
add r15, 4
jmp 0x140059ac7
add r15, 2
shl ecx, 6
or ecx, r9d
mov ebp, ecx
jmp 0x140059ac7
add r15, 3
shl ecx, 0xc
or edx, ecx
mov ebp, edx
cmp ebp, 0x7f
jbe 0x140059adc
jmp 0x140059b5a
inc r15
cmp ebp, 0x80
jae 0x140059b58
cmp r15, rdi
je 0x140059f9a
movzx ebp, byte [r15]
test bpl, bpl
jns 0x140059ad1
mov eax, ebp
and eax, 0x1f
movzx edx, byte [r15 + 1]
and edx, 0x3f
cmp bpl, 0xdf
jbe 0x140059b3b
movzx ecx, byte [r15 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bpl, 0xf0
jb 0x140059b48
movzx ebp, byte [r15 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebp, 0x3f
or ebp, ecx
or ebp, eax
cmp ebp, 0x110000
je 0x140059f9a
add r15, 4
jmp 0x140059ad4
add r15, 2
shl eax, 6
or eax, edx
mov ebp, eax
jmp 0x140059ad4
add r15, 3
shl eax, 0xc
or ecx, eax
mov ebp, ecx
jmp 0x140059ad4
xor eax, eax
mov esi, eax
mov ecx, ebp
call fcn.1401a71b0
cmp sil, al
jbe 0x140059b70
test al, al
jne case.0x140059d3e.3907
lea ecx, [rbp - 0x340]
cmp ecx, 4
ja 0x140059b84
cmp ecx, 2
jne case.0x140059d3e.3907
mov cl, 2
cmp ebp, 0xd56
jg 0x140059be9
cmp ebp, 0x9de
jg 0x140059c2a
cmp ebp, 0x93b
jg 0x140059d40
lea edx, [rbp - 0x30f]
cmp edx, 0x36
ja 0x140059bc5
movabs r8, 0x48020000001005
bt r8, rdx
jb 0x140059f8c
lea edx, [rbp - 0x374]
cmp edx, 0x13
ja case.0x140059d3e.3908
mov r8d, 0x80401
bt r8d, edx
jb case.0x140059d3e.3907
jmp case.0x140059d3e.3908
cmp ebp, 0x11126
jg 0x140059c8d
cmp ebp, 0x102d
jle 0x140059cfa
cmp ebp, 0x1f70
jg 0x140059d92
cmp ebp, 0x102e
je 0x140059f8c
cmp ebp, 0x1b35
je 0x140059f8c
jmp case.0x140059d3e.3908
cmp ebp, 0xbd6
jg 0x140059cd1
cmp ebp, 0xbbd
jg 0x140059e26
lea edx, [rbp - 0xb3e]
cmp edx, 0x19
ja 0x140059c5d
mov r8d, 0x3000001
bt r8d, edx
jb 0x140059f8c
lea edx, [rbp - 0xa33]
cmp edx, 0x2b
ja 0x140059c7c
movabs r8, 0x80000000009
bt r8, rdx
jb case.0x140059d3e.3907
cmp ebp, 0x9df
jne case.0x140059d3e.3908
jmp case.0x140059d3e.3907
cmp ebp, 0x114af
jle 0x140059d69
lea edx, [rbp - 0x114b0]
cmp edx, 0xd
ja 0x140059cb4
mov r8d, 0x2401
bt r8d, edx
jb 0x140059f8c
cmp ebp, 0x115af
je 0x140059f8c
cmp ebp, 0x11930
je 0x140059f8c
jmp case.0x140059d3e.3908
cmp ebp, 0xcc1
jg 0x140059de6
cmp ebp, 0xbd7
je 0x140059f8c
cmp ebp, 0xc56
je 0x140059f8c
jmp case.0x140059d3e.3908
lea edx, [rbp - 0xdca]
cmp edx, 0x15
ja 0x140059d15
mov r8d, 0x200021
bt r8d, edx
jb 0x140059f8c
cmp ebp, 0xd57
je 0x140059f8c
lea edx, [rbp - 0xf43]
cmp edx, 0x76
ja case.0x140059d3e.3908
lea r8, [0x1401fe6e0]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp ebp, 0x93c
je 0x140059f8c
cmp ebp, 0x9be
je 0x140059f8c
cmp ebp, 0x9d7
je 0x140059f8c
jmp case.0x140059d3e.3908
cmp ebp, 0x11127
je 0x140059f8c
cmp ebp, 0x1133e
je 0x140059f8c
cmp ebp, 0x11357
je 0x140059f8c
jmp case.0x140059d3e.3908
cmp ebp, 0xfa0f
jle 0x140059e00
cmp ebp, 0x110ba
je 0x140059f8c
lea edx, [rbp - 0xfa10]
cmp edx, 0x12
ja 0x140059dc1
mov r8d, 0x50005
bt r8d, edx
jb case.0x140059d3e.3907
lea edx, [rbp - 0xfb1d]
cmp edx, 0x21
ja case.0x140059d3e.3908
movabs r8, 0x200000005
bt r8, rdx
jb case.0x140059d3e.3907
jmp case.0x140059d3e.3908
cmp ebp, 0xcc2
je 0x140059f8c
cmp ebp, 0xd3e
je 0x140059f8c
jmp case.0x140059d3e.3908
cmp ebp, 0x2125
jg 0x140059e34
lea edx, [rbp - 0x1f71]
cmp edx, 0x8c
ja case.0x140059d3e.3908
lea r8, [0x1401fe8bc]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp ebp, 0xbbe
je 0x140059f8c
jmp case.0x140059d3e.3908
lea edx, [rbp - 0x2329]
cmp edx, 2
jb case.0x140059d3e.3907
cmp ebp, 0x2126
je case.0x140059d3e.3907
cmp ebp, 0x2adc
je case.0x140059d3e.3907
movd xmm1, ebp
pshufd xmm0, xmm1, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x1401fe620]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x1401fe630]
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.0x140059d3e.3907
pshufd xmm1, xmm1, 0x50
pand xmm1, xmmword [0x1401fe610]
pshufd xmm2, xmm1, 4
pcmpeqd xmm2, xmmword [0x1401fe640]
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.0x140059d3e.3907
lea edx, [rbp - 0x1d1bb]
cmp edx, 6
jb case.0x140059d3e.3907
lea edx, [rbp - 0x2f800]
cmp edx, 0x21e
jb case.0x140059d3e.3907
movd edx, xmm1
cmp edx, 0x2000
je case.0x140059d3e.3907
cmp edx, 0x212a
je case.0x140059d3e.3907
cmp edx, 0xfb40
je case.0x140059d3e.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 0x140059f8c
lea r8d, [rbp - 0x11a8]
cmp r8d, 0x1b
jb 0x140059f8c
cmp edx, 0x330
je 0x140059f8c
add ebp, 0xffffcf67
cmp ebp, 2
movzx ecx, r14b
mov edx, 2
cmovb ecx, edx
mov r14d, ecx
cmp r15, rdi
jne 0x140059a4f
jmp 0x140059f9d
mov ecx, r14d
test cl, cl
je 0x14005a173
movzx eax, cl
cmp eax, 1
je case.0x140059d3e.3907
lea rcx, [rsp + 0x98]
movups xmmword [rcx], xmm6
lea rax, [rsp + 0x23e]
movups xmmword [rax], xmm6
mov byte [rax + 0x10], 0
lea rax, [rsp + 0x22c]
movups xmmword [rax], xmm6
mov qword [rsp + 0x50], 0
mov dword [rsp + 0x60], 0
mov word [rsp + 0x64], 0
mov eax, dword [rsp + 0x24b]
mov dword [rcx - 0x23], eax
movups xmm0, xmmword [rsp + 0x23c]
movups xmmword [rcx - 0x32], xmm0
mov dword [rsp + 0x7c], 0
mov byte [rsp + 0x80], 0
mov dword [rsp + 0x84], 0
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x90], rdi
mov byte [rsp + 0xa8], 0
mov dword [rsp + 0xb0], 0
mov word [rsp + 0xb4], 0
movzx eax, word [rsp + 0x23a]
mov word [rcx + 0x2e], ax
movdqu xmm0, xmmword [rsp + 0x22a]
movdqu xmmword [rcx + 0x1e], xmm0
mov dword [rsp + 0xd0], 0x110000
mov byte [rsp + 0xd4], 0
mov rsi, r12
cmp rsi, rdi
je 0x14005a10e
movzx ebp, byte [rsi]
test bpl, bpl
js 0x14005a092
inc rsi
jmp 0x14005a0f0
mov eax, ebp
and eax, 0x1f
movzx edx, byte [rsi + 1]
and edx, 0x3f
cmp bpl, 0xdf
jbe 0x14005a0d8
movzx ecx, byte [rsi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bpl, 0xf0
jb 0x14005a0e5
movzx ebp, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebp, 0x3f
or ebp, ecx
or ebp, eax
cmp ebp, 0x110000
je 0x14005a10e
add rsi, 4
jmp 0x14005a0f0
add rsi, 2
shl eax, 6
or eax, edx
mov ebp, eax
jmp 0x14005a0f0
add rsi, 3
shl eax, 0xc
or ecx, eax
mov ebp, ecx
lea rcx, [rsp + 0x50]
call fcn.140056670
xor r14d, r14d
cmp eax, 0x110000
je 0x14005a121
cmp eax, ebp
je 0x14005a07c
jmp 0x14005a121
lea rcx, [rsp + 0x50]
call fcn.140056670
cmp eax, 0x110000
sete r14b
cmp dword [rsp + 0x60], 0
je 0x14005a143
cmp qword [rsp + 0x68], 0
je 0x14005a143
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x1402f3170]
xor edx, edx
call fcn.1401d7c44
cmp dword [rsp + 0xb0], 0
je 0x14005a16e
cmp qword [rsp + 0xb8], 0
je 0x14005a16e
mov r8, qword [rsp + 0xc0]
mov rcx, qword [0x1402f3170]
xor edx, edx
call fcn.1401d7c44
test r14b, r14b
je case.0x140059d3e.3907
sub rbx, qword [rsp + 0x100]
mov rcx, r12
mov rdx, rbx
mov r8, qword [rsp + 0x140]
lea r9, [rsp + 0x38]
call fcn.140056fa0
xor ebx, ebx
jmp 0x1400593ad
mov byte [rsp + 0x3d], 1
xor ebx, ebx
jmp 0x1400593ad
mov rax, qword [rsp + 0x360]
mov rdi, qword [rax + 8]
mov rbx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x148]
test rcx, rcx
je 0x14005a209
lea rax, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
cmp rbx, rcx
jbe 0x14005a207
cmp byte [rdi + rcx], 0xbf
jg 0x14005a209
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x100], rcx
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, rbx
mov r8, qword [rsp + 0x100]
mov r9, rbx
call fcn.140035990
jmp case.0x1400585d7.1
jne 0x14005a1d5
mov rax, rbx
sub rax, rcx
add rdi, rcx
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rdi
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 byte [rsp + 0x30], 1
jne 0x14005a27a
lea rsi, [rsp + 0x50]
mov rcx, rsi
call fcn.140055fa0
test rax, rax
jne 0x14005a268
jmp 0x14005a630
mov r12d, 0x260d9
mov r13d, 0x62f8
lea rcx, [rsp + 0x50]
call fcn.140055fa0
mov rdi, rax
test rax, rax
je 0x14005a630
mov r14, rdx
test rdx, rdx
je 0x14005a286
movzx ecx, byte [rdi]
test cl, cl
js 0x14005a2b1
lea rbp, [rdi + 1]
jmp 0x14005a312
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14005a2f9
movzx edx, byte [rdi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14005a307
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 0x14005a286
lea rbp, [rdi + 4]
jmp 0x14005a312
lea rbp, [rdi + 2]
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14005a312
lea rbp, [rdi + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r14, rdi
call fcn.1401a7140
test al, al
je 0x14005a3d1
movzx eax, al
cmp eax, 0x11
je 0x14005a3d1
cmp eax, 9
jne 0x14005a62b
cmp rbp, r14
je 0x14005a4a3
movzx ecx, byte [rbp]
test cl, cl
js 0x14005a34d
inc rbp
jmp 0x14005a3b2
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbp + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14005a399
movzx edx, byte [rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14005a3a7
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 0x14005a4a3
add rbp, 4
jmp 0x14005a3b2
add rbp, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14005a3b2
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1401a7140
cmp al, 0xe
ja 0x14005a62b
movzx eax, al
bt r13d, eax
jb 0x14005a337
jmp 0x14005a62b
cmp rbp, r14
je 0x14005a4b2
xor r15d, r15d
xor esi, esi
jmp 0x14005a3ed
mov r15b, 1
cmp rbp, r14
je 0x14005a48f
movzx ecx, byte [rbp]
test cl, cl
js 0x14005a3fa
inc rbp
jmp 0x14005a45b
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbp + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14005a442
movzx edx, byte [rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14005a450
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 0x14005a48f
add rbp, 4
jmp 0x14005a45b
add rbp, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14005a45b
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1401a7140
cmp al, 0x11
ja 0x14005a62b
movzx eax, al
bt r12d, eax
jb 0x14005a3e4
cmp eax, 1
je 0x14005a3e1
cmp eax, 5
jne 0x14005a62b
mov sil, 1
jmp 0x14005a3e4
test r15b, 1
sete al
test sil, 1
sete r15b
or r15b, al
jmp 0x14005a4b5
movzx ebp, byte [r14 - 1]
test bpl, bpl
js 0x14005a4ee
dec r14
jmp 0x14005a50a
mov r15b, 1
movzx ebp, byte [r14 - 1]
test bpl, bpl
js 0x14005a4c7
dec r14
jmp 0x14005a59d
movzx eax, byte [r14 - 2]
cmp al, 0xc0
jge 0x14005a601
movzx ecx, byte [r14 - 3]
cmp cl, 0xbf
jle 0x14005a5d3
add r14, 0xfffffffffffffffd
and ecx, 0xf
jmp 0x14005a5e7
movzx eax, byte [r14 - 2]
cmp al, 0xc0
jge 0x14005a571
movzx ecx, byte [r14 - 3]
cmp cl, 0xbf
jle 0x14005a540
add r14, 0xfffffffffffffffd
and ecx, 0xf
jmp 0x14005a554
mov ecx, ebp
call fcn.1401a7140
cmp al, 0xd
jne 0x14005a57a
cmp r14, rdi
je 0x14005a286
movzx ebp, byte [r14 - 1]
test bpl, bpl
js 0x14005a52d
dec r14
jmp 0x14005a564
movzx eax, byte [r14 - 2]
cmp al, 0xc0
jge 0x14005a571
movzx ecx, byte [r14 - 3]
cmp cl, 0xc0
jge 0x14005a501
movzx edx, byte [r14 - 4]
add r14, 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 0x14005a50a
jmp 0x14005a286
add r14, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x14005a55c
mov ecx, ebp
call fcn.1401a7140
cmp al, 9
je 0x14005a286
mov ecx, ebp
call fcn.1401a7140
cmp al, 5
je 0x14005a286
jmp 0x14005a62b
mov ecx, ebp
call fcn.1401a7140
cmp al, 0xd
jne 0x14005a60a
cmp r14, rdi
je 0x14005a62b
movzx ebp, byte [r14 - 1]
test bpl, bpl
js 0x14005a5bc
dec r14
jmp 0x14005a5f7
movzx eax, byte [r14 - 2]
cmp al, 0xc0
jge 0x14005a601
movzx ecx, byte [r14 - 3]
cmp cl, 0xc0
jge 0x14005a4e2
movzx edx, byte [r14 - 4]
add r14, 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 0x14005a59d
jmp 0x14005a62b
add r14, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x14005a5ef
mov ecx, ebp
call fcn.1401a7140
cmp al, 0x11
ja 0x14005a62b
movzx eax, al
mov ecx, 0x20023
bt ecx, eax
jae 0x14005a62b
test r15b, r15b
jne 0x14005a286
mov byte [rsp + 0x3a], 1
movzx edi, byte [rsp + 0x38]
movzx eax, byte [rsp + 0x39]
movzx ecx, byte [rsp + 0x3a]
mov dword [rsp + 0x130], ecx
movzx ecx, byte [rsp + 0x3b]
mov dword [rsp + 0x128], ecx
movzx ecx, byte [rsp + 0x3c]
mov dword [rsp + 0x148], ecx
movzx ecx, byte [rsp + 0x3d]
mov dword [rsp + 0x118], ecx
movzx ecx, byte [rsp + 0x3e]
mov dword [rsp + 0x110], ecx
movzx ecx, byte [rsp + 0x3f]
mov dword [rsp + 0x30], ecx
movzx ecx, byte [rsp + 0x40]
mov dword [rsp + 0x100], ecx
movzx ecx, byte [rsp + 0x41]
mov dword [rsp + 0x160], ecx
movzx ecx, byte [rsp + 0x42]
mov dword [rsp + 0x15c], ecx
movzx ecx, byte [rsp + 0x43]
mov dword [rsp + 0x140], ecx
cmp qword [rsp + 0x170], 0
mov r13, qword [rsp + 0x360]
je 0x14005a6e0
mov esi, eax
mov r8, qword [rsp + 0x178]
mov rcx, qword [0x1402f3170]
xor edx, edx
call fcn.1401d7c44
mov eax, esi
mov rbx, qword [r13 + 0x10]
test rbx, rbx
mov dword [rsp + 0x164], eax
je 0x14005a715
js 0x14005b2a3
movzx eax, byte [0x1402f31d1]
xor ecx, ecx
mov rdx, rbx
call fcn.14018e330
test rax, rax
jne 0x14005a71a
mov ecx, 1
mov rdx, rbx
call fcn.140023ed0
mov eax, 1
mov ebp, edi
mov rcx, qword [r13 + 0x10]
mov qword [rsp + 0x60], rcx
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0x50], xmm0
mov qword [r13], rbx
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 0
mov rdi, qword [rsp + 0x150]
lea rsi, [rdi + 0x18]
cmp qword [rdi + 0x18], 0
je 0x14005a764
mov r8, qword [rdi + 0x20]
mov rcx, qword [0x1402f3170]
xor edx, edx
call fcn.1401d7c44
mov rax, qword [rsp + 0x60]
mov qword [rsi + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x50]
movdqu xmmword [rsi], xmm0
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 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 0x14005a820
mov rcx, rdx
mov edx, 4
mov r8, qword [rsp + 0x118]
call fcn.14002df50
jmp case.0x1400585d7.1
mov rcx, r13
mov r8, rdx
mov rdx, rbx
mov rbp, r8
call fcn.14005efc0
mov rbx, qword [r13 + 0x10]
mov rcx, qword [r13 + 8]
add rcx, rbx
mov rdx, rdi
mov r8, rbp
call sub.msvcrt.dll_memcpy
add rbp, rbx
mov ecx, dword [rsp + 0x10c]
mov qword [r13 + 0x10], rbp
xor ebx, ebx
mov dword [rsp + 0x10c], ecx
mov ebp, ecx
lea rcx, [rsp + 0x50]
call fcn.140055fa0
test rax, rax
je 0x14005b07f
mov rdi, rax
test bl, 1
movabs rbx, 0x8080808080808080
mov r10d, 0x1a
mov r11d, 1
mov qword [rsp + 0x138], rax
jne 0x14005a89d
mov rsi, qword [r13 + 0x10]
cmp rsi, qword [r13]
jne 0x14005a88e
mov rcx, r13
mov rdi, rdx
call fcn.14005f060
mov r11d, 1
mov r10d, 0x1a
mov rdx, rdi
mov rdi, qword [rsp + 0x138]
mov rax, qword [r13 + 8]
mov byte [rax + rsi], 0x2e
inc rsi
mov qword [r13 + 0x10], rsi
cmp rdx, 8
jae 0x14005a94c
test rdx, rdx
je 0x14005b063
cmp byte [rdi + rdx - 1], 0
js 0x14005a987
mov rax, rdx
dec rax
je 0x14005b063
cmp byte [rdi + rdx - 2], 0
js 0x14005a987
mov rax, rdx
add rax, 0xfffffffffffffffe
je 0x14005b063
cmp byte [rdi + rdx - 3], 0
js 0x14005a987
mov rax, rdx
add rax, 0xfffffffffffffffd
je 0x14005b063
cmp byte [rdi + rdx - 4], 0
js 0x14005a987
mov rax, rdx
add rax, 0xfffffffffffffffc
je 0x14005b063
cmp byte [rdi + rdx - 5], 0
js 0x14005a987
mov rax, rdx
add rax, 0xfffffffffffffffb
je 0x14005b063
cmp byte [rdi + rdx - 6], 0
js 0x14005a987
mov rax, rdx
add rax, 0xfffffffffffffffa
je 0x14005b063
cmp byte [rdi + rdx - 7], 0
js 0x14005a987
mov rax, rdx
add rax, 0xfffffffffffffff9
jne 0x14005a987
jmp 0x14005b063
test qword [rdi], rbx
jne 0x14005a987
lea rax, [rdi + 7]
and rax, 0xfffffffffffffff8
sub rax, rdi
mov ecx, 8
cmove rax, rcx
lea rcx, [rdx - 8]
cmp rax, rcx
jae 0x14005a97d
test qword [rdi + rax], rbx
jne 0x14005a987
add rax, 8
cmp rax, rcx
jb 0x14005a96e
test qword [rdi + rcx], rbx
je 0x14005b063
mov rcx, qword [r13]
mov rdi, qword [r13 + 0x10]
sub rcx, rdi
mov rax, rdi
cmp rcx, 3
jbe 0x14005aa94
mov qword [rsp + 0x1d0], rdi
mov rcx, qword [r13 + 8]
mov dword [rcx + rax], 0x2d2d6e78
add rax, 4
mov qword [r13 + 0x10], rax
xor ebx, ebx
test rdx, rdx
je 0x14005a829
mov rdi, qword [rsp + 0x138]
mov r14, rdi
add r14, rdx
xor r15d, r15d
jmp 0x14005a9ea
mov ebp, dword [rsp + 0x10c]
inc ebx
cmp rdi, r14
je 0x14005aac7
movzx edx, byte [rdi]
test dl, dl
js 0x14005a9f6
inc rdi
jmp 0x14005aa5b
mov eax, edx
and eax, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp dl, 0xdf
jbe 0x14005aa42
movzx ecx, byte [rdi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x14005aa50
movzx edx, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
or edx, eax
cmp edx, 0x110000
je 0x14005aac0
add rdi, 4
jmp 0x14005aa5b
add rdi, 2
shl eax, 6
or eax, r8d
mov edx, eax
jmp 0x14005aa5b
add rdi, 3
shl eax, 0xc
or ecx, eax
mov edx, ecx
mov eax, ebx
inc eax
mov dword [rsp + 0x124], eax
je 0x14005b023
cmp edx, 0x80
jae 0x14005a9d8
mov rcx, r13
call fcn.140055db0
mov r11d, 1
mov r10d, 0x1a
inc r15d
jmp 0x14005a9d8
mov r8d, 4
mov rcx, r13
mov rsi, rdx
mov rdx, rdi
call fcn.14005efc0
mov r11d, 1
mov r10d, 0x1a
mov rdx, rsi
mov rax, qword [r13 + 0x10]
jmp 0x14005a99f
mov dword [rsp + 0x124], ebx
test r15d, r15d
je 0x14005aaf9
mov rsi, qword [r13 + 0x10]
cmp rsi, qword [r13]
jne 0x14005aaea
mov rcx, r13
call fcn.14005f060
mov r11d, 1
mov r10d, 0x1a
mov rax, qword [r13 + 8]
mov byte [rax + rsi], 0x2d
inc rsi
mov qword [r13 + 0x10], rsi
xor r8d, r8d
mov ebx, 0
cmp r15d, dword [rsp + 0x124]
jae 0x14005a829
mov eax, pe_nt_image_headers64
mov edi, 0x48
mov r12d, r15d
mov qword [rsp + 0x1d8], r14
mov dword [rsp + 0x168], r15d
mov rcx, qword [rsp + 0x138]
jmp 0x14005ab41
inc rcx
cmp eax, ebp
jbe 0x14005abfc
xor edx, edx
cmp rcx, r14
je 0x14005abef
movzx ebp, byte [rcx]
test bpl, bpl
jns 0x14005ab36
mov r9d, ebp
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp bpl, 0xdf
jbe 0x14005abb7
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp bpl, 0xf0
jb 0x14005abd0
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 0x14005acb6
add rcx, 4
jmp 0x14005ab39
add rcx, 2
shl r9d, 6
or r9d, r11d
mov ebp, r9d
mov r11d, 1
jmp 0x14005ab39
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov ebp, r10d
mov r10d, 0x1a
mov r11d, 1
jmp 0x14005ab39
test edx, edx
jne 0x14005acbe
jmp 0x14005b27f
mov edx, 1
cmp rcx, r14
jne 0x14005ac28
jmp 0x14005acb6
inc rcx
cmp r9d, r10d
mov ebp, r10d
cmovb ebp, r9d
cmp r10d, eax
cmovb ebp, r9d
cmp rcx, r14
je 0x14005acb0
mov r9d, ebp
movzx r10d, byte [rcx]
test r10b, r10b
jns 0x14005ac0b
mov r11d, r10d
and r11d, 0x1f
movzx ebx, byte [rcx + 1]
and ebx, 0x3f
cmp r10b, 0xdf
jbe 0x14005ac87
movzx esi, byte [rcx + 2]
shl ebx, 6
and esi, 0x3f
or esi, ebx
cmp r10b, 0xf0
jb 0x14005ac97
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 0x14005b007
add rcx, 4
jmp 0x14005aca5
add rcx, 2
shl r11d, 6
or r11d, ebx
mov r10d, r11d
jmp 0x14005aca5
add rcx, 3
shl r11d, 0xc
or esi, r11d
mov r10d, esi
mov r11d, 1
jmp 0x14005ac0e
mov r10d, 0x1a
test edx, edx
je 0x14005b27f
mov ecx, r12d
inc ecx
je 0x14005b25b
mov r9d, ebp
sub r9d, eax
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp r9d, eax
ja 0x14005b023
mov edx, r9d
imul edx, ecx
add edx, r8d
mov dword [rsp + 0x48], edx
mov rcx, qword [rsp + 0x138]
jmp 0x14005ad09
mov r8d, dword [rsp + 0x48]
mov r9d, r12d
cmp rcx, r14
je 0x14005afd7
movzx eax, byte [rcx]
test al, al
js 0x14005ad19
inc rcx
cmp eax, ebp
jae 0x14005ad91
jmp 0x14005ad87
mov r9, rcx
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [r9 + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x14005ad67
movzx edx, byte [r9 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x14005ad75
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 0x14005affd
add r9, 4
jmp 0x14005ad80
add r9, 2
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x14005ad80
add r9, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov rcx, r9
cmp eax, ebp
jae 0x14005ad91
inc dword [rsp + 0x48]
je 0x14005b023
cmp eax, ebp
jne 0x14005acf8
mov qword [rsp + 0x1e0], rcx
mov dword [rsp + 0x16c], r12d
lea r14d, [rdi + 0x1a]
lea ecx, [rdi - 0x24]
neg ecx
cmp r14d, 0x25
cmovb ecx, r10d
cmp edi, 0x24
cmovae ecx, r11d
mov edx, dword [rsp + 0x48]
mov eax, edx
cmp edx, ecx
jae 0x14005ae7c
mov edx, 0x61
cmp eax, 0x1a
jb 0x14005ade7
mov edx, 0x16
cmp eax, 0x24
jae 0x14005b267
add edx, eax
mov rcx, r13
call fcn.140055db0
mov eax, dword [rsp + 0x16c]
mov r9d, eax
inc r9d
mov esi, 0xd41d41d5
mov r15d, dword [rsp + 0x168]
je 0x14005b1e5
cmp eax, r15d
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 r14, qword [rsp + 0x1d8]
jb 0x14005af93
xor ecx, ecx
mov r11d, 1
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 0x14005ae50
jmp 0x14005af9e
mov r12d, edi
neg r12d
mov r15d, 0x48
mov eax, dword [rsp + 0x48]
jmp 0x14005aebd
mov rcx, qword [r13 + 8]
mov byte [rcx + rbx], sil
inc rbx
lea ecx, [r12 + r15]
cmp r15d, r14d
cmovae ecx, r10d
cmp r15d, edi
cmovbe ecx, r11d
mov qword [r13 + 0x10], rbx
add r15d, 0x24
cmp eax, ecx
jb 0x14005adcf
mov r8d, ecx
sub r8d, 0x24
je 0x14005b1ba
sub eax, ecx
neg r8d
xor edx, edx
div r8d
add edx, ecx
mov esi, 0x61
cmp edx, 0x1a
jb 0x14005aeee
mov esi, 0x16
cmp edx, 0x24
jae 0x14005b267
add esi, edx
cmp esi, 0x80
jae 0x14005af30
mov rbx, qword [r13 + 0x10]
cmp rbx, qword [r13]
jne 0x14005ae90
mov rcx, r13
mov r13d, eax
call fcn.14005f060
mov r11d, 1
mov r10d, 0x1a
mov eax, r13d
mov r13, qword [rsp + 0x360]
jmp 0x14005ae90
mov rcx, qword [r13]
mov rbx, qword [r13 + 0x10]
sub rcx, rbx
cmp rcx, 1
jbe 0x14005af6c
movzx ecx, si
mov edx, ecx
shr edx, 6
mov r8, qword [r13 + 8]
and ecx, 0x3f
shl ecx, 8
movzx edx, dx
or edx, ecx
or edx, 0x80c0
mov word [r8 + rbx], dx
add rbx, 2
jmp 0x14005ae9b
mov r8d, 2
mov rcx, r13
mov rdx, rbx
mov ebx, eax
call fcn.14005efc0
mov r11d, 1
mov r10d, 0x1a
mov eax, ebx
mov rbx, qword [r13 + 0x10]
jmp 0x14005af41
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 edi, ax
add edi, ecx
mov r12d, r9d
mov dword [rsp + 0x48], r8d
mov r10d, 0x1a
mov rcx, qword [rsp + 0x1e0]
cmp rcx, r14
jne 0x14005ad09
inc r8d
inc ebp
xor ebx, ebx
mov r12d, r9d
mov eax, ebp
cmp r9d, dword [rsp + 0x124]
mov ebp, dword [rsp + 0x10c]
jb 0x14005ab2c
jmp 0x14005a829
mov r8d, dword [rsp + 0x48]
mov r9d, r12d
jmp 0x14005afd7
mov ebp, r9d
mov r10d, 0x1a
mov r11d, 1
test edx, edx
jne 0x14005acbe
jmp 0x14005b27f
mov rax, qword [r13 + 0x10]
mov cl, 1
xor ebx, ebx
mov rbp, qword [rsp + 0x1d0]
cmp rax, rbp
jb 0x14005a820
mov cl, 1
test rbp, rbp
je 0x14005a81a
cmp rax, rbp
jbe 0x14005a81a
mov rax, qword [r13 + 8]
cmp byte [rax + rbp], 0xbf
jg 0x14005a81a
jmp 0x14005b28b
mov rax, qword [r13]
mov rbx, qword [r13 + 0x10]
sub rax, rbx
cmp rax, rdx
jb 0x14005a7e9
mov rbp, rdx
jmp 0x14005a7fe
mov r12d, ebp
mov rbx, qword [rsp + 0x150]
mov r8d, dword [rsp + 0x164]
mov ebp, dword [rsp + 0x160]
mov r14d, dword [rsp + 0x15c]
cmp byte [rbx + 0x32], 0
jne 0x14005904e
mov eax, ebp
mov edi, r14d
mov ecx, r8d
or cl, r12b
mov r9d, dword [rsp + 0x130]
mov edx, r9d
mov r10d, dword [rsp + 0x128]
or dl, r10b
or dl, cl
mov r11d, dword [rsp + 0x148]
mov ecx, r11d
mov esi, dword [rsp + 0x118]
or cl, sil
mov ebx, dword [rsp + 0x110]
or cl, bl
or cl, dl
mov r14d, dword [rsp + 0x30]
mov edx, r14d
mov r15d, dword [rsp + 0x100]
or dl, r15b
or dl, al
or dl, dil
or dl, cl
mov cl, 2
mov r13d, dword [rsp + 0x140]
or dl, r13b
mov rdx, qword [rsp + 0x1e8]
je 0x14005b14c
mov byte [rdx + 1], r8b
mov byte [rdx + 2], r9b
mov byte [rdx + 3], r10b
mov byte [rdx + 4], r11b
mov byte [rdx + 5], sil
mov byte [rdx + 6], bl
mov byte [rdx + 7], r14b
mov byte [rdx + 8], r15b
mov byte [rdx + 9], al
mov byte [rdx + 0xa], dil
mov byte [rdx + 0xb], r13b
mov ecx, r12d
mov byte [rdx], cl
movaps xmm6, xmmword [rsp + 0x250]
movaps xmm7, xmmword [rsp + 0x260]
movaps xmm8, xmmword [rsp + 0x270]
movaps xmm9, xmmword [rsp + 0x280]
movaps xmm10, xmmword [rsp + 0x290]
movaps xmm11, xmmword [rsp + 0x2a0]
movaps xmm12, xmmword [rsp + 0x2b0]
movaps xmm13, xmmword [rsp + 0x2c0]
movaps xmm14, xmmword [rsp + 0x2d0]
movaps xmm15, xmmword [rsp + 0x2e0]
add rsp, 0x2f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
call fcn.1400379e0
lea rax, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x14021e98c]
mov edx, 0x321c
call fcn.140035990
jmp case.0x1400585d7.1
lea rcx, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
call fcn.1400316f0
lea r8, [0x140212de0]
call fcn.14002d5e0
jmp case.0x1400585d7.1
mov rcx, rdx
lea rax, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.1_src_arrayvec.rs
mov qword [rsp + 0x118], rax
jmp 0x14005a7d2
mov edx, 0xd4e
jmp 0x14005b231
mov edx, 0x1667
lea rax, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov qword [rsp + 0x110], rax
mov r8, qword [rsp + 0x110]
call fcn.14002d5e0
jmp case.0x1400585d7.1
lea rax, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov qword [rsp + 0x30], rax
mov rcx, rbp
mov r8, qword [rsp + 0x30]
call fcn.14002df50
ud2
lea rcx, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
call fcn.1400316f0
lea rcx, str.explicit_panic
lea r8, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0xe
call fcn.14002e2c0
lea rcx, str._home_rifat_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
call fcn.1400347a0
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_
lea r8, [0x140297538]
mov edx, 0x30
call fcn.14002e2c0
call fcn.140023ef0
jmp 0x14005b2ae
mov rsi, rax
lea rcx, [rsp + 0x50]
call fcn.140056f40
jmp 0x14005b2c4
cmp qword [rsp + 0x170], 0
jne 0x14005b35a
jmp 0x14005b373
mov rax, qword [rsp + 0x130]
mov r8, qword [rax]
mov rcx, qword [0x1402f3170]
xor edx, edx
call fcn.1401d7c44
mov rcx, rsi
call fcn.1401d80d0
int3