Function at 0x1400f0cd0
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x298
movdqa xmmword [rsp + 0x280], xmm15
movdqa xmmword [rsp + 0x270], xmm14
movdqa xmmword [rsp + 0x260], xmm13
movdqa xmmword [rsp + 0x250], xmm12
movdqa xmmword [rsp + 0x240], xmm11
movdqa xmmword [rsp + 0x230], xmm10
movdqa xmmword [rsp + 0x220], xmm9
movdqa xmmword [rsp + 0x210], xmm8
movdqa xmmword [rsp + 0x200], xmm7
movaps xmmword [rsp + 0x1f0], xmm6
mov rsi, r9
mov r14, r8
mov rdi, rcx
mov r15, qword [rsp + 0x300]
test r9, r9
je 0x1400f0e9f
lea rax, [r14 + rsi]
xor ebx, ebx
movdqa xmm0, xmmword [0x14029fa30]
mov rcx, r14
jmp 0x1400f0d8f
xor r9d, r9d
mov rbx, r9
cmp rcx, rax
je 0x1400f1c0b
movzx r10d, byte [rcx]
test r10b, r10b
js 0x1400f0db0
inc rcx
mov r8d, r10d
cmp r8d, 0x2e
jne 0x1400f0e40
jmp 0x1400f0d80
mov r8d, r10d
and r8d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r10b, 0xdf
jbe 0x1400f0e09
movzx r9d, byte [rcx + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x1400f0e1f
movzx r10d, byte [rcx + 3]
add rcx, 4
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and r10d, 0x3f
or r10d, r9d
or r10d, r8d
mov r8d, r10d
cmp r8d, 0x2e
jne 0x1400f0e40
jmp 0x1400f0d80
add rcx, 2
shl r8d, 6
or r8d, r11d
cmp r8d, 0x2e
jne 0x1400f0e40
jmp 0x1400f0d80
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov r8d, r9d
cmp r8d, 0x2e
je 0x1400f0d80
nop word [rax + rax]
cmp r8d, 0x110000
je 0x1400f1c0b
test rbx, rbx
jne 0x1400f0e58
cmp r8d, 0x2d
je 0x1400f0e9f
mov r9d, 5
cmp rbx, 4
ja 0x1400f0e83
movdqa xmmword [rsp + 0x40], xmm0
je 0x1400f1d2b
cmp r8d, dword [rsp + rbx*4 + 0x40]
jne 0x1400f0e83
inc rbx
mov r9, rbx
cmp rbx, 4
je 0x1400f0e9f
lea r10d, [r8 - 0x61]
cmp r10d, 0x1a
jb 0x1400f0d83
add r8d, 0xffffffd0
cmp r8d, 0xa
jb 0x1400f0d83
mov qword [rsp + 0x138], rdi
mov eax, dword [rdx + 0x30]
movzx ecx, byte [rdx + 0x34]
add rsi, r14
xorps xmm6, xmm6
movups xmmword [rsp + 0x142], xmm6
movzx r8d, word [rsp + 0x150]
mov word [rsp + 0xd6], r8w
movdqu xmm0, xmmword [rsp + 0x140]
movdqu xmmword [rsp + 0xc6], xmm0
movups xmmword [rsp + 0xa8], xmm6
mov byte [rsp + 0xb8], 0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x50], 0
mov word [rsp + 0x54], 0
mov byte [rsp + 0x58], 0
mov dword [rsp + 0x5c], 0
mov byte [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
mov byte [rsp + 0x68], 0
mov dword [rsp + 0x6c], 0
mov byte [rsp + 0x70], 0
mov dword [rsp + 0x74], 0
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], rsi
lea r8, [rsp + 0xf0]
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x90], 0
mov byte [rsp + 0xa4], cl
shl rcx, 0x20
or rcx, rax
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x38], rdx
mov qword [rdx + 0x10], 0
mov dword [rsp + 0xf8], 0
mov qword [rsp + 0xf0], 0
mov rcx, qword [r15 + 0x10]
mov qword [rsp + 0x108], rcx
lea r12, [rsp + 0x50]
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0xc0], 0
mov word [rsp + 0xc4], 0
mov dword [rsp + 0xe0], 0x110000
mov byte [rsp + 0xe4], 0
lea r15, [0x1402ea6f0]
lea r13, [0x1402ee1c0]
xor ecx, ecx
mov ebx, dword [rsp + 0xc0]
mov rbp, qword [rsp + 0xd0]
test ebx, ebx
je 0x1400f1040
test rcx, rcx
je 0x1400f10f3
mov rdx, qword [rsp + 0xd8]
cmp rcx, 1
jne 0x1400f1b51
cmp rax, rdx
jb 0x1400f1b94
mov qword [rsp + 0xd8], 0
jmp 0x1400f1080
test rcx, rcx
je 0x1400f10f3
movzx edx, word [rsp + 0xc4]
cmp rcx, 1
jne 0x1400f1b5b
movzx ecx, dx
cmp dx, 4
ja 0x1400f3beb
cmp rax, rcx
jb 0x1400f1b8c
test dx, dx
je 0x1400f1080
mov word [rsp + 0xc4], 0
mov qword [rsp + 0x40], 0
jmp 0x1400f10f3
movzx esi, bx
imul edi, esi, 0x6f75
shr edi, 0x18
lea edx, [rdi + 0x1100]
mov rcx, r12
call fcn.1400f4820
imul eax, edi, 0x24c
sub ebx, eax
movzx eax, bx
imul edx, eax, 0x925
shr edx, 0x10
add edx, 0x1161
mov rcx, r12
call fcn.1400f4820
mov eax, esi
shr eax, 2
imul eax, eax, 0x4925
shr eax, 0x11
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub si, cx
je 0x1400f10f3
add esi, 0x11a7
movzx edx, si
mov rcx, r12
call fcn.1400f4820
mov r9, qword [rsp + 0xb0]
test r9, r9
jne 0x1400f1460
movzx r10d, byte [rsp + 0xa0]
cmp r10b, 2
je 0x1400f18f2
mov r8, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x78]
mov r11, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
movzx esi, byte [rsp + 0xa1]
mov rbx, qword [rsp + 0x98]
test r8, r8
je 0x1400f11f1
cmp r8, rbx
je 0x1400f11e5
lea rcx, [r8 + 1]
mov qword [rsp + 0x90], rcx
movzx edx, byte [r8]
test dl, dl
jns 0x1400f1752
mov ecx, edx
and ecx, 0x1f
lea r9, [r8 + 2]
mov qword [rsp + 0x90], r9
movzx r14d, byte [r8 + 1]
and r14d, 0x3f
cmp dl, 0xdf
jbe 0x1400f1a4a
lea r9, [r8 + 3]
mov qword [rsp + 0x90], r9
movzx r9d, byte [r8 + 2]
shl r14d, 6
and r9d, 0x3f
or r9d, r14d
cmp dl, 0xf0
jb 0x1400f1a57
lea rdx, [r8 + 4]
mov qword [rsp + 0x90], 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.0x1400f13b8.0
mov qword [rsp + 0x90], 0
cmp rbp, r11
je 0x1400f18ea
lea rdx, [rbp + 1]
mov qword [rsp + 0x78], rdx
movzx ecx, byte [rbp]
test cl, cl
js 0x1400f1230
mov rbp, rdx
mov edx, ecx
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x1400f12d0
jmp 0x1400f1752
mov edx, ecx
and edx, 0x1f
lea r8, [rbp + 2]
mov qword [rsp + 0x78], r8
movzx r9d, byte [rbp + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x1400f129f
lea r14, [rbp + 3]
mov qword [rsp + 0x78], r14
movzx r8d, byte [rbp + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x1400f12b5
lea rcx, [rbp + 4]
mov qword [rsp + 0x78], 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 0x1400f12d0
jmp 0x1400f1752
shl edx, 6
or edx, r9d
mov rbp, r8
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jae 0x1400f12d0
jmp 0x1400f1752
shl edx, 0xc
or r8d, edx
mov rbp, r14
mov edx, r8d
lea ecx, [rdx - 0x2d]
cmp ecx, 2
jb 0x1400f1752
nop dword [rax]
cmp edx, 0x110000
je 0x1400f18ea
lea ecx, [rdx - 0x61]
cmp ecx, 0x1a
jb 0x1400f1752
lea ecx, [rdx - 0x30]
cmp ecx, 0xa
jb 0x1400f1752
mov r8d, 0x75a
xor ecx, ecx
mov r9d, 0x75a
nop word cs:[rax + rax]
shr r8, 1
add r8, rcx
mov r14d, dword [r15 + r8*8]
cmp r14d, edx
je 0x1400f1349
lea rdi, [r8 + 1]
cmp r14d, edx
cmova r9, r8
cmovb rcx, rdi
mov r8, r9
sub r8, rcx
ja 0x1400f1310
dec rcx
cmp rcx, 0x759
ja 0x1400f1cd2
mov r8, rcx
movzx r9d, word [r15 + r8*8 + 4]
mov ecx, r9d
and ecx, 0x7fff
test r9w, r9w
js 0x1400f1380
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 0x1400f1391
jmp 0x1400f1ce3
movzx r8d, cx
cmp r8d, 0x1f73
jae 0x1400f1cf4
movzx r9d, byte [r13 + rcx*4]
mov r8d, 0
cmp r9d, 1
je case.default.0x1400f13b8
mov r8d, r9d
lea r9, [0x14029ff20]
movsxd r8, dword [r9 + r8*4]
add r8, r9
jmp r8
mov r8d, dword [rsp + 0x50]
lea rsi, [rsp + 0x58]
mov rcx, qword [rsp + 0xa8]
test r8d, r8d
je 0x1400f148b
mov rdx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
cmp rcx, rax
jb 0x1400f14a6
jmp 0x1400f1d05
movzx eax, word [rsp + 0x54]
cmp rax, 5
jae 0x1400f3b47
mov rdx, rsi
cmp rcx, rax
jae 0x1400f1d05
mov ebp, dword [rdx + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x1400f1570
test r8d, r8d
je 0x1400f157a
mov rdx, qword [rsp + 0x68]
sub rdx, r9
je 0x1400f1588
xor ecx, ecx
jmp 0x1400f1503
movzx r9d, byte [r8 + rax*8]
mov eax, dword [r8 + rax*8 + 4]
mov byte [r8 + rcx*8], r9b
mov dword [r8 + rcx*8 + 4], eax
lea rax, [rcx + 1]
mov rcx, rax
cmp rdx, rax
je 0x1400f159b
mov rax, qword [rsp + 0xb0]
add rax, rcx
cmp dword [rsp + 0x50], 0
je 0x1400f1540
mov r9, qword [rsp + 0x68]
cmp rax, r9
jae 0x1400f1cb1
mov r8, qword [rsp + 0x60]
cmp rcx, r9
jb 0x1400f14e0
jmp 0x1400f1cc3
movzx r9d, word [rsp + 0x54]
cmp r9, 5
jae 0x1400f3b16
cmp rax, r9
jae 0x1400f1cb1
mov r8, rsi
cmp rcx, r9
jb 0x1400f14e0
jmp 0x1400f1cc3
mov qword [rsp + 0xa8], rcx
jmp 0x1400f15cb
movzx edx, word [rsp + 0x54]
sub rdx, r9
jne 0x1400f14cd
test r8d, r8d
je 0x1400f15a5
cmp qword [rsp + 0x68], rdx
jb 0x1400f15c0
mov qword [rsp + 0x68], rdx
jmp 0x1400f15c0
mov r8d, dword [rsp + 0x50]
test r8d, r8d
jne 0x1400f158d
movzx eax, word [rsp + 0x54]
cmp rdx, rax
jae 0x1400f15c0
mov word [rsp + 0x54], dx
nop word cs:[rax + rax]
lea rax, [rsp + 0xa8]
movups xmmword [rax], xmm6
imul eax, ebp, 0x9e3779b9
imul ecx, ebp, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1f
and eax, 0xfffffffe
lea rdx, [0x140372994]
movzx eax, word [rax + rdx]
add eax, ebp
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1e
and eax, 0xfffffffc
lea rcx, [0x1403730c8]
mov ebx, dword [rax + rcx]
mov eax, ebx
shr eax, 8
cmp eax, ebp
mov eax, 0
cmovne ebx, eax
mov esi, dword [rsp + 0xe0]
cmp esi, 0x110000
jne 0x1400f1650
test bl, bl
jne 0x1400f1ad0
mov dword [rsp + 0xe0], ebp
jmp 0x1400f10f3
cmp byte [rsp + 0xe4], 0
je 0x1400f167f
cmp byte [rsp + 0xe5], bl
jae 0x1400f169c
mov ecx, esi
mov edx, ebp
call fcn.14028c660
cmp eax, 0x110000
je 0x1400f16a4
mov dword [rsp + 0xe0], eax
jmp 0x1400f10f3
mov ecx, esi
mov edx, ebp
call fcn.14028c660
cmp eax, 0x110000
jne 0x1400f1994
test bl, bl
jne 0x1400f16a4
jmp 0x1400f1b45
test bl, bl
je 0x1400f1b1f
cmp dword [rsp + 0xc0], 0
je 0x1400f16ed
mov rdx, qword [rsp + 0xd8]
cmp rdx, qword [rsp + 0xc8]
jne 0x1400f16d5
lea rcx, [rsp + 0xc8]
call fcn.14008c980
mov rdx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xd0]
mov dword [rax + rdx*4], ebp
inc rdx
mov qword [rsp + 0xd8], rdx
jmp 0x1400f1710
movzx eax, word [rsp + 0xc4]
cmp rax, 3
ja 0x1400f1a65
mov dword [rsp + rax*4 + 0xc8], ebp
inc eax
mov word [rsp + 0xc4], ax
mov byte [rsp + 0xe4], 1
mov byte [rsp + 0xe5], bl
jmp 0x1400f10f3
cmp edx, 0x110000
je 0x1400f18ea
cmp byte [rsp + 0xb8], 0
je 0x1400f181c
cmp edx, 0x80
jb 0x1400f10eb
lea ebx, [rdx - 0xac00]
cmp ebx, 0x2ba4
jb 0x1400f108b
imul ecx, edx, 0x9e3779b9
imul eax, edx, 0x31415926
xor ecx, eax
imul r8, rcx, 0xee4
shr r8, 0x1f
and r8d, 0xfffffffe
lea r9, [0x14037e9c8]
movzx r8d, word [r8 + r9]
add r8d, edx
imul r8d, r8d, 0x9e3779b9
xor r8d, eax
imul r8, r8, 0xee4
shr r8, 0x1d
and r8d, 0xfffffff8
lea r9, [0x140380790]
mov rsi, qword [r8 + r9]
cmp edx, esi
jne 0x1400f19a0
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0x1667
ja 0x1400f3bc2
shr rsi, 0x30
mov edx, 0x1667
sub rdx, rcx
cmp rdx, rsi
jb 0x1400f3bb3
lea rax, [0x140387eb0]
lea rbx, [rax + rcx*4]
test rsi, rsi
jne 0x1400f1a20
jmp 0x1400f10f3
cmp edx, 0x80
jb 0x1400f10eb
lea ebx, [rdx - 0xac00]
cmp ebx, 0x2ba4
jb 0x1400f108b
imul eax, edx, 0x9e3779b9
imul ecx, edx, 0x31415926
xor eax, ecx
imul rax, rax, 0x80d
shr rax, 0x20
lea r8, [0x140376370]
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, [0x14037738c]
mov rsi, qword [rcx + rax*8]
cmp edx, esi
jne 0x1400f10eb
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4e
ja 0x1400f3ba2
shr rsi, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rsi
jb 0x1400f3b93
test rsi, rsi
je 0x1400f10f3
lea rax, [0x14037b3f4]
lea rbx, [rax + rcx*4]
shl rsi, 2
xor r14d, r14d
nop
mov edx, dword [rbx + r14]
mov rcx, r12
call fcn.1400f4820
add r14, 4
cmp rsi, r14
jne 0x1400f18d0
jmp 0x1400f10f3
mov byte [rsp + 0xa0], 2
mov r8d, dword [rsp + 0x50]
test r8d, r8d
mov rdx, qword [rsp + 0x68]
movzx eax, word [rsp + 0x54]
mov rcx, rdx
cmove rcx, rax
test rcx, rcx
je 0x1400f1ae0
mov rcx, qword [rsp + 0xb0]
test r8d, r8d
je 0x1400f1938
mov r8, qword [rsp + 0x60]
lea rsi, [rsp + 0x58]
mov rax, rdx
sub rax, rcx
jae 0x1400f1959
jmp 0x1400f3b5b
cmp ax, 5
lea rsi, [rsp + 0x58]
jae 0x1400f3b7f
mov rdx, rax
mov r8, rsi
mov rax, rdx
sub rax, rcx
jb 0x1400f3b5b
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.1400f3ff0
mov r8d, dword [rsp + 0x50]
test r8d, r8d
je 0x1400f1981
mov r9, qword [rsp + 0x68]
mov qword [rsp + 0xb0], r9
jmp 0x1400f146a
movzx r9d, word [rsp + 0x54]
mov qword [rsp + 0xb0], r9
jmp 0x1400f146a
mov dword [rsp + 0xe0], eax
jmp 0x1400f10f3
imul rcx, rcx, 0x80d
shr rcx, 0x20
lea r8, [0x140376370]
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, [0x14037738c]
mov rsi, qword [rcx + rax*8]
cmp edx, esi
jne 0x1400f10eb
mov rax, rsi
shr rax, 0x20
movzx ecx, ax
movzx eax, ax
cmp eax, 0xd4e
ja 0x1400f3ba2
shr rsi, 0x30
mov edx, 0xd4e
sub rdx, rcx
cmp rdx, rsi
jb 0x1400f3b93
lea rax, [0x14037b3f4]
lea rbx, [rax + rcx*4]
test rsi, rsi
je 0x1400f10f3
shl rsi, 2
xor r14d, r14d
nop word [rax + rax]
mov edx, dword [rbx + r14]
mov rcx, r12
call fcn.1400f4820
add r14, 4
cmp rsi, r14
jne 0x1400f1a30
jmp 0x1400f10f3
shl ecx, 6
or ecx, r14d
mov edx, ecx
jmp 0x1400f1752
shl ecx, 0xc
or r9d, ecx
mov edx, r9d
jmp 0x1400f1752
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0xc4]
mov r8d, ebp
call fcn.1400f4a70
cmp dword [rsp + 0xc0], 0
je 0x1400f1aa8
cmp qword [rsp + 0xc8], 0
je 0x1400f1aa8
mov r8, qword [rsp + 0xd0]
mov rcx, qword [0x1403ac160]
xor edx, edx
call fcn.14029804c
movdqu xmm0, xmmword [rsp + 0x140]
movups xmm1, xmmword [rsp + 0x150]
lea rax, [rsp + 0xa8]
movups xmmword [rax + 0x28], xmm1
movdqu xmmword [rax + 0x18], xmm0
jmp 0x1400f1710
mov esi, ebp
jmp 0x1400f1bf0
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x48], 0
mov esi, dword [rsp + 0xe0]
mov ecx, 2
mov eax, 0
cmp esi, 0x110000
je 0x1400f0fef
mov dword [rsp + 0xe0], 0x110000
jmp 0x1400f1bf0
mov dword [rsp + 0xe0], ebp
mov byte [rsp + 0xe4], 0
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x48], 0
jmp 0x1400f1bf0
mov dword [rsp + 0xe0], ebp
jmp 0x1400f1bf0
cmp rax, rdx
jae 0x1400f1bab
mov r8, rbp
jmp 0x1400f1b75
movzx ecx, dx
cmp cx, 5
jae 0x1400f3beb
lea r8, [rsp + 0xc8]
cmp rax, rcx
jae 0x1400f1bb9
mov esi, dword [r8 + rax*4]
inc rax
mov qword [rsp + 0x40], 2
mov qword [rsp + 0x48], rax
jmp 0x1400f1bf0
lea rbp, [rsp + 0xc8]
mov esi, dword [rbp + rax*4]
inc rax
mov qword [rsp + 0x40], 1
mov qword [rsp + 0x48], rax
jmp 0x1400f1bf0
mov qword [rsp + 0xd8], 0
jmp 0x1400f1bc8
test dx, dx
je 0x1400f1bc8
mov word [rsp + 0xc4], 0
mov esi, dword [rsp + 0xe0]
mov dword [rsp + 0xe0], 0x110000
cmp esi, 0x110000
je 0x1400f1d41
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0x38]
mov edx, esi
call fcn.1400f0ad0
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
jmp 0x1400f0fef
mov rax, qword [r15]
mov rbx, qword [r15 + 0x10]
sub rax, rbx
cmp rax, rsi
jb 0x1400f1d14
mov rcx, qword [r15 + 8]
add rcx, rbx
mov rdx, r14
mov r8, rsi
call sub.msvcrt.dll_memcpy
add rbx, rsi
mov qword [r15 + 0x10], rbx
mov qword [rdi], 0
mov dword [rdi + 8], 0
movaps xmm6, xmmword [rsp + 0x1f0]
movaps xmm7, xmmword [rsp + 0x200]
movaps xmm8, xmmword [rsp + 0x210]
movaps xmm9, xmmword [rsp + 0x220]
movaps xmm10, xmmword [rsp + 0x230]
movaps xmm11, xmmword [rsp + 0x240]
movaps xmm12, xmmword [rsp + 0x250]
movaps xmm13, xmmword [rsp + 0x260]
movaps xmm14, xmmword [rsp + 0x270]
movaps xmm15, xmmword [rsp + 0x280]
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [0x1402ea418]
mov rcx, rax
mov rdx, r9
call fcn.1400aaf00
lea r8, [0x1402ea430]
mov rdx, r9
call fcn.1400aaf00
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov edx, 0x75a
call fcn.1400aaf00
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov edx, 0x1f73
call fcn.1400aaf00
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov edx, 0x1f73
call fcn.1400aaf00
lea r8, [0x1402ea400]
mov rdx, rax
call fcn.1400aaf00
mov rcx, r15
mov rdx, rbx
mov r8, rsi
call fcn.14011a890
mov rbx, qword [r15 + 0x10]
jmp 0x1400f1c1e
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov ecx, 4
mov edx, 4
call fcn.1400aaf00
cmp dword [rsp + 0x50], 0
je 0x1400f1d63
cmp qword [rsp + 0x58], 0
je 0x1400f1d63
mov r8, qword [rsp + 0x60]
mov rcx, qword [0x1403ac160]
xor edx, edx
call fcn.14029804c
test ebx, ebx
mov r15, qword [rsp + 0x300]
je 0x1400f1d8b
cmp qword [rsp + 0xc8], 0
je 0x1400f1d8b
mov rcx, qword [0x1403ac160]
xor edx, edx
mov r8, rbp
call fcn.14029804c
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], 8
mov qword [rsp + 0x198], 0
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x150], rax
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x170], 1
movabs rax, 0x2e0000002e
mov qword [rsp + 0x178], rax
mov word [rsp + 0x180], 1
mov rax, qword [rsp + 0x110]
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x120], rax
mov dil, 1
xor ebx, ebx
lea rbp, [0x14036e5cc]
xorps xmm6, xmm6
movdqa xmm11, xmmword [0x14029fa80]
movdqa xmm12, xmmword [0x14029fa90]
movdqa xmm13, xmmword [0x14029faa0]
movdqa xmm14, xmmword [0x14029fab0]
movdqa xmm15, xmmword [0x14029fac0]
movdqa xmm7, xmmword [0x14029fad0]
movdqa xmm8, xmmword [0x14029fae0]
movdqa xmm9, xmmword [0x14029faf0]
movdqa xmm10, xmmword [0x14029fb00]
jmp 0x1400f1ede
xor ebx, ebx
mov rcx, r14
mov rdx, rsi
mov r8, qword [rsp + 0x110]
lea r9, [rsp + 0xf0]
call fcn.1400f54b0
mov rax, qword [r15]
mov r13, qword [r15 + 0x10]
sub rax, r13
cmp rax, rsi
jb 0x1400f2400
mov rcx, qword [r15 + 8]
add rcx, r13
mov rdx, r14
mov r8, rsi
call sub.msvcrt.dll_memcpy
add rsi, r13
mov qword [r15 + 0x10], rsi
xor edi, edi
lea rcx, [rsp + 0x140]
call fcn.1400f3c70
test rax, rax
je 0x1400f2d2f
mov r14, rax
mov rsi, rdx
test dil, 1
jne 0x1400f1f24
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15]
jne 0x1400f1f15
mov rcx, r15
call fcn.1400c53b0
mov rdx, qword [r15 + 0x10]
mov rax, qword [r15 + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [r15 + 0x10], rdx
cmp rsi, 4
jb 0x1400f1f46
mov eax, dword [r14]
bswap eax
xor ecx, ecx
xor edx, edx
cmp eax, 0x786e2d2d
setb cl
seta dl
cmp ecx, edx
je 0x1400f2074
test bl, 1
jne 0x1400f1e95
test rsi, rsi
je 0x1400f1e93
mov rax, r14
add rax, rsi
mov rcx, r14
jmp 0x1400f1f6c
cmp rcx, rax
je 0x1400f1e93
movzx edx, byte [rcx]
test dl, dl
js 0x1400f1f78
inc rcx
jmp 0x1400f1feb
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x1400f1fcd
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x1400f1fdd
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 0x1400f1e93
add rcx, 4
jmp 0x1400f1feb
add rcx, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
jmp 0x1400f1feb
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
lea r8d, [rdx - 0x21]
cmp r8d, 0x5e
jb 0x1400f1f63
mov r8d, 0x5a6
xor r10d, r10d
mov r9d, 0x5a6
jmp 0x1400f2023
cmp r11d, edx
cmova r9, r8
mov r8, r9
sub r8, r10
jbe 0x1400f1f63
shr r8, 1
add r8, r10
lea rdi, [r8 + r8*2]
mov r11d, dword [rbp + rdi*4]
mov ebx, dword [rbp + rdi*4 + 4]
cmp ebx, edx
jb 0x1400f203f
cmp r11d, edx
jbe 0x1400f204e
cmp ebx, edx
jae 0x1400f2010
mov r10, r8
inc r10
mov r8, r9
jmp 0x1400f2010
movzx edx, byte [rbp + rdi*4 + 8]
cmp rdx, 0x11
ja 0x1400f1f63
mov r8d, 0x20003
bt r8, rdx
jae 0x1400f1f63
mov bl, 1
jmp 0x1400f1e95
mov qword [rsp + 0x100], rbx
add r14, 4
add rsi, 0xfffffffffffffffc
lea rcx, [rsp + 0x1b8]
lea rdx, [rsp + 0x188]
mov r8, r14
mov r9, rsi
call fcn.1400efd00
mov rbx, qword [rsp + 0x1b8]
test rbx, rbx
je 0x1400f23ef
mov rcx, r15
mov r15, qword [rsp + 0x1c0]
mov r12, qword [rsp + 0x1c8]
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x130], rax
mov rdi, qword [rsp + 0x1d8]
mov r13, qword [rsp + 0x1e0]
mov r8, qword [rsp + 0x1e8]
mov rax, qword [rcx]
mov rcx, qword [rcx + 0x10]
sub r8, r13
mov qword [rsp + 0x118], rcx
sub rax, rcx
cmp rax, r8
jb 0x1400f2c5b
mov qword [rsp + 0x128], r12
cmp rdi, qword [rsp + 0x130]
jb 0x1400f21c5
cmp rbx, r15
je 0x1400f23b6
movzx r8d, byte [rbx]
test r8b, r8b
js 0x1400f2140
inc rbx
movzx esi, r8b
inc r13
jmp 0x1400f2286
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rbx + 1]
and r9d, 0x3f
cmp r8b, 0xdf
jbe 0x1400f2196
movzx edx, byte [rbx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400f219f
movzx esi, byte [rbx + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and esi, 0x3f
or esi, edx
or esi, eax
cmp esi, 0x110000
je 0x1400f23b6
add rbx, 4
mov rcx, rbx
jmp 0x1400f2241
add rbx, 2
jmp 0x1400f2263
add rbx, 3
jmp 0x1400f2274
mov rax, qword [r14 + 8]
mov byte [rax + rdx], sil
inc rdx
mov qword [r14 + 0x10], rdx
cmp rdi, qword [rsp + 0x130]
jae 0x1400f211f
mov rax, rdi
shl rax, 4
cmp qword [r12 + rax], r13
jne 0x1400f21e0
inc rdi
mov esi, dword [r12 + rax + 8]
jmp 0x1400f227b
mov rcx, rbx
mov rbx, r15
cmp rcx, r15
je 0x1400f21e0
movzx r8d, byte [rcx]
test r8b, r8b
jns 0x1400f2251
movzx eax, r8b
and eax, 0x1f
movzx r9d, byte [rcx + 1]
and r9d, 0x3f
cmp r8b, 0xe0
jb 0x1400f225c
movzx edx, byte [rcx + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x1400f226d
movzx esi, byte [rcx + 3]
add rcx, 4
and eax, 7
shl eax, 0x12
shl edx, 6
and esi, 0x3f
or esi, edx
or esi, eax
mov rbx, rcx
cmp esi, 0x110000
je 0x1400f21e0
mov rbx, rcx
cmp esi, 0x110000
jne 0x1400f227b
jmp 0x1400f23b6
inc rcx
mov rbx, rcx
jmp 0x1400f2134
add rcx, 2
mov rbx, rcx
shl eax, 6
or eax, r9d
mov esi, eax
jmp 0x1400f227b
add rcx, 3
mov rbx, rcx
shl eax, 0xc
or eax, edx
mov esi, eax
inc r13
cmp esi, 0x80
jae 0x1400f22ac
mov r14, qword [rsp + 0x300]
mov rdx, qword [r14 + 0x10]
cmp rdx, qword [r14]
jne 0x1400f21a8
mov rcx, r14
call fcn.1400c53b0
mov rdx, qword [r14 + 0x10]
jmp 0x1400f21a8
mov dword [rsp + 0x40], 0
mov eax, esi
cmp esi, 0x800
jae 0x1400f22db
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x40], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x41], sil
mov esi, 2
jmp 0x1400f2342
cmp esi, 0x10000
jae 0x1400f230d
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x40], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x41], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x42], sil
mov esi, 3
jmp 0x1400f2342
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x40], al
mov eax, esi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x41], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x42], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x43], sil
mov esi, 4
mov rcx, qword [rsp + 0x300]
mov rax, qword [rcx]
mov r14, qword [rcx + 0x10]
sub rax, r14
cmp rax, rsi
jb 0x1400f2399
mov r12, qword [rsp + 0x300]
mov rcx, qword [r12 + 8]
add rcx, r14
lea rdx, [rsp + 0x40]
mov r8, rsi
call sub.msvcrt.dll_memcpy
add r14, rsi
mov qword [r12 + 0x10], r14
mov r12, qword [rsp + 0x128]
cmp rdi, qword [rsp + 0x130]
jae 0x1400f211f
jmp 0x1400f21c5
mov r12, qword [rsp + 0x300]
mov rcx, r12
mov rdx, r14
mov r8, rsi
call fcn.14011a890
mov r14, qword [r12 + 0x10]
jmp 0x1400f2359
mov rax, qword [rsp + 0x300]
mov r15, qword [rax + 8]
mov rdx, qword [rax + 0x10]
mov r8, qword [rsp + 0x118]
test r8, r8
je 0x1400f2417
mov rsi, rdx
sub rsi, r8
mov rbx, qword [rsp + 0x100]
jbe 0x1400f2424
cmp byte [r15 + r8], 0xbf
jg 0x1400f242a
jmp 0x1400f3c2e
mov byte [rsp + 0xf0], 1
mov bl, 1
xor edi, edi
jmp 0x1400f1ede
mov rcx, r15
mov rdx, r13
mov r8, rsi
call fcn.14011a890
mov r13, qword [r15 + 0x10]
jmp 0x1400f1ec3
mov rsi, rdx
mov rbx, qword [rsp + 0x100]
jmp 0x1400f242a
jne 0x1400f3c2e
add r15, r8
test bl, 1
jne 0x1400f24eb
test rsi, rsi
je 0x1400f24e9
lea rdi, [r15 + rsi]
mov rbx, r15
jmp 0x1400f2451
cmp rbx, rdi
je 0x1400f24e9
movzx ecx, byte [rbx]
test cl, cl
js 0x1400f245d
inc rbx
jmp 0x1400f24be
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbx + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x1400f24a5
movzx edx, byte [rbx + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x1400f24b3
movzx ecx, byte [rbx + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x1400f24e9
add rbx, 4
jmp 0x1400f24be
add rbx, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x1400f24be
add rbx, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
lea eax, [rcx - 0x21]
cmp eax, 0x5d
jbe 0x1400f2448
call fcn.14028c590
cmp al, 0x11
ja 0x1400f2448
movzx eax, al
mov ecx, 0x20003
bt rcx, rax
jae 0x1400f2448
mov bl, 1
jmp 0x1400f24eb
xor ebx, ebx
movq xmm0, qword [rsp + 0xf0]
movzx eax, byte [rsp + 0xf9]
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 + 0xf8]
or al, byte [rsp + 0xfa]
or al, cl
or al, byte [rsp + 0xfb]
je 0x1400f254b
mov r15, qword [rsp + 0x300]
xor edi, edi
jmp 0x1400f1ede
mov qword [rsp + 0x100], rbx
test rsi, rsi
je 0x1400f2cfd
lea rbx, [r15 + rsi]
xor edi, edi
xor r12d, r12d
mov r14, r15
movzx edx, byte [r14]
test dl, dl
js 0x1400f2578
inc r14
jmp 0x1400f2600
mov eax, edx
and eax, 0x1f
movzx r8d, byte [r14 + 1]
and r8d, 0x3f
cmp dl, 0xe0
jb 0x1400f25ca
movzx ecx, byte [r14 + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x1400f25d9
movzx r13d, byte [r14 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r13d, 0x3f
or r13d, ecx
or r13d, eax
cmp r13d, 0x110000
je 0x1400f2af1
add r14, 4
jmp 0x1400f25e5
add r14, 2
shl eax, 6
or eax, r8d
mov r13d, eax
jmp 0x1400f25e5
add r14, 3
shl eax, 0xc
or ecx, eax
mov r13d, ecx
cmp r13d, 0x7f
jbe 0x1400f2600
jmp 0x1400f2685
inc r14
cmp r13d, 0x80
jae 0x1400f2683
cmp r14, rbx
je 0x1400f2af1
movzx r13d, byte [r14]
test r13b, r13b
jns 0x1400f25f0
mov eax, r13d
and eax, 0x1f
movzx edx, byte [r14 + 1]
and edx, 0x3f
cmp r13b, 0xdf
jbe 0x1400f2664
movzx ecx, byte [r14 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r13b, 0xf0
jb 0x1400f2672
movzx r13d, byte [r14 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r13d, 0x3f
or r13d, ecx
or r13d, eax
cmp r13d, 0x110000
je 0x1400f2af1
add r14, 4
jmp 0x1400f25f3
add r14, 2
shl eax, 6
or eax, edx
mov r13d, eax
jmp 0x1400f25f3
add r14, 3
shl eax, 0xc
or ecx, eax
mov r13d, ecx
jmp 0x1400f25f3
xor edi, edi
mov ecx, r13d
call fcn.14028c600
cmp dil, al
jbe 0x1400f269a
test al, al
jne case.0x1400f284c.3907
lea ecx, [r13 - 0x340]
cmp ecx, 4
ja 0x1400f26af
cmp ecx, 2
jne case.0x1400f284c.3907
cmp r13d, 0xd56
jg 0x1400f2715
cmp r13d, 0x9de
jg 0x1400f275b
cmp r13d, 0x93b
jg 0x1400f287a
lea ecx, [r13 - 0x30f]
cmp ecx, 0x36
ja 0x1400f26f2
movabs rdx, 0x48020000001005
bt rdx, rcx
jb 0x1400f2970
lea ecx, [r13 - 0x374]
cmp ecx, 0x13
ja case.0x1400f284c.3908
mov edx, 0x80401
bt edx, ecx
jb case.0x1400f284c.3907
jmp case.0x1400f284c.3908
cmp r13d, 0x11126
jg 0x1400f27c1
cmp r13d, 0x102d
jle 0x1400f2807
cmp r13d, 0x1f70
jg 0x1400f28d2
cmp r13d, 0x102e
je 0x1400f2970
cmp r13d, 0x1b35
je 0x1400f2970
jmp case.0x1400f284c.3908
cmp r13d, 0xbd6
jg 0x1400f284e
cmp r13d, 0xbbd
jg 0x1400f2967
lea ecx, [r13 - 0xb3e]
cmp ecx, 0x19
ja 0x1400f278f
mov edx, 0x3000001
bt edx, ecx
jb 0x1400f2970
lea ecx, [r13 - 0xa33]
cmp ecx, 0x2b
ja 0x1400f27af
movabs rdx, 0x80000000009
bt rdx, rcx
jb case.0x1400f284c.3907
cmp r13d, 0x9df
jne case.0x1400f284c.3908
jmp case.0x1400f284c.3907
cmp r13d, 0x114af
jle 0x1400f28a6
lea ecx, [r13 - 0x114b0]
cmp ecx, 0xd
ja 0x1400f27e8
mov edx, 0x2401
bt edx, ecx
jb 0x1400f2970
cmp r13d, 0x115af
je 0x1400f2970
cmp r13d, 0x11930
je 0x1400f2970
jmp case.0x1400f284c.3908
lea ecx, [r13 - 0xdca]
cmp ecx, 0x15
ja 0x1400f2821
mov edx, 0x200021
bt edx, ecx
jb 0x1400f2970
cmp r13d, 0xd57
je 0x1400f2970
lea ecx, [r13 - 0xf43]
cmp ecx, 0x76
ja case.0x1400f284c.3908
lea rdx, [0x14029fb10]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp r13d, 0xcc1
jg 0x1400f292b
cmp r13d, 0xbd7
je 0x1400f2970
cmp r13d, 0xc56
je 0x1400f2970
jmp case.0x1400f284c.3908
cmp r13d, 0x93c
je 0x1400f2970
cmp r13d, 0x9be
je 0x1400f2970
cmp r13d, 0x9d7
je 0x1400f2970
jmp case.0x1400f284c.3908
cmp r13d, 0x11127
je 0x1400f2970
cmp r13d, 0x1133e
je 0x1400f2970
cmp r13d, 0x11357
je 0x1400f2970
jmp case.0x1400f284c.3908
cmp r13d, 0xfa0f
jle 0x1400f293f
cmp r13d, 0x110ba
je 0x1400f2970
lea ecx, [r13 - 0xfa10]
cmp ecx, 0x12
ja 0x1400f2902
mov edx, 0x50005
bt edx, ecx
jb case.0x1400f284c.3907
lea ecx, [r13 - 0xfb1d]
cmp ecx, 0x21
ja case.0x1400f284c.3908
movabs rdx, 0x200000005
bt rdx, rcx
jb case.0x1400f284c.3907
jmp case.0x1400f284c.3908
cmp r13d, 0xcc2
je 0x1400f2970
cmp r13d, 0xd3e
je 0x1400f2970
jmp case.0x1400f284c.3908
cmp r13d, 0x2125
jg 0x1400f2983
lea ecx, [r13 - 0x1f71]
cmp ecx, 0x8c
ja case.0x1400f284c.3908
lea rdx, [0x14029fcec]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp r13d, 0xbbe
jne case.0x1400f284c.3908
mov r12b, 2
mov edi, eax
cmp r14, rbx
jne 0x1400f2568
jmp 0x1400f2af1
lea ecx, [r13 - 0x2329]
cmp ecx, 2
jb case.0x1400f284c.3907
cmp r13d, 0x2126
je case.0x1400f284c.3907
cmp r13d, 0x2adc
je case.0x1400f284c.3907
movd xmm1, r13d
pshufd xmm0, xmm1, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x14029fa50]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x14029fa60]
pxor xmm3, xmm12
movdqa xmm4, xmm14
pcmpgtd xmm4, xmm3
pxor xmm2, xmm12
movdqa xmm3, xmm15
pcmpgtd xmm3, xmm2
packssdw xmm3, xmm4
pmovmskb ecx, xmm3
test ecx, ecx
jne case.0x1400f284c.3907
pshufd xmm1, xmm1, 0x50
pand xmm1, xmmword [0x14029fa40]
pshufd xmm2, xmm1, 4
pcmpeqd xmm2, xmmword [0x14029fa70]
movdqa xmm3, xmm0
paddd xmm3, xmm11
pxor xmm3, xmm12
movdqa xmm4, xmm13
pcmpgtd xmm4, xmm3
por xmm4, xmm2
movmskps ecx, xmm4
test cl, cl
jne case.0x1400f284c.3907
lea ecx, [r13 - 0x1d1bb]
cmp ecx, 6
jb case.0x1400f284c.3907
lea ecx, [r13 - 0x2f800]
cmp ecx, 0x21e
jb case.0x1400f284c.3907
movd ecx, xmm1
cmp ecx, 0x2000
je case.0x1400f284c.3907
cmp ecx, 0x212a
je case.0x1400f284c.3907
cmp ecx, 0xfb40
je case.0x1400f284c.3907
movdqa xmm1, xmm0
paddd xmm1, xmm7
paddd xmm0, xmm8
pxor xmm0, xmm12
movdqa xmm2, xmm9
pcmpgtd xmm2, xmm0
pxor xmm1, xmm12
movdqa xmm0, xmm10
pcmpgtd xmm0, xmm1
packssdw xmm2, xmm0
pmovmskb edx, xmm2
test edx, edx
jne 0x1400f2970
lea edx, [r13 - 0x11a8]
cmp edx, 0x1b
jb 0x1400f2970
add r13d, 0xffffcf67
cmp r13d, 2
jb 0x1400f2970
cmp ecx, 0x330
jne 0x1400f2973
jmp 0x1400f2970
test r12b, r12b
je 0x1400f2cfd
movzx eax, r12b
cmp eax, 1
je case.0x1400f284c.3907
lea rax, [rsp + 0x1a8]
movups xmmword [rax], xmm6
movzx eax, word [rsp + 0x1b6]
lea rcx, [rsp + 0xa6]
mov word [rcx + 0x10], ax
movdqu xmm0, xmmword [rsp + 0x1a6]
movdqu xmmword [rcx], xmm0
movups xmmword [rcx - 0x1e], xmm6
mov byte [rcx - 0xe], 0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x50], 0
mov word [rsp + 0x54], 0
mov byte [rsp + 0x58], 0
mov dword [rsp + 0x5c], 0
mov byte [rsp + 0x60], 0
mov dword [rsp + 0x64], 0
mov byte [rsp + 0x68], 0
mov dword [rsp + 0x6c], 0
mov byte [rsp + 0x70], 0
mov dword [rsp + 0x74], 0
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x80], rbx
mov dword [rsp + 0xa0], 0
mov word [rsp + 0xa4], 0
mov dword [rsp + 0xc0], 0x110000
mov byte [rsp + 0xc4], 0
mov rdi, r15
cmp rdi, rbx
je 0x1400f2c8b
movzx r14d, byte [rdi]
test r14b, r14b
js 0x1400f2bd6
inc rdi
jmp 0x1400f2c3c
mov eax, r14d
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp r14b, 0xdf
jbe 0x1400f2c22
movzx ecx, byte [rdi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r14b, 0xf0
jb 0x1400f2c30
movzx r14d, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r14d, 0x3f
or r14d, ecx
or r14d, eax
cmp r14d, 0x110000
je 0x1400f2c8b
add rdi, 4
jmp 0x1400f2c3c
add rdi, 2
shl eax, 6
or eax, edx
mov r14d, eax
jmp 0x1400f2c3c
add rdi, 3
shl eax, 0xc
or ecx, eax
mov r14d, ecx
lea rcx, [rsp + 0x40]
call fcn.1400f4bb0
mov r12b, 1
cmp eax, 0x110000
je 0x1400f2ca1
cmp eax, r14d
je 0x1400f2bbf
jmp 0x1400f2ca1
mov rcx, qword [rsp + 0x300]
mov rdx, qword [rsp + 0x118]
call fcn.14011a890
mov qword [rsp + 0x128], r12
cmp rdi, qword [rsp + 0x130]
jb 0x1400f21c5
jmp 0x1400f211f
lea rcx, [rsp + 0x40]
call fcn.1400f4bb0
cmp eax, 0x110000
setne r12b
neg r12b
cmp dword [rsp + 0x50], 0
je 0x1400f2cc3
cmp qword [rsp + 0x58], 0
je 0x1400f2cc3
mov r8, qword [rsp + 0x60]
mov rcx, qword [0x1403ac160]
xor edx, edx
call fcn.14029804c
cmp dword [rsp + 0xa0], 0
je 0x1400f2cee
cmp qword [rsp + 0xa8], 0
je 0x1400f2cee
mov r8, qword [rsp + 0xb0]
mov rcx, qword [0x1403ac160]
xor edx, edx
call fcn.14029804c
test r12b, r12b
je 0x1400f2cfd
mov byte [rsp + 0xf5], 1
jmp 0x1400f2d18
mov rcx, r15
mov rdx, rsi
mov r8, qword [rsp + 0x120]
lea r9, [rsp + 0xf0]
call fcn.1400f54b0
mov r15, qword [rsp + 0x300]
mov rbx, qword [rsp + 0x100]
xor edi, edi
jmp 0x1400f1ede
mov rcx, qword [r15 + 8]
mov r14, qword [r15 + 0x10]
mov rax, r14
mov r8, qword [rsp + 0x108]
test r8, r8
je 0x1400f2d6f
mov rax, r14
sub rax, r8
jbe 0x1400f2d6d
cmp byte [rcx + r8], 0xbf
jg 0x1400f2d6f
lea rax, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov qword [rsp + 0x20], rax
mov rdx, r14
mov r9, r14
call fcn.1400b0240
jne 0x1400f2d56
add rcx, r8
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 1
movabs rax, 0x2e0000002e
mov qword [rsp + 0x78], rax
mov word [rsp + 0x80], 1
test bl, 1
jne 0x1400f2dd6
lea rsi, [rsp + 0x40]
mov rcx, rsi
call fcn.1400f3c70
test rax, rax
jne 0x1400f2dc4
jmp 0x1400f31e3
mov ebx, 0x62f8
lea rcx, [rsp + 0x40]
call fcn.1400f3c70
test rax, rax
je 0x1400f31e3
mov r13, rdx
test rdx, rdx
je 0x1400f2ddb
mov r12, rax
movzx ecx, byte [rax]
test cl, cl
js 0x1400f2e07
lea rsi, [r12 + 1]
jmp 0x1400f2e70
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [r12 + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x1400f2e55
movzx edx, byte [r12 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x1400f2e64
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 0x1400f2ddb
lea rsi, [r12 + 4]
jmp 0x1400f2e70
lea rsi, [r12 + 2]
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x1400f2e70
lea rsi, [r12 + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r13, r12
call fcn.14028c590
test al, al
je 0x1400f2f2e
movzx eax, al
cmp eax, 0x11
je 0x1400f2f2e
cmp eax, 9
jne 0x1400f31db
cmp rsi, r13
je 0x1400f3038
movzx ecx, byte [rsi]
test cl, cl
js 0x1400f2eaa
inc rsi
jmp 0x1400f2f0f
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x1400f2ef6
movzx edx, byte [rsi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x1400f2f04
movzx ecx, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x1400f3038
add rsi, 4
jmp 0x1400f2f0f
add rsi, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x1400f2f0f
add rsi, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.14028c590
cmp al, 0xe
ja 0x1400f31db
movzx eax, al
bt rbx, rax
jb 0x1400f2e95
jmp 0x1400f31db
cmp rsi, r13
je 0x1400f304f
xor r15d, r15d
xor edi, edi
movzx eax, byte [rsi]
test al, al
js 0x1400f2f48
inc rsi
jmp 0x1400f2faa
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x1400f2f91
movzx edx, byte [rsi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x1400f2f9f
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 0x1400f3054
add rsi, 4
jmp 0x1400f2faa
add rsi, 2
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x1400f2faa
add rsi, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov ecx, 0x5a6
xor r8d, r8d
mov edx, 0x5a6
jmp 0x1400f2fcc
cmp r9d, eax
cmova rdx, rcx
mov rcx, rdx
sub rcx, r8
jbe 0x1400f31db
shr rcx, 1
add rcx, r8
lea r10, [rcx + rcx*2]
mov r9d, dword [rbp + r10*4]
mov r11d, dword [rbp + r10*4 + 4]
cmp r11d, eax
jb 0x1400f2fea
cmp r9d, eax
jbe 0x1400f2ffa
cmp r11d, eax
jae 0x1400f2fb9
mov r8, rcx
inc r8
mov rcx, rdx
jmp 0x1400f2fb9
movzx eax, byte [rbp + r10*4 + 8]
cmp eax, 1
je 0x1400f300f
cmp eax, 5
jne 0x1400f3014
mov dil, 1
jmp 0x1400f302d
mov r15b, 1
jmp 0x1400f302d
cmp rax, 0x11
ja 0x1400f31db
mov ecx, 0x260fb
bt rcx, rax
jae 0x1400f31db
cmp rsi, r13
jne 0x1400f2f3c
jmp 0x1400f3054
movzx esi, byte [r13 - 1]
test sil, sil
js 0x1400f3073
dec r13
cmp r13, r12
jne 0x1400f30c1
jmp 0x1400f30ea
xor edi, edi
xor r15d, r15d
movzx esi, byte [r13 - 1]
test sil, sil
js 0x1400f3128
dec r13
cmp r13, r12
jne 0x1400f3176
jmp 0x1400f319b
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x1400f309c
movzx ecx, byte [r13 - 3]
cmp cl, 0xc0
jge 0x1400f30a5
movzx edx, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
jmp 0x1400f30ac
add r13, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x1400f30b4
add r13, 0xfffffffffffffffd
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and esi, 0x3f
or esi, eax
cmp r13, r12
je 0x1400f30ea
cmp esi, 0x110000
je 0x1400f2ddb
mov ecx, esi
call fcn.14028c590
cmp al, 0xd
jne 0x1400f3105
movzx esi, byte [r13 - 1]
test sil, sil
js 0x1400f3073
dec r13
cmp r13, r12
jne 0x1400f30c1
cmp esi, 0x110000
je 0x1400f2ddb
mov ecx, esi
call fcn.14028c590
cmp al, 0xd
je 0x1400f2ddb
mov ecx, esi
call fcn.14028c590
cmp al, 9
je 0x1400f2ddb
mov ecx, esi
call fcn.14028c590
cmp al, 5
je 0x1400f2ddb
jmp 0x1400f31db
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x1400f3151
movzx ecx, byte [r13 - 3]
cmp cl, 0xc0
jge 0x1400f315a
movzx edx, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
jmp 0x1400f3161
add r13, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x1400f3169
add r13, 0xfffffffffffffffd
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and esi, 0x3f
or esi, eax
cmp r13, r12
je 0x1400f319b
cmp esi, 0x110000
je 0x1400f31db
mov ecx, esi
call fcn.14028c590
cmp al, 0xd
jne 0x1400f31ae
movzx esi, byte [r13 - 1]
test sil, sil
js 0x1400f3128
dec r13
cmp r13, r12
jne 0x1400f3176
cmp esi, 0x110000
je 0x1400f31db
mov ecx, esi
call fcn.14028c590
cmp al, 0xd
je 0x1400f31db
mov ecx, esi
call fcn.14028c590
cmp al, 0x11
ja 0x1400f31db
movzx eax, al
mov ecx, 0x20023
bt rcx, rax
jae 0x1400f31db
test r15b, 1
je 0x1400f2ddb
and dil, 1
je 0x1400f2ddb
mov byte [rsp + 0xf2], 1
movzx eax, byte [rsp + 0xf0]
mov byte [rsp + 0x37], al
lea rcx, [rsp + 0xf1]
mov rax, qword [rcx]
mov qword [rsp + 0x140], rax
mov eax, dword [rcx + 7]
mov dword [rsp + 0x147], eax
cmp qword [rsp + 0x188], 0
mov r15, qword [rsp + 0x300]
je 0x1400f3239
mov r8, qword [rsp + 0x190]
mov rcx, qword [0x1403ac160]
xor edx, edx
call fcn.14029804c
mov r14, qword [r15 + 0x10]
test r14, r14
mov rdi, qword [rsp + 0x138]
mov rbx, qword [rsp + 0x38]
je 0x1400f3294
js 0x1400f3c5d
movzx eax, byte [0x1403ac1f0]
mov rcx, qword [0x1403ac160]
test rcx, rcx
jne 0x1400f3278
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400f3287
mov rcx, rax
mov qword [0x1403ac160], rax
xor edx, edx
mov r8, r14
call sub.kernel32.dll_HeapAlloc
test rax, rax
jne 0x1400f3299
mov ecx, 1
mov rdx, r14
call fcn.1400a81e0
mov eax, 1
mov rcx, qword [r15 + 0x10]
mov qword [rsp + 0x50], rcx
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x40], xmm0
mov qword [r15], r14
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], 0
lea rsi, [rbx + 0x18]
cmp qword [rbx + 0x18], 0
je 0x1400f32d7
mov r8, qword [rbx + 0x20]
mov rcx, qword [0x1403ac160]
xor edx, edx
call fcn.14029804c
mov rax, qword [rsp + 0x50]
mov qword [rsi + 0x10], rax
movdqa xmm0, xmmword [rsp + 0x40]
movdqu xmmword [rsi], xmm0
mov rax, qword [rbx + 0x20]
mov rcx, qword [rbx + 0x28]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], 1
movabs rax, 0x2e0000002e
mov qword [rsp + 0x78], rax
mov word [rsp + 0x80], 1
mov bl, 1
jmp 0x1400f3349
mov byte [rsp + 0x37], 1
mov qword [r15 + 0x10], rsi
xor ebx, ebx
lea rcx, [rsp + 0x40]
call fcn.1400f3c70
test rax, rax
je 0x1400f3adc
mov r12, rax
mov rsi, rdx
test bl, 1
movabs rbx, 0x8080808080808080
mov r11d, 0x1a
jne 0x1400f33a1
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15]
jne 0x1400f3392
mov rcx, r15
call fcn.1400c53b0
mov r11d, 0x1a
mov rdx, qword [r15 + 0x10]
mov rax, qword [r15 + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [r15 + 0x10], rdx
mov rcx, rsi
cmp rsi, 8
jb 0x1400f3429
lea rdx, [r12 + 7]
and rdx, 0xfffffffffffffff8
mov rax, rdx
sub rax, r12
mov rcx, rsi
cmp rax, rsi
ja 0x1400f3429
test qword [r12], rbx
jne 0x1400f343d
cmp rdx, r12
mov ecx, 8
cmove rax, rcx
lea rcx, [rsi - 8]
cmp rax, rcx
jae 0x1400f33eb
test qword [r12 + rax], rbx
jne 0x1400f343d
add rax, 8
cmp rax, rcx
jb 0x1400f33dc
test qword [r12 + rcx], rbx
jne 0x1400f343d
mov rax, qword [r15]
mov r15, qword [r15 + 0x10]
sub rax, r15
cmp rax, rsi
jb 0x1400f3abd
mov rbx, qword [rsp + 0x300]
mov rcx, qword [rbx + 8]
add rcx, r15
mov rdx, r12
mov r8, rsi
call sub.msvcrt.dll_memcpy
add rsi, r15
mov r15, rbx
jmp 0x1400f3343
mov rax, rcx
sub rax, 1
jb 0x1400f33f1
cmp byte [r12 + rcx - 1], 0
mov rcx, rax
jns 0x1400f3429
mov rcx, qword [r15]
mov rbx, qword [r15 + 0x10]
sub rcx, rbx
mov rax, rbx
cmp rcx, 3
jbe 0x1400f353c
mov qword [rsp + 0x120], rbx
mov rcx, qword [r15 + 8]
mov dword [rcx + rax], 0x2d2d6e78
add rax, 4
mov qword [r15 + 0x10], rax
xor ebx, ebx
test rsi, rsi
je 0x1400f3349
mov r13, r12
add r13, rsi
mov dword [rsp + 0x108], 0
mov rsi, r12
jmp 0x1400f349b
inc ebx
cmp rsi, r13
je 0x1400f3563
movzx edx, byte [rsi]
test dl, dl
js 0x1400f34a7
inc rsi
jmp 0x1400f3508
mov eax, edx
and eax, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp dl, 0xdf
jbe 0x1400f34ef
movzx ecx, byte [rsi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x1400f34fd
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 0x1400f355c
add rsi, 4
jmp 0x1400f3508
add rsi, 2
shl eax, 6
or eax, r8d
mov edx, eax
jmp 0x1400f3508
add rsi, 3
shl eax, 0xc
or ecx, eax
mov edx, ecx
mov eax, ebx
inc eax
mov dword [rsp + 0x110], eax
je 0x1400f3a77
cmp edx, 0x7f
ja 0x1400f3490
mov rcx, r15
call fcn.1400f0ad0
mov r11d, 0x1a
inc dword [rsp + 0x108]
jmp 0x1400f3490
mov r8d, 4
mov rcx, r15
mov rdx, rbx
call fcn.14011a890
mov r11d, 0x1a
mov rax, qword [r15 + 0x10]
jmp 0x1400f3454
mov dword [rsp + 0x110], ebx
cmp dword [rsp + 0x108], 0
je 0x1400f3597
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15]
jne 0x1400f3588
mov rcx, r15
call fcn.1400c53b0
mov r11d, 0x1a
mov rdx, qword [r15 + 0x10]
mov rax, qword [r15 + 8]
mov byte [rax + rdx], 0x2d
inc rdx
mov qword [r15 + 0x10], rdx
xor r8d, r8d
mov ebx, 0
mov eax, dword [rsp + 0x110]
cmp dword [rsp + 0x108], eax
jae 0x1400f3349
mov eax, pe_nt_image_headers64
mov r14d, 0x48
mov esi, dword [rsp + 0x108]
mov qword [rsp + 0x100], r12
mov qword [rsp + 0x118], r13
mov rcx, r12
jmp 0x1400f35e5
inc rcx
cmp eax, ebp
jbe 0x1400f367a
cmp rcx, r13
je 0x1400f3c14
movzx ebp, byte [rcx]
test bpl, bpl
jns 0x1400f35da
mov edx, ebp
and edx, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp bpl, 0xdf
jbe 0x1400f3648
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp bpl, 0xf0
jb 0x1400f3656
movzx ebp, byte [rcx + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and ebp, 0x3f
or ebp, r9d
or ebp, edx
cmp ebp, 0x110000
je 0x1400f3c14
add rcx, 4
jmp 0x1400f35dd
add rcx, 2
shl edx, 6
or edx, r10d
mov ebp, edx
jmp 0x1400f35dd
add rcx, 3
shl edx, 0xc
or r9d, edx
mov ebp, r9d
jmp 0x1400f35dd
inc rcx
cmp ebp, edx
mov r9d, edx
cmovb r9d, ebp
cmp edx, eax
cmovae ebp, r9d
cmp rcx, r13
je 0x1400f3713
movzx edx, byte [rcx]
test dl, dl
jns 0x1400f3668
mov r9d, edx
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x1400f36e1
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x1400f36fa
movzx edx, byte [rcx + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and edx, 0x3f
or edx, r10d
or edx, r9d
cmp edx, 0x110000
mov r11d, 0x1a
je 0x1400f3713
add rcx, 4
jmp 0x1400f366b
add rcx, 2
shl r9d, 6
or r9d, r11d
mov edx, r9d
mov r11d, 0x1a
jmp 0x1400f366b
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
mov r11d, 0x1a
jmp 0x1400f366b
mov ecx, esi
inc ecx
je 0x1400f3bd3
mov r9d, ebp
sub r9d, eax
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp r9d, eax
ja 0x1400f3a77
mov edx, r9d
imul edx, ecx
add edx, r8d
mov dword [rsp + 0x38], edx
mov rcx, r12
jmp 0x1400f3758
mov r9d, esi
mov r8d, dword [rsp + 0x38]
cmp rcx, r13
je 0x1400f3a4e
movzx eax, byte [rcx]
test al, al
js 0x1400f3768
inc rcx
cmp eax, ebp
jb 0x1400f37d6
jmp 0x1400f37e0
mov r9, rcx
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [r9 + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x1400f37b6
movzx edx, byte [r9 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x1400f37c4
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 0x1400f3a6d
add r9, 4
jmp 0x1400f37cf
add r9, 2
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x1400f37cf
add r9, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov rcx, r9
cmp eax, ebp
jae 0x1400f37e0
inc dword [rsp + 0x38]
je 0x1400f3a77
cmp eax, ebp
jne 0x1400f3747
mov qword [rsp + 0x128], rcx
mov dword [rsp + 0x130], esi
lea edi, [r14 + 0x1a]
lea ecx, [r14 - 0x24]
neg ecx
cmp edi, 0x25
cmovb ecx, r11d
cmp r14d, 0x24
mov eax, 1
cmovae ecx, eax
mov eax, dword [rsp + 0x38]
mov esi, eax
cmp eax, ecx
jae 0x1400f38dc
mov edx, 0x61
cmp esi, 0x1a
jb 0x1400f383a
mov edx, 0x16
cmp esi, 0x24
jae 0x1400f3bfc
add edx, esi
mov rcx, r15
call fcn.1400f0ad0
mov eax, dword [rsp + 0x130]
mov r9d, eax
inc r9d
mov esi, 0xd41d41d5
je 0x1400f3b67
cmp eax, dword [rsp + 0x108]
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r8d, r8d
mov eax, dword [rsp + 0x38]
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div r9d
add eax, ecx
cmp eax, 0x1c8
mov rdi, qword [rsp + 0x138]
mov r12, qword [rsp + 0x100]
mov r13, qword [rsp + 0x118]
jb 0x1400f3a0e
xor ecx, ecx
mov r11d, 0x1a
nop
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 0x1400f38b0
jmp 0x1400f3a19
mov r12d, r14d
neg r12d
mov r13d, 0x48
mov esi, dword [rsp + 0x38]
jmp 0x1400f3924
mov rax, qword [rbx + 8]
mov byte [rax + rdx], r15b
inc rdx
mov r15, rbx
lea ecx, [r12 + r13]
cmp r13d, edi
cmovae ecx, r11d
cmp r13d, r14d
mov eax, 1
cmovbe ecx, eax
mov qword [r15 + 0x10], rdx
add r13d, 0x24
cmp esi, ecx
jb 0x1400f3822
mov r8d, ecx
sub r8d, 0x24
je 0x1400f3afe
sub esi, ecx
neg r8d
mov eax, esi
xor edx, edx
div r8d
add edx, ecx
mov r15d, 0x61
mov esi, eax
cmp edx, 0x1a
jb 0x1400f395b
mov r15d, 0x16
cmp edx, 0x24
jae 0x1400f3bfc
add r15d, edx
cmp r15d, 0x80
jae 0x1400f39a0
mov rbx, qword [rsp + 0x300]
mov rdx, qword [rbx + 0x10]
cmp rdx, qword [rbx]
jne 0x1400f38f0
mov rcx, rbx
call fcn.1400c53b0
mov r11d, 0x1a
mov rdx, qword [rbx + 0x10]
jmp 0x1400f38f0
mov rcx, qword [rsp + 0x300]
mov rax, qword [rcx]
mov rdx, qword [rcx + 0x10]
sub rax, rdx
cmp rax, 1
jbe 0x1400f39ec
movzx eax, r15w
mov ecx, eax
shr ecx, 6
mov r15, qword [rsp + 0x300]
mov r8, qword [r15 + 8]
and eax, 0x3f
shl eax, 8
movzx ecx, cx
or ecx, eax
or ecx, 0x80c0
mov word [r8 + rdx], cx
add rdx, 2
jmp 0x1400f38fe
mov r8d, 2
mov rbx, qword [rsp + 0x300]
mov rcx, rbx
call fcn.14011a890
mov r11d, 0x1a
mov rdx, qword [rbx + 0x10]
jmp 0x1400f39b8
xor ecx, ecx
mov r10d, eax
mov r11d, 0x1a
lea eax, [r10*4]
lea eax, [rax + rax*8]
add r10d, 0x26
xor edx, edx
div r10w
movzx r14d, ax
add r14d, ecx
mov dword [rsp + 0x38], r8d
mov esi, r9d
mov rcx, qword [rsp + 0x128]
cmp rcx, r13
jne 0x1400f3758
inc r8d
inc ebp
xor ebx, ebx
mov esi, r9d
mov eax, ebp
cmp r9d, dword [rsp + 0x110]
jb 0x1400f35d5
jmp 0x1400f3349
mov r9d, esi
mov r8d, dword [rsp + 0x38]
jmp 0x1400f3a4e
mov rax, qword [r15 + 0x10]
mov byte [rsp + 0x37], 1
xor ebx, ebx
mov rsi, qword [rsp + 0x120]
cmp rax, rsi
jb 0x1400f3349
test rsi, rsi
je 0x1400f333e
mov byte [rsp + 0x37], 1
cmp rax, rsi
jbe 0x1400f3343
mov rax, qword [r15 + 8]
cmp byte [rax + rsi], 0xbf
jg 0x1400f3343
jmp 0x1400f3c45
mov rbx, qword [rsp + 0x300]
mov rcx, rbx
mov rdx, r15
mov r8, rsi
call fcn.14011a890
mov r15, qword [rbx + 0x10]
jmp 0x1400f3404
movzx eax, byte [rsp + 0x37]
mov byte [rdi], al
mov rax, qword [rsp + 0x140]
mov qword [rdi + 1], rax
mov eax, dword [rsp + 0x147]
mov dword [rdi + 8], eax
jmp 0x1400f1c45
lea rcx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrarycore_src_slice_sort.rs
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs._
mov edx, 0x39
call fcn.1400abba0
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, r9
call fcn.1400ab800
lea rax, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1402f5f8c]
mov edx, 0x321c
call fcn.1400b0240
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
call fcn.1400ab800
lea r8, [0x1402ea3e8]
call fcn.1400aae80
lea rcx, str.attempt_to_divide_by_zero
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs._
mov edx, 0x19
call fcn.1400abba0
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
call fcn.1400ab800
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov rcx, rsi
call fcn.1400ab800
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov edx, 0xd4e
call fcn.1400aae80
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov rcx, rsi
call fcn.1400ab800
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_lookups.rs
mov edx, 0x1667
call fcn.1400aae80
lea rcx, str.attempt_to_divide_by_zero
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs._
mov edx, 0x19
call fcn.1400abba0
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
call fcn.1400ab800
lea rcx, str.explicit_panic
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs._
mov edx, 0xe
call fcn.1400abba0
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs._
mov edx, 0x2b
call fcn.1400abba0
ud2
lea rax, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov qword [rsp + 0x20], rax
mov rcx, r15
mov r9, rdx
call fcn.1400b0240
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_
lea r8, [0x140391558]
mov edx, 0x30
call fcn.1400abba0
call fcn.1400a81a0
int3