Function at 0x14019c316
Capabilities:
Encrypt data using speck
Parse credit card information
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, 0x268
movaps xmmword [rsp + 0x250], xmm6
mov qword [rsp + 0x190], rcx
mov rcx, qword [rsp + 0x2d0]
test r9, r9
je 0x14019c47a
lea rax, [r8 + r9]
xor r14d, r14d
movaps xmm0, xmmword [0x14027b5c0]
mov rbx, r8
movzx r10d, byte [rbx]
test r10b, r10b
js 0x14019c369
inc rbx
jmp 0x14019c3da
mov r11d, r10d
and r11d, 0x1f
movzx edi, byte [rbx + 1]
and edi, 0x3f
cmp r10b, 0xdf
jbe 0x14019c3bc
movzx esi, byte [rbx + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp r10b, 0xf0
jb 0x14019c3cc
movzx r10d, byte [rbx + 3]
and r11d, 7
shl r11d, 0x12
shl esi, 6
and r10d, 0x3f
or r10d, esi
or r10d, r11d
cmp r10d, 0x110000
je 0x14019c43d
add rbx, 4
jmp 0x14019c3da
add rbx, 2
shl r11d, 6
or r11d, edi
mov r10d, r11d
jmp 0x14019c3da
add rbx, 3
shl r11d, 0xc
or esi, r11d
mov r10d, esi
cmp r10d, 0x2e
jne 0x14019c3e5
xor r11d, r11d
jmp 0x14019c431
test r14, r14
jne 0x14019c3f4
cmp r10d, 0x2d
je 0x14019c47a
mov r11d, 5
cmp r14, 4
ja 0x14019c41e
movups xmmword [rsp + 0x70], xmm0
je 0x14019f3e8
cmp r10d, dword [rsp + r14*4 + 0x70]
jne 0x14019c41e
inc r14
mov r11, r14
cmp r14, 4
je 0x14019c47a
lea esi, [r10 - 0x61]
cmp esi, 0x1a
jb 0x14019c431
add r10d, 0xffffffd0
cmp r10d, 0xa
jae 0x14019c47a
mov r14, r11
cmp rbx, rax
jne 0x14019c35b
mov rdx, r8
mov r8, r9
call fcn.140268968
mov rax, qword [rsp + 0x190]
mov dword [rax + 8], 0
mov qword [rax], 0
movaps xmm6, xmmword [rsp + 0x250]
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rdx + 0x30]
movzx r10d, byte [rdx + 0x34]
xor esi, esi
lea r11, [rsp + 0x38]
add r9, r8
xorps xmm6, xmm6
lea rdi, [rsp + 0x88]
mov dword [rdi + 0x1c], esi
movaps xmmword [rdi - 0x18], xmm6
movaps xmmword [rdi - 8], xmm6
movaps xmmword [rdi + 8], xmm6
mov byte [rdi + 0x18], sil
mov qword [rdi + 0x20], r8
mov qword [rdi + 0x28], r9
mov qword [rdi + 0x30], r11
mov qword [rdi + 0x38], rsi
mov byte [rdi + 0x4c], r10b
shl r10, 0x20
or r10, rax
mov qword [rsp + 0x158], r10
mov qword [rsp + 0x68], rdx
mov qword [rdx + 0x10], rsi
mov dword [r11 + 8], esi
mov qword [r11], rsi
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x140], rcx
mov byte [rsp + 0x13b], sil
movups xmmword [rsp + 0x12b], xmm6
lea r13, [rsp + 0x80]
mov dword [rdi + 0x48], eax
movups xmm0, xmmword [rsp + 0x128]
movups xmmword [rdi + 0x4d], xmm0
mov eax, dword [rsp + 0x138]
mov dword [rdi + 0x5d], eax
lea rax, [rsp + 0x100]
movaps xmmword [rax - 0x10], xmm6
mov qword [rax], rsi
mov dword [rax + 0x10], 0x110000
mov qword [rsp + 0x150], rax
mov byte [rax + 0x14], sil
lea rax, str.C:Usersdelph.cargo_registry_srcmirrors.tuna.tsinghua.edu.cn_2eab394af869c8a2_tinyvec_1.6.0_src_arrayvec.rs
mov qword [rsp + 0x28], rax
xor eax, eax
mov edx, dword [rsp + 0xf0]
mov r8, qword [rsp + 0x100]
mov r10, qword [rsp + 0x108]
movzx r9d, word [rsp + 0xf4]
cmp rax, 1
jne 0x14019c5c6
test edx, edx
je 0x14019c58e
cmp rcx, r10
jb 0x14019cea1
mov qword [rsp + 0x108], 0
xor r10d, r10d
jmp 0x14019c5b9
movzx eax, r9w
cmp r9w, 4
ja 0x14019f46f
cmp rcx, rax
jb 0x14019ce99
test r9w, r9w
je 0x14019c5b6
mov word [rsp + 0xf4], 0
xor r9d, r9d
mov qword [rsp + 0x70], 0
xor eax, eax
jmp 0x14019c56a
cmp rax, 2
jne 0x14019c5ee
test edx, edx
je 0x14019ce64
cmp rcx, r10
jb 0x14019ce7f
mov qword [rsp + 0x108], 0
jmp 0x14019cf04
mov r9, qword [rsp + 0xe0]
test r9, r9
jne 0x14019c835
mov bl, byte [rsp + 0xd0]
cmp bl, 2
je 0x14019c970
mov rax, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xb8]
mov sil, byte [rsp + 0xd1]
mov rbp, qword [rsp + 0xc8]
test rax, rax
je 0x14019c6f0
cmp rax, rbp
je 0x14019c6e4
lea rcx, [rax + 1]
mov qword [rsp + 0xc0], rcx
movzx r15d, byte [rax]
test r15b, r15b
jns 0x14019c869
mov ecx, r15d
and ecx, 0x1f
lea rdx, [rax + 2]
mov qword [rsp + 0xc0], rdx
movzx r8d, byte [rax + 1]
and r8d, 0x3f
cmp r15b, 0xdf
jbe 0x14019cd5a
lea rdx, [rax + 3]
mov qword [rsp + 0xc0], rdx
movzx edx, byte [rax + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp r15b, 0xf0
jb 0x14019cd68
lea r8, [rax + 4]
mov qword [rsp + 0xc0], r8
movzx r15d, byte [rax + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and r15d, 0x3f
or r15d, edx
or r15d, ecx
cmp r15d, 0x110000
jne case.0x14019c801.0
mov qword [rsp + 0xc0], 0
cmp r12, r14
je 0x14019c968
lea rcx, [r12 + 1]
mov qword [rsp + 0xa8], rcx
movzx eax, byte [r12]
test al, al
js 0x14019c71a
mov r12, rcx
mov r15d, eax
jmp 0x14019c7a1
mov r15d, eax
and r15d, 0x1f
lea rcx, [r12 + 2]
mov qword [rsp + 0xa8], rcx
movzx edx, byte [r12 + 1]
and edx, 0x3f
cmp al, 0xdf
jbe 0x14019c788
lea r8, [r12 + 3]
mov qword [rsp + 0xa8], r8
movzx ecx, byte [r12 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp al, 0xf0
jb 0x14019c794
lea rax, [r12 + 4]
mov qword [rsp + 0xa8], rax
movzx edx, byte [r12 + 3]
and r15d, 7
shl r15d, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
or edx, r15d
mov r12, rax
mov r15d, edx
jmp 0x14019c7a1
shl r15d, 6
or r15d, edx
mov r12, rcx
jmp 0x14019c7a1
shl r15d, 0xc
or ecx, r15d
mov r12, r8
mov r15d, ecx
lea eax, [r15 - 0x2d]
cmp eax, 2
jb 0x14019c869
cmp r15d, 0x110000
je 0x14019c968
lea eax, [r15 - 0x61]
cmp eax, 0x1a
jb 0x14019c869
lea eax, [r15 - 0x30]
cmp eax, 0xa
jb 0x14019c869
mov ecx, r15d
call fcn.14019c1d2
mov rcx, rax
movzx edx, byte [rax]
mov eax, 0
cmp edx, 1
je case.default.0x14019c801
mov eax, edx
lea rdx, [0x14027b5d0]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov r8d, dword [rsp + 0x80]
jmp 0x14019ca4f
cmp r15d, 0x110000
je 0x14019c968
cmp byte [rsp + 0xe8], 0
je 0x14019c8d4
cmp r15d, 0x80
jb 0x14019c958
lea edi, [r15 - 0xac00]
cmp edi, 0x2ba4
jae 0x14019c9b5
movzx esi, di
imul ebx, esi, 0x6f75
shr ebx, 0x18
lea edx, [rbx + 0x1100]
mov rcx, r13
call fcn.14019bfd6
imul eax, ebx, 0x24c
sub edi, eax
movzx eax, di
shr eax, 2
imul edx, eax, 0x4925
shr edx, 0x11
add edx, 0x1161
mov rcx, r13
call fcn.14019bfd6
jmp 0x14019c92f
cmp r15d, 0x80
jb 0x14019c958
lea edi, [r15 - 0xac00]
cmp edi, 0x2ba4
jae 0x14019cd1b
movzx esi, di
imul ebx, esi, 0x6f75
shr ebx, 0x18
lea edx, [rbx + 0x1100]
mov rcx, r13
call fcn.14019bfd6
imul eax, ebx, 0x24c
sub edi, eax
movzx eax, di
shr eax, 2
imul edx, eax, 0x4925
shr edx, 0x11
add edx, 0x1161
mov rcx, r13
call fcn.14019bfd6
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 0x14019c5ee
add esi, 0x11a7
movzx r15d, si
mov rcx, r13
mov edx, r15d
call fcn.14019bfd6
jmp 0x14019c5ee
mov byte [rsp + 0xd0], 2
mov r8d, dword [rsp + 0x80]
test r8d, r8d
mov rdx, qword [rsp + 0x98]
movzx eax, word [rsp + 0x84]
mov rcx, rdx
cmove rcx, rax
test rcx, rcx
je 0x14019ceb8
mov rcx, qword [rsp + 0xe0]
test r8d, r8d
je 0x14019ca00
mov r8, qword [rsp + 0x90]
mov rax, rdx
jmp 0x14019ca12
mov ecx, r15d
call fcn.140268a19
mov rbx, rax
test rax, rax
jne 0x14019c9d5
mov ecx, r15d
call fcn.140268ac3
mov rbx, rax
test rax, rax
je 0x14019c958
mov rbp, rdx
test rdx, rdx
je 0x14019c5ee
shl rbp, 2
xor esi, esi
mov edx, dword [rbx + rsi]
mov rcx, r13
call fcn.14019bfd6
add rsi, 4
cmp rbp, rsi
jne 0x14019c9e7
jmp 0x14019c5ee
lea r8, [rsp + 0x88]
cmp ax, 4
ja 0x14019f463
mov rdx, rax
sub rdx, rcx
jb 0x14019f3fe
lea rcx, [r8 + rcx*8]
call fcn.14019b119
mov r8d, dword [rsp + 0x80]
test r8d, r8d
je 0x14019ca3e
mov r9, qword [rsp + 0x98]
jmp 0x14019ca47
movzx r9d, word [rsp + 0x84]
mov qword [rsp + 0xe0], r9
mov rcx, qword [rsp + 0xd8]
test r8d, r8d
je 0x14019ca6e
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
jmp 0x14019ca88
movzx eax, word [rsp + 0x84]
lea rdx, [rsp + 0x88]
cmp rax, 4
ja 0x14019f46f
cmp rcx, rax
jae 0x14019d0ae
mov r15d, dword [rdx + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x14019caad
test r8d, r8d
je 0x14019caba
mov rdx, qword [rsp + 0x98]
jmp 0x14019cac2
mov qword [rsp + 0xd8], rcx
jmp 0x14019cb83
movzx edx, word [rsp + 0x84]
sub rdx, r9
je 0x14019cb50
xor r8d, r8d
mov rcx, qword [rsp + 0xe0]
add rcx, r8
cmp dword [rsp + 0x80], 0
je 0x14019cafe
mov rax, qword [rsp + 0x98]
cmp rcx, rax
jae 0x14019d052
mov r9, qword [rsp + 0x90]
jmp 0x14019cb21
movzx eax, word [rsp + 0x84]
cmp rax, 5
jae 0x14019f46f
lea r9, [rsp + 0x88]
cmp rcx, rax
jae 0x14019d052
cmp r8, rax
jae 0x14019d05b
mov eax, dword [r9 + rcx*8 + 4]
mov cl, byte [r9 + rcx*8]
mov byte [r9 + r8*8], cl
mov dword [r9 + r8*8 + 4], eax
lea rax, [r8 + 1]
mov r8, rax
cmp rdx, rax
jne 0x14019cace
mov r8d, dword [rsp + 0x80]
test r8d, r8d
je 0x14019cb69
cmp qword [rsp + 0x98], rdx
jb 0x14019cb7e
mov qword [rsp + 0x98], rdx
jmp 0x14019cb7e
movzx eax, word [rsp + 0x84]
cmp rdx, rax
jae 0x14019cb7e
mov word [rsp + 0x84], dx
movups xmmword [r13 + 0x58], xmm6
imul eax, r15d, 0x9e3779b9
imul ecx, r15d, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rdx, [0x140303acc]
movzx eax, word [rdx + rax*2]
add eax, r15d
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rcx, [0x140304200]
mov edi, dword [rcx + rax*4]
mov eax, edi
shr eax, 8
cmp eax, r15d
mov eax, 0
cmovne edi, eax
mov ebp, dword [rsp + 0x110]
cmp ebp, 0x110000
jne 0x14019cbfe
test dil, dil
jne 0x14019ce91
mov dword [rsp + 0x110], r15d
jmp 0x14019c5ee
cmp byte [rsp + 0x114], 0
je 0x14019cc5d
cmp byte [rsp + 0x115], dil
jae 0x14019ccb2
mov ecx, ebp
mov edx, r15d
call fcn.140268b6d
cmp eax, 0x110000
jne 0x14019cca6
cmp dword [rsp + 0xf0], 0
je 0x14019cdcd
mov rdx, qword [rsp + 0x108]
cmp rdx, qword [rsp + 0xf8]
jne 0x14019ccf0
lea rcx, [rsp + 0xf8]
call fcn.14019ba37
jmp 0x14019cce8
mov ecx, ebp
mov edx, r15d
call fcn.140268b6d
cmp eax, 0x110000
jne 0x14019cca6
test dil, dil
je 0x14019d045
cmp dword [rsp + 0xf0], 0
je 0x14019cda1
mov rdx, qword [rsp + 0x108]
cmp rdx, qword [rsp + 0xf8]
jne 0x14019ccf0
lea rcx, [rsp + 0xf8]
call fcn.14019ba37
jmp 0x14019cce8
mov dword [rsp + 0x110], eax
jmp 0x14019c5ee
test dil, dil
je 0x14019d01e
cmp dword [rsp + 0xf0], 0
je 0x14019cd75
mov rdx, qword [rsp + 0x108]
cmp rdx, qword [rsp + 0xf8]
jne 0x14019ccf0
lea rcx, [rsp + 0xf8]
call fcn.14019ba37
mov rdx, qword [rsp + 0x108]
mov rax, qword [rsp + 0x100]
mov dword [rax + rdx*4], r15d
inc qword [rsp + 0x108]
jmp 0x14019ce4f
mov ecx, r15d
call fcn.140268ac3
mov rbx, rax
test rax, rax
je 0x14019c958
mov rbp, rdx
test rdx, rdx
je 0x14019c5ee
shl rbp, 2
xor esi, esi
mov edx, dword [rbx + rsi]
mov rcx, r13
call fcn.14019bfd6
add rsi, 4
cmp rbp, rsi
jne 0x14019cd41
jmp 0x14019c5ee
shl ecx, 6
or ecx, r8d
mov r15d, ecx
jmp 0x14019c869
shl ecx, 0xc
or edx, ecx
mov r15d, edx
jmp 0x14019c869
movzx eax, word [rsp + 0xf4]
cmp rax, 3
jbe 0x14019ce3d
lea rcx, [rsp + 0x198]
lea rdx, [rsp + 0xf4]
mov r8d, r15d
call fcn.14019ba6d
jmp 0x14019cdf3
movzx eax, word [rsp + 0xf4]
cmp rax, 3
jbe 0x14019ce3d
lea rcx, [rsp + 0x198]
lea rdx, [rsp + 0xf4]
mov r8d, r15d
call fcn.14019ba6d
jmp 0x14019cdf3
movzx eax, word [rsp + 0xf4]
cmp rax, 3
jbe 0x14019ce3d
lea rcx, [rsp + 0x198]
lea rdx, [rsp + 0xf4]
mov r8d, r15d
call fcn.14019ba6d
cmp dword [rsp + 0xf0], 0
je 0x14019ce1e
cmp qword [rsp + 0xf8], 0
je 0x14019ce1e
mov r8, qword [rsp + 0x100]
mov rcx, qword [0x140373e30]
xor edx, edx
call fcn.140272814
movups xmm0, xmmword [rsp + 0x198]
movups xmm1, xmmword [rsp + 0x1a8]
movups xmmword [r13 + 0x80], xmm1
movups xmmword [r13 + 0x70], xmm0
jmp 0x14019ce4f
mov dword [rsp + rax*4 + 0xf8], r15d
inc eax
mov word [rsp + 0xf4], ax
mov byte [rsp + 0x114], 1
mov byte [rsp + 0x115], dil
jmp 0x14019c5ee
movzx eax, r9w
cmp ax, 4
ja 0x14019f46f
lea r8, [rsp + 0xf8]
cmp rcx, rax
jae 0x14019cef4
mov ebp, dword [r8 + rcx*4]
inc rcx
mov qword [rsp + 0x70], 2
jmp 0x14019ceb1
mov ebp, r15d
jmp 0x14019cf1f
lea r8, [rsp + 0xf8]
mov ebp, dword [r8 + rcx*4]
inc rcx
mov qword [rsp + 0x70], 1
mov qword [rsp + 0x78], rcx
jmp 0x14019cf1f
mov qword [rsp + 0x70], 2
mov qword [rsp + 0x78], 0
mov ebp, dword [rsp + 0x110]
mov eax, 2
mov ecx, 0
cmp ebp, 0x110000
je 0x14019c54a
mov dword [rsp + 0x110], 0x110000
jmp 0x14019cf1f
test r9w, r9w
je 0x14019cf04
mov word [rsp + 0xf4], 0
mov ebp, dword [rsp + 0x110]
mov eax, 0x110000
mov dword [rsp + 0x110], eax
cmp ebp, eax
je 0x14019d072
cmp ebp, 0x80
jae 0x14019cf57
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx]
jne 0x14019cf43
call fcn.140254d2d
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx + 8]
mov byte [rax + rdx], bpl
inc rdx
mov qword [rcx + 0x10], rdx
jmp 0x14019d00f
mov dword [rsp + 0x198], 0
mov eax, ebp
cmp ebp, 0x800
jae 0x14019cf85
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x198], al
mov r8d, 2
mov eax, 1
jmp 0x14019cfed
cmp ebp, 0x10000
jae 0x14019cfb6
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x198], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x199], al
mov r8d, 3
mov eax, 2
jmp 0x14019cfed
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x198], al
mov eax, ebp
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x199], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x19a], al
mov r8d, 4
mov eax, 3
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + rax + 0x198], bpl
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0x198]
call fcn.140268968
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
jmp 0x14019c54a
mov dword [rsp + 0x110], r15d
mov byte [rsp + 0x114], 0
mov qword [rsp + 0x70], 1
mov qword [rsp + 0x78], 0
jmp 0x14019cf1f
mov dword [rsp + 0x110], r15d
jmp 0x14019cf1f
lea r8, [0x1402d9330]
jmp 0x14019d065
mov rcx, r8
lea r8, [0x1402d9348]
mov rdx, rax
call fcn.14015c3d0
jmp case.0x14019c801.1
cmp dword [rsp + 0x80], 0
je 0x14019d0b7
cmp qword [rsp + 0x88], 0
mov r13, qword [rsp + 0x2d0]
je 0x14019d0bf
mov r8, qword [rsp + 0x90]
mov rcx, qword [0x140373e30]
xor edx, edx
call fcn.140272814
mov edx, dword [rsp + 0xf0]
jmp 0x14019d0bf
lea r8, [0x1402d9318]
jmp 0x14019d065
mov r13, qword [rsp + 0x2d0]
test edx, edx
je 0x14019d0e4
cmp qword [rsp + 0xf8], 0
je 0x14019d0e4
mov r8, qword [rsp + 0x100]
mov rcx, qword [0x140373e30]
xor edx, edx
call fcn.140272814
xor edx, edx
lea rax, [rsp + 0x130]
mov qword [rax - 8], rdx
mov qword [rax], 8
mov qword [rsp + 0x150], rax
mov qword [rax + 8], rdx
mov rax, qword [rsp + 0x158]
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x1f8], rax
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
lea r8, [rsp + 0x198]
mov qword [r8], rdx
mov qword [r8 + 8], rcx
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], rcx
mov qword [r8 + 0x20], rdx
mov qword [r8 + 0x28], rcx
movabs rax, 0x2e0000002e
mov qword [r8 + 0x30], rax
mov byte [r8 + 0x38], 1
mov word [r8 + 0x40], 1
mov dil, 1
lea rax, [rsp + 0x70]
mov qword [rsp + 0x1f0], rax
xorps xmm6, xmm6
lea rax, str.C:Usersdelph.cargo_registry_srcmirrors.tuna.tsinghua.edu.cn_2eab394af869c8a2idna_0.5.0_srcuts46.rs_
mov qword [rsp + 0x168], rax
lea rax, str.C:Usersdelph.cargo_registry_srcmirrors.tuna.tsinghua.edu.cn_2eab394af869c8a2idna_0.5.0_srcpunycode.rs
mov qword [rsp + 0x188], rax
lea rax, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov qword [rsp + 0x148], rax
xor ebx, ebx
lea rcx, [rsp + 0x198]
call fcn.14019f79c
mov r15, rax
test rax, rax
je 0x14019e72a
mov r12, rdx
test dil, 1
jne 0x14019d1ea
mov rdx, qword [r13 + 0x10]
cmp rdx, qword [r13]
jne 0x14019d1db
mov rcx, r13
call fcn.140254d2d
mov rdx, qword [r13 + 0x10]
mov rax, qword [r13 + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [r13 + 0x10], rdx
cmp r12, 4
jb 0x14019d1f9
cmp dword [r15], 0x2d2d6e78
je 0x14019d238
test bl, 1
jne 0x14019d20b
mov rcx, r15
mov rdx, r12
call fcn.14019f8ce
mov ebx, eax
mov rcx, r15
mov rdx, r12
mov r8, qword [rsp + 0x158]
lea r9, [rsp + 0x38]
call fcn.14019f989
xor edi, edi
mov rcx, r13
mov rdx, r15
mov r8, r12
call fcn.140268968
jmp 0x14019d1a3
add r15, 4
add r12, 0xfffffffffffffffc
mov qword [rsp + 0x138], 0
mov r8, r12
mov r14d, 0x1a
mov cl, 0x2d
mov rdx, r15
call fcn.140165e80
cmp rax, 1
jne 0x14019d27d
mov r8, rdx
cmp rdx, r12
jae 0x14019d278
cmp byte [r15 + r8], 0x2d
je 0x14019d525
cmp r8, r12
jbe 0x14019d255
mov rsi, rbx
xor ecx, ecx
lea rax, str.invalid
mov qword [rsp + 0x28], rax
mov rax, rcx
mov qword [rsp + 0x58], rcx
sub rax, 1
jb 0x14019d2b9
mov rdx, qword [rsp + 0x28]
cmp byte [rdx + rcx - 1], 0
mov rcx, rax
jns 0x14019d296
mov byte [rsp + 0x38], 1
mov bl, 1
xor edi, edi
jmp 0x14019d1a3
mov rdi, r12
test rdi, rdi
je 0x14019d578
add rdi, r15
xor edx, edx
mov r12d, 0x48
mov dword [rsp + 0x50], pe_nt_image_headers64
mov rax, qword [rsp + 0x58]
mov dword [rsp + 0x30], eax
xor ebp, ebp
mov qword [rsp + 0x48], rdx
lea r9d, [r12 + 0x1a]
inc r15
mov r10d, r12d
neg r10d
mov r11d, 1
mov ebx, 0x24
mov ecx, ebp
mov al, byte [r15 - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jae 0x14019d315
add al, 0xea
mov edx, eax
jmp 0x14019d325
lea edx, [rax - 0x41]
cmp dl, 0x1a
jb 0x14019d325
add al, 0x9f
mov edx, eax
cmp al, 0x19
ja 0x14019d2ab
test r11d, r11d
je 0x14019f439
movzx r8d, dl
mov eax, ecx
not eax
xor edx, edx
div r11d
cmp eax, r8d
jb 0x14019d2ab
mov eax, r11d
imul eax, r8d
add ecx, eax
lea eax, [r10 + rbx]
cmp ebx, r9d
cmovae eax, r14d
cmp ebx, r12d
mov edx, 1
cmovbe eax, edx
cmp eax, r8d
ja 0x14019d395
mov r8d, 0x24
sub r8d, eax
mov eax, r8d
mul r11d
jo 0x14019d2ab
cmp r15, rdi
je 0x14019d2ab
add ebx, 0x24
imul r11d, r8d
inc r15
jmp 0x14019d303
mov r9d, dword [rsp + 0x30]
inc r9d
je 0x14019f42a
mov eax, ecx
sub eax, ebp
test ebp, ebp
mov r8d, 2
mov edx, 0x2bc
cmove r8d, edx
xor r12d, r12d
xor edx, edx
div r8d
mov r8d, eax
xor edx, edx
div r9d
add eax, r8d
cmp eax, 0x1c8
mov dword [rsp + 0x30], r9d
jb 0x14019d40a
xor r12d, r12d
mov r9d, 0xd41d41d5
mov edx, eax
imul rdx, r9
shr rdx, 0x20
mov r8d, eax
sub r8d, edx
shr r8d, 1
add r8d, edx
shr r8d, 5
add r12d, 0x24
cmp eax, 0x3e57
mov eax, r8d
ja 0x14019d3e0
jmp 0x14019d40d
mov r8d, eax
lea eax, [r8*4]
lea eax, [rax + rax*8]
add r8d, 0x26
xor edx, edx
div r8w
mov ebx, eax
mov eax, ecx
xor edx, edx
div dword [rsp + 0x30]
add dword [rsp + 0x50], eax
jb 0x14019d2ab
mov eax, dword [rsp + 0x50]
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x14019d2ab
mov ebp, edx
mov r8, qword [rsp + 0x130]
mov r13d, edx
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x14019d488
mov rax, rdx
shl rax, 4
xor ecx, ecx
mov r9, qword [r8 + rcx]
cmp r9, r13
jb 0x14019d47f
inc r9
mov qword [r8 + rcx], r9
add rcx, 0x10
cmp rax, rcx
jne 0x14019d46f
cmp rdx, qword [rsp + 0x128]
jne 0x14019d4b1
lea rcx, [rsp + 0x128]
call fcn.14023dc05
mov r8, qword [rsp + 0x130]
mov r9, qword [rsp + 0x138]
jmp 0x14019d4b4
mov r9, rdx
movzx eax, bx
add r12d, eax
mov rax, r9
shl rax, 4
mov qword [r8 + rax], r13
mov ecx, dword [rsp + 0x50]
mov dword [r8 + rax + 8], ecx
lea rdx, [r9 + 1]
mov qword [rsp + 0x138], rdx
inc ebp
cmp r15, rdi
mov r13, qword [rsp + 0x2d0]
jne 0x14019d2e3
mov qword [rsp + 0x120], r8
cmp rdx, 0x15
jae 0x14019e0e3
cmp rdx, 1
mov rbx, rsi
mov r14, qword [rsp + 0x120]
jbe 0x14019d583
mov r8d, 1
mov rcx, r14
call fcn.14019bf1a
mov rsi, qword [rsp + 0x28]
jmp 0x14019d588
mov qword [rsp + 0x28], r15
mov rsi, rbx
test r8, r8
je 0x14019d787
mov qword [rsp + 0x58], r8
lea r15, [r8 + 1]
mov rdi, r12
sub rdi, r15
jbe 0x14019d557
mov rax, qword [rsp + 0x28]
cmp byte [rax + r15], 0xbf
jle 0x14019f5b3
mov rcx, qword [rsp + 0x28]
add r15, rcx
cmp qword [rsp + 0x58], 7
ja 0x14019d793
mov r12, rdi
mov rcx, qword [rsp + 0x58]
jmp 0x14019d28e
mov r14, qword [rsp + 0x130]
mov rbx, rsi
mov rsi, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x138]
mov rax, qword [rsp + 0x58]
lea r8, [rdi + rax]
mov rax, qword [r13]
mov r15, qword [r13 + 0x10]
sub rax, r15
cmp rax, r8
jae 0x14019d5b4
mov rcx, r13
mov rdx, r15
call fcn.1401a78d2
mov qword [rsp + 0x60], rbx
add qword [rsp + 0x58], rsi
xor ebx, ebx
xor r12d, r12d
mov rcx, rbx
shl rcx, 4
add rcx, r14
mov rax, rsi
cmp rbx, rdi
jae 0x14019d5de
cmp qword [rcx], r12
je 0x14019d685
mov r8, qword [rsp + 0x58]
mov rdx, r8
cmp rax, r8
je 0x14019d645
movzx ebp, byte [rax]
test bpl, bpl
jns 0x14019d652
mov edx, ebp
and edx, 0x1f
movzx r9d, byte [rax + 1]
and r9d, 0x3f
cmp bpl, 0xdf
jbe 0x14019d65d
movzx r8d, byte [rax + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp bpl, 0xf0
jb 0x14019d66e
movzx ebp, byte [rax + 3]
add rax, 4
and edx, 7
shl edx, 0x12
shl r8d, 6
and ebp, 0x3f
or ebp, r8d
or ebp, edx
mov rsi, rax
mov rdx, rax
cmp ebp, 0x110000
jne 0x14019d680
mov rax, rdx
cmp rbx, rdi
jb 0x14019d5d0
jmp 0x14019d760
inc rax
inc r12
mov rsi, rax
jmp 0x14019d696
add rax, 2
shl edx, 6
or edx, r9d
mov rsi, rax
mov ebp, edx
jmp 0x14019d68b
add rax, 3
shl edx, 0xc
or r8d, edx
mov rsi, rax
mov ebp, r8d
jmp 0x14019d68b
mov rsi, rax
jmp 0x14019d68b
inc rbx
mov ebp, dword [rcx + 8]
inc r12
cmp ebp, 0x80
jae 0x14019d6c0
mov rdx, qword [r13 + 0x10]
cmp rdx, qword [r13]
jne 0x14019d6ac
mov rcx, r13
call fcn.140254d2d
mov rdx, qword [r13 + 0x10]
mov rax, qword [r13 + 8]
mov byte [rax + rdx], bpl
inc rdx
mov qword [r13 + 0x10], rdx
jmp 0x14019d5c3
mov dword [rsp + 0x70], 0
mov eax, ebp
cmp ebp, 0x800
jae 0x14019d6e8
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x70], al
mov r8d, 2
mov eax, 1
jmp 0x14019d741
cmp ebp, 0x10000
jae 0x14019d713
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x70], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x71], al
mov r8d, 3
mov eax, 2
jmp 0x14019d741
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x70], al
mov eax, ebp
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x71], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x72], al
mov r8d, 4
mov eax, 3
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + rax + 0x70], bpl
mov rcx, r13
lea rdx, [rsp + 0x70]
call fcn.140268968
jmp 0x14019d5c3
mov r14, qword [r13 + 8]
mov rsi, qword [r13 + 0x10]
test r15, r15
mov rbx, qword [rsp + 0x60]
je 0x14019d7f6
cmp rsi, r15
jbe 0x14019d7f0
cmp byte [r14 + r15], 0xc0
jge 0x14019d7f6
jmp 0x14019f57e
mov r15, qword [rsp + 0x28]
xor ecx, ecx
jmp 0x14019d28e
movabs rax, 0x8080808080808080
test qword [rcx], rax
jne 0x14019d2ab
mov rcx, qword [rsp + 0x28]
lea rax, [rcx + 7]
and rax, 0xfffffffffffffff8
sub rax, rcx
mov ecx, 8
cmove rax, rcx
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff8
cmp rax, rcx
jae 0x14019e02b
movabs rdx, 0x8080808080808080
mov r8, qword [rsp + 0x28]
test qword [r8 + rax], rdx
jne 0x14019d2ab
add rax, 8
jmp 0x14019d7c8
jne 0x14019f57e
lea r12, [r14 + r15]
mov rbp, rsi
sub rbp, r15
test bl, 1
jne 0x14019d812
mov rcx, r12
mov rdx, rbp
call fcn.14019f8ce
mov ebx, eax
mov al, byte [rsp + 0x39]
or al, byte [rsp + 0x38]
or al, byte [rsp + 0x3a]
or al, byte [rsp + 0x3b]
or al, byte [rsp + 0x3c]
or al, byte [rsp + 0x3d]
or al, byte [rsp + 0x3e]
or al, byte [rsp + 0x3f]
or al, byte [rsp + 0x40]
or al, byte [rsp + 0x41]
or al, byte [rsp + 0x42]
xor edi, edi
or al, byte [rsp + 0x43]
jne 0x14019d1a3
add r14, rsi
xor r9d, r9d
mov rax, r12
xor r8d, r8d
mov ecx, r9d
cmp rax, r14
je 0x14019decb
mov r9d, r8d
movzx edx, byte [rax]
test dl, dl
js 0x14019d871
inc rax
jmp 0x14019d8e4
mov r8d, edx
and r8d, 0x1f
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x14019d8c6
movzx r10d, byte [rax + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x14019d8d6
movzx edx, byte [rax + 3]
and r8d, 7
shl r8d, 0x12
shl r10d, 6
and edx, 0x3f
or edx, r10d
or edx, r8d
cmp edx, 0x110000
je 0x14019decb
add rax, 4
jmp 0x14019d8e4
add rax, 2
shl r8d, 6
or r8d, r11d
mov edx, r8d
jmp 0x14019d8e4
add rax, 3
shl r8d, 0xc
or r10d, r8d
mov edx, r10d
xor r8d, r8d
cmp edx, 0x80
jb 0x14019d859
imul r8d, edx, 0x9e3779b9
imul r10d, edx, 0x31415926
xor r8d, r10d
imul r8, r8, 0x39a
shr r8, 0x20
lea r11, [0x140303acc]
movzx r8d, word [r11 + r8*2]
add r8d, edx
imul r8d, r8d, 0x9e3779b9
xor r8d, r10d
imul r8, r8, 0x39a
shr r8, 0x20
lea r10, [0x140304200]
mov r8d, dword [r10 + r8*4]
mov r10d, r8d
shr r10d, 8
cmp r10d, edx
mov r10d, 0
cmovne r8d, r10d
cmp r9b, r8b
jbe 0x14019d960
test r8b, r8b
jne 0x14019e0d7
lea r9d, [rdx - 0x340]
cmp r9d, 4
ja 0x14019d977
cmp r9d, 2
jne 0x14019e0d7
mov r9b, 2
cmp edx, 0xd56
jg 0x14019d9e1
cmp edx, 0x9de
jg 0x14019da42
cmp edx, 0x93b
jg 0x14019db58
lea r10d, [rdx - 0x30f]
cmp r10d, 0x36
ja 0x14019d9bb
movabs r11, 0x48020000001005
bt r11, r10
jb 0x14019d856
lea r10d, [rdx - 0x374]
cmp r10d, 0x13
ja 0x14019dc5e
mov r11d, 0x80401
bt r11d, r10d
jb 0x14019e0d7
jmp 0x14019dc5e
cmp edx, 0x11126
jg 0x14019daa9
cmp edx, 0xf92
jg 0x14019daef
lea r10d, [rdx - 0xdca]
cmp r10d, 0x15
ja 0x14019da16
mov r11d, 0x200021
bt r11d, r10d
jb 0x14019d856
cmp edx, 0xd57
je 0x14019d856
lea r10d, [rdx - 0xf43]
cmp r10d, 0x3e
ja 0x14019dc5e
movabs r11, 0x4021004002108401
jmp 0x14019dc0f
cmp edx, 0xbd6
jg 0x14019db33
cmp edx, 0xbbd
jg 0x14019dc1b
lea r10d, [rdx - 0xb3e]
cmp r10d, 0x19
ja 0x14019da77
mov r11d, 0x3000001
bt r11d, r10d
jb 0x14019d856
lea r10d, [rdx - 0xa33]
cmp r10d, 0x2b
ja 0x14019da98
movabs r11, 0x80000000009
bt r11, r10
jb 0x14019e0d7
cmp edx, 0x9df
jne 0x14019dc5e
jmp 0x14019e0d7
cmp edx, 0x114af
jle 0x14019db81
lea r10d, [rdx - 0x114b0]
cmp r10d, 0xd
ja 0x14019dad2
mov r11d, 0x2401
bt r11d, r10d
jb 0x14019d856
cmp edx, 0x115af
je 0x14019d856
cmp edx, 0x11930
je 0x14019d856
jmp 0x14019dc5e
cmp edx, 0x1f70
jg 0x14019dbc7
cmp edx, 0x102e
je 0x14019d856
cmp edx, 0x1b35
je 0x14019d856
lea r10d, [rdx - 0xf93]
cmp r10d, 0x26
ja 0x14019dc5e
movabs r11, 0x4002108401
jmp 0x14019dc0f
cmp edx, 0xcc1
jg 0x14019dbaa
cmp edx, 0xbd7
je 0x14019d856
cmp edx, 0xc56
je 0x14019d856
jmp 0x14019dc5e
cmp edx, 0x93c
je 0x14019d856
cmp edx, 0x9be
je 0x14019d856
cmp edx, 0x9d7
je 0x14019d856
jmp 0x14019dc5e
cmp edx, 0x11127
je 0x14019d856
cmp edx, 0x1133e
je 0x14019d856
cmp edx, 0x11357
je 0x14019d856
jmp 0x14019dc5e
cmp edx, 0xcc2
je 0x14019d856
cmp edx, 0xd3e
je 0x14019d856
jmp 0x14019dc5e
cmp edx, 0xfa0f
jle 0x14019dc29
cmp edx, 0x110ba
je 0x14019d856
lea r10d, [rdx - 0xfa10]
cmp r10d, 0x12
ja 0x14019dbf8
mov r11d, 0x50005
bt r11d, r10d
jb 0x14019e0d7
lea r10d, [rdx - 0xfb1d]
cmp r10d, 0x21
ja 0x14019dc5e
movabs r11, 0x200000005
bt r11, r10
jb 0x14019e0d7
jmp 0x14019dc5e
cmp edx, 0xbbe
je 0x14019d856
jmp 0x14019dc5e
cmp edx, 0x2125
jle 0x14019de7c
lea r10d, [rdx - 0x2329]
cmp r10d, 2
jb 0x14019e0d7
cmp edx, 0x2126
je 0x14019e0d7
cmp edx, 0x2adc
je 0x14019e0d7
lea r10d, [rdx - 0x2f800]
cmp r10d, 0x21e
jb 0x14019e0d7
lea r10d, [rdx - 0x1d1bb]
cmp r10d, 6
jb 0x14019e0d7
lea r10d, [rdx - 0x1d15e]
cmp r10d, 7
jb 0x14019e0d7
lea r10d, [rdx - 0xfb46]
cmp r10d, 9
jb 0x14019e0d7
lea r10d, [rdx - 0xfb43]
cmp r10d, 2
jb 0x14019e0d7
mov r10d, edx
and r10d, 0xfffffffe
cmp r10d, 0xfb40
je 0x14019e0d7
lea r11d, [rdx - 0xfb38]
cmp r11d, 5
jb 0x14019e0d7
lea r11d, [rdx - 0xfb2a]
cmp r11d, 0xd
jb 0x14019e0d7
lea r11d, [rdx - 0xfa70]
cmp r11d, 0x6a
jb 0x14019e0d7
lea r11d, [rdx - 0xfa2a]
cmp r11d, 0x44
jb 0x14019e0d7
lea r11d, [rdx - 0xfa25]
cmp r11d, 2
jb 0x14019e0d7
lea r11d, [rdx - 0xfa15]
cmp r11d, 0xa
jb 0x14019e0d7
lea r11d, [rdx - 0xf900]
cmp r11d, 0x10e
jb 0x14019e0d7
cmp r10d, 0x212a
je 0x14019e0d7
cmp r10d, 0x2000
je 0x14019e0d7
cmp r10d, 0x1fee
je 0x14019e0d7
lea r11d, [rdx - 0xf75]
cmp r11d, 2
jb 0x14019e0d7
cmp r10d, 0xb5c
je 0x14019e0d7
lea r11d, [rdx - 0xa59]
cmp r11d, 3
jb 0x14019e0d7
mov r11d, edx
and r11d, 0xfffffff8
cmp r11d, 0x958
je 0x14019e0d7
cmp r10d, 0x9dc
je 0x14019e0d7
lea r11d, [rdx - 0x11a8]
cmp r11d, 0x1b
jb 0x14019d856
lea r11d, [rdx - 0x1161]
cmp r11d, 0x15
jb 0x14019d856
lea r11d, [rdx - 0xcd5]
cmp r11d, 2
jb 0x14019d856
lea r11d, [rdx - 0x653]
cmp r11d, 3
jb 0x14019d856
cmp r10d, 0x330
je 0x14019d856
lea r10d, [rdx - 0x32d]
cmp r10d, 2
jb 0x14019d856
lea r10d, [rdx - 0x323]
cmp r10d, 6
jb 0x14019d856
lea r10d, [rdx - 0x313]
cmp r10d, 2
jb 0x14019d856
lea r10d, [rdx - 0x300]
cmp r10d, 5
jb 0x14019d856
lea r10d, [rdx - 0x306]
cmp r10d, 7
jb 0x14019d856
add edx, 0xffffcf67
cmp edx, 2
movzx r9d, cl
mov ecx, 2
cmovb r9d, ecx
jmp 0x14019d856
lea r10d, [rdx - 0x1fbe]
cmp r10d, 0x3f
ja 0x14019de9d
movabs r11, 0xa800202020202801
bt r11, r10
jb 0x14019e0d7
lea r10d, [rdx - 0x1f71]
cmp r10d, 0xc
ja 0x14019deba
mov r11d, 0x1555
bt r11d, r10d
jb 0x14019e0d7
cmp edx, 0x1fbb
je 0x14019e0d7
jmp 0x14019dc5e
test cl, cl
je 0x14019e0b8
movzx eax, cl
cmp eax, 1
je 0x14019e0d7
mov r15, rbx
lea rax, [rsp + 0x22c]
movups xmmword [rax], xmm6
xor ecx, ecx
lea rax, [rsp + 0x23e]
mov byte [rax + 0x10], cl
movups xmmword [rax], xmm6
lea rdx, [rsp + 0x86]
mov byte [rdx + 0x42], cl
movups xmmword [rdx + 0x32], xmm6
movzx eax, word [rsp + 0x23a]
mov word [rdx + 0x60], ax
movups xmm0, xmmword [rsp + 0x22a]
movups xmmword [rdx + 0x50], xmm0
mov qword [rsp + 0x70], 0
mov dword [rsp + 0x80], ecx
mov word [rsp + 0x84], cx
mov eax, dword [rsp + 0x24b]
mov dword [rdx + 0xf], eax
movups xmm0, xmmword [rsp + 0x23c]
movups xmmword [rdx], xmm0
mov dword [rsp + 0x9c], ecx
mov byte [rsp + 0xa0], cl
mov dword [rsp + 0xa4], ecx
mov qword [rsp + 0xa8], r12
mov qword [rsp + 0xb0], r14
mov dword [rsp + 0xd0], ecx
mov word [rsp + 0xd4], cx
mov dword [rsp + 0xf0], 0x110000
mov byte [rsp + 0xf4], cl
mov rsi, r12
cmp rsi, r14
je 0x14019e049
movzx edi, byte [rsi]
test dil, dil
js 0x14019dfb0
inc rsi
jmp 0x14019e00e
mov eax, edi
and eax, 0x1f
movzx edx, byte [rsi + 1]
and edx, 0x3f
cmp dil, 0xdf
jbe 0x14019dff6
movzx ecx, byte [rsi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp dil, 0xf0
jb 0x14019e003
movzx edi, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and edi, 0x3f
or edi, ecx
or edi, eax
cmp edi, 0x110000
je 0x14019e049
add rsi, 4
jmp 0x14019e00e
add rsi, 2
shl eax, 6
or eax, edx
mov edi, eax
jmp 0x14019e00e
add rsi, 3
shl eax, 0xc
or ecx, eax
mov edi, ecx
lea rcx, [rsp + 0x70]
call fcn.14019aa7e
xor ebx, ebx
cmp eax, 0x110000
je 0x14019e05b
cmp eax, edi
je 0x14019df9a
jmp 0x14019e05b
movabs rax, 0x8080808080808080
mov rdx, qword [rsp + 0x28]
test qword [rdx + rcx], rax
jne 0x14019d2ab
jmp 0x14019d2bc
lea rcx, [rsp + 0x70]
call fcn.14019aa7e
cmp eax, 0x110000
sete bl
cmp dword [rsp + 0x80], 0
je 0x14019e086
cmp qword [rsp + 0x88], 0
je 0x14019e086
mov r8, qword [rsp + 0x90]
mov rcx, qword [0x140373e30]
xor edx, edx
call fcn.140272814
cmp dword [rsp + 0xd0], 0
je 0x14019e0b1
cmp qword [rsp + 0xd8], 0
je 0x14019e0b1
mov r8, qword [rsp + 0xe0]
mov rcx, qword [0x140373e30]
xor edx, edx
call fcn.140272814
test bl, bl
mov rbx, r15
je 0x14019e0d7
xor edi, edi
mov rcx, r12
mov rdx, rbp
mov r8, qword [rsp + 0x1f8]
lea r9, [rsp + 0x38]
call fcn.14019f989
jmp 0x14019d1a3
mov byte [rsp + 0x3d], 1
xor edi, edi
jmp 0x14019d1a3
mov rdi, r9
mov qword [rsp + 0x48], rdx
lea rdx, [rdx*8]
movabs rax, 0x7ffffffffffffff0
and rdx, rax
mov al, byte [0x140373e88]
xor ecx, ecx
call fcn.140231a60
mov qword [rsp + 0x50], rax
test rax, rax
mov r14, qword [rsp + 0x120]
je 0x14019f64f
mov rbx, rsi
mov al, byte [0x140373e88]
mov edx, 0x100
xor ecx, ecx
call fcn.140231a60
test rax, rax
mov rsi, qword [rsp + 0x28]
je 0x14019f65d
mov r12, rax
mov eax, 1
sub rax, rdi
mov qword [rsp + 0x178], rax
lea rax, [r14 + 0x20]
mov qword [rsp + 0x170], rax
lea rax, [r14 + 8]
mov qword [rsp + 0x1e8], rax
lea rax, [r14 - 8]
mov qword [rsp + 0x1e0], rax
lea rax, [r14 - 0x10]
mov qword [rsp + 0x200], rax
mov eax, 0x10
mov qword [rsp + 0x180], rax
xor edi, edi
xor eax, eax
mov r10, qword [rsp + 0x48]
mov qword [rsp + 0x60], rbx
mov r11, rax
mov rdx, r10
sub rdx, rax
shl rax, 4
lea rcx, [r14 + rax]
cmp rdx, 2
mov qword [rsp + 0x30], r11
jae 0x14019e22a
mov r8, rdx
mov r14, rbx
lea rdx, [r8 + r11]
mov rbx, rdx
sub rbx, r11
jb 0x14019f5d7
cmp rdx, r10
ja 0x14019f5d7
jae 0x14019e319
cmp r8, 0xa
jae 0x14019e319
lea rbx, [r11 + 0xa]
cmp rbx, r10
cmovae rbx, r10
mov qword [rsp + 0x160], rbx
sub rbx, r11
jb 0x14019f5f9
cmp r8, 1
adc r8, 0
mov rdx, rbx
call fcn.14019bf1a
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x30]
jmp 0x14019e321
mov r9, qword [rcx + 0x10]
cmp r9, qword [rcx]
jae 0x14019e6a6
mov r8d, 2
cmp rdx, 2
je 0x14019e292
mov r8, qword [rsp + 0x178]
lea r10, [r8 + r11]
mov r8, qword [rsp + 0x170]
lea r11, [r8 + rax]
mov r8d, 2
mov rsi, r9
mov r9, qword [r11]
cmp r9, rsi
jae 0x14019e283
lea rsi, [r10 + r8]
inc rsi
inc r8
add r11, 0x10
cmp rsi, 2
jne 0x14019e261
mov r8, rdx
mov rsi, qword [rsp + 0x28]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x30]
mov rdx, r8
add rdx, r11
jb 0x14019f632
cmp rdx, r10
ja 0x14019f63f
mov r14, rbx
cmp r8, 2
jb 0x14019e1ca
mov rbx, rdi
mov r9, rdx
mov rdx, r8
shr rdx, 1
add rax, qword [rsp + 0x1e8]
mov r15, r9
shl r9, 4
add r9, qword [rsp + 0x1e0]
mov r10, qword [rax - 8]
mov r11d, dword [rax]
mov rsi, qword [r9 - 8]
mov edi, dword [r9]
mov qword [rax - 8], rsi
mov dword [rax], edi
mov qword [r9 - 8], r10
mov dword [r9], r11d
add rax, 0x10
add r9, 0xfffffffffffffff0
dec rdx
jne 0x14019e2d7
mov rsi, qword [rsp + 0x28]
mov r10, qword [rsp + 0x48]
mov rdi, rbx
mov rdx, r15
mov r11, qword [rsp + 0x30]
jmp 0x14019e1ca
mov qword [rsp + 0x160], rdx
mov rbp, qword [rsp + 0x180]
cmp rdi, rbp
jne 0x14019e393
mov rdx, rbp
shl rdx, 5
mov al, byte [0x140373e88]
xor ecx, ecx
call fcn.140231a60
test rax, rax
je 0x14019f61c
mov r15, rax
lea rsi, [rbp*2]
shl rbp, 4
mov rcx, rax
mov rdx, r12
mov r8, rbp
call sub.msvcrt.dll_memcpy
mov rcx, qword [0x140373e30]
xor edx, edx
mov r8, r12
call fcn.140272814
mov r12, r15
mov qword [rsp + 0x180], rsi
mov rsi, qword [rsp + 0x28]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x30]
mov rax, rdi
shl rax, 4
mov qword [r12 + rax], rbx
mov qword [r12 + rax + 8], r11
inc rdi
mov rbx, r14
mov r14, qword [rsp + 0x120]
mov qword [rsp + 0x118], r12
cmp rdi, 2
jb 0x14019e693
mov rcx, rdi
shl rcx, 4
mov rax, qword [rcx + r12 - 0x10]
mov rdx, qword [rcx + r12 - 8]
add rdx, rax
cmp rdx, r10
je 0x14019e421
mov r8, qword [rcx + r12 - 0x20]
cmp r8, rax
jbe 0x14019e421
cmp rdi, 2
je 0x14019e693
lea r11, [rdi - 3]
mov rdx, r11
shl rdx, 4
mov rdx, qword [r12 + rdx]
lea r9, [r8 + rax]
cmp rdx, r9
jbe 0x14019e436
cmp rdi, 3
jbe 0x14019e693
add r8, rdx
cmp qword [rcx + r12 - 0x40], r8
jbe 0x14019e436
jmp 0x14019e693
cmp rdi, 2
je 0x14019e43b
lea r11, [rdi - 3]
mov rcx, r11
shl rcx, 4
mov rdx, qword [r12 + rcx]
cmp rdx, rax
jb 0x14019e43f
lea r11, [rdi - 2]
cmp rdi, r11
jbe 0x14019f512
mov rax, rdi
lea rdi, [r11 + 1]
mov qword [rsp + 0x220], rax
cmp rax, rdi
jbe 0x14019f527
mov rdx, r11
shl rdx, 4
mov rax, qword [r12 + rdx + 8]
shl rdi, 4
mov rcx, qword [r12 + rdi]
mov r15, qword [r12 + rdi + 8]
add r15, rcx
mov rsi, r15
sub rsi, rax
mov qword [rsp + 0x30], rax
jb 0x14019f4e9
cmp r15, r10
ja 0x14019f4c0
mov qword [rsp + 0x210], rcx
mov qword [rsp + 0x218], r11
mov qword [rsp + 0x208], rdx
mov rbp, qword [r12 + rdx]
mov rbx, rax
shl rbx, 4
add rbx, r14
mov r12, rbp
shl r12, 4
lea r13, [rbx + r12]
shl r15, 4
mov r14, rsi
sub r14, rbp
cmp r14, rbp
mov rcx, qword [rsp + 0x50]
jae 0x14019e580
mov r12, r14
shl r12, 4
mov rdx, r13
mov r8, r12
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x50]
add r12, r9
test rbp, rbp
jle 0x14019e5fc
test r14, r14
mov rsi, qword [rsp + 0x28]
jle 0x14019e5ed
add r15, qword [rsp + 0x200]
mov r14, qword [rsp + 0x120]
mov rax, r13
mov rcx, r12
mov rdx, qword [r12 - 0x10]
mov r8, qword [r13 - 0x10]
cmp rdx, r8
mov r13d, 0
sbb r13, r13
cmp rdx, r8
mov r12d, 0
adc r12, 0xffffffffffffffff
shl r13, 4
add r13, rax
shl r12, 4
add r12, rcx
cmp rdx, r8
mov rax, r12
cmovb rax, r13
movups xmm0, xmmword [rax]
movups xmmword [r15], xmm0
cmp r13, rbx
jbe 0x14019e575
add r15, 0xfffffffffffffff0
cmp r12, r9
ja 0x14019e520
mov rbx, r13
mov rdx, r9
jmp 0x14019e60f
mov rdx, rbx
mov r8, r12
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0x50]
add r12, rdx
test rbp, rbp
jle 0x14019e602
cmp rsi, rbp
mov r14, qword [rsp + 0x120]
jle 0x14019e5f5
add r15, r14
mov rsi, qword [rsp + 0x28]
mov r8, rdx
mov rcx, qword [r13]
xor edx, edx
xor eax, eax
cmp rcx, qword [r8]
setae dl
setb cl
mov r9, r8
cmovb r9, r13
movups xmm0, xmmword [r9]
movups xmmword [rbx], xmm0
add rbx, 0x10
shl edx, 4
add rdx, r8
cmp rdx, r12
jae 0x14019e60f
mov al, cl
shl eax, 4
add r13, rax
cmp r13, r15
jb 0x14019e5ad
jmp 0x14019e60f
mov rbx, r13
mov rdx, r9
jmp 0x14019e607
mov rsi, qword [rsp + 0x28]
jmp 0x14019e60f
mov rbx, r13
mov rdx, r9
mov rsi, qword [rsp + 0x28]
mov r14, qword [rsp + 0x120]
mov r15, qword [rsp + 0x118]
add rdi, r15
sub r12, rdx
mov rcx, rbx
mov r8, r12
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x210]
add rax, rbp
mov qword [rdi], rax
mov rax, qword [rsp + 0x30]
mov qword [rdi + 8], rax
mov rdi, qword [rsp + 0x220]
mov r8, qword [rsp + 0x218]
cmp rdi, r8
mov r13, qword [rsp + 0x2d0]
jbe 0x14019f486
mov rcx, qword [rsp + 0x208]
add rcx, r15
lea rdx, [rcx + 0x10]
not r8
add r8, rdi
shl r8, 4
call sub.msvcrt.dll_memmove
dec rdi
mov rbx, qword [rsp + 0x60]
mov r10, qword [rsp + 0x48]
mov r12, r15
jmp 0x14019e3b9
mov rax, qword [rsp + 0x160]
cmp rax, r10
jb 0x14019e1a4
jmp 0x14019e701
mov r8d, 2
cmp rdx, 2
je 0x14019e1c3
mov r8, qword [rsp + 0x178]
lea r10, [r8 + r11]
add rax, qword [rsp + 0x170]
mov r8d, 2
mov r11, r9
mov r9, qword [rax]
cmp r9, r11
jb 0x14019e6f2
lea r11, [r10 + r8]
inc r11
inc r8
add rax, 0x10
cmp r11, 2
jne 0x14019e6d0
mov r8, rdx
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x30]
jmp 0x14019e1c3
mov rcx, qword [0x140373e30]
xor edx, edx
mov r8, r12
call fcn.140272814
mov rcx, qword [0x140373e30]
xor edx, edx
mov r8, qword [rsp + 0x50]
call fcn.140272814
jmp 0x14019d588
mov qword [rsp + 0x60], rbx
mov r14, qword [r13 + 8]
mov rsi, qword [r13 + 0x10]
mov rcx, qword [rsp + 0x140]
test rcx, rcx
je 0x14019e766
cmp rsi, rcx
jbe 0x14019e764
cmp byte [r14 + rcx], 0xbf
jg 0x14019e766
lea rax, str.C:Usersdelph.cargo_registry_srcmirrors.tuna.tsinghua.edu.cn_2eab394af869c8a2idna_0.5.0_srcuts46.rs_
mov qword [rsp + 0x168], rax
jmp 0x14019f586
jne 0x14019e750
add r14, rcx
mov rax, rsi
sub rax, rcx
xor ecx, ecx
lea r15, [rsp + 0x70]
mov qword [r15], rcx
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], r14
mov qword [r15 + 0x18], rax
mov qword [r15 + 0x20], rcx
mov qword [r15 + 0x28], rax
movabs rax, 0x2e0000002e
mov qword [r15 + 0x30], rax
mov byte [r15 + 0x38], 1
mov word [r15 + 0x40], 1
mov r13d, 1
mov rcx, r15
call fcn.14019f79c
mov r14, rax
test rax, rax
mov rax, qword [rsp + 0x60]
je 0x14019eb6a
test al, 1
je 0x14019e7ad
mov r12, rdx
test rdx, rdx
je 0x14019e7ad
movzx ecx, byte [r14]
test cl, cl
js 0x14019e7e0
lea rdi, [r14 + 1]
jmp 0x14019e843
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [r14 + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14019e82a
movzx edx, byte [r14 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14019e838
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 0x14019e7ad
lea rdi, [r14 + 4]
jmp 0x14019e843
lea rdi, [r14 + 2]
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14019e843
lea rdi, [r14 + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r12, r14
call fcn.1402689c0
test al, al
je 0x14019e905
movzx eax, al
cmp eax, 0x11
je 0x14019e905
cmp eax, 9
jne 0x14019eb65
cmp rdi, r12
je 0x14019e9cb
movzx ecx, byte [rdi]
test cl, cl
js 0x14019e87d
inc rdi
jmp 0x14019e8e2
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14019e8c9
movzx edx, byte [rdi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14019e8d7
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 0x14019e9cb
add rdi, 4
jmp 0x14019e8e2
add rdi, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14019e8e2
add rdi, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1402689c0
cmp al, 0xe
ja 0x14019eb65
movzx eax, al
mov ecx, 0x62f8
bt ecx, eax
jb 0x14019e868
jmp 0x14019eb65
cmp rdi, r12
je 0x14019e9db
xor ebp, ebp
xor ebx, ebx
movzx ecx, byte [rdi]
test cl, cl
js 0x14019e91e
inc rdi
jmp 0x14019e97f
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14019e966
movzx edx, byte [rdi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14019e974
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 0x14019e9b8
add rdi, 4
jmp 0x14019e97f
add rdi, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14019e97f
add rdi, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1402689c0
cmp al, 5
jne 0x14019e98c
mov bl, 1
jmp 0x14019e9af
cmp al, 1
movzx ebp, bpl
cmove ebp, r13d
cmp al, 0x11
ja 0x14019eb65
movzx eax, al
mov ecx, 0x260db
bt ecx, eax
jae 0x14019eb65
cmp rdi, r12
jne 0x14019e912
test bpl, 1
sete al
test bl, 1
sete dil
or dil, al
jmp 0x14019e9de
movzx ebp, byte [r12 - 1]
test bpl, bpl
js 0x14019ea1a
dec r12
jmp 0x14019ea38
mov dil, 1
movzx ebp, byte [r12 - 1]
test bpl, bpl
js 0x14019e9f1
dec r12
jmp 0x14019eacf
movzx eax, byte [r12 - 2]
cmp al, 0xc0
jge 0x14019eb3b
movzx ecx, byte [r12 - 3]
cmp cl, 0xbf
jle 0x14019eb0c
add r12, 0xfffffffffffffffd
and ecx, 0xf
jmp 0x14019eb21
movzx eax, byte [r12 - 2]
cmp al, 0xc0
jge 0x14019eaa3
movzx ecx, byte [r12 - 3]
cmp cl, 0xbf
jle 0x14019ea71
add r12, 0xfffffffffffffffd
and ecx, 0xf
jmp 0x14019ea86
mov ecx, ebp
call fcn.1402689c0
cmp al, 0xd
jne 0x14019eaac
cmp r12, r14
je 0x14019e7ad
movzx ebp, byte [r12 - 1]
test bpl, bpl
js 0x14019ea5c
dec r12
jmp 0x14019ea96
movzx eax, byte [r12 - 2]
cmp al, 0xc0
jge 0x14019eaa3
movzx ecx, byte [r12 - 3]
cmp cl, 0xc0
jge 0x14019ea2f
movzx edx, byte [r12 - 4]
add r12, 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 0x14019ea38
jmp 0x14019e7ad
add r12, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x14019ea8e
mov ecx, ebp
call fcn.1402689c0
cmp al, 9
je 0x14019e7ad
mov ecx, ebp
call fcn.1402689c0
cmp al, 5
je 0x14019e7ad
jmp 0x14019eb65
mov ecx, ebp
call fcn.1402689c0
cmp al, 0xd
jne 0x14019eb44
cmp r12, r14
je 0x14019eb65
movzx ebp, byte [r12 - 1]
test bpl, bpl
js 0x14019eaf3
dec r12
jmp 0x14019eb31
movzx eax, byte [r12 - 2]
cmp al, 0xc0
jge 0x14019eb3b
movzx ecx, byte [r12 - 3]
cmp cl, 0xc0
jge 0x14019ea0e
movzx edx, byte [r12 - 4]
add r12, 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 0x14019eacf
jmp 0x14019eb65
add r12, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x14019eb29
mov ecx, ebp
call fcn.1402689c0
cmp al, 0x11
ja 0x14019eb65
movzx eax, al
mov ecx, 0x20023
bt ecx, eax
jae 0x14019eb65
test dil, dil
jne 0x14019e7ad
mov byte [rsp + 0x3a], 1
mov bpl, byte [rsp + 0x38]
lea rcx, [rsp + 0x39]
mov rax, qword [rcx]
mov qword [rsp + 0x198], rax
mov eax, dword [rcx + 7]
mov dword [rsp + 0x19f], eax
cmp qword [rsp + 0x128], 0
mov rdi, qword [rsp + 0x2d0]
je 0x14019ebb6
mov r8, qword [rsp + 0x130]
mov rcx, qword [0x140373e30]
xor edx, edx
call fcn.140272814
mov rsi, qword [rdi + 0x10]
test rsi, rsi
mov rbx, qword [rsp + 0x68]
je 0x14019ebe8
js 0x14019f5ae
mov al, byte [0x140373e88]
xor ecx, ecx
mov rdx, rsi
call fcn.140231a60
test rax, rax
jne 0x14019ebef
mov ecx, 1
mov rdx, rsi
call fcn.1401562d0
mov eax, 1
xor esi, esi
mov rcx, qword [rdi + 0x10]
mov qword [rsp + 0x80], rcx
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x70], xmm0
mov qword [rdi], rsi
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], 0
lea rsi, [rbx + 0x18]
cmp qword [rbx + 0x18], 0
je 0x14019ec2f
mov r8, qword [rbx + 0x20]
mov rcx, qword [0x140373e30]
xor edx, edx
call fcn.140272814
lea r8, [rsp + 0x70]
mov rax, qword [r8 + 0x10]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [r8]
movups xmmword [rsi], xmm0
mov rax, qword [rbx + 0x20]
mov rcx, qword [rbx + 0x28]
xor edx, edx
mov qword [r8], rdx
mov qword [r8 + 8], rcx
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], rcx
mov qword [r8 + 0x20], rdx
mov qword [r8 + 0x28], rcx
movabs rax, 0x2e0000002e
mov qword [r8 + 0x30], rax
mov byte [r8 + 0x38], 1
mov word [r8 + 0x40], 1
mov sil, 1
mov r14d, 0x1a
mov byte [rsp + 0x50], bpl
lea rcx, [rsp + 0x70]
call fcn.14019f79c
test rax, rax
je 0x14019f38f
mov rbx, rax
mov r12, rdx
test sil, 1
jne 0x14019eccf
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi]
jne 0x14019ecc0
mov rcx, rdi
call fcn.140254d2d
mov rdx, qword [rdi + 0x10]
mov rax, qword [rdi + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [rdi + 0x10], rdx
mov rax, r12
cmp r12, 7
ja 0x14019ecf1
mov rcx, rax
sub rcx, 1
jb 0x14019ee8b
cmp byte [rbx + rax - 1], 0
mov rax, rcx
jns 0x14019ecd8
jmp 0x14019ed6b
movabs rax, 0x8080808080808080
test qword [rbx], rax
je 0x14019ed23
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x140], rax
mov r8d, 4
mov rcx, rdi
lea rdx, str.xn__
call fcn.140268968
jmp 0x14019ed97
lea rax, [rbx + 7]
and rax, 0xfffffffffffffff8
sub rax, rbx
mov ecx, 8
cmove rax, rcx
lea rcx, [r12 - 8]
cmp rax, rcx
jae 0x14019ed57
movabs rdx, 0x8080808080808080
test qword [rbx + rax], rdx
jne 0x14019ed6b
add rax, 8
jmp 0x14019ed3c
movabs rax, 0x8080808080808080
test qword [rbx + rcx], rax
je 0x14019ee8b
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x140], rax
mov r8d, 4
mov rcx, rdi
lea rdx, str.xn__
call fcn.140268968
xor esi, esi
test r12, r12
je 0x14019ec8c
mov r13, rbx
add r13, r12
xor esi, esi
xor r12d, r12d
mov qword [rsp + 0x30], rbx
movzx ebp, byte [rbx]
test bpl, bpl
js 0x14019edb4
inc rbx
jmp 0x14019ee16
mov eax, ebp
and eax, 0x1f
movzx edx, byte [rbx + 1]
and edx, 0x3f
cmp bpl, 0xdf
jbe 0x14019edfe
movzx ecx, byte [rbx + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bpl, 0xf0
jb 0x14019ee0b
movzx ebp, byte [rbx + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebp, 0x3f
or ebp, ecx
or ebp, eax
cmp ebp, 0x110000
je 0x14019f349
add rbx, 4
jmp 0x14019ee16
add rbx, 2
shl eax, 6
or eax, edx
mov ebp, eax
jmp 0x14019ee16
add rbx, 3
shl eax, 0xc
or ecx, eax
mov ebp, ecx
mov eax, esi
inc eax
mov dword [rsp + 0x68], eax
je 0x14019f352
cmp ebp, 0x7f
ja 0x14019ee50
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi]
jne 0x14019ee3e
mov rcx, rdi
call fcn.140254d2d
mov rdx, qword [rdi + 0x10]
mov rax, qword [rdi + 8]
mov byte [rax + rdx], bpl
inc rdx
mov qword [rdi + 0x10], rdx
inc r12d
inc esi
cmp rbx, r13
jne 0x14019eda7
test r12d, r12d
je 0x14019eea0
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi]
mov rbx, qword [rsp + 0x30]
jne 0x14019ee7a
mov rcx, rdi
call fcn.140254d2d
mov rdx, qword [rdi + 0x10]
mov rax, qword [rdi + 8]
mov byte [rax + rdx], 0x2d
inc rdx
mov qword [rdi + 0x10], rdx
jmp 0x14019eea8
mov rcx, rdi
mov rdx, rbx
mov r8, r12
call fcn.140268968
xor esi, esi
jmp 0x14019ec8c
xor r12d, r12d
mov rbx, qword [rsp + 0x30]
xor r8d, r8d
mov esi, 0
cmp r12d, dword [rsp + 0x68]
jae 0x14019ec8c
mov r15d, 0x48
mov eax, pe_nt_image_headers64
mov edx, r12d
mov qword [rsp + 0x150], r13
mov dword [rsp + 0x60], r12d
mov rcx, rbx
mov rsi, rdx
cmp rcx, r13
je 0x14019f457
movzx ebp, byte [rcx]
test bpl, bpl
js 0x14019eef2
inc rcx
jmp 0x14019ef5f
mov edx, ebp
and edx, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp bpl, 0xdf
jbe 0x14019ef44
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp bpl, 0xf0
jb 0x14019ef52
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 0x14019f457
add rcx, 4
jmp 0x14019ef5f
add rcx, 2
shl edx, 6
or edx, r10d
mov ebp, edx
jmp 0x14019ef5f
add rcx, 3
shl edx, 0xc
or r9d, edx
mov ebp, r9d
cmp eax, ebp
ja 0x14019eedc
jmp 0x14019ef9c
add rcx, 4
jmp 0x14019ef8d
add rcx, 2
shl r9d, 6
or r9d, r11d
mov edx, r9d
jmp 0x14019ef8d
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
cmp ebp, edx
mov r9d, edx
cmovb r9d, ebp
cmp eax, edx
cmovbe ebp, r9d
cmp rcx, r13
je 0x14019effc
movzx edx, byte [rcx]
test dl, dl
js 0x14019efad
inc rcx
jmp 0x14019ef8d
mov r9d, edx
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x14019ef6f
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x14019ef7f
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
jne 0x14019ef69
mov r11d, ebp
sub r11d, eax
lea ecx, [rsi + 1]
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp r11d, eax
ja 0x14019f352
imul r11d, ecx
add r11d, r8d
mov r10, qword [rsp + 0x30]
movzx eax, byte [r10]
test al, al
js 0x14019f030
inc r10
jmp 0x14019f094
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [r10 + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x14019f07b
movzx edx, byte [r10 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x14019f089
movzx eax, byte [r10 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
je 0x14019f341
add r10, 4
jmp 0x14019f094
add r10, 2
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x14019f094
add r10, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, ebp
jae 0x14019f0a1
inc r11d
je 0x14019f352
cmp eax, ebp
jne 0x14019f234
mov qword [rsp + 0x158], r10
mov qword [rsp + 0x58], rsi
lea r13d, [r15 + 0x1a]
lea ecx, [r15 - 0x24]
neg ecx
cmp r13d, 0x25
cmovb ecx, r14d
cmp r15d, 0x24
mov eax, 1
cmovae ecx, eax
mov r12d, r11d
mov dword [rsp + 0x28], r11d
cmp r11d, ecx
jb 0x14019f1cf
mov esi, r15d
neg esi
mov ebx, 0x48
mov r12d, dword [rsp + 0x28]
mov r8d, ecx
sub r8d, 0x24
je 0x14019f3b8
sub r12d, ecx
neg r8d
mov eax, r12d
xor edx, edx
div r8d
add edx, ecx
mov edi, 0x61
mov r12d, eax
cmp edx, 0x1a
jb 0x14019f12c
mov edi, 0x16
cmp edx, 0x24
jae 0x14019f412
add edi, edx
cmp edi, 0x80
jae 0x14019f16a
mov r14, qword [rsp + 0x2d0]
mov rdx, qword [r14 + 0x10]
cmp rdx, qword [r14]
jne 0x14019f153
mov rcx, r14
call fcn.140254d2d
mov rdx, qword [r14 + 0x10]
mov rax, qword [r14 + 8]
mov byte [rax + rdx], dil
inc rdx
mov qword [r14 + 0x10], rdx
mov r14d, 0x1a
jmp 0x14019f1ae
mov dword [rsp + 0x128], 0
mov eax, edi
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x128], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x129], dil
mov r8d, 2
mov rcx, qword [rsp + 0x2d0]
lea rdx, [rsp + 0x128]
call fcn.140268968
lea ecx, [rsi + rbx]
cmp ebx, r13d
cmovae ecx, r14d
cmp ebx, r15d
mov eax, 1
cmovbe ecx, eax
add ebx, 0x24
cmp r12d, ecx
jae 0x14019f0f4
mov esi, 0x61
cmp r12d, 0x1a
mov rdi, qword [rsp + 0x2d0]
jb 0x14019f1f1
mov esi, 0x16
cmp r12d, 0x24
jae 0x14019f412
add esi, r12d
cmp esi, 0x80
mov ebx, 0xd41d41d5
mov r13, qword [rsp + 0x150]
jae 0x14019f23f
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi]
jne 0x14019f21e
mov rcx, rdi
call fcn.140254d2d
mov rdx, qword [rdi + 0x10]
mov r12d, dword [rsp + 0x60]
mov rax, qword [rdi + 8]
mov byte [rax + rdx], sil
inc rdx
mov qword [rdi + 0x10], rdx
jmp 0x14019f283
mov r9d, esi
mov r8d, r11d
jmp 0x14019f317
mov dword [rsp + 0x128], 0
mov eax, esi
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x128], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x129], sil
mov r8d, 2
mov rcx, rdi
lea rdx, [rsp + 0x128]
call fcn.140268968
mov r12d, dword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
mov r9d, eax
inc r9d
je 0x14019f3d0
cmp eax, r12d
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r8d, r8d
mov eax, dword [rsp + 0x28]
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div r9d
add eax, ecx
xor ecx, ecx
cmp eax, 0x1c8
jb 0x14019f2ea
mov edx, eax
imul rdx, rbx
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 0x14019f2c1
jmp 0x14019f2ed
mov r10d, eax
lea eax, [r10*4]
lea eax, [rax + rax*8]
add r10d, 0x26
xor edx, edx
div r10w
movzx r15d, ax
add r15d, ecx
mov r11d, r8d
mov esi, r9d
mov r10, qword [rsp + 0x158]
cmp r10, r13
jne 0x14019f023
inc r8d
inc ebp
xor esi, esi
mov eax, ebp
mov edx, r9d
cmp r9d, dword [rsp + 0x68]
mov rbx, qword [rsp + 0x30]
jb 0x14019eed6
jmp 0x14019ec8c
mov r9d, esi
mov r8d, r11d
jmp 0x14019f320
mov dword [rsp + 0x68], esi
jmp 0x14019ee5b
mov rax, qword [rdi + 0x10]
mov bpl, 1
xor esi, esi
mov rcx, qword [rsp + 0x140]
cmp rax, rcx
jb 0x14019ec87
test rcx, rcx
je 0x14019f384
cmp rax, rcx
jbe 0x14019f384
mov rax, qword [rdi + 8]
cmp byte [rax + rcx], 0xbf
jle 0x14019f566
mov qword [rdi + 0x10], rcx
xor esi, esi
jmp 0x14019ec87
mov rcx, qword [rsp + 0x190]
mov al, byte [rsp + 0x50]
mov byte [rcx], al
mov rax, qword [rsp + 0x198]
mov qword [rcx + 1], rax
mov eax, dword [rsp + 0x19f]
mov dword [rcx + 8], eax
jmp 0x14019c45e
lea rcx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero
lea r8, str.C:Usersdelph.cargo_registry_srcmirrors.tuna.tsinghua.edu.cn_2eab394af869c8a2idna_0.5.0_srcpunycode.rs
mov edx, 0x39
call fcn.14015d2f0
lea rcx, str.attempt_to_divide_by_zero
lea r8, str.C:Usersdelph.cargo_registry_srcmirrors.tuna.tsinghua.edu.cn_2eab394af869c8a2idna_0.5.0_srcpunycode.rs
mov edx, 0x19
call fcn.14015d2f0
lea r8, str.C:Usersdelph.cargo_registry_srcmirrors.tuna.tsinghua.edu.cn_2eab394af869c8a2idna_0.5.0_srcuts46.rs_
mov ecx, 4
mov edx, 4
call fcn.14015c3d0
lea r8, [0x1402d9360]
mov rdx, rax
call fcn.14015c3c0
jmp case.0x14019c801.1
lea rcx, str.explicit_panic
lea r8, str.C:Usersdelph.cargo_registry_srcmirrors.tuna.tsinghua.edu.cn_2eab394af869c8a2idna_0.5.0_srcpunycode.rs
mov edx, 0xe
call fcn.14015d2f0
lea rax, str.C:Usersdelph.cargo_registry_srcmirrors.tuna.tsinghua.edu.cn_2eab394af869c8a2idna_0.5.0_srcpunycode.rs
mov qword [rsp + 0x188], rax
lea rcx, str.attempt_to_divide_by_zero
mov edx, 0x19
mov r8, qword [rsp + 0x188]
call fcn.14015d2f0
jmp case.0x14019c801.1
lea rcx, str.C:Usersdelph.cargo_registry_srcmirrors.tuna.tsinghua.edu.cn_2eab394af869c8a2idna_0.5.0_srcpunycode.rs
call fcn.140163aa0
lea rcx, str.C:Usersdelph.cargo_registry_srcmirrors.tuna.tsinghua.edu.cn_2eab394af869c8a2_tinyvec_1.6.0_src_arrayvec.rs
mov qword [rsp + 0x28], rcx
mov edx, 4
mov rcx, rax
mov r8, qword [rsp + 0x28]
call fcn.14015cf40
jmp case.0x14019c801.1
lea rax, str.Index_out_of_bounds
lea rcx, [rsp + 0x70]
mov qword [rcx], rax
mov qword [rcx + 8], 1
lea rax, str.invalid
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
call fcn.14015c040
jmp case.0x14019c801.1
mov rcx, r15
lea rax, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov qword [rsp + 0x148], rax
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x148]
call fcn.14015cf40
jmp case.0x14019c801.1
mov rdx, r15
lea rax, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov qword [rsp + 0x148], rax
mov rcx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x148]
call fcn.1401613d0
jmp case.0x14019c801.1
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x70], rax
lea rdx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
jmp 0x14019f53a
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x70], rax
lea rdx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rcx, qword [rsp + 0x1f0]
mov qword [rcx + 8], 1
lea rax, str.invalid
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
call fcn.14015c040
jmp case.0x14019c801.1
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len___2_
lea r8, [0x140322778]
mov edx, 0x30
call fcn.14015d2f0
mov qword [rsp + 0x140], r15
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rsi
mov r8, qword [rsp + 0x140]
mov r9, rsi
call fcn.1401651d0
jmp case.0x14019c801.1
call fcn.140156290
lea rax, str.C:Usersdelph.cargo_registry_srcmirrors.tuna.tsinghua.edu.cn_2eab394af869c8a2idna_0.5.0_srcpunycode.rs
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x28]
mov rdx, r12
mov r8, r15
mov r9, r12
call fcn.1401651d0
jmp case.0x14019c801.1
mov qword [rsp + 0x118], r12
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov edx, 0x2c
call fcn.14015d2f0
jmp case.0x14019c801.1
mov qword [rsp + 0x118], r12
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x160]
call fcn.1401613d0
jmp case.0x14019c801.1
mov qword [rsp + 0x118], r12
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
call fcn.140163aa0
jmp case.0x14019c801.1
mov qword [rsp + 0x118], r12
jmp 0x14019f4fb
mov rcx, rdx
mov qword [rsp + 0x118], r12
jmp 0x14019f4d2
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
call fcn.140163aa0
jmp case.0x14019c801.1
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
call fcn.140163aa0
ud2