Function at 0x140047030
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, 0x238
movaps xmmword [rsp + 0x220], xmm6
mov qword [rsp + 0x170], rcx
test r9, r9
je 0x140047193
lea rax, [r8 + r9]
xor ebx, ebx
movaps xmm0, xmmword [0x1401031e0]
mov rcx, r8
movzx r10d, byte [rcx]
test r10b, r10b
js 0x14004707a
inc rcx
jmp 0x1400470eb
mov r11d, r10d
and r11d, 0x1f
movzx edi, byte [rcx + 1]
and edi, 0x3f
cmp r10b, 0xdf
jbe 0x1400470cd
movzx esi, byte [rcx + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp r10b, 0xf0
jb 0x1400470dd
movzx r10d, byte [rcx + 3]
and r11d, 7
shl r11d, 0x12
shl esi, 6
and r10d, 0x3f
or r10d, esi
or r10d, r11d
cmp r10d, 0x110000
je 0x14004714e
add rcx, 4
jmp 0x1400470eb
add rcx, 2
shl r11d, 6
or r11d, edi
mov r10d, r11d
jmp 0x1400470eb
add rcx, 3
shl r11d, 0xc
or esi, r11d
mov r10d, esi
cmp r10d, 0x2e
jne 0x1400470f6
xor r11d, r11d
jmp 0x140047142
test rbx, rbx
jne 0x140047105
cmp r10d, 0x2d
je 0x140047193
mov r11d, 5
cmp rbx, 4
ja 0x14004712f
movups xmmword [rsp + 0x50], xmm0
je 0x140049fdd
cmp r10d, dword [rsp + rbx*4 + 0x50]
jne 0x14004712f
inc rbx
mov r11, rbx
cmp rbx, 4
je 0x140047193
lea esi, [r10 - 0x61]
cmp esi, 0x1a
jb 0x140047142
add r10d, 0xffffffd0
cmp r10d, 0xa
jae 0x140047193
mov rbx, r11
cmp rcx, rax
jne 0x14004706c
mov rcx, qword [rsp + 0x2a0]
mov rdx, r8
mov r8, r9
call fcn.1400f4d80
mov rax, qword [rsp + 0x170]
mov dword [rax + 8], 0
mov qword [rax], 0
movaps xmm6, xmmword [rsp + 0x220]
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rdx + 0x30]
movzx ecx, byte [rdx + 0x34]
xor esi, esi
lea r11, [rsp + 0x30]
add r9, r8
xorps xmm6, xmm6
lea rdi, [rsp + 0x178]
movups xmmword [rdi + 2], xmm6
movzx r10d, word [rdi + 0x10]
lea r13, [rsp + 0x60]
mov word [r13 + 0x86], r10w
movups xmm0, xmmword [rdi]
movups xmmword [r13 + 0x76], xmm0
mov qword [r13 - 0x10], rsi
mov dword [r13], esi
mov word [r13 + 4], si
lea r10, [rsp + 0x68]
mov byte [r10], sil
mov dword [r10 + 4], esi
mov byte [r10 + 8], sil
mov dword [r10 + 0xc], esi
mov byte [r10 + 0x10], sil
mov dword [r10 + 0x14], esi
mov byte [r10 + 0x18], sil
mov dword [r10 + 0x1c], esi
mov qword [r10 + 0x20], r8
mov qword [r10 + 0x28], r9
mov qword [r10 + 0x30], r11
mov qword [r10 + 0x38], rsi
mov byte [r10 + 0x4c], cl
shl rcx, 0x20
or rcx, rax
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x110], rdx
mov qword [rdx + 0x10], rsi
mov dword [r11 + 8], esi
mov qword [r11], rsi
mov rcx, qword [rsp + 0x2a0]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x138], rcx
mov byte [rsp + 0x12b], sil
movups xmmword [rsp + 0x11b], xmm6
mov dword [r10 + 0x48], eax
mov eax, dword [rsp + 0x128]
mov dword [r10 + 0x5d], eax
movups xmm0, xmmword [rsp + 0x118]
movups xmmword [r10 + 0x4d], xmm0
mov dword [r10 + 0x68], esi
lea rax, [rsp + 0xd4]
mov word [rax], si
mov dword [rax + 0x1c], 0x110000
mov byte [rax + 0x20], sil
xor ecx, ecx
mov edx, dword [rsp + 0xd0]
mov r8, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xe8]
movzx r9d, word [rsp + 0xd4]
cmp rcx, 1
jne 0x14004730c
test edx, edx
je 0x1400472d4
cmp rax, r10
jb 0x140047a72
mov qword [rsp + 0xe8], 0
xor r10d, r10d
jmp 0x1400472ff
movzx ecx, r9w
cmp r9w, 5
jae 0x14004a01f
cmp rax, rcx
jb 0x140047a6a
test r9w, r9w
je 0x1400472fc
mov word [rsp + 0xd4], 0
xor r9d, r9d
mov qword [rsp + 0x50], 0
xor ecx, ecx
jmp 0x1400472b0
cmp rcx, 2
jne 0x140047334
test edx, edx
je 0x140047a35
cmp rax, r10
jb 0x140047a50
mov qword [rsp + 0xe8], 0
jmp 0x140047ad7
mov r9, qword [rsp + 0xc0]
test r9, r9
jne 0x140047562
mov dil, byte [rsp + 0xb0]
cmp dil, 2
je 0x1400476a9
mov rax, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
mov bl, byte [rsp + 0xb1]
mov r15, qword [rsp + 0xa8]
test rax, rax
je 0x140047430
cmp rax, r15
je 0x140047424
lea rcx, [rax + 1]
mov qword [rsp + 0xa0], rcx
movzx esi, byte [rax]
test sil, sil
jns 0x1400475a0
mov ecx, esi
and ecx, 0x1f
lea rdx, [rax + 2]
mov qword [rsp + 0xa0], rdx
movzx r8d, byte [rax + 1]
and r8d, 0x3f
cmp sil, 0xdf
jbe 0x1400479b7
lea rdx, [rax + 3]
mov qword [rsp + 0xa0], rdx
movzx edx, byte [rax + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp sil, 0xf0
jb 0x1400479c4
lea r8, [rax + 4]
mov qword [rsp + 0xa0], r8
movzx esi, byte [rax + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and esi, 0x3f
or esi, edx
or esi, ecx
cmp esi, 0x110000
jne case.0x14004752d.0
mov qword [rsp + 0xa0], 0
cmp r12, rbp
je 0x1400476a1
lea rcx, [r12 + 1]
mov qword [rsp + 0x88], rcx
movzx eax, byte [r12]
test al, al
js 0x140047456
mov r12, rcx
mov esi, eax
jmp 0x1400474d2
mov esi, eax
and esi, 0x1f
lea rcx, [r12 + 2]
mov qword [rsp + 0x88], rcx
movzx edx, byte [r12 + 1]
and edx, 0x3f
cmp al, 0xdf
jbe 0x1400474be
lea r8, [r12 + 3]
mov qword [rsp + 0x88], r8
movzx ecx, byte [r12 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp al, 0xf0
jb 0x1400474c8
lea rax, [r12 + 4]
mov qword [rsp + 0x88], rax
movzx edx, byte [r12 + 3]
and esi, 7
shl esi, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
or edx, esi
mov r12, rax
mov esi, edx
jmp 0x1400474d2
shl esi, 6
or esi, edx
mov r12, rcx
jmp 0x1400474d2
shl esi, 0xc
or ecx, esi
mov r12, r8
mov esi, ecx
lea eax, [rsi - 0x2d]
cmp eax, 2
jb 0x1400475a0
cmp esi, 0x110000
je 0x1400476a1
lea eax, [rsi - 0x61]
cmp eax, 0x1a
jb 0x1400475a0
lea eax, [rsi - 0x30]
cmp eax, 0xa
jb 0x1400475a0
mov ecx, esi
call fcn.140046eec
mov rcx, rax
movzx edx, byte [rax]
mov eax, 0
cmp edx, 1
je case.default.0x14004752d
mov eax, edx
lea rdx, [0x1401031f0]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov r8d, dword [rsp + 0x60]
lea rdi, [rsp + 0x68]
jmp 0x14004772b
cmp esi, 0x110000
je 0x1400476a1
cmp byte [rsp + 0xc8], 0
je 0x14004760f
cmp esi, 0x80
jb 0x140047692
lea edi, [rsi - 0xac00]
cmp edi, 0x2ba4
jb 0x140047629
mov ecx, esi
call fcn.1400f4f04
test rax, rax
jne 0x1400475e0
mov ecx, esi
call fcn.1400f4fb4
test rax, rax
je 0x140047692
mov r15, rax
mov r14, rdx
test rdx, rdx
je 0x140047334
shl r14, 2
xor esi, esi
mov edx, dword [r15 + rsi]
mov rcx, r13
call fcn.14004a9a7
add rsi, 4
cmp r14, rsi
jne 0x1400475f5
jmp 0x140047334
cmp esi, 0x80
jb 0x140047692
lea edi, [rsi - 0xac00]
cmp edi, 0x2ba4
jae 0x140047978
mov esi, edi
mov ebp, 0xffff
and esi, ebp
imul ebx, esi, 0x6f75
shr ebx, 0x18
lea edx, [rbx + 0x1100]
mov rcx, r13
call fcn.14004a9a7
imul eax, ebx, 0x24c
mov ecx, edi
sub ecx, eax
and ecx, ebp
imul edx, ecx, 0x925
shr edx, 0x10
add edx, 0x1161
mov rcx, r13
call fcn.14004a9a7
shr esi, 2
imul eax, esi, 0x4925
shr eax, 0x11
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub di, cx
je 0x140047334
add edi, 0x11a7
movzx esi, di
mov rcx, r13
mov edx, esi
call fcn.14004a9a7
jmp 0x140047334
mov byte [rsp + 0xb0], 2
mov r8d, dword [rsp + 0x60]
test r8d, r8d
mov rdx, qword [rsp + 0x78]
movzx eax, word [rsp + 0x64]
mov rcx, rdx
cmove rcx, rax
test rcx, rcx
je 0x140047a89
mov rcx, qword [rsp + 0xc0]
test r8d, r8d
lea rdi, [rsp + 0x68]
je 0x1400476e4
mov r8, qword [rsp + 0x70]
jmp 0x1400476f4
cmp ax, 5
jae 0x14004a069
mov r8, rdi
mov rdx, rax
mov rax, rdx
sub rax, rcx
jb 0x14004a039
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.1400464f4
mov r8d, dword [rsp + 0x60]
test r8d, r8d
je 0x14004771d
mov r9, qword [rsp + 0x78]
jmp 0x140047723
movzx r9d, word [rsp + 0x64]
mov qword [rsp + 0xc0], r9
mov rcx, qword [rsp + 0xb8]
test r8d, r8d
je 0x140047744
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
jmp 0x140047756
movzx eax, word [rsp + 0x64]
cmp rax, 5
jae 0x14004a030
mov rdx, rdi
cmp rax, rcx
jbe 0x140047c9a
mov esi, dword [rdx + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x140047777
test r8d, r8d
je 0x140047784
mov rdx, qword [rsp + 0x78]
jmp 0x140047789
mov qword [rsp + 0xb8], rcx
jmp 0x140047826
movzx edx, word [rsp + 0x64]
sub rdx, r9
je 0x1400477ff
xor ecx, ecx
mov rax, qword [rsp + 0xc0]
add rax, rcx
cmp dword [rsp + 0x60], 0
je 0x1400477b7
mov r9, qword [rsp + 0x78]
cmp r9, rax
jbe 0x140047c44
mov r8, qword [rsp + 0x70]
jmp 0x1400477d3
movzx r9d, word [rsp + 0x64]
cmp r9, 5
jae 0x14004a00b
cmp rax, r9
jae 0x140047c44
mov r8, rdi
cmp r9, rcx
jbe 0x140047c50
mov r9b, byte [r8 + rax*8]
mov eax, dword [r8 + rax*8 + 4]
mov byte [r8 + rcx*8], r9b
mov dword [r8 + rcx*8 + 4], eax
lea rax, [rcx + 1]
mov rcx, rax
cmp rdx, rax
jne 0x140047790
mov r8d, dword [rsp + 0x60]
test r8d, r8d
je 0x140047812
cmp qword [rsp + 0x78], rdx
jb 0x140047821
mov qword [rsp + 0x78], rdx
jmp 0x140047821
movzx eax, word [rsp + 0x64]
cmp rdx, rax
jae 0x140047821
mov word [rsp + 0x64], dx
movups xmmword [r13 + 0x58], xmm6
imul eax, esi, 0x9e3779b9
imul ecx, esi, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1f
and eax, 0xfffffffe
lea rdx, [0x14016d996]
movzx eax, word [rax + rdx]
add eax, esi
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1e
and eax, 0xfffffffc
lea rcx, [0x14016e0cc]
mov r14d, dword [rax + rcx]
mov eax, r14d
shr eax, 8
cmp eax, esi
mov eax, 0
cmovne r14d, eax
mov r15d, dword [rsp + 0xf0]
cmp r15d, 0x110000
jne 0x1400478a7
test r14b, r14b
jne 0x140047a62
mov dword [rsp + 0xf0], esi
jmp 0x140047334
cmp byte [rsp + 0xf4], 0
je 0x1400478ce
cmp byte [rsp + 0xf5], r14b
jae 0x1400478f5
mov ecx, r15d
mov edx, esi
call fcn.1400f505e
cmp eax, 0x110000
je 0x1400478fe
jmp 0x1400478e9
mov ecx, r15d
mov edx, esi
call fcn.1400f505e
cmp eax, 0x110000
jne 0x1400478e9
test r14b, r14b
jne 0x1400478fe
jmp 0x140047c38
mov dword [rsp + 0xf0], eax
jmp 0x140047334
test r14b, r14b
je 0x140047c12
cmp dword [rsp + 0xd0], 0
je 0x140047944
mov rdx, qword [rsp + 0xe8]
cmp rdx, qword [rsp + 0xd8]
jne 0x14004792f
lea rcx, [rsp + 0xd8]
call fcn.14004a715
mov rdx, qword [rsp + 0xe8]
mov rax, qword [rsp + 0xe0]
mov dword [rax + rdx*4], esi
inc qword [rsp + 0xe8]
jmp 0x140047963
movzx eax, word [rsp + 0xd4]
cmp rax, 3
ja 0x1400479d0
mov dword [rsp + rax*4 + 0xd8], esi
inc eax
mov word [rsp + 0xd4], ax
mov byte [rsp + 0xf4], 1
mov byte [rsp + 0xf5], r14b
jmp 0x140047334
mov ecx, esi
call fcn.1400f4fb4
test rax, rax
je 0x140047692
mov r15, rdx
test rdx, rdx
je 0x140047334
mov r14, rax
shl r15, 2
xor esi, esi
mov edx, dword [r14 + rsi]
mov rcx, r13
call fcn.14004a9a7
add rsi, 4
cmp r15, rsi
jne 0x14004799d
jmp 0x140047334
shl ecx, 6
or ecx, r8d
mov esi, ecx
jmp 0x1400475a0
shl ecx, 0xc
or edx, ecx
mov esi, edx
jmp 0x1400475a0
lea rcx, [rsp + 0x178]
lea rdx, [rsp + 0xd4]
mov r8d, esi
call fcn.140046b94
cmp dword [rsp + 0xd0], 0
je 0x140047a13
cmp qword [rsp + 0xd8], 0
je 0x140047a13
mov r8, qword [rsp + 0xe0]
mov rcx, qword [0x14019e0f8]
xor edx, edx
call fcn.1400fdef8
movups xmm0, xmmword [rsp + 0x178]
movups xmm1, xmmword [rsp + 0x188]
movups xmmword [r13 + 0x80], xmm1
movups xmmword [r13 + 0x70], xmm0
jmp 0x140047963
movzx ecx, r9w
cmp cx, 5
jae 0x14004a01f
lea r8, [rsp + 0xd8]
cmp rax, rcx
jae 0x140047ac7
mov r15d, dword [r8 + rax*4]
inc rax
mov qword [rsp + 0x50], 2
jmp 0x140047a82
mov r15d, esi
jmp 0x140047af4
lea r8, [rsp + 0xd8]
mov r15d, dword [r8 + rax*4]
inc rax
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], rax
jmp 0x140047af4
mov qword [rsp + 0x50], 2
mov qword [rsp + 0x58], 0
mov r15d, dword [rsp + 0xf0]
mov ecx, 2
mov eax, 0
cmp r15d, 0x110000
je 0x140047290
mov dword [rsp + 0xf0], 0x110000
jmp 0x140047af4
test r9w, r9w
je 0x140047ad7
mov word [rsp + 0xd4], 0
mov r15d, dword [rsp + 0xf0]
mov eax, 0x110000
mov dword [rsp + 0xf0], eax
cmp r15d, eax
je 0x140047c5f
cmp r15d, 0x80
jae 0x140047b2e
mov rsi, qword [rsp + 0x110]
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi]
jne 0x140047b1a
mov rcx, rsi
call fcn.1400f4e75
mov rdx, qword [rsi + 0x10]
mov rax, qword [rsi + 8]
mov byte [rax + rdx], r15b
inc rdx
mov qword [rsi + 0x10], rdx
jmp 0x140047c03
mov dword [rsp + 0x178], 0
mov eax, r15d
cmp r15d, 0x800
jae 0x140047b6c
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x178], al
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + 0x179], r15b
mov r8d, 2
jmp 0x140047bee
cmp r15d, 0x10000
jae 0x140047baa
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x178], al
mov eax, r15d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x179], al
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + 0x17a], r15b
mov r8d, 3
jmp 0x140047bee
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x178], al
mov eax, r15d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x179], al
mov eax, r15d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x17a], al
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + 0x17b], r15b
mov r8d, 4
mov rcx, qword [rsp + 0x110]
lea rdx, [rsp + 0x178]
call fcn.1400f4d80
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
jmp 0x140047290
mov dword [rsp + 0xf0], esi
mov byte [rsp + 0xf4], 0
mov qword [rsp + 0x50], 1
mov qword [rsp + 0x58], 0
jmp 0x140047af4
mov dword [rsp + 0xf0], esi
jmp 0x140047af4
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_decompose.rs0
mov rcx, rax
jmp 0x140047c57
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_decompose.rs0
mov rdx, r9
call fcn.14001a4d0
cmp dword [rsp + 0x60], 0
je 0x140047ca9
cmp qword [rsp + 0x68], 0
mov rsi, qword [rsp + 0x110]
mov r13, qword [rsp + 0x100]
je 0x140047cb9
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x14019e0f8]
xor edx, edx
call fcn.1400fdef8
mov edx, dword [rsp + 0xd0]
jmp 0x140047cb9
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_decompose.rs0
mov rdx, rax
call fcn.14001a4d0
mov rsi, qword [rsp + 0x110]
mov r13, qword [rsp + 0x100]
test edx, edx
je 0x140047cde
cmp qword [rsp + 0xd8], 0
je 0x140047cde
mov r8, qword [rsp + 0xe0]
mov rcx, qword [0x14019e0f8]
xor edx, edx
call fcn.1400fdef8
movabs r12, 0x8080808080808080
xor edx, edx
lea rax, [rsp + 0x118]
mov qword [rax], rdx
mov qword [rax + 8], 8
mov qword [rax + 0x10], rdx
mov rax, r13
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
lea r8, [rsp + 0x178]
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
xorps xmm6, xmm6
xor ebx, ebx
lea rcx, [rsp + 0x178]
call fcn.14004d620
test rax, rax
je 0x140049311
mov rsi, rax
mov r15, rdx
test dil, 1
mov rcx, qword [rsp + 0x2a0]
jne 0x140047db1
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx]
jne 0x140047da2
call fcn.1400f4e75
mov rcx, qword [rsp + 0x2a0]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [rcx + 0x10], rdx
cmp r15, 4
jb 0x140047dce
mov eax, dword [rsi]
bswap eax
xor ecx, ecx
xor edx, edx
cmp eax, 0x786e2d2d
setb cl
seta dl
cmp ecx, edx
je 0x140047e0d
test bl, 1
jne 0x140047de0
mov rcx, rsi
mov rdx, r15
call fcn.14004a1c8
mov ebx, eax
mov rcx, rsi
mov rdx, r15
mov r8, r13
lea r9, [rsp + 0x30]
call fcn.14004a284
mov rcx, qword [rsp + 0x2a0]
mov rdx, rsi
mov r8, r15
call fcn.1400f4d80
xor edi, edi
jmp 0x140047d5e
add rsi, 4
add r15, 0xfffffffffffffffc
mov qword [rsp + 0x128], 0
mov r14, r15
mov qword [rsp + 0xf8], rbx
mov cl, 0x2d
mov rdx, rsi
mov r8, r14
call fcn.140020550
cmp rax, 1
jne 0x140047e53
mov r14, rdx
cmp rdx, r15
jae 0x140047e4e
cmp byte [rsi + r14], 0x2d
je 0x140047eba
cmp r14, r15
jbe 0x140047e2c
lea rdi, [0x14018ced8]
xor r14d, r14d
mov rbx, r15
mov rcx, r14
cmp r14, 8
jb 0x140047ea5
lea rdx, [rdi + 7]
and rdx, 0xfffffffffffffff8
mov rax, rdx
sub rax, rdi
mov rcx, r14
cmp rax, r14
ja 0x140047ea5
test qword [rdi], r12
jne 0x140047eee
cmp rdx, rdi
mov ecx, 8
cmove rax, rcx
lea rcx, [r14 - 8]
cmp rax, rcx
jae 0x140047ee8
test qword [rdi + rax], r12
jne 0x140047eee
add rax, 8
jmp 0x140047e94
mov rax, rcx
sub rax, 1
jb 0x140047f04
cmp byte [rdi + rcx - 1], 0
mov rcx, rax
jns 0x140047ea5
jmp 0x140047eee
test r14, r14
je 0x1400483ad
lea r8, [r14 + 1]
mov rbx, r15
sub rbx, r8
jbe 0x140047eda
cmp byte [rsi + r8], 0xbf
jle 0x14004a139
add r8, rsi
mov rdi, rsi
mov rsi, r8
jmp 0x140047e60
test qword [rdi + rcx], r12
je 0x140047f04
mov byte [rsp + 0x30], 1
mov bl, 1
xor edi, edi
mov r13, qword [rsp + 0x100]
jmp 0x140047d5e
test rbx, rbx
je 0x14004816f
add rbx, rsi
xor edx, edx
mov r13d, 0x48
mov dword [rsp + 0x28], pe_nt_image_headers64
mov eax, r14d
mov dword [rsp + 0x48], r14d
xor ebp, ebp
mov qword [rsp + 0x40], rdx
lea r9d, [r13 + 0x1a]
inc rsi
mov r10d, r13d
neg r10d
mov r11d, 1
mov r15d, 0x24
mov ecx, ebp
mov al, byte [rsi - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jae 0x140047f5b
add al, 0xea
mov edx, eax
jmp 0x140047f6b
lea edx, [rax - 0x41]
cmp dl, 0x1a
jb 0x140047f6b
add al, 0x9f
mov edx, eax
cmp al, 0x19
ja 0x140047eee
test r11d, r11d
je 0x140049ff3
movzx r8d, dl
mov eax, ecx
not eax
xor edx, edx
div r11d
cmp eax, r8d
jb 0x140047eee
mov eax, r11d
imul eax, r8d
add ecx, eax
lea eax, [r10 + r15]
cmp r15d, r9d
mov edx, 0x1a
cmovae eax, edx
cmp r15d, r13d
mov edx, 1
cmovbe eax, edx
cmp eax, r8d
ja 0x140047fe0
mov r8d, 0x24
sub r8d, eax
mov eax, r8d
mul r11d
jo 0x140047eee
cmp rsi, rbx
je 0x140047eee
add r15d, 0x24
imul r11d, r8d
inc rsi
jmp 0x140047f4a
mov r10d, dword [rsp + 0x48]
inc r10d
je 0x140049fcd
mov eax, ecx
sub eax, ebp
test ebp, ebp
mov r8d, 2
mov edx, 0x2bc
cmove r8d, edx
xor r13d, r13d
xor edx, edx
div r8d
mov r8d, eax
xor edx, edx
div r10d
add eax, r8d
cmp eax, 0x1c8
mov r9d, 0xd41d41d5
jb 0x140048050
xor r13d, r13d
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 r13d, 0x24
cmp eax, 0x3e57
mov eax, r8d
ja 0x140048026
jmp 0x140048053
mov r8d, eax
lea eax, [r8*4]
lea eax, [rax + rax*8]
add r8d, 0x26
xor edx, edx
div r8w
mov r15d, eax
mov eax, ecx
xor edx, edx
mov dword [rsp + 0x48], r10d
div r10d
add dword [rsp + 0x28], eax
jb 0x140047eee
cmp dword [rsp + 0x28], 0x110000
je 0x140047eee
mov eax, dword [rsp + 0x28]
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x140047eee
mov ebp, edx
mov r10, qword [rsp + 0x120]
mov r12d, edx
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x1400480e1
mov rax, rdx
shl rax, 4
xor ecx, ecx
mov r8, qword [r10 + rcx]
cmp r8, r12
jb 0x1400480d8
inc r8
mov qword [r10 + rcx], r8
add rcx, 0x10
cmp rax, rcx
jne 0x1400480c8
cmp rdx, qword [rsp + 0x118]
jne 0x14004810a
lea rcx, [rsp + 0x118]
call fcn.14004a8e8
mov r10, qword [rsp + 0x120]
mov r8, qword [rsp + 0x128]
jmp 0x14004810d
mov r8, rdx
movzx eax, r15w
add r13d, eax
mov rax, r8
shl rax, 4
mov qword [r10 + rax], r12
mov ecx, dword [rsp + 0x28]
mov dword [r10 + rax + 8], ecx
lea rdx, [r8 + 1]
mov qword [rsp + 0x128], rdx
inc ebp
cmp rsi, rbx
movabs r12, 0x8080808080808080
jne 0x140047f2a
cmp rdx, 0x15
jae 0x140048cc7
cmp rdx, 1
jbe 0x140048177
mov r8d, 1
mov rcx, r10
mov rsi, r10
call fcn.14004a839
mov r10, rsi
jmp 0x140048177
mov r10, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x2a0]
mov rbx, qword [rsp + 0x128]
lea r8, [rbx + r14]
mov rax, qword [rcx]
mov rsi, qword [rcx + 0x10]
sub rax, rsi
cmp rax, r8
mov qword [rsp + 0x28], r10
jb 0x140048cb5
add r14, rdi
xor r15d, r15d
xor r12d, r12d
mov r13, qword [rsp + 0x100]
mov rcx, r15
shl rcx, 4
add rcx, r10
mov rax, rdi
cmp r15, rbx
jae 0x1400481cf
cmp qword [rcx], r12
je 0x140048279
mov rdx, r14
cmp rax, r14
je 0x140048231
movzx ebp, byte [rax]
test bpl, bpl
jns 0x14004823e
mov edx, ebp
and edx, 0x1f
movzx r9d, byte [rax + 1]
and r9d, 0x3f
cmp bpl, 0xdf
jbe 0x140048251
movzx r8d, byte [rax + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp bpl, 0xf0
jb 0x140048262
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 rdi, rax
mov rdx, rax
cmp ebp, 0x110000
jne 0x140048274
mov rax, rdx
cmp r15, rbx
jb 0x1400481c1
jmp 0x140048372
inc rax
inc r12
mov rdi, rax
mov rcx, qword [rsp + 0x2a0]
jmp 0x140048292
add rax, 2
shl edx, 6
or edx, r9d
mov rdi, rax
mov ebp, edx
jmp 0x14004827f
add rax, 3
shl edx, 0xc
or r8d, edx
mov rdi, rax
mov ebp, r8d
jmp 0x14004827f
mov rdi, rax
jmp 0x14004827f
inc r15
mov ebp, dword [rcx + 8]
inc r12
cmp ebp, 0x80
mov rcx, qword [rsp + 0x2a0]
jae 0x1400482c5
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx]
jne 0x1400482b1
call fcn.1400f4e75
mov r10, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x2a0]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx + 8]
mov byte [rax + rdx], bpl
inc rdx
mov qword [rcx + 0x10], rdx
jmp 0x1400481b4
mov dword [rsp + 0x50], 0
mov eax, ebp
cmp ebp, 0x800
jae 0x1400482f5
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x50], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x51], bpl
mov r8d, 2
jmp 0x14004835e
cmp ebp, 0x10000
jae 0x140048328
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x50], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x51], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x52], bpl
mov r8d, 3
jmp 0x14004835e
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x50], al
mov eax, ebp
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x51], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x52], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x53], bpl
mov r8d, 4
lea rdx, [rsp + 0x50]
call fcn.1400f4d80
mov r10, qword [rsp + 0x28]
jmp 0x1400481b4
mov rax, qword [rsp + 0x2a0]
mov r14, qword [rax + 8]
mov rdx, qword [rax + 0x10]
test rsi, rsi
je 0x1400483b5
mov rbp, rdx
sub rbp, rsi
movabs r12, 0x8080808080808080
mov rbx, qword [rsp + 0xf8]
jbe 0x1400483cc
cmp byte [r14 + rsi], 0xbf
jg 0x1400483d2
jmp 0x14004a11f
mov rdi, rsi
jmp 0x140047e5a
mov rbp, rdx
movabs r12, 0x8080808080808080
mov rbx, qword [rsp + 0xf8]
jmp 0x1400483d2
jne 0x14004a11f
add r14, rsi
test bl, 1
jne 0x1400483e7
mov rcx, r14
mov rdx, rbp
call fcn.14004a1c8
mov ebx, eax
mov al, byte [rsp + 0x31]
or al, byte [rsp + 0x30]
or al, byte [rsp + 0x32]
or al, byte [rsp + 0x33]
or al, byte [rsp + 0x34]
or al, byte [rsp + 0x35]
or al, byte [rsp + 0x36]
or al, byte [rsp + 0x37]
or al, byte [rsp + 0x38]
or al, byte [rsp + 0x39]
or al, byte [rsp + 0x3a]
xor edi, edi
or al, byte [rsp + 0x3b]
jne 0x140047d5e
lea rsi, [r14 + rbp]
xor edx, edx
mov rax, r14
xor ecx, ecx
mov r8d, edx
cmp rax, rsi
je 0x140048ad7
mov edx, ecx
movzx r9d, byte [rax]
test r9b, r9b
js 0x140048446
inc rax
jmp 0x1400484b9
mov ecx, r9d
and ecx, 0x1f
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp r9b, 0xdf
jbe 0x14004849d
movzx r10d, byte [rax + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r9b, 0xf0
jb 0x1400484ac
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 0x140048ad7
add rax, 4
jmp 0x1400484b9
add rax, 2
shl ecx, 6
or ecx, r11d
mov r9d, ecx
jmp 0x1400484b9
add rax, 3
shl ecx, 0xc
or r10d, ecx
mov r9d, r10d
xor ecx, ecx
cmp r9d, 0x80
jb 0x14004842d
imul ecx, r9d, 0x9e3779b9
imul r10d, r9d, 0x31415926
xor ecx, r10d
imul rcx, rcx, 0x39a
shr rcx, 0x1f
and ecx, 0xfffffffe
lea r11, [0x14016d996]
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, [0x14016e0cc]
mov ecx, dword [rcx + r10]
mov r10d, ecx
shr r10d, 8
cmp r10d, r9d
mov r10d, 0
cmovne ecx, r10d
cmp dl, cl
jbe 0x140048538
test cl, cl
jne 0x140048c8a
lea edx, [r9 - 0x340]
cmp edx, 4
ja 0x14004854d
cmp edx, 2
jne 0x140048c8a
mov dl, 2
cmp r9d, 0x102d
jg 0x1400485b3
cmp r9d, 0xc55
jle 0x140048609
cmp r9d, 0xf42
jle 0x140048777
lea r10d, [r9 - 0xf43]
cmp r10d, 0x3e
ja 0x140048593
movabs r11, 0x4021004002108401
bt r11, r10
jb 0x140048c8a
lea r10d, [r9 - 0xf93]
cmp r10d, 0x26
ja 0x1400488be
movabs r11, 0x4002108401
jmp 0x14004869f
cmp r9d, 0x2125
jg 0x14004864d
cmp r9d, 0x1fba
jg 0x1400486ae
lea r10d, [r9 - 0x1f71]
cmp r10d, 0xc
ja 0x1400485ea
mov r11d, 0x1555
bt r11d, r10d
jb 0x140048c8a
cmp r9d, 0x102e
je 0x14004842a
cmp r9d, 0x1b35
jne 0x1400488be
jmp 0x14004842a
cmp r9d, 0x9d6
jg 0x1400486e1
cmp r9d, 0x373
jg 0x1400487b3
lea r10d, [r9 - 0x30f]
cmp r10d, 0x36
ja 0x1400488be
movabs r11, 0x48020000001005
bt r11, r10
jb 0x14004842a
jmp 0x1400488be
cmp r9d, 0x110b9
jg 0x14004872e
cmp r9d, 0xfa0f
jle 0x14004882b
lea r10d, [r9 - 0xfa10]
cmp r10d, 0x12
ja 0x140048684
mov r11d, 0x50005
bt r11d, r10d
jb 0x140048c8a
lea r10d, [r9 - 0xfb1d]
cmp r10d, 0x21
ja 0x1400488be
movabs r11, 0x200000005
bt r11, r10
jb 0x140048c8a
jmp 0x1400488be
lea r10d, [r9 - 0x1fbe]
cmp r10d, 0x3f
ja 0x1400486cf
movabs r11, 0xa800202020202801
bt r11, r10
jb 0x140048c8a
cmp r9d, 0x1fbb
jne 0x1400488be
jmp 0x140048c8a
cmp r9d, 0xb3d
jg 0x1400487ef
lea r10d, [r9 - 0xa33]
cmp r10d, 0x2b
ja 0x14004870f
movabs r11, 0x80000000009
bt r11, r10
jb 0x140048c8a
cmp r9d, 0x9d7
je 0x14004842a
cmp r9d, 0x9df
jne 0x1400488be
jmp 0x140048c8a
cmp r9d, 0x114af
jle 0x140048857
lea r10d, [r9 - 0x114b0]
cmp r10d, 0xd
ja 0x140048758
mov r11d, 0x2401
bt r11d, r10d
jb 0x14004842a
cmp r9d, 0x115af
je 0x14004842a
cmp r9d, 0x11930
jne 0x1400488be
jmp 0x14004842a
cmp r9d, 0xd56
jle 0x14004887c
lea r10d, [r9 - 0xdca]
cmp r10d, 0x15
ja 0x1400487a1
mov r11d, 0x200021
bt r11d, r10d
jb 0x14004842a
cmp r9d, 0xd57
jne 0x1400488be
jmp 0x14004842a
lea r10d, [r9 - 0x374]
cmp r10d, 0x13
ja 0x1400487d0
mov r11d, 0x80401
bt r11d, r10d
jb 0x140048c8a
cmp r9d, 0x93c
je 0x14004842a
cmp r9d, 0x9be
jne 0x1400488be
jmp 0x14004842a
lea r10d, [r9 - 0xb3e]
cmp r10d, 0x19
ja 0x14004880c
mov r11d, 0x3000001
bt r11d, r10d
jb 0x14004842a
cmp r9d, 0xbbe
je 0x14004842a
cmp r9d, 0xbd7
jne 0x1400488be
jmp 0x14004842a
lea r10d, [r9 - 0x2329]
cmp r10d, 2
jb 0x140048c8a
cmp r9d, 0x2126
je 0x140048c8a
cmp r9d, 0x2adc
jne 0x1400488be
jmp 0x140048c8a
cmp r9d, 0x1133d
jg 0x1400488a4
cmp r9d, 0x110ba
je 0x14004842a
cmp r9d, 0x11127
je 0x14004842a
jmp 0x1400488be
cmp r9d, 0xc56
je 0x14004842a
cmp r9d, 0xcc2
je 0x14004842a
cmp r9d, 0xd3e
jne 0x1400488be
jmp 0x14004842a
cmp r9d, 0x1133e
je 0x14004842a
cmp r9d, 0x11357
je 0x14004842a
lea r10d, [r9 - 0x2f800]
cmp r10d, 0x21e
jb 0x140048c8a
lea r10d, [r9 - 0x1d1bb]
cmp r10d, 6
jb 0x140048c8a
lea r10d, [r9 - 0x1d15e]
cmp r10d, 7
jb 0x140048c8a
lea r10d, [r9 - 0xfb46]
cmp r10d, 9
jb 0x140048c8a
lea r10d, [r9 - 0xfb43]
cmp r10d, 2
jb 0x140048c8a
mov r10d, r9d
and r10d, 0xfffffffe
cmp r10d, 0xfb40
je 0x140048c8a
lea r11d, [r9 - 0xfb38]
cmp r11d, 5
jb 0x140048c8a
lea r11d, [r9 - 0xfb2a]
cmp r11d, 0xd
jb 0x140048c8a
lea r11d, [r9 - 0xfa70]
cmp r11d, 0x6a
jb 0x140048c8a
lea r11d, [r9 - 0xfa2a]
cmp r11d, 0x44
jb 0x140048c8a
lea r11d, [r9 - 0xfa25]
cmp r11d, 2
jb 0x140048c8a
lea r11d, [r9 - 0xfa15]
cmp r11d, 0xa
jb 0x140048c8a
lea r11d, [r9 - 0xf900]
cmp r11d, 0x10e
jb 0x140048c8a
cmp r10d, 0x212a
je 0x140048c8a
cmp r10d, 0x2000
je 0x140048c8a
cmp r10d, 0x1fee
je 0x140048c8a
lea r11d, [r9 - 0xf75]
cmp r11d, 2
jb 0x140048c8a
cmp r10d, 0xb5c
je 0x140048c8a
lea r11d, [r9 - 0xa59]
cmp r11d, 3
jb 0x140048c8a
mov r11d, r9d
and r11d, 0xfffffff8
cmp r11d, 0x958
je 0x140048c8a
cmp r10d, 0x9dc
je 0x140048c8a
lea r11d, [r9 - 0x3099]
cmp r11d, 2
jb 0x14004842a
lea r11d, [r9 - 0x11a8]
cmp r11d, 0x1b
jb 0x14004842a
lea r11d, [r9 - 0x1161]
cmp r11d, 0x15
jb 0x14004842a
lea r11d, [r9 - 0xcd5]
cmp r11d, 2
jb 0x14004842a
lea r11d, [r9 - 0x653]
cmp r11d, 3
jb 0x14004842a
cmp r10d, 0x330
je 0x14004842a
lea r10d, [r9 - 0x32d]
cmp r10d, 2
jb 0x14004842a
lea r10d, [r9 - 0x323]
cmp r10d, 6
jb 0x14004842a
lea r10d, [r9 - 0x313]
cmp r10d, 2
jb 0x14004842a
lea r10d, [r9 - 0x300]
cmp r10d, 5
jb 0x14004842a
add r9d, 0xfffffcfa
cmp r9d, 7
jae 0x14004842d
jmp 0x14004842a
test r8b, r8b
je 0x140048c96
mov qword [rsp + 0xf8], rbx
lea rcx, [rsp + 0x98]
movups xmmword [rcx], xmm6
lea rax, [rsp + 0x210]
movups xmmword [rax], xmm6
movzx eax, word [rsp + 0x21e]
mov word [rcx + 0x2e], ax
movups xmm0, xmmword [rsp + 0x20e]
movups xmmword [rcx + 0x1e], xmm0
mov qword [rsp + 0x50], 0
xor eax, eax
mov dword [rsp + 0x60], eax
mov word [rsp + 0x64], ax
mov byte [rsp + 0x68], al
mov dword [rsp + 0x6c], eax
mov byte [rsp + 0x70], al
mov dword [rsp + 0x74], eax
mov byte [rsp + 0x78], al
mov dword [rsp + 0x7c], eax
mov byte [rsp + 0x80], al
mov dword [rsp + 0x84], eax
mov qword [rsp + 0x88], r14
mov qword [rsp + 0x90], rsi
mov byte [rsp + 0xa8], al
mov dword [rsp + 0xb0], eax
mov word [rsp + 0xb4], ax
mov dword [rsp + 0xd0], 0x110000
mov byte [rsp + 0xd4], al
mov rdi, r14
cmp rdi, rsi
je 0x140048c1a
movzx ebx, byte [rdi]
test bl, bl
js 0x140048ba0
inc rdi
jmp 0x140048bfc
mov eax, ebx
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp bl, 0xdf
jbe 0x140048be4
movzx ecx, byte [rdi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bl, 0xf0
jb 0x140048bf1
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 0x140048c1a
add rdi, 4
jmp 0x140048bfc
add rdi, 2
shl eax, 6
or eax, edx
mov ebx, eax
jmp 0x140048bfc
add rdi, 3
shl eax, 0xc
or ecx, eax
mov ebx, ecx
lea rcx, [rsp + 0x50]
call fcn.140045e53
mov r15b, 1
cmp eax, 0x110000
je 0x140048c30
cmp eax, ebx
je 0x140048b8b
jmp 0x140048c30
lea rcx, [rsp + 0x50]
call fcn.140045e53
cmp eax, 0x110000
setne r15b
neg r15b
cmp dword [rsp + 0x60], 0
je 0x140048c52
cmp qword [rsp + 0x68], 0
je 0x140048c52
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x14019e0f8]
xor edx, edx
call fcn.1400fdef8
cmp dword [rsp + 0xb0], 0
mov rbx, qword [rsp + 0xf8]
je 0x140048c85
cmp qword [rsp + 0xb8], 0
je 0x140048c85
mov r8, qword [rsp + 0xc0]
mov rcx, qword [0x14019e0f8]
xor edx, edx
call fcn.1400fdef8
test r15b, r15b
je 0x140048c96
mov byte [rsp + 0x35], 1
xor edi, edi
jmp 0x140047d5e
mov rcx, r14
mov rdx, rbp
mov r8, qword [rsp + 0x1d8]
lea r9, [rsp + 0x30]
call fcn.14004a284
xor edi, edi
jmp 0x140047d5e
mov rdx, rsi
call fcn.1400ad3df
mov r10, qword [rsp + 0x28]
jmp 0x1400481a3
mov rsi, r8
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x40], rdx
lea rdx, [rdx*8]
movabs rax, 0x7ffffffffffffff0
and rdx, rax
mov al, byte [0x14019e160]
xor ecx, ecx
call fcn.1400ddfb0
test rax, rax
je 0x14004a1af
mov r12, rax
mov al, byte [0x14019e160]
mov edx, 0x100
xor ecx, ecx
call fcn.1400ddfb0
test rax, rax
je 0x14004a1bb
mov rbp, rax
mov eax, 1
sub rax, rsi
mov qword [rsp + 0x160], rax
mov r10, qword [rsp + 0x28]
lea rax, [r10 + 0x20]
mov qword [rsp + 0x158], rax
lea rax, [r10 + 8]
mov qword [rsp + 0x1c8], rax
lea rax, [r10 - 8]
mov qword [rsp + 0x1c0], rax
lea rax, [r10 - 0x10]
mov qword [rsp + 0x1d0], rax
mov eax, 0x10
mov qword [rsp + 0x168], rax
xor r13d, r13d
xor r15d, r15d
mov qword [rsp + 0x108], rdi
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x130], r12
mov rbx, rdx
sub rbx, r15
mov rax, r15
shl rax, 4
lea rcx, [r10 + rax]
cmp rbx, 2
jae 0x140048dac
mov r8, rbx
jmp 0x140048ed0
mov r9, qword [rcx + 0x10]
cmp r9, qword [rcx]
jae 0x140048e84
mov r8d, 2
cmp rbx, 2
je 0x140048e09
mov rdx, qword [rsp + 0x160]
lea r10, [rdx + r15]
mov rdx, qword [rsp + 0x158]
lea r11, [rdx + rax]
mov rsi, r9
mov r9, qword [r11]
cmp r9, rsi
jae 0x140048dff
lea rsi, [r10 + r8]
inc rsi
inc r8
add r11, 0x10
cmp rsi, 2
jne 0x140048ddd
mov r8, rbx
mov r10, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x40]
mov r9, r8
add r9, r15
jb 0x14004a18e
mov rbx, r9
cmp r9, rdx
ja 0x14004a1a0
cmp r8, 2
jb 0x140048ed4
mov rdx, r8
shr rdx, 1
add rax, qword [rsp + 0x1c8]
mov r9, rbx
shl r9, 4
add r9, qword [rsp + 0x1c0]
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 0x140048e48
mov rdi, qword [rsp + 0x108]
mov r10, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x40]
jmp 0x140048ed4
mov r8d, 2
cmp rbx, 2
je 0x140048ed0
mov rdx, qword [rsp + 0x160]
lea r10, [rdx + r15]
add rax, qword [rsp + 0x158]
mov r11, r9
mov r9, qword [rax]
cmp r9, r11
jb 0x140048ec6
lea r11, [r10 + r8]
inc r11
inc r8
add rax, 0x10
cmp r11, 2
jne 0x140048ea4
mov r8, rbx
mov r10, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x40]
lea rbx, [r8 + r15]
mov rsi, rbx
sub rsi, r15
jb 0x14004a153
cmp rbx, rdx
ja 0x14004a153
jae 0x140048f29
cmp r8, 0xa
jae 0x140048f29
lea rsi, [r15 + 0xa]
cmp rsi, rdx
cmovae rsi, rdx
mov qword [rsp + 0x150], rsi
sub rsi, r15
jb 0x14004a16b
cmp r8, 1
adc r8, 0
mov rdx, rsi
call fcn.14004a839
mov r10, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x40]
jmp 0x140048f31
mov qword [rsp + 0x150], rbx
mov rbx, qword [rsp + 0x168]
cmp r13, rbx
jne 0x140048fac
mov qword [rsp + 0x48], r15
mov rdx, rbx
shl rdx, 5
mov al, byte [0x14019e160]
xor ecx, ecx
call fcn.1400ddfb0
test rax, rax
je 0x14004a182
mov r15, rax
lea rdi, [rbx + rbx]
shl rbx, 4
mov rcx, rax
mov rdx, rbp
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov rcx, qword [0x14019e0f8]
xor edx, edx
mov r8, rbp
call fcn.1400fdef8
mov rbp, r15
mov qword [rsp + 0x168], rdi
mov rdi, qword [rsp + 0x108]
mov r10, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov rax, r13
shl rax, 4
mov qword [rbp + rax], rsi
mov qword [rbp + rax + 8], r15
inc r13
mov rax, r13
cmp r13, 2
mov qword [rsp + 0x1e0], rbp
jb 0x1400492d4
mov r13, rax
lea rsi, [rax - 1]
mov rcx, rsi
shl rcx, 4
mov rax, qword [rbp + rcx]
mov rcx, qword [rbp + rcx + 8]
add rcx, rax
cmp rcx, rdx
je 0x140049042
mov r11, r13
shl r11, 4
mov r8, qword [r11 + rbp - 0x20]
cmp r8, rax
jbe 0x140049042
cmp r13, 2
jbe 0x1400492d4
lea r15, [r13 - 3]
mov rcx, r15
shl rcx, 4
mov rcx, qword [rbp + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x140049058
cmp r13, 3
jbe 0x1400492d4
add r8, rcx
cmp qword [r11 + rbp - 0x40], r8
jbe 0x140049058
jmp 0x1400492d4
cmp r13, 3
jb 0x14004905d
lea r15, [r13 - 3]
mov rcx, r15
shl rcx, 4
mov rcx, qword [rbp + rcx]
cmp rcx, rax
jb 0x140049061
lea r15, [r13 - 2]
cmp r13, r15
jbe 0x14004a07d
lea r9, [r15 + 1]
mov qword [rsp + 0x48], r13
cmp r13, r9
jbe 0x14004a0b2
mov rax, r15
shl rax, 4
mov rcx, qword [rbp + rax + 8]
shl r9, 4
mov r8, qword [rbp + r9]
mov r13, qword [rbp + r9 + 8]
add r13, r8
mov r12, r13
sub r12, rcx
jb 0x14004a0e7
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x148], rsi
cmp r13, rdx
ja 0x14004a0f6
mov qword [rsp + 0x1f8], r8
lea rdx, [rax + rbp]
mov qword [rsp + 0x1f0], rdx
mov rbx, qword [rbp + rax]
add r9, rbp
mov qword [rsp + 0x1e8], r9
mov qword [rsp + 0x200], rcx
mov r15, rcx
shl r15, 4
add r15, r10
mov rsi, rbx
shl rsi, 4
lea rbp, [r15 + rsi]
shl r13, 4
mov rdi, r12
sub rdi, rbx
cmp rdi, rbx
jae 0x1400491af
mov rsi, rdi
shl rsi, 4
mov r12, qword [rsp + 0x130]
mov rcx, r12
mov rdx, rbp
mov r8, rsi
call sub.msvcrt.dll_memcpy
add rsi, r12
test rbx, rbx
jle 0x14004922d
test rdi, rdi
jle 0x14004922d
add r13, qword [rsp + 0x1d0]
mov rdi, qword [rsp + 0x108]
mov rax, rbp
mov rcx, rsi
mov rdx, qword [rsi - 0x10]
mov r8, qword [rbp - 0x10]
cmp rdx, r8
mov ebp, 0
sbb rbp, rbp
cmp rdx, r8
mov esi, 0
adc rsi, 0xffffffffffffffff
shl rbp, 4
add rbp, rax
shl rsi, 4
add rsi, rcx
cmp rdx, r8
mov rax, rsi
cmovb rax, rbp
movups xmm0, xmmword [rax]
movups xmmword [r13], xmm0
cmp rbp, r15
jbe 0x1400491a7
add r13, 0xfffffffffffffff0
cmp rsi, r12
ja 0x140049154
mov r15, rbp
jmp 0x14004924f
mov rdi, qword [rsp + 0x130]
mov rcx, rdi
mov rdx, r15
mov r8, rsi
call sub.msvcrt.dll_memcpy
add rsi, rdi
test rbx, rbx
jle 0x140049232
cmp r12, rbx
mov rdi, qword [rsp + 0x108]
jle 0x140049247
add r13, qword [rsp + 0x28]
mov r12, qword [rsp + 0x130]
mov rdx, r12
mov r8, rdx
mov rcx, qword [rbp]
xor edx, edx
xor eax, eax
cmp rcx, qword [r8]
setae dl
setb cl
mov r9, r8
cmovb r9, rbp
movups xmm0, xmmword [r9]
movups xmmword [r15], xmm0
add r15, 0x10
shl rdx, 4
add rdx, r8
cmp rdx, rsi
jae 0x140049252
mov al, cl
shl rax, 4
add rbp, rax
cmp rbp, r13
jb 0x1400491ea
jmp 0x140049252
mov r15, rbp
jmp 0x14004923a
mov r12, qword [rsp + 0x130]
mov rdx, r12
mov rdi, qword [rsp + 0x108]
jmp 0x140049252
mov r12, qword [rsp + 0x130]
mov rdx, r12
sub rsi, rdx
mov rcx, r15
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x1f8]
add rax, rbx
mov rcx, qword [rsp + 0x1e8]
mov qword [rcx], rax
mov rax, qword [rsp + 0x200]
mov qword [rcx + 8], rax
mov rcx, qword [rsp + 0x1f0]
lea rdx, [rcx + 0x10]
mov rax, qword [rsp + 0x140]
not rax
mov r8, qword [rsp + 0x48]
add r8, rax
shl r8, 4
call sub.msvcrt.dll_memmove
mov rax, qword [rsp + 0x148]
cmp rax, 1
mov r10, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x1e0]
ja 0x140048fd5
mov r13d, 1
mov r15, qword [rsp + 0x150]
cmp r15, rdx
jb 0x140048d8d
mov rcx, qword [0x14019e0f8]
xor edx, edx
mov r8, rbp
call fcn.1400fdef8
mov rcx, qword [0x14019e0f8]
xor edx, edx
mov r8, r12
call fcn.1400fdef8
mov r10, qword [rsp + 0x28]
jmp 0x140048177
mov rax, qword [rsp + 0x2a0]
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x10]
mov rax, rdx
mov r8, qword [rsp + 0x138]
test r8, r8
je 0x140049353
mov rax, rdx
sub rax, r8
jbe 0x140049351
cmp byte [rcx + r8], 0xbf
jg 0x140049353
lea rax, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov qword [rsp + 0x20], rax
jmp 0x14004a131
jne 0x140049340
mov qword [rsp + 0x100], rdx
add rcx, r8
xor edx, edx
lea r14, [rsp + 0x50]
mov qword [r14], rdx
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], rcx
mov qword [r14 + 0x18], rax
mov qword [r14 + 0x20], rdx
mov qword [r14 + 0x28], rax
mov qword [r14 + 0x30], 1
movabs rax, 0x2e0000002e
mov qword [r14 + 0x38], rax
mov word [r14 + 0x40], 1
mov r12d, 1
mov rcx, r14
call fcn.14004d620
test rax, rax
je 0x14004974a
test bl, 1
je 0x14004939f
mov r13, rdx
test rdx, rdx
je 0x14004939f
mov r15, rax
movzx ecx, byte [rax]
test cl, cl
js 0x1400493cd
lea rbp, [r15 + 1]
jmp 0x140049430
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [r15 + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x140049417
movzx edx, byte [r15 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x140049425
movzx ecx, byte [r15 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x14004939f
lea rbp, [r15 + 4]
jmp 0x140049430
lea rbp, [r15 + 2]
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x140049430
lea rbp, [r15 + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r13, r15
call fcn.1400f4eab
test al, al
je 0x1400494f4
movzx eax, al
cmp eax, 0x11
je 0x1400494f4
cmp eax, 9
jne 0x140049745
cmp rbp, r13
je 0x1400495ac
movzx ecx, byte [rbp]
test cl, cl
js 0x14004946b
inc rbp
jmp 0x1400494d0
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbp + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x1400494b7
movzx edx, byte [rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x1400494c5
movzx ecx, byte [rbp + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x1400495ac
add rbp, 4
jmp 0x1400494d0
add rbp, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x1400494d0
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1400f4eab
cmp al, 0xe
ja 0x140049745
movzx eax, al
mov ecx, 0x62f8
bt rcx, rax
jb 0x140049455
jmp 0x140049745
cmp rbp, r13
je 0x1400495bb
xor edi, edi
xor esi, esi
movzx ecx, byte [rbp]
test cl, cl
js 0x14004950e
inc rbp
jmp 0x14004956f
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbp + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x140049556
movzx edx, byte [rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x140049564
movzx ecx, byte [rbp + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x1400495bf
add rbp, 4
jmp 0x14004956f
add rbp, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x14004956f
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1400f4eab
cmp al, 5
jne 0x14004957d
mov sil, 1
jmp 0x1400495a1
cmp al, 1
movzx edi, dil
cmove edi, r12d
cmp al, 0x11
ja 0x140049745
movzx eax, al
mov ecx, 0x260fb
bt rcx, rax
jae 0x140049745
cmp rbp, r13
jne 0x140049501
jmp 0x1400495bf
movzx ebp, byte [r13 - 1]
test bpl, bpl
js 0x1400495f8
dec r13
jmp 0x140049614
xor esi, esi
xor edi, edi
movzx ebp, byte [r13 - 1]
test bpl, bpl
js 0x1400495d1
dec r13
jmp 0x1400496a7
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x14004970f
movzx ecx, byte [r13 - 3]
cmp cl, 0xbf
jle 0x1400496e1
add r13, 0xfffffffffffffffd
and ecx, 0xf
jmp 0x1400496f5
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x14004967b
movzx ecx, byte [r13 - 3]
cmp cl, 0xbf
jle 0x14004964a
add r13, 0xfffffffffffffffd
and ecx, 0xf
jmp 0x14004965e
mov ecx, ebp
call fcn.1400f4eab
cmp al, 0xd
jne 0x140049684
cmp r13, r15
je 0x14004939f
movzx ebp, byte [r13 - 1]
test bpl, bpl
js 0x140049637
dec r13
jmp 0x14004966e
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x14004967b
movzx ecx, byte [r13 - 3]
cmp cl, 0xc0
jge 0x14004960b
movzx edx, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and ebp, 0x3f
or ebp, eax
cmp ebp, 0x110000
jne 0x140049614
jmp 0x14004939f
add r13, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x140049666
mov ecx, ebp
call fcn.1400f4eab
cmp al, 9
je 0x14004939f
mov ecx, ebp
call fcn.1400f4eab
cmp al, 5
je 0x14004939f
jmp 0x140049745
mov ecx, ebp
call fcn.1400f4eab
cmp al, 0xd
jne 0x140049718
cmp r13, r15
je 0x140049745
movzx ebp, byte [r13 - 1]
test bpl, bpl
js 0x1400496ca
dec r13
jmp 0x140049705
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x14004970f
movzx ecx, byte [r13 - 3]
cmp cl, 0xc0
jge 0x1400495ec
movzx edx, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and edx, 7
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or eax, ecx
shl eax, 6
and ebp, 0x3f
or ebp, eax
cmp ebp, 0x110000
jne 0x1400496a7
jmp 0x140049745
add r13, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x1400496fd
mov ecx, ebp
call fcn.1400f4eab
cmp al, 0x11
ja 0x140049745
movzx eax, al
mov ecx, 0x20023
bt rcx, rax
jae 0x140049745
test dil, 1
je 0x14004939f
and sil, 1
je 0x14004939f
mov byte [rsp + 0x32], 1
mov al, byte [rsp + 0x30]
mov byte [rsp + 0x140], al
lea rcx, [rsp + 0x31]
mov rax, qword [rcx]
mov qword [rsp + 0x178], rax
mov eax, dword [rcx + 7]
mov dword [rsp + 0x17f], eax
cmp qword [rsp + 0x118], 0
mov rsi, qword [rsp + 0x2a0]
mov rcx, qword [rsp + 0x100]
je 0x1400497a4
mov r8, qword [rsp + 0x120]
mov rcx, qword [0x14019e0f8]
xor edx, edx
call fcn.1400fdef8
mov rcx, qword [rsi + 0x10]
call fcn.1400f4dd8
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x50], xmm0
mov rcx, qword [rsi + 0x10]
mov qword [rsp + 0x60], rcx
mov qword [rsi], rax
mov qword [rsi + 8], rdx
mov qword [rsi + 0x10], 0
mov rdi, qword [rsp + 0x110]
lea rsi, [rdi + 0x18]
cmp qword [rdi + 0x18], 0
je 0x1400497ee
mov r8, qword [rdi + 0x20]
mov rcx, qword [0x14019e0f8]
xor edx, edx
call fcn.1400fdef8
lea r8, [rsp + 0x50]
mov rax, qword [r8 + 0x10]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [r8]
movups xmmword [rsi], xmm0
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 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 dil, 1
lea rcx, [rsp + 0x50]
call fcn.14004d620
test rax, rax
je 0x140049f89
mov r14, rax
mov rsi, rdx
test dil, 1
movabs rdi, 0x8080808080808080
jne 0x14004989d
mov rcx, qword [rsp + 0x2a0]
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx]
jne 0x14004988e
call fcn.1400f4e75
mov rcx, qword [rsp + 0x2a0]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [rcx + 0x10], rdx
mov rcx, rsi
cmp rsi, 8
jb 0x1400498e9
lea rdx, [r14 + 7]
and rdx, 0xfffffffffffffff8
mov rax, rdx
sub rax, r14
mov rcx, rsi
cmp rax, rsi
ja 0x1400498e9
test qword [r14], rdi
je 0x140049903
mov rcx, qword [rsp + 0x2a0]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x148], rax
mov r8d, 4
lea rdx, str.xn__
call fcn.1400f4d80
jmp 0x14004995f
mov rax, rcx
sub rax, 1
jb 0x140049a55
cmp byte [r14 + rcx - 1], 0
mov rcx, rax
jns 0x1400498e9
jmp 0x14004992e
cmp rdx, r14
mov ecx, 8
cmove rax, rcx
lea rcx, [rsi - 8]
cmp rax, rcx
jae 0x140049924
test qword [r14 + rax], rdi
jne 0x14004992e
add rax, 8
jmp 0x140049913
test qword [r14 + rcx], rdi
je 0x140049a55
mov rcx, qword [rsp + 0x2a0]
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x148], rax
mov r8d, 4
lea rdx, str.xn__
call fcn.1400f4d80
xor edi, edi
test rsi, rsi
je 0x140049843
mov r15, r14
add r15, rsi
xor esi, esi
xor ebp, ebp
mov rdi, r14
movzx ebx, byte [rdi]
test bl, bl
js 0x140049978
inc rdi
jmp 0x1400499d8
mov eax, ebx
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp bl, 0xdf
jbe 0x1400499c0
movzx ecx, byte [rdi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bl, 0xf0
jb 0x1400499cd
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 0x140049f79
add rdi, 4
jmp 0x1400499d8
add rdi, 2
shl eax, 6
or eax, edx
mov ebx, eax
jmp 0x1400499d8
add rdi, 3
shl eax, 0xc
or ecx, eax
mov ebx, ecx
mov r13d, esi
inc r13d
je 0x140049f2f
mov rcx, qword [rsp + 0x2a0]
cmp ebx, 0x7f
ja 0x140049a1b
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx]
jne 0x140049a0b
call fcn.1400f4e75
mov rcx, qword [rsp + 0x2a0]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx + 8]
mov byte [rax + rdx], bl
inc rdx
mov qword [rcx + 0x10], rdx
inc ebp
inc esi
cmp rdi, r15
jne 0x14004996c
test ebp, ebp
je 0x140049a6f
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx]
jne 0x140049a44
call fcn.1400f4e75
mov rcx, qword [rsp + 0x2a0]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx + 8]
mov byte [rax + rdx], 0x2d
inc rdx
mov qword [rcx + 0x10], rdx
jmp 0x140049a71
mov rcx, qword [rsp + 0x2a0]
mov rdx, r14
mov r8, rsi
call fcn.1400f4d80
xor edi, edi
jmp 0x140049843
xor ebp, ebp
xor r8d, r8d
mov edi, 0
cmp ebp, r13d
jae 0x140049843
mov r12d, 0x48
mov eax, pe_nt_image_headers64
mov ebx, ebp
mov qword [rsp + 0x138], r14
mov qword [rsp + 0xf8], r15
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x48], r13d
mov rcx, r14
cmp rcx, r15
je 0x14004a05d
movzx esi, byte [rcx]
test sil, sil
js 0x140049ac1
inc rcx
jmp 0x140049b2e
mov edx, esi
and edx, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp sil, 0xdf
jbe 0x140049b13
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp sil, 0xf0
jb 0x140049b21
movzx esi, byte [rcx + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and esi, 0x3f
or esi, r9d
or esi, edx
cmp esi, 0x110000
je 0x14004a05d
add rcx, 4
jmp 0x140049b2e
add rcx, 2
shl edx, 6
or edx, r10d
mov esi, edx
jmp 0x140049b2e
add rcx, 3
shl edx, 0xc
or r9d, edx
mov esi, r9d
cmp eax, esi
ja 0x140049aab
jmp 0x140049b6b
add rcx, 4
jmp 0x140049b5c
add rcx, 2
shl r9d, 6
or r9d, r11d
mov edx, r9d
jmp 0x140049b5c
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
cmp esi, edx
mov r9d, edx
cmovb r9d, esi
cmp eax, edx
cmovbe esi, r9d
cmp rcx, r15
je 0x140049bcb
movzx edx, byte [rcx]
test dl, dl
js 0x140049b7c
inc rcx
jmp 0x140049b5c
mov r9d, edx
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x140049b3e
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x140049b4e
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 0x140049b38
mov edi, esi
sub edi, eax
lea ecx, [rbx + 1]
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp edi, eax
ja 0x140049f2f
imul edi, ecx
add edi, r8d
mov rcx, r14
movzx eax, byte [rcx]
test al, al
js 0x140049bf8
inc rcx
jmp 0x140049c62
mov r9, rcx
mov ecx, eax
and ecx, 0x1f
movzx r8d, byte [r9 + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x140049c46
movzx edx, byte [r9 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x140049c54
movzx eax, byte [r9 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
je 0x140049f27
add r9, 4
jmp 0x140049c5f
add r9, 2
shl ecx, 6
or ecx, r8d
mov eax, ecx
jmp 0x140049c5f
add r9, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov rcx, r9
cmp eax, esi
jae 0x140049c6e
inc edi
je 0x140049f2f
cmp eax, esi
jne 0x140049e0d
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x110], rbx
lea ebx, [r12 + 0x1a]
lea ecx, [r12 - 0x24]
neg ecx
cmp ebx, 0x25
mov eax, 0x1a
cmovb ecx, eax
cmp r12d, 0x24
mov eax, 1
cmovae ecx, eax
mov ebp, edi
cmp edi, ecx
jb 0x140049d9a
mov r14d, r12d
neg r14d
mov r13d, 0x48
mov ebp, edi
mov r8d, ecx
sub r8d, 0x24
je 0x140049fb5
sub ebp, ecx
neg r8d
mov eax, ebp
xor edx, edx
div r8d
add edx, ecx
mov r15d, 0x61
mov ebp, eax
cmp edx, 0x1a
jb 0x140049cf8
mov r15d, 0x16
cmp edx, 0x24
jae 0x14004a045
add r15d, edx
cmp r15d, 0x80
mov rcx, qword [rsp + 0x2a0]
jae 0x140049d37
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx]
jne 0x140049d26
call fcn.1400f4e75
mov rcx, qword [rsp + 0x2a0]
mov rdx, qword [rcx + 0x10]
mov rax, qword [rcx + 8]
mov byte [rax + rdx], r15b
inc rdx
mov qword [rcx + 0x10], rdx
jmp 0x140049d74
mov dword [rsp + 0x118], 0
mov eax, r15d
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x118], al
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + 0x119], r15b
mov r8d, 2
lea rdx, [rsp + 0x118]
call fcn.1400f4d80
lea ecx, [r14 + r13]
cmp r13d, ebx
mov eax, 0x1a
cmovae ecx, eax
cmp r13d, r12d
mov eax, 1
cmovbe ecx, eax
add r13d, 0x24
cmp ebp, ecx
jae 0x140049cc1
mov ebx, 0x61
cmp ebp, 0x1a
mov rcx, qword [rsp + 0x2a0]
jb 0x140049dba
mov ebx, 0x16
cmp ebp, 0x24
jae 0x14004a045
add ebx, ebp
cmp ebx, 0x80
jae 0x140049e18
mov rdx, qword [rcx + 0x10]
cmp rdx, qword [rcx]
jne 0x140049dde
call fcn.1400f4e75
mov rcx, qword [rsp + 0x2a0]
mov rdx, qword [rcx + 0x10]
mov r11d, 0xd41d41d5
mov r14, qword [rsp + 0x138]
mov r15, qword [rsp + 0xf8]
mov ebp, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x48]
mov rax, qword [rcx + 8]
mov byte [rax + rdx], bl
inc rdx
mov qword [rcx + 0x10], rdx
jmp 0x140049e70
mov r9d, ebx
mov r8d, edi
jmp 0x140049f04
mov dword [rsp + 0x118], 0
mov eax, ebx
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x118], al
and bl, 0x3f
or bl, 0x80
mov byte [rsp + 0x119], bl
mov r8d, 2
lea rdx, [rsp + 0x118]
call fcn.1400f4d80
mov r11d, 0xd41d41d5
mov r14, qword [rsp + 0x138]
mov r15, qword [rsp + 0xf8]
mov ebp, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x48]
mov rax, qword [rsp + 0x110]
mov r9d, eax
inc r9d
je 0x140049fcd
cmp eax, ebp
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r8d, r8d
mov eax, edi
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div r9d
add eax, ecx
xor ecx, ecx
cmp eax, 0x1c8
jb 0x140049ed7
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 0x140049eae
jmp 0x140049eda
mov r10d, eax
lea eax, [r10*4]
lea eax, [rax + rax*8]
add r10d, 0x26
xor edx, edx
div r10w
movzx r12d, ax
add r12d, ecx
mov edi, r8d
mov ebx, r9d
mov rcx, qword [rsp + 0x100]
cmp rcx, r15
jne 0x140049bec
inc r8d
inc esi
xor edi, edi
mov eax, esi
mov ebx, r9d
cmp r9d, r13d
jb 0x140049aa8
jmp 0x140049843
mov r9d, ebx
mov r8d, edi
jmp 0x140049f0d
mov rcx, qword [rsp + 0x2a0]
mov rax, qword [rcx + 0x10]
mov byte [rsp + 0x140], 1
xor edi, edi
mov rdx, qword [rsp + 0x148]
cmp rax, rdx
jb 0x140049843
test rdx, rdx
je 0x140049f6e
cmp rax, rdx
jbe 0x140049f6e
mov rax, qword [rcx + 8]
cmp byte [rax + rdx], 0xbf
jle 0x14004a107
mov qword [rcx + 0x10], rdx
xor edi, edi
jmp 0x140049843
mov r13d, esi
mov rcx, qword [rsp + 0x2a0]
jmp 0x140049a26
mov rcx, qword [rsp + 0x170]
mov al, byte [rsp + 0x140]
mov byte [rcx], al
mov rax, qword [rsp + 0x178]
mov qword [rcx + 1], rax
mov eax, dword [rsp + 0x17f]
mov dword [rcx + 8], eax
jmp 0x140047177
lea rcx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero
lea r8, [0x140148800]
mov edx, 0x39
call fcn.14001b470
lea rcx, str.attempt_to_divide_by_zero
lea r8, [0x1401487a0]
jmp 0x14004a001
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov ecx, 4
mov edx, 4
call fcn.14001a4d0
lea rcx, str.attempt_to_divide_by_zero
lea r8, [0x1401487d0]
mov edx, 0x19
call fcn.14001b470
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, r9
call fcn.14001b0d0
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
call fcn.14001b0d0
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
jmp 0x14004a070
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_unicode_normalization_0.1.23_src_decompose.rs0
call fcn.14001a450
lea rcx, str.explicit_panic
lea r8, [0x140148818]
mov edx, 0xe
call fcn.14001b470
lea rcx, [0x1401487e8]
call fcn.14001e660
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
call fcn.14001b0d0
lea rax, [0x1401645f0]
lea rcx, [rsp + 0x50]
mov qword [rcx], rax
mov qword [rcx + 8], 1
lea rax, [0x14018ced8]
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str._rustc_7cf61ebde7b22796c69757901dd346d0fe70bd97librarycore_src_slice_sort.rs
call fcn.14001a1d0
lea rax, [0x1401645f0]
lea rcx, [rsp + 0x50]
mov qword [rcx], rax
mov qword [rcx + 8], 1
lea rax, [0x14018ced8]
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str._rustc_7cf61ebde7b22796c69757901dd346d0fe70bd97librarycore_src_slice_sort.rs
call fcn.14001a1d0
lea r8, str._rustc_7cf61ebde7b22796c69757901dd346d0fe70bd97librarycore_src_slice_sort.rs
mov rdx, r13
call fcn.14001bb10
lea r8, str._rustc_7cf61ebde7b22796c69757901dd346d0fe70bd97librarycore_src_slice_sort.rs
mov rcx, r13
call fcn.14001b0d0
ud2
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_
lea r8, [0x14018c500]
mov edx, 0x30
call fcn.14001b470
lea rax, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov qword [rsp + 0x20], rax
mov rcx, r14
mov r8, rsi
mov r9, rdx
call fcn.14001f890
lea rax, [0x1401487b8]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov rdx, r15
mov r9, r15
call fcn.14001f890
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str._rustc_7cf61ebde7b22796c69757901dd346d0fe70bd97librarycore_src_slice_sort.rs
mov edx, 0x2c
call fcn.14001b470
lea r8, str._rustc_7cf61ebde7b22796c69757901dd346d0fe70bd97librarycore_src_slice_sort.rs
mov rcx, r15
mov rdx, qword [rsp + 0x150]
call fcn.14001bb10
lea rcx, str._rustc_7cf61ebde7b22796c69757901dd346d0fe70bd97librarycore_src_slice_sort.rs
call fcn.14001e660
lea r8, str._rustc_7cf61ebde7b22796c69757901dd346d0fe70bd97librarycore_src_slice_sort.rs
mov rcx, r15
mov rdx, r9
call fcn.14001bb10
lea r8, str._rustc_7cf61ebde7b22796c69757901dd346d0fe70bd97librarycore_src_slice_sort.rs
mov rcx, rbx
call fcn.14001b0d0
lea rcx, str._rustc_7cf61ebde7b22796c69757901dd346d0fe70bd97librarycore_src_slice_sort.rs
call fcn.14001e660
lea rcx, str._rustc_7cf61ebde7b22796c69757901dd346d0fe70bd97librarycore_src_slice_sort.rs
call fcn.14001e660
int3