Function at 0x140038bb9
Capabilities:
Encrypt data using speck
Parse credit card information

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 + 0x40], rdx
mov qword [rsp + 0x1d0], rcx
mov rcx, qword [rsp + 0x2d0]
test r9, r9
je 0x140038d21
lea rax, [r8 + r9]
xor edx, edx
movaps xmm0, xmmword [0x1400fd140]
mov rbx, r8
movzx r10d, byte [rbx]
test r10b, r10b
js 0x140038c10
inc rbx
jmp 0x140038c81
mov r11d, r10d
and r11d, 0x1f
movzx edi, byte [rbx + 1]
and edi, 0x3f
cmp r10b, 0xdf
jbe 0x140038c63
movzx esi, byte [rbx + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp r10b, 0xf0
jb 0x140038c73
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 0x140038ce4
add rbx, 4
jmp 0x140038c81
add rbx, 2
shl r11d, 6
or r11d, edi
mov r10d, r11d
jmp 0x140038c81
add rbx, 3
shl r11d, 0xc
or esi, r11d
mov r10d, esi
cmp r10d, 0x2e
jne 0x140038c8c
xor r11d, r11d
jmp 0x140038cd8
test rdx, rdx
jne 0x140038c9b
cmp r10d, 0x2d
je 0x140038d21
mov r11d, 5
cmp rdx, 4
ja 0x140038cc5
movups xmmword [rsp + 0x60], xmm0
je 0x14003bcbe
cmp r10d, dword [rsp + rdx*4 + 0x60]
jne 0x140038cc5
inc rdx
mov r11, rdx
cmp rdx, 4
je 0x140038d21
lea edx, [r10 - 0x61]
cmp edx, 0x1a
jb 0x140038cd8
add r10d, 0xffffffd0
cmp r10d, 0xa
jae 0x140038d21
mov rdx, r11
cmp rbx, rax
jne 0x140038c02
mov rdx, r8
mov r8, r9
call fcn.1400efbec
mov rax, qword [rsp + 0x1d0]
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 rsi, qword [rsp + 0x40]
mov eax, dword [rsi + 0x30]
movzx r11d, byte [rsi + 0x34]
xor edi, edi
lea rdx, [rsp + 0x48]
add r9, r8
xorps xmm6, xmm6
lea r12, [rsp + 0x70]
movups xmmword [r12 - 0xd], xmm6
lea rbx, [rsp + 0x1e0]
movups xmmword [rbx + 2], xmm6
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x1a0], xmm0
movups xmm0, xmmword [r12 - 0x10]
mov r10d, dword [r12 - 1]
mov qword [r12 - 0x10], rdi
mov dword [r12], edi
mov word [r12 + 4], di
lea r14, [rsp + 0x78]
mov byte [r14], dil
mov dword [r14 + 4], edi
mov byte [r14 + 8], dil
mov dword [r14 + 0xc], edi
mov byte [r14 + 0x10], dil
mov dword [r14 + 0x14], edi
mov byte [r14 + 0x18], dil
mov dword [r14 + 0x1c], edi
mov qword [r14 + 0x20], r8
mov qword [r14 + 0x28], r9
mov qword [r14 + 0x30], rdx
mov qword [r14 + 0x38], rdi
mov byte [r14 + 0x4c], r11b
shl r11, 0x20
or r11, rax
mov qword [rsp + 0x1d8], r11
mov qword [rsi + 0x10], rdi
mov dword [rdx + 8], edi
mov qword [rdx], rdi
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x160], rcx
movzx ecx, word [rbx + 0x10]
mov word [rsp + 0x1b0], cx
movaps xmmword [rsp + 0x120], xmm0
mov dword [rsp + 0x12f], r10d
mov dword [r14 + 0x48], eax
movaps xmm0, xmmword [rsp + 0x120]
movups xmmword [r14 + 0x4d], xmm0
mov eax, dword [rsp + 0x12f]
mov dword [r14 + 0x5c], eax
mov byte [r14 + 0x60], dil
mov dword [r14 + 0x68], edi
lea rcx, [rsp + 0xe4]
mov word [rcx], di
movzx eax, word [rsp + 0x1b0]
mov word [rcx + 0x12], ax
movaps xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rcx + 2], xmm0
mov dword [rcx + 0x1c], 0x110000
mov byte [rcx + 0x20], dil
lea rax, str._Users_Vadym_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov qword [rsp + 0x30], rax
xor eax, eax
mov r9d, dword [rsp + 0xe0]
mov rdx, qword [rsp + 0xe8]
mov r10, qword [rsp + 0xf8]
movzx r8d, word [rsp + 0xe4]
cmp rax, 1
jne 0x140038ece
test r9d, r9d
je 0x140038e96
cmp rcx, r10
jb 0x140039768
mov qword [rsp + 0xf8], 0
xor r10d, r10d
jmp 0x140038ec1
movzx eax, r8w
cmp r8w, 4
ja 0x14003bd4e
cmp rcx, rax
jb 0x140039760
test r8w, r8w
je 0x140038ebe
mov word [rsp + 0xe4], 0
xor r8d, r8d
mov qword [rsp + 0x60], 0
xor eax, eax
jmp 0x140038e71
cmp rax, 2
jne 0x140038ef7
test r9d, r9d
je 0x14003972b
cmp rcx, r10
jb 0x140039746
mov qword [rsp + 0xf8], 0
jmp 0x1400397cd
mov r9, qword [rsp + 0xd0]
test r9, r9
jne 0x140039130
mov bl, byte [rsp + 0xc0]
cmp bl, 2
je 0x14003926f
mov rax, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
mov r13b, byte [rsp + 0xc1]
mov r14, qword [rsp + 0xb8]
test rax, rax
je 0x140038ff9
cmp rax, r14
je 0x140038fed
lea rcx, [rax + 1]
mov qword [rsp + 0xb0], rcx
movzx r15d, byte [rax]
test r15b, r15b
jns 0x140039168
mov ecx, r15d
and ecx, 0x1f
lea rdx, [rax + 2]
mov qword [rsp + 0xb0], rdx
movzx r8d, byte [rax + 1]
and r8d, 0x3f
cmp r15b, 0xdf
jbe 0x14003961f
lea rdx, [rax + 3]
mov qword [rsp + 0xb0], rdx
movzx edx, byte [rax + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp r15b, 0xf0
jb 0x14003962d
lea r8, [rax + 4]
mov qword [rsp + 0xb0], 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.0x1400390fc.0
mov qword [rsp + 0xb0], 0
cmp rbp, rsi
je 0x140039267
lea rcx, [rbp + 1]
mov qword [rsp + 0x98], rcx
movzx eax, byte [rbp]
test al, al
js 0x14003901e
mov rbp, rcx
mov r15d, eax
jmp 0x14003909c
mov r15d, eax
and r15d, 0x1f
lea rcx, [rbp + 2]
mov qword [rsp + 0x98], rcx
movzx edx, byte [rbp + 1]
and edx, 0x3f
cmp al, 0xdf
jbe 0x140039083
lea r8, [rbp + 3]
mov qword [rsp + 0x98], r8
movzx ecx, byte [rbp + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp al, 0xf0
jb 0x14003908f
lea rax, [rbp + 4]
mov qword [rsp + 0x98], rax
movzx edx, byte [rbp + 3]
and r15d, 7
shl r15d, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
or edx, r15d
mov rbp, rax
mov r15d, edx
jmp 0x14003909c
shl r15d, 6
or r15d, edx
mov rbp, rcx
jmp 0x14003909c
shl r15d, 0xc
or ecx, r15d
mov rbp, r8
mov r15d, ecx
lea eax, [r15 - 0x2d]
cmp eax, 2
jb 0x140039168
cmp r15d, 0x110000
je 0x140039267
lea eax, [r15 - 0x61]
cmp eax, 0x1a
jb 0x140039168
lea eax, [r15 - 0x30]
cmp eax, 0xa
jb 0x140039168
mov ecx, r15d
call fcn.140038a4f
mov rcx, rax
movzx edx, byte [rax]
mov eax, 0
cmp edx, 1
je case.default.0x1400390fc
mov eax, edx
lea rdx, [0x1400fd150]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov r8d, dword [rsp + 0x70]
jmp 0x14003933c
cmp r15d, 0x110000
je 0x140039267
cmp byte [rsp + 0xd8], 0
je 0x1400391d3
cmp r15d, 0x80
jb 0x140039257
lea edi, [r15 - 0xac00]
cmp edi, 0x2ba4
jae 0x1400392ab
movzx esi, di
imul ebx, esi, 0x6f75
shr ebx, 0x18
lea edx, [rbx + 0x1100]
mov rcx, r12
call fcn.14003c792
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, r12
call fcn.14003c792
jmp 0x14003922e
cmp r15d, 0x80
jb 0x140039257
lea edi, [r15 - 0xac00]
cmp edi, 0x2ba4
jae 0x1400395e0
movzx esi, di
imul ebx, esi, 0x6f75
shr ebx, 0x18
lea edx, [rbx + 0x1100]
mov rcx, r12
call fcn.14003c792
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, r12
call fcn.14003c792
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 0x140038ef7
add esi, 0x11a7
movzx r15d, si
mov rcx, r12
mov edx, r15d
call fcn.14003c792
jmp 0x140038ef7
mov byte [rsp + 0xc0], 2
mov r8d, dword [rsp + 0x70]
test r8d, r8d
mov rdx, qword [rsp + 0x88]
movzx eax, word [rsp + 0x74]
mov rcx, rdx
cmove rcx, rax
test rcx, rcx
je 0x14003977f
mov rcx, qword [rsp + 0xd0]
test r8d, r8d
je 0x1400392f6
mov r8, qword [rsp + 0x78]
mov rax, rdx
jmp 0x140039305
mov ecx, r15d
call fcn.1400efc7d
mov rdi, rax
test rax, rax
jne 0x1400392cb
mov ecx, r15d
call fcn.1400efd30
mov rdi, rax
test rax, rax
je 0x140039257
mov rbx, rdx
test rdx, rdx
je 0x140038ef7
shl rbx, 2
xor esi, esi
mov edx, dword [rdi + rsi]
mov rcx, r12
call fcn.14003c792
add rsi, 4
cmp rbx, rsi
jne 0x1400392dd
jmp 0x140038ef7
lea r8, [rsp + 0x78]
cmp ax, 4
ja 0x14003bd42
mov rdx, rax
sub rdx, rcx
jb 0x14003bcf1
lea rcx, [r8 + rcx*8]
call fcn.140038183
mov r8d, dword [rsp + 0x70]
test r8d, r8d
je 0x14003932e
mov r9, qword [rsp + 0x88]
jmp 0x140039334
movzx r9d, word [rsp + 0x74]
mov qword [rsp + 0xd0], r9
mov rcx, qword [rsp + 0xc8]
test r8d, r8d
je 0x140039358
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x88]
jmp 0x14003936c
movzx eax, word [rsp + 0x74]
lea rdx, [rsp + 0x78]
cmp rax, 4
ja 0x14003bd4e
cmp rax, rcx
jbe 0x14003b02f
mov r15d, dword [rdx + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x140039391
test r8d, r8d
je 0x14003939e
mov rdx, qword [rsp + 0x88]
jmp 0x1400393a3
mov qword [rsp + 0xc8], rcx
jmp 0x14003944c
movzx edx, word [rsp + 0x74]
sub rdx, r9
je 0x14003941e
xor r8d, r8d
mov rcx, qword [rsp + 0xd0]
add rcx, r8
cmp dword [rsp + 0x70], 0
je 0x1400393d5
mov rax, qword [rsp + 0x88]
cmp rax, rcx
jbe 0x140039938
mov r9, qword [rsp + 0x78]
jmp 0x1400393f2
movzx eax, word [rsp + 0x74]
cmp rax, 5
jae 0x14003bd4e
lea r9, [rsp + 0x78]
cmp rcx, rax
jae 0x140039938
cmp rax, r8
jbe 0x140039941
mov al, byte [r9 + rcx*8]
mov ecx, dword [r9 + rcx*8 + 4]
mov byte [r9 + r8*8], al
mov dword [r9 + r8*8 + 4], ecx
lea rax, [r8 + 1]
mov r8, rax
cmp rdx, rax
jne 0x1400393ab
mov r8d, dword [rsp + 0x70]
test r8d, r8d
je 0x140039437
cmp qword [rsp + 0x88], rdx
jb 0x140039446
mov qword [rsp + 0x88], rdx
jmp 0x140039446
movzx eax, word [rsp + 0x74]
cmp rdx, rax
jae 0x140039446
mov word [rsp + 0x74], dx
movups xmmword [r12 + 0x58], xmm6
imul eax, r15d, 0x9e3779b9
imul ecx, r15d, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1f
and eax, 0xfffffffe
lea rdx, [0x14013d198]
movzx eax, word [rax + rdx]
add eax, r15d
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1e
and eax, 0xfffffffc
lea rcx, [0x14013d8cc]
mov edi, dword [rax + rcx]
mov eax, edi
shr eax, 8
cmp eax, r15d
mov eax, 0
cmovne edi, eax
mov r14d, dword [rsp + 0x100]
cmp r14d, 0x110000
jne 0x1400394cf
test dil, dil
jne 0x140039758
mov dword [rsp + 0x100], r15d
jmp 0x140038ef7
cmp byte [rsp + 0x104], 0
je 0x140039533
cmp byte [rsp + 0x105], dil
jae 0x140039589
mov ecx, r14d
mov edx, r15d
call fcn.1400efddd
cmp eax, 0x110000
jne 0x14003957d
cmp dword [rsp + 0xe0], 0
je 0x140039692
mov rdx, qword [rsp + 0xf8]
cmp rdx, qword [rsp + 0xf0]
jne 0x1400395c7
lea rcx, [rsp + 0xe8]
call fcn.14003c427
jmp 0x1400395bf
mov ecx, r14d
mov edx, r15d
call fcn.1400efddd
cmp eax, 0x110000
jne 0x14003957d
test dil, dil
je 0x14003992b
cmp dword [rsp + 0xe0], 0
je 0x140039666
mov rdx, qword [rsp + 0xf8]
cmp rdx, qword [rsp + 0xf0]
jne 0x1400395c7
lea rcx, [rsp + 0xe8]
call fcn.14003c427
jmp 0x1400395bf
mov dword [rsp + 0x100], eax
jmp 0x140038ef7
test dil, dil
je 0x140039904
cmp dword [rsp + 0xe0], 0
je 0x14003963a
mov rdx, qword [rsp + 0xf8]
cmp rdx, qword [rsp + 0xf0]
jne 0x1400395c7
lea rcx, [rsp + 0xe8]
call fcn.14003c427
mov rdx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0xe8]
mov dword [rax + rdx*4], r15d
inc qword [rsp + 0xf8]
jmp 0x140039716
mov ecx, r15d
call fcn.1400efd30
mov rdi, rax
test rax, rax
je 0x140039257
mov rbx, rdx
test rdx, rdx
je 0x140038ef7
shl rbx, 2
xor esi, esi
mov edx, dword [rdi + rsi]
mov rcx, r12
call fcn.14003c792
add rsi, 4
cmp rbx, rsi
jne 0x140039606
jmp 0x140038ef7
shl ecx, 6
or ecx, r8d
mov r15d, ecx
jmp 0x140039168
shl ecx, 0xc
or edx, ecx
mov r15d, edx
jmp 0x140039168
movzx eax, word [rsp + 0xe4]
cmp rax, 3
jbe 0x140039704
lea rcx, [rsp + 0x1e0]
lea rdx, [rsp + 0xe4]
mov r8d, r15d
call fcn.14003c499
jmp 0x1400396b8
movzx eax, word [rsp + 0xe4]
cmp rax, 3
jbe 0x140039704
lea rcx, [rsp + 0x1e0]
lea rdx, [rsp + 0xe4]
mov r8d, r15d
call fcn.14003c499
jmp 0x1400396b8
movzx eax, word [rsp + 0xe4]
cmp rax, 3
jbe 0x140039704
lea rcx, [rsp + 0x1e0]
lea rdx, [rsp + 0xe4]
mov r8d, r15d
call fcn.14003c499
cmp dword [rsp + 0xe0], 0
je 0x1400396e3
cmp qword [rsp + 0xf0], 0
je 0x1400396e3
mov r8, qword [rsp + 0xe8]
mov rcx, qword [0x14017e110]
xor edx, edx
call fcn.1400f8824
movups xmm0, xmmword [rsp + 0x1e0]
movups xmm1, xmmword [rsp + 0x1f0]
movups xmmword [r12 + 0x80], xmm1
movups xmmword [r12 + 0x70], xmm0
jmp 0x140039716
mov dword [rsp + rax*4 + 0xe8], r15d
inc eax
mov word [rsp + 0xe4], ax
mov byte [rsp + 0x104], 1
mov byte [rsp + 0x105], dil
jmp 0x140038ef7
movzx eax, r8w
cmp ax, 4
ja 0x14003bd4e
lea rdx, [rsp + 0xe8]
cmp rcx, rax
jae 0x1400397bd
mov r14d, dword [rdx + rcx*4]
inc rcx
mov qword [rsp + 0x60], 2
jmp 0x140039778
mov r14d, r15d
jmp 0x1400397ea
lea rdx, [rsp + 0xe8]
mov r14d, dword [rdx + rcx*4]
inc rcx
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x68], rcx
jmp 0x1400397ea
mov qword [rsp + 0x60], 2
mov qword [rsp + 0x68], 0
mov r14d, dword [rsp + 0x100]
mov eax, 2
mov ecx, 0
cmp r14d, 0x110000
je 0x140038e50
mov dword [rsp + 0x100], 0x110000
jmp 0x1400397ea
test r8w, r8w
je 0x1400397cd
mov word [rsp + 0xe4], 0
mov r14d, dword [rsp + 0x100]
mov eax, 0x110000
mov dword [rsp + 0x100], eax
cmp r14d, eax
je 0x140039958
cmp r14d, 0x80
jae 0x140039823
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx + 8]
jne 0x140039810
call fcn.1400efc44
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx]
mov byte [rax + rdx], r14b
inc rdx
mov qword [rcx + 0x10], rdx
jmp 0x1400398f5
mov dword [rsp + 0x1e0], 0
mov eax, r14d
cmp r14d, 0x800
jae 0x140039861
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x1e0], al
and r14b, 0x3f
or r14b, 0x80
mov byte [rsp + 0x1e1], r14b
mov r8d, 2
jmp 0x1400398e3
cmp r14d, 0x10000
jae 0x14003989f
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x1e0], al
mov eax, r14d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x1e1], al
and r14b, 0x3f
or r14b, 0x80
mov byte [rsp + 0x1e2], r14b
mov r8d, 3
jmp 0x1400398e3
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x1e0], al
mov eax, r14d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x1e1], al
mov eax, r14d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x1e2], al
and r14b, 0x3f
or r14b, 0x80
mov byte [rsp + 0x1e3], r14b
mov r8d, 4
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0x1e0]
call fcn.1400efbec
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
jmp 0x140038e50
mov dword [rsp + 0x100], r15d
mov byte [rsp + 0x104], 0
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x68], 0
jmp 0x1400397ea
mov dword [rsp + 0x100], r15d
jmp 0x1400397ea
lea r8, str._Users_Vadym_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.22_src_decompose.rs
jmp 0x14003994b
mov rcx, r8
lea r8, str._Users_Vadym_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.22_src_decompose.rs
mov rdx, rax
call fcn.14000b720
jmp case.0x1400390fc.1
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x238], rcx
call fcn.14003c9af
xorps xmm6, xmm6
lea rax, [rsp + 0x120]
movups xmmword [rax + 8], xmm6
mov qword [rax], 8
mov rax, qword [rsp + 0x1d8]
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x240], rax
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
mov rcx, qword [rcx + 0x10]
xor edx, edx
lea r8, [rsp + 0x1e0]
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
mov qword [r8 + 0x30], 1
movabs rax, 0x2e0000002e
mov qword [r8 + 0x38], rax
mov word [r8 + 0x40], 1
mov dil, 1
lea rax, [0x140128978]
mov qword [rsp + 0x170], rax
lea rax, [0x140119e08]
mov qword [rsp + 0x168], rax
lea rax, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_slice_sort.rs
mov qword [rsp + 0x158], rax
xor eax, eax
mov qword [rsp + 0x148], rax
lea rcx, [rsp + 0x1e0]
call fcn.1400f7af9
mov r13, rax
test rax, rax
je 0x14003afce
mov r12, rdx
test dil, 1
jne 0x140039a6d
mov rcx, qword [rsp + 0x2d0]
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx + 8]
jne 0x140039a5f
call fcn.1400efc44
mov rcx, qword [rsp + 0x2d0]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [rcx + 0x10], rdx
cmp r12, 4
jb 0x140039a7d
cmp dword [r13], 0x2d2d6e78
je 0x140039acc
test byte [rsp + 0x148], 1
jne 0x140039a9a
mov rcx, r13
mov rdx, r12
call fcn.14003c00f
mov qword [rsp + 0x148], rax
mov rcx, r13
mov rdx, r12
mov r8, qword [rsp + 0x1d8]
lea r9, [rsp + 0x48]
call fcn.14003c0cb
xor edi, edi
mov rcx, qword [rsp + 0x2d0]
mov rdx, r13
mov r8, r12
call fcn.1400efbec
jmp 0x140039a1a
add r13, 4
add r12, 0xfffffffffffffffc
xor eax, eax
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x80], 1
movabs rax, 0x2d0000002d
mov qword [rsp + 0x88], rax
mov r9, r12
mov cl, 0x2d
mov rdx, r13
mov r8, r9
call fcn.1400114e0
cmp rax, 1
jne 0x140039b45
mov r9, rdx
cmp rdx, r12
jae 0x140039b3b
mov al, 0x2d
cmp byte [r13 + r9], al
je 0x140039bf4
mov qword [rsp + 0x78], r9
cmp r9, r12
jbe 0x140039b13
lea rax, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_sync_atomic.rsthere_is_no_such_thing_as_an_acquire_store
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov rcx, r9
mov qword [rsp + 0x140], r9
cmp r9, 8
jb 0x140039bda
mov rcx, qword [rsp + 0x38]
lea rdx, [rcx + 7]
and rdx, 0xfffffffffffffff8
mov rax, rdx
sub rax, rcx
mov r8, qword [rsp + 0x140]
mov rcx, r8
cmp rax, r8
ja 0x140039bda
movabs rcx, 0x8080808080808080
mov r8, qword [rsp + 0x38]
test qword [r8], rcx
jne 0x140039c47
cmp rdx, qword [rsp + 0x38]
mov ecx, 8
cmove rax, rcx
mov rcx, qword [rsp + 0x140]
add rcx, 0xfffffffffffffff8
cmp rax, rcx
jae 0x140039c32
movabs rdx, 0x8080808080808080
mov r8, qword [rsp + 0x38]
test qword [r8 + rax], rdx
jne 0x140039c47
add rax, 8
jmp 0x140039bba
mov rax, rcx
sub rax, 1
jb 0x140039c5d
mov rdx, qword [rsp + 0x38]
cmp byte [rdx + rcx - 1], 0
mov rcx, rax
jns 0x140039bda
jmp 0x140039c47
test r9, r9
je 0x140039e95
cmp r9, r12
jae 0x140039c0e
cmp byte [r13 + r9], 0xbf
jle 0x14003beda
lea r8, [r9 + 1]
mov rax, r12
sub rax, r8
jbe 0x140039e9f
cmp byte [r13 + r8], 0xbf
jle 0x14003be80
mov r12, r8
jmp 0x140039ea5
movabs rax, 0x8080808080808080
mov rdx, qword [rsp + 0x38]
test qword [rdx + rcx], rax
je 0x140039c5d
mov byte [rsp + 0x48], 1
mov al, 1
mov qword [rsp + 0x148], rax
xor edi, edi
jmp 0x140039a1a
add r12, r13
mov ebx, pe_nt_image_headers64
mov r15d, 0x48
xor eax, eax
mov qword [rsp + 0x58], rax
xor ebp, ebp
mov rax, qword [rsp + 0x140]
mov r14d, eax
cmp r13, r12
je 0x140039eb8
mov dword [rsp + 0x30], r14d
lea r9d, [r15 + 0x1a]
inc r13
mov r10d, r15d
neg r10d
mov r11d, 1
mov esi, 0x24
mov ecx, ebp
mov al, byte [r13 - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jae 0x140039cb9
add al, 0xea
mov edx, eax
jmp 0x140039ccd
lea edx, [rax - 0x41]
cmp dl, 0x1a
jb 0x140039ccd
add al, 0x9f
mov edx, eax
cmp al, 0x19
ja 0x140039c47
mov r14d, 0x19
test r11d, r11d
je 0x14003bcd6
movzx edi, dl
mov eax, ecx
not eax
xor edx, edx
div r11d
cmp eax, edi
jb 0x140039c47
mov eax, r11d
imul eax, edi
add ecx, eax
lea eax, [r10 + rsi]
cmp esi, r9d
mov edx, 0x1a
cmovae eax, edx
cmp esi, r15d
mov edx, 1
cmovbe eax, edx
cmp eax, edi
ja 0x140039d43
mov r8d, 0x24
sub r8d, eax
mov eax, r8d
mul r11d
jo 0x140039c47
cmp r13, r12
je 0x140039c47
add esi, 0x24
imul r11d, r8d
inc r13
jmp 0x140039ca7
mov r10d, dword [rsp + 0x30]
inc r10d
je 0x14003bd1a
mov eax, ecx
sub eax, ebp
test ebp, ebp
mov r8d, 2
mov edx, 0x2bc
cmove r8d, edx
xor r15d, r15d
xor edx, edx
div r8d
mov r8d, eax
xor edx, edx
div r10d
add eax, r8d
cmp eax, 0x1c8
mov r9d, 0xd41d41d5
jb 0x140039db3
xor r15d, r15d
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 r15d, 0x24
cmp eax, 0x3e57
mov eax, r8d
ja 0x140039d89
jmp 0x140039db6
mov r8d, eax
lea eax, [r8*4]
lea eax, [rax + rax*8]
add r8d, 0x26
xor edx, edx
div r8w
mov edi, eax
mov eax, ecx
xor edx, edx
div r10d
add ebx, eax
jb 0x140039c47
cmp ebx, 0x110000
je 0x140039c47
mov eax, ebx
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x140039c47
mov r14d, r10d
mov ebp, edx
mov rax, qword [rsp + 0x120]
mov esi, edx
cmp qword [rsp + 0x58], 0
je 0x140039e3a
mov rcx, qword [rsp + 0x58]
shl rcx, 4
xor edx, edx
mov r8, qword [rax + rdx]
cmp r8, rsi
jb 0x140039e31
inc r8
mov qword [rax + rdx], r8
add rdx, 0x10
cmp rcx, rdx
jne 0x140039e21
mov rdx, qword [rsp + 0x58]
cmp rdx, qword [rsp + 0x128]
jne 0x140039e66
lea rcx, [rsp + 0x120]
call fcn.1400e7563
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x130]
movzx ecx, di
add r15d, ecx
mov rcx, rdx
shl rcx, 4
mov qword [rax + rcx], rsi
mov dword [rax + rcx + 8], ebx
inc rdx
mov rax, rdx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x130], rdx
inc ebp
jmp 0x140039c7f
mov qword [rsp + 0x38], r13
jmp 0x140039b51
jne 0x14003be80
add r12, r13
mov qword [rsp + 0x38], r13
mov r13, r12
mov r12, rax
jmp 0x140039b54
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x138], rax
mov r12, qword [rsp + 0x58]
cmp r12, 0x15
jae 0x140039ef8
cmp r12, 1
jbe 0x14003a4e5
mov r8d, 1
mov rcx, qword [rsp + 0x138]
mov rdx, r12
call fcn.14003899f
jmp 0x14003a4e5
lea rcx, [r12*8]
movabs rax, 0x7ffffffffffffff0
and rcx, rax
mov al, byte [0x14017e190]
mov edx, 8
call fcn.140004cf0
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14003bf27
mov al, byte [0x14017e190]
mov ecx, 0x100
mov edx, 8
call fcn.140004cf0
test rax, rax
je 0x14003bf40
mov r15, rax
mov rax, qword [rsp + 0x138]
lea rcx, [rax + 0x20]
mov qword [rsp + 0x1c0], rcx
lea rcx, [rax + 8]
mov qword [rsp + 0x230], rcx
lea rcx, [rax - 8]
mov qword [rsp + 0x228], rcx
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x248], rax
mov r14d, 0x10
xor r13d, r13d
xor ebx, ebx
mov r8, r12
sub r8, rbx
mov rax, rbx
shl rax, 4
mov rcx, qword [rsp + 0x138]
add rcx, rax
cmp r8, 2
jae 0x140039fb5
mov rdx, r12
jmp 0x14003a0c3
mov rdx, qword [rcx]
mov r9, qword [rcx + 0x10]
cmp r9, rdx
jae 0x140039fd6
cmp r8, 2
jne 0x140039feb
lea rdx, [rbx + 2]
mov r8d, 2
jmp 0x14003a057
cmp r8, 2
jne 0x14003a019
lea rdx, [rbx + 2]
mov r8d, 2
jmp 0x14003a0c3
mov r10, qword [rsp + 0x1c0]
lea r11, [r10 + rax]
mov r10d, 2
mov rsi, r9
mov rdi, rsi
mov rsi, qword [r11]
cmp rsi, rdi
jae 0x14003a048
inc r10
add r11, 0x10
cmp r8, r10
jne 0x14003a000
jmp 0x14003a045
mov r10, qword [rsp + 0x1c0]
lea r11, [r10 + rax]
mov r10d, 2
mov rsi, r9
mov rdi, rsi
mov rsi, qword [r11]
cmp rsi, rdi
jb 0x14003a048
inc r10
add r11, 0x10
cmp r8, r10
jne 0x14003a02e
mov r10, r8
lea r11, [r10 + rbx]
mov r8, r10
cmp r9, rdx
mov rdx, r11
jae 0x14003a0c3
cmp rbx, rdx
ja 0x14003bef7
cmp rdx, r12
ja 0x14003bf07
cmp r8, 2
jb 0x14003a0c3
mov r9, rbx
mov rbx, rdx
mov rdx, r8
shr rdx, 1
add rax, qword [rsp + 0x230]
mov rbp, r9
add r9, r8
shl r9, 4
add r9, qword [rsp + 0x228]
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 0x14003a095
mov rdx, rbx
mov rbx, rbp
mov rdi, rdx
sub rdi, rbx
jb 0x14003be5b
cmp rdx, r12
ja 0x14003be5b
jae 0x14003a10e
cmp r8, 0xa
jae 0x14003a10e
lea rdi, [rbx + 0xa]
cmp rdi, r12
cmovae rdi, r12
mov qword [rsp + 0x178], rdi
sub rdi, rbx
jb 0x14003be94
cmp r8, 1
adc r8, 0
mov rdx, rdi
call fcn.14003899f
jmp 0x14003a116
mov qword [rsp + 0x178], rdx
cmp r13, r14
jne 0x14003a178
mov rbp, rbx
mov rcx, r14
shl rcx, 5
mov al, byte [0x14017e190]
mov edx, 8
call fcn.140004cf0
test rax, rax
je 0x14003beb8
mov rbx, rax
lea rsi, [r14 + r14]
shl r14, 4
mov rcx, rax
mov rdx, r15
mov r8, r14
call sub.msvcrt.dll_memcpy
mov rcx, qword [0x14017e110]
xor edx, edx
mov r8, r15
call fcn.1400f8824
mov r15, rbx
mov qword [rsp + 0x1c8], rsi
mov rbx, rbp
jmp 0x14003a180
mov qword [rsp + 0x1c8], r14
mov rax, r13
shl rax, 4
mov qword [r15 + rax], rdi
mov qword [r15 + rax + 8], rbx
inc r13
mov qword [rsp + 0x110], r15
cmp r13, 2
jb 0x14003a4a8
mov rcx, r13
shl rcx, 4
mov rax, qword [rcx + r15 - 0x10]
mov rdx, qword [rcx + r15 - 8]
add rdx, rax
cmp rdx, r12
je 0x14003a203
mov r8, qword [rcx + r15 - 0x20]
cmp r8, rax
jbe 0x14003a203
cmp r13, 2
jbe 0x14003a4a8
lea r10, [r13 - 3]
mov rdx, r10
shl rdx, 4
mov rdx, qword [r15 + rdx]
lea r9, [r8 + rax]
cmp rdx, r9
jbe 0x14003a218
cmp r13, 3
jbe 0x14003a4a8
add r8, rdx
cmp qword [rcx + r15 - 0x40], r8
jbe 0x14003a218
jmp 0x14003a4a8
cmp r13, 3
jb 0x14003a21d
lea r10, [r13 - 3]
mov rcx, r10
shl rcx, 4
mov rdx, qword [r15 + rcx]
cmp rdx, rax
jb 0x14003a221
lea r10, [r13 - 2]
cmp r13, r10
jbe 0x14003bd65
lea rax, [r10 + 1]
mov qword [rsp + 0x198], r13
cmp r13, rax
jbe 0x14003bd7a
mov rbp, r10
shl rbp, 4
mov rbx, qword [r15 + rbp + 8]
shl rax, 4
mov rcx, qword [r15 + rax]
mov r13, qword [r15 + rax + 8]
add r13, rcx
mov rsi, r13
sub rsi, rbx
jb 0x14003bdb9
cmp r13, r12
ja 0x14003bde0
mov qword [rsp + 0x188], r10
mov qword [rsp + 0x150], rcx
mov r14, qword [r15 + rbp]
lea rcx, [r15 + rax]
mov qword [rsp + 0x118], rcx
add rax, r15
add rax, 8
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x190], rbx
shl rbx, 4
add rbx, qword [rsp + 0x138]
mov rdi, r14
shl rdi, 4
lea r15, [rbx + rdi]
shl r13, 4
mov r12, rsi
sub r12, r14
cmp r12, r14
jae 0x14003a37b
mov rdi, r12
shl rdi, 4
mov rsi, qword [rsp + 0x30]
mov rcx, rsi
mov rdx, r15
mov r8, rdi
call sub.msvcrt.dll_memcpy
add rdi, rsi
test r14, r14
mov rsi, r14
jle 0x14003a413
test r12, r12
mov r14, qword [rsp + 0x118]
jle 0x14003a3fd
add r13, qword [rsp + 0x248]
mov r12, qword [rsp + 0x58]
mov rax, r15
mov rcx, rdi
mov rdx, qword [rdi - 0x10]
mov r8, qword [r15 - 0x10]
cmp rdx, r8
mov r15d, 0
sbb r15, r15
cmp rdx, r8
mov edi, 0
adc rdi, 0xffffffffffffffff
shl r15, 4
add r15, rax
shl rdi, 4
add rdi, rcx
cmp rdx, r8
mov rax, rdi
cmovb rax, r15
movups xmm0, xmmword [rax]
movups xmmword [r13], xmm0
cmp r15, rbx
jbe 0x14003a36e
add r13, 0xfffffffffffffff0
cmp rdi, qword [rsp + 0x30]
ja 0x14003a318
mov rbx, r15
mov rdx, qword [rsp + 0x30]
jmp 0x14003a437
mov r12, qword [rsp + 0x30]
mov rcx, r12
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
add rdi, r12
test r14, r14
jle 0x14003a422
cmp rsi, r14
mov r12, qword [rsp + 0x58]
mov rsi, r14
jle 0x14003a40c
add r13, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x118]
mov r8, rdx
mov rcx, qword [r15]
xor edx, edx
xor eax, eax
cmp rcx, qword [r8]
setae dl
setb cl
mov r9, r8
cmovb r9, r15
movups xmm0, xmmword [r9]
movups xmmword [rbx], xmm0
add rbx, 0x10
shl rdx, 4
add rdx, r8
cmp rdx, rdi
jae 0x14003a437
mov al, cl
shl rax, 4
add r15, rax
cmp r15, r13
jb 0x14003a3bc
jmp 0x14003a437
mov rbx, r15
mov rdx, qword [rsp + 0x30]
mov r12, qword [rsp + 0x58]
jmp 0x14003a437
mov rdx, qword [rsp + 0x30]
jmp 0x14003a42f
mov rbx, r15
mov rdx, qword [rsp + 0x30]
mov r12, qword [rsp + 0x58]
jmp 0x14003a42f
mov rdx, qword [rsp + 0x30]
mov r12, qword [rsp + 0x58]
mov rsi, r14
mov r14, qword [rsp + 0x118]
sub rdi, rdx
mov rcx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x150]
add rax, rsi
mov qword [r14], rax
mov rax, qword [rsp + 0x190]
mov rcx, qword [rsp + 0x180]
mov qword [rcx], rax
mov r13, qword [rsp + 0x198]
mov r8, qword [rsp + 0x188]
cmp r13, r8
mov r15, qword [rsp + 0x110]
jbe 0x14003be09
add rbp, r15
lea rdx, [rbp + 0x10]
not r8
add r8, r13
shl r8, 4
mov rcx, rbp
call sub.msvcrt.dll_memmove
dec r13
jmp 0x14003a19b
mov rbx, qword [rsp + 0x178]
cmp rbx, r12
mov r14, qword [rsp + 0x1c8]
jb 0x140039f8f
mov rcx, qword [0x14017e110]
xor edx, edx
mov r8, r15
call fcn.1400f8824
mov rcx, qword [0x14017e110]
xor edx, edx
mov r8, qword [rsp + 0x30]
call fcn.1400f8824
mov rax, qword [rsp + 0x140]
lea r8, [r12 + rax]
mov rcx, qword [rsp + 0x2d0]
mov rax, qword [rcx + 8]
mov r15, qword [rcx + 0x10]
sub rax, r15
cmp rax, r8
jae 0x14003a511
mov rdx, r15
call fcn.1400efb36
mov rax, qword [rsp + 0x38]
add qword [rsp + 0x140], rax
xor edi, edi
xor ebx, ebx
mov r14, qword [rsp + 0x2d0]
mov rcx, rdi
shl rcx, 4
mov rax, qword [rsp + 0x138]
lea rdx, [rax + rcx]
mov rax, qword [rsp + 0x38]
cmp rdi, r12
jae 0x14003a550
cmp qword [rdx], rbx
je 0x14003a610
mov r9, qword [rsp + 0x140]
mov r8, r9
cmp rax, r9
je 0x14003a5c1
movzx esi, byte [rax]
test sil, sil
jns 0x14003a5d2
mov r8d, esi
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp sil, 0xdf
jbe 0x14003a5df
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp sil, 0xf0
jb 0x14003a5f4
movzx esi, byte [rax + 3]
add rax, 4
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and esi, 0x3f
or esi, r9d
or esi, r8d
mov qword [rsp + 0x38], rax
mov r8, rax
cmp esi, 0x110000
jne 0x14003a609
mov rax, r8
cmp rdi, r12
jb 0x14003a542
jmp 0x14003a6fe
inc rax
inc rbx
mov qword [rsp + 0x38], rax
jmp 0x14003a62a
add rax, 2
shl r8d, 6
or r8d, r10d
mov qword [rsp + 0x38], rax
mov esi, r8d
jmp 0x14003a61f
add rax, 3
shl r8d, 0xc
or r9d, r8d
mov qword [rsp + 0x38], rax
mov esi, r9d
jmp 0x14003a61f
mov qword [rsp + 0x38], rax
jmp 0x14003a61f
inc rdi
mov rax, qword [rsp + 0x138]
mov esi, dword [rax + rcx + 8]
inc rbx
cmp esi, 0x80
jae 0x14003a653
mov rdx, qword [r14 + 0x10]
cmp rdx, qword [r14 + 8]
jne 0x14003a640
mov rcx, r14
call fcn.1400efc44
mov rdx, qword [r14 + 0x10]
mov rax, qword [r14]
mov byte [rax + rdx], sil
inc rdx
mov qword [r14 + 0x10], rdx
jmp 0x14003a52a
mov dword [rsp + 0x60], 0
mov eax, esi
cmp esi, 0x800
jae 0x14003a683
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x60], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x61], sil
mov r8d, 2
jmp 0x14003a6ec
cmp esi, 0x10000
jae 0x14003a6b6
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x60], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x61], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x62], sil
mov r8d, 3
jmp 0x14003a6ec
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x60], al
mov eax, esi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x61], al
mov eax, esi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x62], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x63], sil
mov r8d, 4
mov rcx, r14
lea rdx, [rsp + 0x60]
call fcn.1400efbec
jmp 0x14003a52a
mov rsi, qword [r14]
mov rax, qword [r14 + 0x10]
test r15, r15
je 0x14003a71e
mov r14, rax
sub r14, r15
jbe 0x14003a723
cmp byte [rsi + r15], 0xc0
jge 0x14003a729
jmp 0x14003bf17
mov r14, rax
jmp 0x14003a729
jne 0x14003bf17
add rsi, r15
test byte [rsp + 0x148], 1
jne 0x14003a749
mov rcx, rsi
mov rdx, r14
call fcn.14003c00f
mov qword [rsp + 0x148], rax
mov al, byte [rsp + 0x49]
or al, byte [rsp + 0x48]
or al, byte [rsp + 0x4a]
or al, byte [rsp + 0x4b]
or al, byte [rsp + 0x4c]
or al, byte [rsp + 0x4d]
or al, byte [rsp + 0x4e]
or al, byte [rsp + 0x4f]
or al, byte [rsp + 0x50]
or al, byte [rsp + 0x51]
or al, byte [rsp + 0x52]
xor edi, edi
or al, byte [rsp + 0x53]
jne 0x140039a1a
lea rdi, [rsi + r14]
xor edx, edx
mov rax, rsi
xor ecx, ecx
mov r8d, edx
cmp rax, rdi
je 0x14003ae39
mov edx, ecx
movzx r9d, byte [rax]
test r9b, r9b
js 0x14003a7a8
inc rax
jmp 0x14003a81b
mov ecx, r9d
and ecx, 0x1f
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp r9b, 0xdf
jbe 0x14003a7ff
movzx r10d, byte [rax + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r9b, 0xf0
jb 0x14003a80e
movzx r9d, byte [rax + 3]
and ecx, 7
shl ecx, 0x12
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
or r9d, ecx
cmp r9d, 0x110000
je 0x14003ae39
add rax, 4
jmp 0x14003a81b
add rax, 2
shl ecx, 6
or ecx, r11d
mov r9d, ecx
jmp 0x14003a81b
add rax, 3
shl ecx, 0xc
or r10d, ecx
mov r9d, r10d
xor ecx, ecx
cmp r9d, 0x80
jb 0x14003a78f
imul ecx, r9d, 0x9e3779b9
imul r10d, r9d, 0x31415926
xor ecx, r10d
imul rcx, rcx, 0x39a
shr rcx, 0x1f
and ecx, 0xfffffffe
lea r11, [0x14013d198]
movzx ecx, word [rcx + r11]
add ecx, r9d
imul ecx, ecx, 0x9e3779b9
xor ecx, r10d
imul rcx, rcx, 0x39a
shr rcx, 0x1e
and ecx, 0xfffffffc
lea r10, [0x14013d8cc]
mov ecx, dword [rcx + r10]
mov r10d, ecx
shr r10d, 8
cmp r10d, r9d
mov r10d, 0
cmovne ecx, r10d
cmp dl, cl
jbe 0x14003a89a
test cl, cl
jne 0x14003afc2
lea edx, [r9 - 0x340]
cmp edx, 4
ja 0x14003a8af
cmp edx, 2
jne 0x14003afc2
mov dl, 2
cmp r9d, 0x102d
jg 0x14003a915
cmp r9d, 0xc55
jle 0x14003a96b
cmp r9d, 0xf42
jle 0x14003aad9
lea r10d, [r9 - 0xf43]
cmp r10d, 0x3e
ja 0x14003a8f5
movabs r11, 0x4021004002108401
bt r11, r10
jb 0x14003afc2
lea r10d, [r9 - 0xf93]
cmp r10d, 0x26
ja 0x14003ac20
movabs r11, 0x4002108401
jmp 0x14003aa01
cmp r9d, 0x2125
jg 0x14003a9af
cmp r9d, 0x1fba
jg 0x14003aa10
lea r10d, [r9 - 0x1f71]
cmp r10d, 0xc
ja 0x14003a94c
mov r11d, 0x1555
bt r11d, r10d
jb 0x14003afc2
cmp r9d, 0x102e
je 0x14003a78c
cmp r9d, 0x1b35
jne 0x14003ac20
jmp 0x14003a78c
cmp r9d, 0x9d6
jg 0x14003aa43
cmp r9d, 0x373
jg 0x14003ab15
lea r10d, [r9 - 0x30f]
cmp r10d, 0x36
ja 0x14003ac20
movabs r11, 0x48020000001005
bt r11, r10
jb 0x14003a78c
jmp 0x14003ac20
cmp r9d, 0x110b9
jg 0x14003aa90
cmp r9d, 0xfa0f
jle 0x14003ab8d
lea r10d, [r9 - 0xfa10]
cmp r10d, 0x12
ja 0x14003a9e6
mov r11d, 0x50005
bt r11d, r10d
jb 0x14003afc2
lea r10d, [r9 - 0xfb1d]
cmp r10d, 0x21
ja 0x14003ac20
movabs r11, 0x200000005
bt r11, r10
jb 0x14003afc2
jmp 0x14003ac20
lea r10d, [r9 - 0x1fbe]
cmp r10d, 0x3f
ja 0x14003aa31
movabs r11, 0xa800202020202801
bt r11, r10
jb 0x14003afc2
cmp r9d, 0x1fbb
jne 0x14003ac20
jmp 0x14003afc2
cmp r9d, 0xb3d
jg 0x14003ab51
lea r10d, [r9 - 0xa33]
cmp r10d, 0x2b
ja 0x14003aa71
movabs r11, 0x80000000009
bt r11, r10
jb 0x14003afc2
cmp r9d, 0x9d7
je 0x14003a78c
cmp r9d, 0x9df
jne 0x14003ac20
jmp 0x14003afc2
cmp r9d, 0x114af
jle 0x14003abb9
lea r10d, [r9 - 0x114b0]
cmp r10d, 0xd
ja 0x14003aaba
mov r11d, 0x2401
bt r11d, r10d
jb 0x14003a78c
cmp r9d, 0x115af
je 0x14003a78c
cmp r9d, 0x11930
jne 0x14003ac20
jmp 0x14003a78c
cmp r9d, 0xd56
jle 0x14003abde
lea r10d, [r9 - 0xdca]
cmp r10d, 0x15
ja 0x14003ab03
mov r11d, 0x200021
bt r11d, r10d
jb 0x14003a78c
cmp r9d, 0xd57
jne 0x14003ac20
jmp 0x14003a78c
lea r10d, [r9 - 0x374]
cmp r10d, 0x13
ja 0x14003ab32
mov r11d, 0x80401
bt r11d, r10d
jb 0x14003afc2
cmp r9d, 0x93c
je 0x14003a78c
cmp r9d, 0x9be
jne 0x14003ac20
jmp 0x14003a78c
lea r10d, [r9 - 0xb3e]
cmp r10d, 0x19
ja 0x14003ab6e
mov r11d, 0x3000001
bt r11d, r10d
jb 0x14003a78c
cmp r9d, 0xbbe
je 0x14003a78c
cmp r9d, 0xbd7
jne 0x14003ac20
jmp 0x14003a78c
lea r10d, [r9 - 0x2329]
cmp r10d, 2
jb 0x14003afc2
cmp r9d, 0x2126
je 0x14003afc2
cmp r9d, 0x2adc
jne 0x14003ac20
jmp 0x14003afc2
cmp r9d, 0x1133d
jg 0x14003ac06
cmp r9d, 0x110ba
je 0x14003a78c
cmp r9d, 0x11127
je 0x14003a78c
jmp 0x14003ac20
cmp r9d, 0xc56
je 0x14003a78c
cmp r9d, 0xcc2
je 0x14003a78c
cmp r9d, 0xd3e
jne 0x14003ac20
jmp 0x14003a78c
cmp r9d, 0x1133e
je 0x14003a78c
cmp r9d, 0x11357
je 0x14003a78c
lea r10d, [r9 - 0x2f800]
cmp r10d, 0x21e
jb 0x14003afc2
lea r10d, [r9 - 0x1d1bb]
cmp r10d, 6
jb 0x14003afc2
lea r10d, [r9 - 0x1d15e]
cmp r10d, 7
jb 0x14003afc2
lea r10d, [r9 - 0xfb46]
cmp r10d, 9
jb 0x14003afc2
lea r10d, [r9 - 0xfb43]
cmp r10d, 2
jb 0x14003afc2
mov r10d, r9d
and r10d, 0xfffffffe
cmp r10d, 0xfb40
je 0x14003afc2
lea r11d, [r9 - 0xfb38]
cmp r11d, 5
jb 0x14003afc2
lea r11d, [r9 - 0xfb2a]
cmp r11d, 0xd
jb 0x14003afc2
lea r11d, [r9 - 0xfa70]
cmp r11d, 0x6a
jb 0x14003afc2
lea r11d, [r9 - 0xfa2a]
cmp r11d, 0x44
jb 0x14003afc2
lea r11d, [r9 - 0xfa25]
cmp r11d, 2
jb 0x14003afc2
lea r11d, [r9 - 0xfa15]
cmp r11d, 0xa
jb 0x14003afc2
lea r11d, [r9 - 0xf900]
cmp r11d, 0x10e
jb 0x14003afc2
cmp r10d, 0x212a
je 0x14003afc2
cmp r10d, 0x2000
je 0x14003afc2
cmp r10d, 0x1fee
je 0x14003afc2
lea r11d, [r9 - 0xf75]
cmp r11d, 2
jb 0x14003afc2
cmp r10d, 0xb5c
je 0x14003afc2
lea r11d, [r9 - 0xa59]
cmp r11d, 3
jb 0x14003afc2
mov r11d, r9d
and r11d, 0xfffffff8
cmp r11d, 0x958
je 0x14003afc2
cmp r10d, 0x9dc
je 0x14003afc2
lea r11d, [r9 - 0x3099]
cmp r11d, 2
jb 0x14003a78c
lea r11d, [r9 - 0x11a8]
cmp r11d, 0x1b
jb 0x14003a78c
lea r11d, [r9 - 0x1161]
cmp r11d, 0x15
jb 0x14003a78c
lea r11d, [r9 - 0xcd5]
cmp r11d, 2
jb 0x14003a78c
lea r11d, [r9 - 0x653]
cmp r11d, 3
jb 0x14003a78c
cmp r10d, 0x330
je 0x14003a78c
lea r10d, [r9 - 0x32d]
cmp r10d, 2
jb 0x14003a78c
lea r10d, [r9 - 0x323]
cmp r10d, 6
jb 0x14003a78c
lea r10d, [r9 - 0x313]
cmp r10d, 2
jb 0x14003a78c
lea r10d, [r9 - 0x300]
cmp r10d, 5
jb 0x14003a78c
add r9d, 0xfffffcfa
cmp r9d, 7
jae 0x14003a78f
jmp 0x14003a78c
test r8b, r8b
je 0x14003afa3
lea rcx, [rsp + 0x60]
movups xmmword [rcx + 0x48], xmm6
lea rax, [rsp + 0x1a2]
movups xmmword [rax], xmm6
movzx eax, word [rsp + 0x1b0]
mov word [rcx + 0x76], ax
movups xmm0, xmmword [rsp + 0x1a0]
movups xmmword [rcx + 0x66], xmm0
mov qword [rsp + 0x60], 0
xor eax, eax
mov dword [rsp + 0x70], eax
mov word [rsp + 0x74], ax
mov byte [rsp + 0x78], al
mov dword [rsp + 0x7c], eax
mov byte [rsp + 0x80], al
mov dword [rsp + 0x84], eax
mov byte [rsp + 0x88], al
mov dword [rsp + 0x8c], eax
mov byte [rsp + 0x90], al
mov dword [rsp + 0x94], eax
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0xa0], rdi
mov byte [rsp + 0xb8], al
mov dword [rsp + 0xc0], eax
mov word [rsp + 0xc4], ax
mov dword [rsp + 0xe0], 0x110000
mov byte [rsp + 0xe4], al
mov rbx, rsi
cmp rbx, rdi
je 0x14003af81
movzx ebp, byte [rbx]
test bpl, bpl
js 0x14003af05
inc rbx
jmp 0x14003af63
mov eax, ebp
and eax, 0x1f
movzx edx, byte [rbx + 1]
and edx, 0x3f
cmp bpl, 0xdf
jbe 0x14003af4b
movzx ecx, byte [rbx + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bpl, 0xf0
jb 0x14003af58
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 0x14003af81
add rbx, 4
jmp 0x14003af63
add rbx, 2
shl eax, 6
or eax, edx
mov ebp, eax
jmp 0x14003af63
add rbx, 3
shl eax, 0xc
or ecx, eax
mov ebp, ecx
lea rcx, [rsp + 0x60]
call fcn.14003c9f0
xor r15d, r15d
cmp eax, 0x110000
je 0x14003af94
cmp eax, ebp
je 0x14003aeef
jmp 0x14003af94
lea rcx, [rsp + 0x60]
call fcn.14003c9f0
cmp eax, 0x110000
sete r15b
lea rcx, [rsp + 0x60]
call fcn.14003d08a
test r15b, r15b
je 0x14003afc2
xor edi, edi
mov rcx, rsi
mov rdx, r14
mov r8, qword [rsp + 0x240]
lea r9, [rsp + 0x48]
call fcn.14003c0cb
jmp 0x140039a1a
mov byte [rsp + 0x4d], 1
xor edi, edi
jmp 0x140039a1a
mov rax, qword [rsp + 0x2d0]
mov rsi, qword [rax]
mov rdx, qword [rax + 0x10]
mov rax, rdx
mov rcx, qword [rsp + 0x160]
test rcx, rcx
je 0x14003b03d
mov rax, rdx
sub rax, rcx
jbe 0x14003b03b
cmp byte [rsi + rcx], 0xbf
jg 0x14003b03d
lea rax, [0x140119de8]
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov r8, qword [rsp + 0x160]
mov r9, rdx
call fcn.1400107f0
jmp case.0x1400390fc.1
lea r8, str._Users_Vadym_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.22_src_decompose.rs
jmp 0x14003994b
jne 0x14003affb
mov qword [rsp + 0x30], rdx
add rsi, rcx
xor ecx, ecx
lea r14, [rsp + 0x60]
mov qword [r14], rcx
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x18], rax
mov qword [r14 + 0x20], rcx
mov qword [r14 + 0x28], rax
mov qword [r14 + 0x30], 1
movabs rax, 0x2e0000002e
mov qword [r14 + 0x38], rax
mov word [r14 + 0x40], 1
mov ebx, 1
mov r13d, 0x260db
mov rcx, r14
call fcn.1400f7af9
mov rsi, rax
test rax, rax
je 0x14003b417
test byte [rsp + 0x148], 1
je 0x14003b08b
mov r15, rdx
test rdx, rdx
je 0x14003b08b
movzx ecx, byte [rsi]
test cl, cl
js 0x14003b0be
lea r12, [rsi + 1]
jmp 0x14003b11f
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14003b106
movzx edx, byte [rsi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14003b114
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 0x14003b08b
lea r12, [rsi + 4]
jmp 0x14003b11f
lea r12, [rsi + 2]
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14003b11f
lea r12, [rsi + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r15, rsi
call fcn.1400efacc
test al, al
je 0x14003b1e8
movzx eax, al
cmp eax, 0x11
je 0x14003b1e8
cmp eax, 9
jne 0x14003b412
cmp r12, r15
je 0x14003b2a0
movzx ecx, byte [r12]
test cl, cl
js 0x14003b15b
inc r12
jmp 0x14003b1c5
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [r12 + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14003b1ac
movzx edx, byte [r12 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14003b1ba
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 0x14003b2a0
add r12, 4
jmp 0x14003b1c5
add r12, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14003b1c5
add r12, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1400efacc
cmp al, 0xe
ja 0x14003b412
movzx eax, al
mov ecx, 0x62f8
bt ecx, eax
jb 0x14003b144
jmp 0x14003b412
cmp r12, r15
je 0x14003b2af
xor edi, edi
xor ebp, ebp
movzx ecx, byte [r12]
test cl, cl
js 0x14003b203
inc r12
jmp 0x14003b269
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [r12 + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x14003b250
movzx edx, byte [r12 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x14003b25e
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 0x14003b2b3
add r12, 4
jmp 0x14003b269
add r12, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14003b269
add r12, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1400efacc
cmp al, 5
jne 0x14003b277
mov bpl, 1
jmp 0x14003b295
cmp al, 1
movzx edi, dil
cmove edi, ebx
cmp al, 0x11
ja 0x14003b412
movzx eax, al
bt r13d, eax
jae 0x14003b412
cmp r12, r15
jne 0x14003b1f5
jmp 0x14003b2b3
movzx r12d, byte [r15 - 1]
test r12b, r12b
js 0x14003b2ed
dec r15
jmp 0x14003b2c9
xor ebp, ebp
xor edi, edi
movzx r12d, byte [r15 - 1]
test r12b, r12b
js 0x14003b38f
dec r15
jmp 0x14003b36b
mov ecx, r12d
call fcn.1400efacc
cmp al, 0xd
jne 0x14003b346
cmp r15, rsi
je 0x14003b08b
movzx r12d, byte [r15 - 1]
test r12b, r12b
js 0x14003b2ed
dec r15
jmp 0x14003b338
movzx eax, byte [r15 - 2]
cmp al, 0xc0
jge 0x14003b316
movzx ecx, byte [r15 - 3]
cmp cl, 0xc0
jge 0x14003b31f
movzx edx, byte [r15 - 4]
add r15, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
jmp 0x14003b326
add r15, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x14003b32e
add r15, 0xfffffffffffffffd
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and r12d, 0x3f
or r12d, eax
cmp r12d, 0x110000
jne 0x14003b2c9
jmp 0x14003b08b
mov ecx, r12d
call fcn.1400efacc
cmp al, 9
je 0x14003b08b
mov ecx, r12d
call fcn.1400efacc
cmp al, 5
je 0x14003b08b
jmp 0x14003b412
mov ecx, r12d
call fcn.1400efacc
cmp al, 0xd
jne 0x14003b3e5
cmp r15, rsi
je 0x14003b412
movzx r12d, byte [r15 - 1]
test r12b, r12b
js 0x14003b38f
dec r15
jmp 0x14003b3da
movzx eax, byte [r15 - 2]
cmp al, 0xc0
jge 0x14003b3b8
movzx ecx, byte [r15 - 3]
cmp cl, 0xc0
jge 0x14003b3c1
movzx edx, byte [r15 - 4]
add r15, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
jmp 0x14003b3c8
add r15, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x14003b3d0
add r15, 0xfffffffffffffffd
and ecx, 0xf
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and r12d, 0x3f
or r12d, eax
cmp r12d, 0x110000
jne 0x14003b36b
jmp 0x14003b412
mov ecx, r12d
call fcn.1400efacc
cmp al, 0x11
ja 0x14003b412
movzx eax, al
mov ecx, 0x20023
bt ecx, eax
jae 0x14003b412
test dil, 1
je 0x14003b08b
and bpl, 1
je 0x14003b08b
mov byte [rsp + 0x4a], 1
mov bl, byte [rsp + 0x48]
lea rcx, [rsp + 0x49]
mov rax, qword [rcx]
mov qword [rsp + 0x1e0], rax
mov eax, dword [rcx + 7]
mov dword [rsp + 0x1e7], eax
cmp qword [rsp + 0x128], 0
mov r14, qword [rsp + 0x2d0]
mov rcx, qword [rsp + 0x30]
je 0x14003b467
mov r8, qword [rsp + 0x120]
mov rcx, qword [0x14017e110]
xor edx, edx
call fcn.1400f8824
mov rcx, qword [r14 + 0x10]
call fcn.1400efa81
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0x60], xmm0
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x70], rcx
mov qword [r14], rax
mov qword [r14 + 8], rdx
mov qword [r14 + 0x10], 0
mov rax, qword [rsp + 0x40]
lea rsi, [rax + 0x18]
cmp qword [rax + 0x20], 0
je 0x14003b4ae
mov r8, qword [rsi]
mov rcx, qword [0x14017e110]
xor edx, edx
call fcn.1400f8824
lea r8, [rsp + 0x60]
mov rax, qword [r8 + 0x10]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [r8]
movups xmmword [rsi], xmm0
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx + 0x18]
mov rcx, qword [rcx + 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
mov qword [r8 + 0x30], 1
movabs rax, 0x2e0000002e
mov qword [r8 + 0x38], rax
mov word [r8 + 0x40], 1
mov sil, 1
mov r12d, 0x1a
mov byte [rsp + 0x180], bl
lea rcx, [rsp + 0x60]
call fcn.1400f7af9
test rax, rax
je 0x14003bc63
mov r13, rax
mov rdi, rdx
test sil, 1
jne 0x14003b558
mov rdx, qword [r14 + 0x10]
cmp rdx, qword [r14 + 8]
jne 0x14003b54a
mov rcx, r14
call fcn.1400efc44
mov rdx, qword [r14 + 0x10]
mov rax, qword [r14]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [r14 + 0x10], rdx
mov rcx, rdi
cmp rdi, 8
jb 0x14003b5ad
lea rdx, [r13 + 7]
and rdx, 0xfffffffffffffff8
mov rax, rdx
sub rax, r13
mov rcx, rdi
cmp rax, rdi
ja 0x14003b5ad
movabs rcx, 0x8080808080808080
test qword [r13], rcx
je 0x14003b5c7
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x118], rax
mov r8d, 4
mov rcx, r14
lea rdx, str.xn__
call fcn.1400efbec
jmp 0x14003b634
mov rax, rcx
sub rax, 1
jb 0x14003b72c
cmp byte [r13 + rcx - 1], 0
mov rcx, rax
jns 0x14003b5ad
jmp 0x14003b608
cmp rdx, r13
mov ecx, 8
cmove rax, rcx
lea rcx, [rdi - 8]
cmp rax, rcx
jae 0x14003b5f3
movabs rdx, 0x8080808080808080
test qword [r13 + rax], rdx
jne 0x14003b608
add rax, 8
jmp 0x14003b5d7
movabs rax, 0x8080808080808080
test qword [r13 + rcx], rax
je 0x14003b72c
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x118], rax
mov r8d, 4
mov rcx, r14
lea rdx, str.xn__
call fcn.1400efbec
xor esi, esi
test rdi, rdi
je 0x14003b515
mov rbx, r13
add rbx, rdi
xor esi, esi
xor ebp, ebp
mov rdi, r13
mov qword [rsp + 0x40], rbx
movzx ebx, byte [rdi]
test bl, bl
js 0x14003b652
inc rdi
jmp 0x14003b6b2
mov eax, ebx
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp bl, 0xdf
jbe 0x14003b69a
movzx ecx, byte [rdi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bl, 0xf0
jb 0x14003b6a7
movzx ebx, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
or ebx, eax
cmp ebx, 0x110000
je 0x14003bc12
add rdi, 4
jmp 0x14003b6b2
add rdi, 2
shl eax, 6
or eax, edx
mov ebx, eax
jmp 0x14003b6b2
add rdi, 3
shl eax, 0xc
or ecx, eax
mov ebx, ecx
mov eax, esi
inc eax
mov dword [rsp + 0x38], eax
je 0x14003bc20
mov r14, qword [rsp + 0x2d0]
cmp ebx, 0x7f
ja 0x14003b6f2
mov rdx, qword [r14 + 0x10]
cmp rdx, qword [r14 + 8]
jne 0x14003b6e3
mov rcx, r14
call fcn.1400efc44
mov rdx, qword [r14 + 0x10]
mov rax, qword [r14]
mov byte [rax + rdx], bl
inc rdx
mov qword [r14 + 0x10], rdx
inc ebp
inc esi
mov rbx, qword [rsp + 0x40]
cmp rdi, rbx
jne 0x14003b646
test ebp, ebp
je 0x14003b741
mov rdx, qword [r14 + 0x10]
cmp rdx, qword [r14 + 8]
jne 0x14003b71c
mov rcx, r14
call fcn.1400efc44
mov rdx, qword [r14 + 0x10]
mov rax, qword [r14]
mov byte [rax + rdx], 0x2d
inc rdx
mov qword [r14 + 0x10], rdx
jmp 0x14003b743
mov rcx, r14
mov rdx, r13
mov r8, rdi
call fcn.1400efbec
xor esi, esi
jmp 0x14003b515
xor ebp, ebp
xor r8d, r8d
mov esi, 0
cmp ebp, dword [rsp + 0x38]
jae 0x14003b515
mov r15d, 0x48
mov eax, pe_nt_image_headers64
mov edi, ebp
mov dword [rsp + 0x188], ebp
mov qword [rsp + 0x150], r13
mov rcx, r13
cmp rcx, rbx
je 0x14003bd2a
movzx ebp, byte [rcx]
test bpl, bpl
js 0x14003b78a
inc rcx
jmp 0x14003b7f7
mov edx, ebp
and edx, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp bpl, 0xdf
jbe 0x14003b7dc
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp bpl, 0xf0
jb 0x14003b7ea
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 0x14003bd2a
add rcx, 4
jmp 0x14003b7f7
add rcx, 2
shl edx, 6
or edx, r10d
mov ebp, edx
jmp 0x14003b7f7
add rcx, 3
shl edx, 0xc
or r9d, edx
mov ebp, r9d
cmp ebp, eax
jb 0x14003b774
jmp 0x14003b834
add rcx, 4
jmp 0x14003b825
add rcx, 2
shl r9d, 6
or r9d, r11d
mov edx, r9d
jmp 0x14003b825
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, rbx
je 0x14003b894
movzx edx, byte [rcx]
test dl, dl
js 0x14003b845
inc rcx
jmp 0x14003b825
mov r9d, edx
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x14003b807
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x14003b817
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 0x14003b801
mov r9d, ebp
sub r9d, eax
lea ecx, [rdi + 1]
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp r9d, eax
ja 0x14003bc20
mov edx, r9d
imul edx, ecx
add edx, r8d
mov dword [rsp + 0x30], edx
mov rsi, r13
mov rbx, qword [rsp + 0x40]
movzx eax, byte [rsi]
test al, al
js 0x14003b8d0
inc rsi
jmp 0x14003b932
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x14003b919
movzx edx, byte [rsi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x14003b927
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 0x14003bc08
add rsi, 4
jmp 0x14003b932
add rsi, 2
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x14003b932
add rsi, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, ebp
jae 0x14003b940
inc dword [rsp + 0x30]
je 0x14003bc20
cmp eax, ebp
jne 0x14003bad8
mov qword [rsp + 0x190], rsi
mov qword [rsp + 0x198], rdi
lea ebx, [r15 + 0x1a]
lea ecx, [r15 - 0x24]
neg ecx
cmp ebx, 0x25
cmovb ecx, r12d
cmp r15d, 0x24
mov eax, 1
cmovae ecx, eax
mov eax, dword [rsp + 0x30]
mov edi, eax
cmp eax, ecx
jb 0x14003ba75
mov esi, r15d
neg esi
mov r13d, 0x48
mov edi, dword [rsp + 0x30]
mov r8d, ecx
sub r8d, 0x24
je 0x14003bc8f
sub edi, ecx
neg r8d
mov eax, edi
xor edx, edx
div r8d
add edx, ecx
mov r14d, 0x61
mov edi, eax
cmp edx, 0x1a
jb 0x14003b9c9
mov r14d, 0x16
cmp edx, 0x24
jae 0x14003bd05
add r14d, edx
cmp r14d, 0x80
jae 0x14003ba0e
mov r12, qword [rsp + 0x2d0]
mov rdx, qword [r12 + 0x10]
cmp rdx, qword [r12 + 8]
jne 0x14003b9f6
mov rcx, r12
call fcn.1400efc44
mov rdx, qword [r12 + 0x10]
mov rax, qword [r12]
mov byte [rax + rdx], r14b
inc rdx
mov qword [r12 + 0x10], rdx
mov r12d, 0x1a
jmp 0x14003ba53
mov dword [rsp + 0x120], 0
mov eax, r14d
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x120], al
and r14b, 0x3f
or r14b, 0x80
mov byte [rsp + 0x121], r14b
mov r8d, 2
mov rcx, qword [rsp + 0x2d0]
lea rdx, [rsp + 0x120]
call fcn.1400efbec
lea ecx, [rsi + r13]
cmp r13d, ebx
cmovae ecx, r12d
cmp r13d, r15d
mov eax, 1
cmovbe ecx, eax
add r13d, 0x24
cmp edi, ecx
jae 0x14003b992
mov esi, 0x61
cmp edi, 0x1a
jb 0x14003ba8d
mov esi, 0x16
cmp edi, 0x24
jae 0x14003bd05
add esi, edi
cmp esi, 0x80
mov rbx, qword [rsp + 0x40]
jae 0x14003baea
mov rdi, qword [rsp + 0x2d0]
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi + 8]
jne 0x14003baba
mov rcx, rdi
call fcn.1400efc44
mov rdx, qword [rdi + 0x10]
mov r11d, 0xd41d41d5
mov r13, qword [rsp + 0x150]
mov rax, qword [rdi]
mov byte [rax + rdx], sil
inc rdx
mov qword [rdi + 0x10], rdx
jmp 0x14003bb3c
mov r9d, edi
mov r8d, dword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
jmp 0x14003bbdb
mov dword [rsp + 0x120], 0
mov eax, esi
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x120], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x121], sil
mov r8d, 2
mov rcx, qword [rsp + 0x2d0]
lea rdx, [rsp + 0x120]
call fcn.1400efbec
mov r11d, 0xd41d41d5
mov r13, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x198]
mov r9d, ecx
inc r9d
mov eax, dword [rsp + 0x188]
mov rsi, qword [rsp + 0x190]
je 0x14003bca9
cmp ecx, eax
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r8d, r8d
mov eax, dword [rsp + 0x30]
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div r9d
add eax, ecx
xor ecx, ecx
cmp eax, 0x1c8
jb 0x14003bbb4
mov edx, eax
imul rdx, r11
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 0x14003bb8b
jmp 0x14003bbb7
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 dword [rsp + 0x30], r8d
mov edi, r9d
cmp rsi, rbx
jne 0x14003b8c4
inc r8d
inc ebp
xor esi, esi
mov eax, ebp
mov edi, r9d
cmp r9d, dword [rsp + 0x38]
mov r14, qword [rsp + 0x2d0]
jb 0x14003b771
jmp 0x14003b515
mov r9d, edi
mov r8d, dword [rsp + 0x30]
jmp 0x14003bbe4
mov dword [rsp + 0x38], esi
mov rbx, qword [rsp + 0x40]
jmp 0x14003b702
mov r14, qword [rsp + 0x2d0]
mov rax, qword [r14 + 0x10]
mov bl, 1
xor esi, esi
mov rcx, qword [rsp + 0x118]
cmp rax, rcx
jb 0x14003b50e
test rcx, rcx
je 0x14003bc58
cmp rax, rcx
jbe 0x14003bc58
mov rax, qword [r14]
cmp byte [rax + rcx], 0xbf
jle 0x14003be43
mov qword [r14 + 0x10], rcx
xor esi, esi
jmp 0x14003b50e
mov rcx, qword [rsp + 0x1d0]
mov al, byte [rsp + 0x180]
mov byte [rcx], al
mov rax, qword [rsp + 0x1e0]
mov qword [rcx + 1], rax
mov eax, dword [rsp + 0x1e7]
mov dword [rcx + 8], eax
jmp 0x140038d05
lea rcx, [0x1401289c0]
lea r8, [0x140128a18]
mov edx, 0x39
call fcn.14000c3a0
ud2
lea rcx, [0x140128940]
lea r8, [0x140128960]
mov edx, 0x19
jmp 0x14003bca2
lea r8, [0x140119dd0]
mov ecx, 4
mov edx, 4
call fcn.14000b720
ud2
lea rcx, [0x140128940]
lea r8, [0x1401289a8]
mov rdx, r14
call fcn.14000c3a0
jmp case.0x1400390fc.1
lea r8, str._Users_Vadym_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.22_src_decompose.rs
mov rdx, rax
call fcn.14000b6a0
jmp case.0x1400390fc.1
lea rcx, str.explicit_panic
lea r8, [0x140128a40]
mov edx, 0xe
jmp 0x14003bca2
lea rcx, [0x140128940]
lea r8, [0x140128960]
jmp 0x14003bce4
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x140128a00]
mov edx, 0x2b
jmp 0x14003bca2
lea rcx, str._Users_Vadym_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov qword [rsp + 0x30], rcx
mov edx, 4
mov rcx, rax
mov r8, qword [rsp + 0x30]
call fcn.14000c000
jmp case.0x1400390fc.1
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x60], rax
lea rdx, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_slice_sort.rs
jmp 0x14003bd8d
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x60], rax
lea rdx, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_slice_sort.rs
mov rcx, qword [rsp + 0x238]
mov qword [rcx + 8], 1
lea rax, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_sync_atomic.rsthere_is_no_such_thing_as_an_acquire_store
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
call fcn.14000b660
jmp case.0x1400390fc.1
mov rcx, rbx
mov rdx, r13
lea rax, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_slice_sort.rs
mov qword [rsp + 0x158], rax
mov r8, qword [rsp + 0x158]
call fcn.14000ca30
jmp case.0x1400390fc.1
mov rcx, r13
lea rax, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_slice_sort.rs
mov qword [rsp + 0x158], rax
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x158]
call fcn.14000c000
jmp case.0x1400390fc.1
lea rax, str.Index_out_of_bounds
lea rcx, [rsp + 0x60]
mov qword [rcx], rax
mov qword [rcx + 8], 1
lea rax, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_sync_atomic.rsthere_is_no_such_thing_as_an_acquire_store
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_slice_sort.rs
call fcn.14000b660
jmp case.0x1400390fc.1
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_r
lea r8, [0x14015bc08]
mov edx, 0x30
jmp 0x14003bca2
mov qword [rsp + 0x110], r15
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_slice_sort.rs
mov edx, 0x2c
call fcn.14000c3a0
jmp case.0x1400390fc.1
mov r9, r12
lea rax, [0x140128990]
mov qword [rsp + 0x170], rax
jmp 0x14003bedd
mov qword [rsp + 0x110], r15
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_slice_sort.rs
mov rcx, rbx
mov rdx, qword [rsp + 0x178]
call fcn.14000ca30
jmp case.0x1400390fc.1
mov qword [rsp + 0x110], r15
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_slice_sort.rs
mov edx, 0x2b
call fcn.14000c3a0
jmp case.0x1400390fc.1
xor r8d, r8d
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, r12
call fcn.1400107f0
jmp case.0x1400390fc.1
mov rcx, rbx
mov qword [rsp + 0x110], r15
jmp 0x14003bdce
mov rcx, rdx
mov qword [rsp + 0x110], r15
jmp 0x14003bdf2
mov rdx, rax
mov qword [rsp + 0x160], r15
jmp 0x14003b00a
mov r14d, 0x2b
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_slice_sort.rs
jmp 0x14003bce4
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_slice_sort.rs
mov edx, 0x2b
call fcn.14000c3a0
ud2