Function at 0x14006f6b4
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 + 0x58], rdx
mov rbx, rcx
test r9, r9
je 0x14006f80f
lea rax, [r8 + r9]
xor edx, edx
movaps xmm0, xmmword [0x140131fb0]
mov rcx, r8
movzx r10d, byte [rcx]
test r10b, r10b
js 0x14006f6fe
inc rcx
jmp 0x14006f76f
mov r11d, r10d
and r11d, 0x1f
movzx edi, byte [rcx + 1]
and edi, 0x3f
cmp r10b, 0xdf
jbe 0x14006f751
movzx esi, byte [rcx + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp r10b, 0xf0
jb 0x14006f761
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 0x14006f7d2
add rcx, 4
jmp 0x14006f76f
add rcx, 2
shl r11d, 6
or r11d, edi
mov r10d, r11d
jmp 0x14006f76f
add rcx, 3
shl r11d, 0xc
or esi, r11d
mov r10d, esi
cmp r10d, 0x2e
jne 0x14006f77a
xor r11d, r11d
jmp 0x14006f7c6
test rdx, rdx
jne 0x14006f789
cmp r10d, 0x2d
je 0x14006f80f
mov r11d, 5
cmp rdx, 4
ja 0x14006f7b3
movups xmmword [rsp + 0x60], xmm0
je 0x1400726c1
cmp r10d, dword [rsp + rdx*4 + 0x60]
jne 0x14006f7b3
inc rdx
mov r11, rdx
cmp rdx, 4
je 0x14006f80f
lea edx, [r10 - 0x61]
cmp edx, 0x1a
jb 0x14006f7c6
add r10d, 0xffffffd0
cmp r10d, 0xa
jae 0x14006f80f
mov rdx, r11
cmp rcx, rax
jne 0x14006f6f0
mov rcx, qword [rsp + 0x2a0]
mov rdx, r8
mov r8, r9
call fcn.14011891e
mov dword [rbx + 8], 0
mov qword [rbx], 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 qword [rsp + 0x200], rbx
mov r11, qword [rsp + 0x58]
mov eax, dword [r11 + 0x30]
movzx ecx, byte [r11 + 0x34]
xor esi, esi
lea rdx, [rsp + 0x48]
add r9, r8
xorps xmm6, xmm6
lea rdi, [rsp + 0x180]
movups xmmword [rdi + 2], xmm6
movzx r10d, word [rdi + 0x10]
lea r12, [rsp + 0x70]
mov word [r12 + 0x86], r10w
movups xmm0, xmmword [rdi]
movups xmmword [r12 + 0x76], xmm0
mov qword [r12 - 0x10], rsi
mov dword [r12], esi
mov word [r12 + 4], si
lea r10, [rsp + 0x78]
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], rdx
mov qword [r10 + 0x38], rsi
mov byte [r10 + 0x4c], cl
shl rcx, 0x20
or rcx, rax
mov qword [rsp + 0x138], rcx
mov qword [r11 + 0x10], rsi
mov dword [rdx + 8], esi
mov qword [rdx], rsi
mov rcx, qword [rsp + 0x2a0]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x150], rcx
movups xmmword [rsp + 0x113], xmm6
mov byte [rsp + 0x123], sil
mov dword [r10 + 0x48], eax
mov eax, dword [rsp + 0x120]
mov dword [r10 + 0x5d], eax
movups xmm0, xmmword [rsp + 0x110]
movups xmmword [r10 + 0x4d], xmm0
mov dword [r10 + 0x68], esi
lea rax, [rsp + 0xe4]
mov word [rax], si
mov dword [rax + 0x1c], 0x110000
mov byte [rax + 0x20], sil
xor ecx, ecx
mov edx, dword [rsp + 0xe0]
mov r8, qword [rsp + 0xf0]
mov r10, qword [rsp + 0xf8]
movzx r9d, word [rsp + 0xe4]
cmp rcx, 1
jne 0x14006f992
test edx, edx
je 0x14006f95a
cmp rax, r10
jb 0x140070110
mov qword [rsp + 0xf8], 0
xor r10d, r10d
jmp 0x14006f985
movzx ecx, r9w
cmp r9w, 5
jae 0x1400726f7
cmp rax, rcx
jb 0x140070108
test r9w, r9w
je 0x14006f982
mov word [rsp + 0xe4], 0
xor r9d, r9d
mov qword [rsp + 0x60], 0
xor ecx, ecx
jmp 0x14006f936
cmp rcx, 2
jne 0x14006f9ba
test edx, edx
je 0x1400700d3
cmp rax, r10
jb 0x1400700ee
mov qword [rsp + 0xf8], 0
jmp 0x140070175
mov r9, qword [rsp + 0xd0]
test r9, r9
jne 0x14006fbe1
mov dil, byte [rsp + 0xc0]
cmp dil, 2
je 0x14006fd1e
mov rax, qword [rsp + 0xb0]
mov r14, qword [rsp + 0x98]
mov r13, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
mov bpl, byte [rsp + 0xc1]
mov r15, qword [rsp + 0xb8]
test rax, rax
je 0x14006fab7
cmp rax, r15
je 0x14006faab
lea rcx, [rax + 1]
mov qword [rsp + 0xb0], rcx
movzx esi, byte [rax]
test sil, sil
jns 0x14006fc16
mov ecx, esi
and ecx, 0x1f
lea rdx, [rax + 2]
mov qword [rsp + 0xb0], rdx
movzx r8d, byte [rax + 1]
and r8d, 0x3f
cmp sil, 0xdf
jbe 0x140070053
lea rdx, [rax + 3]
mov qword [rsp + 0xb0], rdx
movzx edx, byte [rax + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp sil, 0xf0
jb 0x140070060
lea r8, [rax + 4]
mov qword [rsp + 0xb0], 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.0x14006fbac.0
mov qword [rsp + 0xb0], 0
cmp r14, r13
je 0x14006fd16
lea rcx, [r14 + 1]
mov qword [rsp + 0x98], rcx
movzx eax, byte [r14]
test al, al
js 0x14006fadb
mov r14, rcx
mov esi, eax
jmp 0x14006fb51
mov esi, eax
and esi, 0x1f
lea rcx, [r14 + 2]
mov qword [rsp + 0x98], rcx
movzx edx, byte [r14 + 1]
and edx, 0x3f
cmp al, 0xdf
jbe 0x14006fb3d
lea r8, [r14 + 3]
mov qword [rsp + 0x98], r8
movzx ecx, byte [r14 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp al, 0xf0
jb 0x14006fb47
lea rax, [r14 + 4]
mov qword [rsp + 0x98], rax
movzx edx, byte [r14 + 3]
and esi, 7
shl esi, 0x12
shl ecx, 6
and edx, 0x3f
or edx, ecx
or edx, esi
mov r14, rax
mov esi, edx
jmp 0x14006fb51
shl esi, 6
or esi, edx
mov r14, rcx
jmp 0x14006fb51
shl esi, 0xc
or ecx, esi
mov r14, r8
mov esi, ecx
lea eax, [rsi - 0x2d]
cmp eax, 2
jb 0x14006fc16
cmp esi, 0x110000
je 0x14006fd16
lea eax, [rsi - 0x61]
cmp eax, 0x1a
jb 0x14006fc16
lea eax, [rsi - 0x30]
cmp eax, 0xa
jb 0x14006fc16
mov ecx, esi
call fcn.14006f566
mov rcx, rax
movzx edx, byte [rax]
mov eax, 0
cmp edx, 1
je case.default.0x14006fbac
mov eax, edx
lea rdx, [0x140131fc0]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov r8d, dword [rsp + 0x70]
lea rdi, [rsp + 0x78]
jmp 0x14006fda9
cmp esi, 0x110000
je 0x14006fd16
cmp byte [rsp + 0xd8], 0
je 0x14006fc84
cmp esi, 0x80
jb 0x14006fd07
lea edi, [rsi - 0xac00]
cmp edi, 0x2ba4
jb 0x14006fc9e
mov ecx, esi
call fcn.140118976
test rax, rax
jne 0x14006fc56
mov ecx, esi
call fcn.140118a20
test rax, rax
je 0x14006fd07
mov rbx, rax
mov r15, rdx
test rdx, rdx
je 0x14006f9ba
shl r15, 2
xor esi, esi
mov edx, dword [rbx + rsi]
mov rcx, r12
call fcn.14006f36a
add rsi, 4
cmp r15, rsi
jne 0x14006fc6b
jmp 0x14006f9ba
cmp esi, 0x80
jb 0x14006fd07
lea edi, [rsi - 0xac00]
cmp edi, 0x2ba4
jae 0x140070015
mov esi, edi
mov ebp, 0xffff
and esi, ebp
imul ebx, esi, 0x6f75
shr ebx, 0x18
lea edx, [rbx + 0x1100]
mov rcx, r12
call fcn.14006f36a
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, r12
call fcn.14006f36a
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 0x14006f9ba
add edi, 0x11a7
movzx esi, di
mov rcx, r12
mov edx, esi
call fcn.14006f36a
jmp 0x14006f9ba
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 0x140070127
mov rcx, qword [rsp + 0xd0]
test r8d, r8d
lea rdi, [rsp + 0x78]
je 0x14006fd5f
mov r8, qword [rsp + 0x80]
jmp 0x14006fd6f
cmp ax, 5
jae 0x140072741
mov r8, rdi
mov rdx, rax
mov rax, rdx
sub rax, rcx
jb 0x140072711
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.14006eb8f
mov r8d, dword [rsp + 0x70]
test r8d, r8d
je 0x14006fd9b
mov r9, qword [rsp + 0x88]
jmp 0x14006fda1
movzx r9d, word [rsp + 0x74]
mov qword [rsp + 0xd0], r9
mov rcx, qword [rsp + 0xc8]
test r8d, r8d
je 0x14006fdc8
mov rdx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
jmp 0x14006fdda
movzx eax, word [rsp + 0x74]
cmp rax, 5
jae 0x140072708
mov rdx, rdi
cmp rcx, rax
jae 0x14007031b
mov esi, dword [rdx + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x14006fdfe
test r8d, r8d
je 0x14006fe0b
mov rdx, qword [rsp + 0x88]
jmp 0x14006fe10
mov qword [rsp + 0xc8], rcx
jmp 0x14006feba
movzx edx, word [rsp + 0x74]
sub rdx, r9
je 0x14006fe8c
xor ecx, ecx
mov rax, qword [rsp + 0xd0]
add rax, rcx
cmp dword [rsp + 0x70], 0
je 0x14006fe44
mov r9, qword [rsp + 0x88]
cmp rax, r9
jae 0x1400702ca
mov r8, qword [rsp + 0x80]
jmp 0x14006fe60
movzx r9d, word [rsp + 0x74]
cmp r9, 5
jae 0x1400726e3
cmp rax, r9
jae 0x1400702ca
mov r8, rdi
cmp rcx, r9
jae 0x1400702d6
mov r9d, dword [r8 + rax*8 + 4]
mov al, byte [r8 + rax*8]
mov byte [r8 + rcx*8], al
mov dword [r8 + rcx*8 + 4], r9d
lea rax, [rcx + 1]
mov rcx, rax
cmp rdx, rax
jne 0x14006fe17
mov r8d, dword [rsp + 0x70]
test r8d, r8d
je 0x14006fea5
cmp qword [rsp + 0x88], rdx
jb 0x14006feb4
mov qword [rsp + 0x88], rdx
jmp 0x14006feb4
movzx eax, word [rsp + 0x74]
cmp rdx, rax
jae 0x14006feb4
mov word [rsp + 0x74], dx
movups xmmword [r12 + 0x58], xmm6
imul eax, esi, 0x9e3779b9
imul ecx, esi, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rdx, [0x14019f678]
movzx eax, word [rdx + rax*2]
add eax, esi
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x20
lea rcx, [0x14019fdac]
mov ebx, dword [rcx + rax*4]
mov eax, ebx
shr eax, 8
cmp eax, esi
mov eax, 0
cmovne ebx, eax
mov r15d, dword [rsp + 0x100]
cmp r15d, 0x110000
jne 0x14006ff31
test bl, bl
jne 0x140070100
mov dword [rsp + 0x100], esi
jmp 0x14006f9ba
cmp byte [rsp + 0x104], 0
je 0x14006ff57
cmp byte [rsp + 0x105], bl
jae 0x14006ff7d
mov ecx, r15d
mov edx, esi
call fcn.140118aca
cmp eax, 0x110000
je 0x14006ff85
jmp 0x14006ff71
mov ecx, r15d
mov edx, esi
call fcn.140118aca
cmp eax, 0x110000
jne 0x14006ff71
test bl, bl
jne 0x14006ff85
jmp 0x1400702be
mov dword [rsp + 0x100], eax
jmp 0x14006f9ba
test bl, bl
je 0x140070298
cmp dword [rsp + 0xe0], 0
je 0x14006ffcb
mov rax, qword [rsp + 0xf8]
cmp rax, qword [rsp + 0xe8]
jne 0x14006ffb6
lea rcx, [rsp + 0xe8]
call fcn.14006adfc
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
mov dword [rcx + rax*4], esi
inc qword [rsp + 0xf8]
jmp 0x14006ffee
movzx eax, word [rsp + 0xe4]
cmp rax, 3
ja 0x14007006c
mov dword [rsp + rax*4 + 0xe8], esi
inc eax
mov word [rsp + 0xe4], ax
mov byte [rsp + 0x104], 1
mov byte [rsp + 0x105], bl
jmp 0x14006f9ba
mov ecx, esi
call fcn.140118a20
test rax, rax
je 0x14006fd07
mov r15, rdx
test rdx, rdx
je 0x14006f9ba
mov rbx, rax
shl r15, 2
xor esi, esi
mov edx, dword [rbx + rsi]
mov rcx, r12
call fcn.14006f36a
add rsi, 4
cmp r15, rsi
jne 0x14007003a
jmp 0x14006f9ba
shl ecx, 6
or ecx, r8d
mov esi, ecx
jmp 0x14006fc16
shl ecx, 0xc
or edx, ecx
mov esi, edx
jmp 0x14006fc16
lea rcx, [rsp + 0x180]
lea rdx, [rsp + 0xe4]
mov r8d, esi
call fcn.14006ae2b
cmp dword [rsp + 0xe0], 0
je 0x1400700af
cmp qword [rsp + 0xe8], 0
je 0x1400700af
mov r8, qword [rsp + 0xf0]
mov rcx, qword [0x1401d2118]
xor edx, edx
call fcn.1401220e0
movups xmm0, xmmword [rsp + 0x180]
movups xmm1, xmmword [rsp + 0x190]
movups xmmword [r12 + 0x80], xmm1
movups xmmword [r12 + 0x70], xmm0
jmp 0x14006ffee
movzx ecx, r9w
cmp cx, 5
jae 0x1400726f7
lea r8, [rsp + 0xe8]
cmp rax, rcx
jae 0x140070165
mov r15d, dword [r8 + rax*4]
inc rax
mov qword [rsp + 0x60], 2
jmp 0x140070120
mov r15d, esi
jmp 0x140070192
lea r8, [rsp + 0xe8]
mov r15d, dword [r8 + rax*4]
inc rax
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x68], rax
jmp 0x140070192
mov qword [rsp + 0x60], 2
mov qword [rsp + 0x68], 0
mov r15d, dword [rsp + 0x100]
mov ecx, 2
mov eax, 0
cmp r15d, 0x110000
je 0x14006f916
mov dword [rsp + 0x100], 0x110000
jmp 0x140070192
test r9w, r9w
je 0x140070175
mov word [rsp + 0xe4], 0
mov r15d, dword [rsp + 0x100]
mov eax, 0x110000
mov dword [rsp + 0x100], eax
cmp r15d, eax
je 0x1400702e5
cmp r15d, 0x80
jae 0x1400701cb
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx]
jne 0x1400701b7
call fcn.140120a28
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx + 8]
mov byte [rdx + rax], r15b
inc rax
mov qword [rcx + 0x10], rax
jmp 0x140070289
mov dword [rsp + 0x180], 0
cmp r15d, 0x800
mov rcx, qword [rsp + 0x58]
mov eax, r15d
jae 0x140070200
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x180], al
mov r8d, 2
mov eax, 1
jmp 0x14007026c
cmp r15d, 0x10000
jae 0x140070233
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x180], al
mov eax, r15d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x181], al
mov r8d, 3
mov eax, 2
jmp 0x14007026c
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x180], al
mov eax, r15d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x181], al
mov eax, r15d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x182], al
mov r8d, 4
mov eax, 3
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + rax + 0x180], r15b
lea rdx, [rsp + 0x180]
call fcn.14011891e
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
jmp 0x14006f916
mov dword [rsp + 0x100], esi
mov byte [rsp + 0x104], 0
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x68], 0
jmp 0x140070192
mov dword [rsp + 0x100], esi
jmp 0x140070192
lea r8, [0x14017a728]
mov rcx, rax
jmp 0x1400702dd
lea r8, [0x14017a740]
mov rdx, r9
call fcn.140038810
cmp dword [rsp + 0x70], 0
je 0x14007032a
cmp qword [rsp + 0x78], 0
mov r12, qword [rsp + 0x138]
je 0x140070332
mov r8, qword [rsp + 0x80]
mov rcx, qword [0x1401d2118]
xor edx, edx
call fcn.1401220e0
mov edx, dword [rsp + 0xe0]
jmp 0x140070332
lea r8, [0x14017a710]
mov rdx, rax
call fcn.140038810
mov r12, qword [rsp + 0x138]
test edx, edx
je 0x140070357
cmp qword [rsp + 0xe8], 0
je 0x140070357
mov r8, qword [rsp + 0xf0]
mov rcx, qword [0x1401d2118]
xor edx, edx
call fcn.1401220e0
xor edx, edx
lea rax, [rsp + 0x110]
mov qword [rax], rdx
mov qword [rax + 8], 8
mov qword [rax + 0x10], rdx
mov rax, r12
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x1c8], rax
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
lea r13, [rsp + 0x180]
mov qword [r13], rdx
mov qword [r13 + 8], rcx
mov qword [r13 + 0x10], rax
mov qword [r13 + 0x18], rcx
mov qword [r13 + 0x20], rdx
mov qword [r13 + 0x28], rcx
movabs rax, 0x2e0000002e
mov qword [r13 + 0x30], rax
mov byte [r13 + 0x38], 1
mov word [r13 + 0x40], 1
mov dil, 1
lea rbp, [rsp + 0x48]
xorps xmm6, xmm6
xor r15d, r15d
mov rcx, r13
call fcn.1400728c1
test rax, rax
je 0x140071974
mov r14, rax
mov rsi, rdx
test dil, 1
mov rcx, qword [rsp + 0x2a0]
jne 0x140070424
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx]
jne 0x140070415
call fcn.140120a28
mov rcx, qword [rsp + 0x2a0]
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx + 8]
mov byte [rdx + rax], 0x2e
inc rax
mov qword [rcx + 0x10], rax
cmp rsi, 4
jb 0x140070433
cmp dword [r14], 0x2d2d6e78
je 0x140070472
test r15b, 1
jne 0x140070447
mov rcx, r14
mov rdx, rsi
call fcn.14006da02
mov r15d, eax
mov rcx, r14
mov rdx, rsi
mov r8, r12
mov r9, rbp
call fcn.1400729f3
mov rcx, qword [rsp + 0x2a0]
mov rdx, r14
mov r8, rsi
call fcn.14011891e
xor edi, edi
jmp 0x1400703d6
add rsi, 0xfffffffffffffffc
add r14, 4
mov qword [rsp + 0x120], 0
mov rbp, rsi
mov qword [rsp + 0x1e0], r15
mov cl, 0x2d
mov rdx, r14
mov r8, rbp
call fcn.140041b00
cmp rax, 1
jne 0x1400704bc
mov rbp, rdx
cmp rdx, rsi
jae 0x1400704b7
cmp byte [r14 + rbp], 0x2d
je 0x14007075e
cmp rbp, rsi
jbe 0x140070491
mov r15, r14
xor ebp, ebp
lea r14, [0x1401bef68]
mov rcx, rbp
mov rax, rbp
sub rax, 1
jb 0x1400704fb
cmp byte [r14 + rcx - 1], 0
mov rcx, rax
jns 0x1400704ce
mov byte [rsp + 0x48], 1
mov r15b, 1
xor edi, edi
lea r13, [rsp + 0x180]
lea rbp, [rsp + 0x48]
jmp 0x1400703d6
mov rdi, rsi
test rdi, rdi
je 0x140070793
add rdi, r15
xor ebx, ebx
mov r13d, 0x48
mov dword [rsp + 0x30], pe_nt_image_headers64
mov eax, ebp
mov dword [rsp + 0x40], ebp
xor esi, esi
mov qword [rsp + 0x38], rbx
lea r9d, [r13 + 0x1a]
inc r15
mov r10d, r13d
neg r10d
mov r11d, 1
mov ebx, 0x24
mov ecx, esi
mov al, byte [r15 - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jae 0x140070553
add al, 0xea
mov edx, eax
jmp 0x140070567
lea edx, [rax - 0x41]
cmp dl, 0x1a
jb 0x140070567
add al, 0x9f
mov edx, eax
cmp al, 0x19
ja 0x1400704df
test r11d, r11d
je 0x1400726d7
movzx r8d, dl
mov eax, ecx
not eax
xor edx, edx
div r11d
cmp eax, r8d
jb 0x1400704df
mov eax, r11d
imul eax, r8d
add ecx, eax
lea eax, [r10 + rbx]
cmp ebx, r9d
mov edx, 0x1a
cmovae eax, edx
cmp ebx, r13d
mov edx, 1
cmovbe eax, edx
cmp eax, r8d
ja 0x1400705db
mov r8d, 0x24
sub r8d, eax
mov eax, r8d
mul r11d
jo 0x1400704df
cmp r15, rdi
je 0x1400704df
add ebx, 0x24
imul r11d, r8d
inc r15
jmp 0x140070541
mov r10d, dword [rsp + 0x40]
inc r10d
je 0x1400726b5
mov eax, ecx
sub eax, esi
test esi, esi
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
jb 0x14007064b
xor r13d, r13d
mov r9d, 0xd41d41d5
mov edx, eax
imul rdx, r9
shr rdx, 0x20
mov r8d, eax
sub r8d, edx
shr r8d, 1
add r8d, edx
shr r8d, 5
add r13d, 0x24
cmp eax, 0x3e57
mov eax, r8d
ja 0x140070621
jmp 0x14007064e
mov r8d, eax
lea eax, [r8*4]
lea eax, [rax + rax*8]
add r8d, 0x26
xor edx, edx
div r8w
mov ebx, eax
mov eax, ecx
xor edx, edx
mov dword [rsp + 0x40], r10d
div r10d
add dword [rsp + 0x30], eax
jb 0x1400704df
mov eax, dword [rsp + 0x30]
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x1400704df
mov esi, edx
mov r11, qword [rsp + 0x118]
mov r12d, edx
mov r8, qword [rsp + 0x38]
test r8, r8
je 0x1400706cd
mov rax, r8
shl rax, 4
xor ecx, ecx
mov rdx, qword [r11 + rcx]
cmp rdx, r12
jb 0x1400706c4
inc rdx
mov qword [r11 + rcx], rdx
add rcx, 0x10
cmp rax, rcx
jne 0x1400706b4
cmp r8, qword [rsp + 0x110]
jne 0x1400706f4
lea rcx, [rsp + 0x110]
call fcn.14006f2c0
mov r11, qword [rsp + 0x118]
mov r8, qword [rsp + 0x120]
movzx eax, bx
add r13d, eax
mov rax, r8
shl rax, 4
mov qword [r11 + rax], r12
mov ecx, dword [rsp + 0x30]
mov dword [r11 + rax + 8], ecx
lea rbx, [r8 + 1]
mov qword [rsp + 0x120], rbx
inc esi
cmp r15, rdi
mov r12, qword [rsp + 0x138]
mov qword [rsp + 0x178], rbx
jne 0x140070522
cmp rbx, 0x15
jae 0x14007131b
cmp rbx, 1
jbe 0x14007079b
mov r8d, 1
mov rcx, r11
mov rdx, rbx
mov rsi, r11
call fcn.14006f204
mov r11, rsi
jmp 0x14007079b
test rbp, rbp
je 0x1400709c5
lea r15, [rbp + 1]
mov rdi, rsi
sub rdi, r15
jbe 0x14007077e
cmp byte [r14 + r15], 0xbf
jle 0x14007282d
add r15, r14
cmp rbp, 7
ja 0x1400709cf
mov rsi, rdi
jmp 0x1400704c8
mov r11, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x2a0]
mov rsi, qword [rsp + 0x120]
lea r8, [rsi + rbp]
mov rax, qword [rcx]
mov rdi, qword [rcx + 0x10]
sub rax, rdi
cmp rax, r8
mov qword [rsp + 0x30], r11
jb 0x140071301
mov qword [rsp + 0x40], rdi
add rbp, r14
xor edi, edi
xor ebx, ebx
lea r13, [rsp + 0x180]
mov r10, rdi
shl r10, 4
add r10, r11
mov rax, r14
cmp rdi, rsi
jae 0x1400707f6
cmp qword [r10], rbx
je 0x14007089f
mov rdx, rbp
cmp rax, rbp
je 0x14007085e
movzx r15d, byte [rax]
test r15b, r15b
jns 0x14007086b
mov edx, r15d
and edx, 0x1f
movzx r9d, byte [rax + 1]
and r9d, 0x3f
cmp r15b, 0xdf
jbe 0x140070876
movzx r8d, byte [rax + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp r15b, 0xf0
jb 0x140070888
movzx r15d, byte [rax + 3]
add rax, 4
and edx, 7
shl edx, 0x12
shl r8d, 6
and r15d, 0x3f
or r15d, r8d
or r15d, edx
mov r14, rax
mov rdx, rax
cmp r15d, 0x110000
jne 0x14007089a
mov rax, rdx
cmp rdi, rsi
jb 0x1400707e8
jmp 0x140070995
inc rax
inc rbx
mov r14, rax
jmp 0x1400708b2
add rax, 2
shl edx, 6
or edx, r9d
mov r14, rax
mov r15d, edx
jmp 0x1400708a6
add rax, 3
shl edx, 0xc
or r8d, edx
mov r14, rax
mov r15d, r8d
jmp 0x1400708a6
mov r14, rax
jmp 0x1400708a6
inc rdi
mov r15d, dword [r10 + 8]
inc rbx
cmp r15d, 0x80
jae 0x1400708e5
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx]
jne 0x1400708d1
call fcn.140120a28
mov r11, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x2a0]
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx + 8]
mov byte [rdx + rax], r15b
inc rax
mov qword [rcx + 0x10], rax
jmp 0x1400707db
mov dword [rsp + 0x60], 0
mov eax, r15d
cmp r15d, 0x800
jae 0x14007090f
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x60], al
mov r8d, 2
mov eax, 1
jmp 0x14007096c
cmp r15d, 0x10000
jae 0x14007093c
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x60], al
mov eax, r15d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x61], al
mov r8d, 3
mov eax, 2
jmp 0x14007096c
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x60], al
mov eax, r15d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x61], al
mov eax, r15d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x62], al
mov r8d, 4
mov eax, 3
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + rax + 0x60], r15b
lea rdx, [rsp + 0x60]
call fcn.14011891e
mov rcx, qword [rsp + 0x2a0]
mov r11, qword [rsp + 0x30]
jmp 0x1400707db
mov r14, qword [rcx + 8]
mov rbx, qword [rcx + 0x10]
mov rdi, qword [rsp + 0x40]
test rdi, rdi
mov r15, qword [rsp + 0x1e0]
lea rbp, [rsp + 0x48]
je 0x140070a23
cmp rbx, rdi
jbe 0x140070a1d
cmp byte [r14 + rdi], 0xbf
jg 0x140070a23
jmp 0x1400727ff
mov r15, r14
xor ebp, ebp
jmp 0x1400704c8
movabs rax, 0x8080808080808080
test qword [r14], rax
jne 0x1400704df
lea rax, [r14 + 7]
and rax, 0xfffffffffffffff8
sub rax, r14
mov ecx, 8
cmove rax, rcx
lea rcx, [rbp - 8]
cmp rax, rcx
jae 0x14007124d
movabs rdx, 0x8080808080808080
test qword [r14 + rax], rdx
jne 0x1400704df
add rax, 8
jmp 0x1400709fa
jne 0x1400727ff
mov rsi, rbx
sub rsi, rdi
add rdi, r14
test r15b, 1
jne 0x140070a40
mov rcx, rdi
mov rdx, rsi
call fcn.14006da02
mov r15d, eax
mov qword [rsp + 0x40], rdi
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 0x1400703d6
add r14, rbx
xor r9d, r9d
mov rdi, qword [rsp + 0x40]
mov rax, rdi
xor r8d, r8d
mov ecx, r9d
cmp rax, r14
je 0x140071103
mov r9d, r8d
movzx edx, byte [rax]
test dl, dl
js 0x140070aa9
inc rax
jmp 0x140070b1c
mov r8d, edx
and r8d, 0x1f
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x140070afe
movzx r10d, byte [rax + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x140070b0e
movzx edx, byte [rax + 3]
and r8d, 7
shl r8d, 0x12
shl r10d, 6
and edx, 0x3f
or edx, r10d
or edx, r8d
cmp edx, 0x110000
je 0x140071103
add rax, 4
jmp 0x140070b1c
add rax, 2
shl r8d, 6
or r8d, r11d
mov edx, r8d
jmp 0x140070b1c
add rax, 3
shl r8d, 0xc
or r10d, r8d
mov edx, r10d
xor r8d, r8d
cmp edx, 0x80
jb 0x140070a91
imul r8d, edx, 0x9e3779b9
imul r10d, edx, 0x31415926
xor r8d, r10d
imul r8, r8, 0x39a
shr r8, 0x20
lea r11, [0x14019f678]
movzx r8d, word [r11 + r8*2]
add r8d, edx
imul r8d, r8d, 0x9e3779b9
xor r8d, r10d
imul r8, r8, 0x39a
shr r8, 0x20
lea r10, [0x14019fdac]
mov r8d, dword [r10 + r8*4]
mov r10d, r8d
shr r10d, 8
cmp r10d, edx
mov r10d, 0
cmovne r8d, r10d
cmp r9b, r8b
jbe 0x140070b98
test r8b, r8b
jne 0x1400712f5
lea r9d, [rdx - 0x340]
cmp r9d, 4
ja 0x140070baf
cmp r9d, 2
jne 0x1400712f5
mov r9b, 2
cmp edx, 0xd56
jg 0x140070c19
cmp edx, 0x9de
jg 0x140070c7a
cmp edx, 0x93b
jg 0x140070d90
lea r10d, [rdx - 0x30f]
cmp r10d, 0x36
ja 0x140070bf3
movabs r11, 0x48020000001005
bt r11, r10
jb 0x140070a8e
lea r10d, [rdx - 0x374]
cmp r10d, 0x13
ja 0x140070e96
mov r11d, 0x80401
bt r11d, r10d
jb 0x1400712f5
jmp 0x140070e96
cmp edx, 0x11126
jg 0x140070ce1
cmp edx, 0xf92
jg 0x140070d27
lea r10d, [rdx - 0xdca]
cmp r10d, 0x15
ja 0x140070c4e
mov r11d, 0x200021
bt r11d, r10d
jb 0x140070a8e
cmp edx, 0xd57
je 0x140070a8e
lea r10d, [rdx - 0xf43]
cmp r10d, 0x3e
ja 0x140070e96
movabs r11, 0x4021004002108401
jmp 0x140070e47
cmp edx, 0xbd6
jg 0x140070d6b
cmp edx, 0xbbd
jg 0x140070e53
lea r10d, [rdx - 0xb3e]
cmp r10d, 0x19
ja 0x140070caf
mov r11d, 0x3000001
bt r11d, r10d
jb 0x140070a8e
lea r10d, [rdx - 0xa33]
cmp r10d, 0x2b
ja 0x140070cd0
movabs r11, 0x80000000009
bt r11, r10
jb 0x1400712f5
cmp edx, 0x9df
jne 0x140070e96
jmp 0x1400712f5
cmp edx, 0x114af
jle 0x140070db9
lea r10d, [rdx - 0x114b0]
cmp r10d, 0xd
ja 0x140070d0a
mov r11d, 0x2401
bt r11d, r10d
jb 0x140070a8e
cmp edx, 0x115af
je 0x140070a8e
cmp edx, 0x11930
je 0x140070a8e
jmp 0x140070e96
cmp edx, 0x1f70
jg 0x140070dff
cmp edx, 0x102e
je 0x140070a8e
cmp edx, 0x1b35
je 0x140070a8e
lea r10d, [rdx - 0xf93]
cmp r10d, 0x26
ja 0x140070e96
movabs r11, 0x4002108401
jmp 0x140070e47
cmp edx, 0xcc1
jg 0x140070de2
cmp edx, 0xbd7
je 0x140070a8e
cmp edx, 0xc56
je 0x140070a8e
jmp 0x140070e96
cmp edx, 0x93c
je 0x140070a8e
cmp edx, 0x9be
je 0x140070a8e
cmp edx, 0x9d7
je 0x140070a8e
jmp 0x140070e96
cmp edx, 0x11127
je 0x140070a8e
cmp edx, 0x1133e
je 0x140070a8e
cmp edx, 0x11357
je 0x140070a8e
jmp 0x140070e96
cmp edx, 0xcc2
je 0x140070a8e
cmp edx, 0xd3e
je 0x140070a8e
jmp 0x140070e96
cmp edx, 0xfa0f
jle 0x140070e61
cmp edx, 0x110ba
je 0x140070a8e
lea r10d, [rdx - 0xfa10]
cmp r10d, 0x12
ja 0x140070e30
mov r11d, 0x50005
bt r11d, r10d
jb 0x1400712f5
lea r10d, [rdx - 0xfb1d]
cmp r10d, 0x21
ja 0x140070e96
movabs r11, 0x200000005
bt r11, r10
jb 0x1400712f5
jmp 0x140070e96
cmp edx, 0xbbe
je 0x140070a8e
jmp 0x140070e96
cmp edx, 0x2125
jle 0x1400710b4
lea r10d, [rdx - 0x2329]
cmp r10d, 2
jb 0x1400712f5
cmp edx, 0x2126
je 0x1400712f5
cmp edx, 0x2adc
je 0x1400712f5
lea r10d, [rdx - 0x2f800]
cmp r10d, 0x21e
jb 0x1400712f5
lea r10d, [rdx - 0x1d1bb]
cmp r10d, 6
jb 0x1400712f5
lea r10d, [rdx - 0x1d15e]
cmp r10d, 7
jb 0x1400712f5
lea r10d, [rdx - 0xfb46]
cmp r10d, 9
jb 0x1400712f5
lea r10d, [rdx - 0xfb43]
cmp r10d, 2
jb 0x1400712f5
mov r10d, edx
and r10d, 0xfffffffe
cmp r10d, 0xfb40
je 0x1400712f5
lea r11d, [rdx - 0xfb38]
cmp r11d, 5
jb 0x1400712f5
lea r11d, [rdx - 0xfb2a]
cmp r11d, 0xd
jb 0x1400712f5
lea r11d, [rdx - 0xfa70]
cmp r11d, 0x6a
jb 0x1400712f5
lea r11d, [rdx - 0xfa2a]
cmp r11d, 0x44
jb 0x1400712f5
lea r11d, [rdx - 0xfa25]
cmp r11d, 2
jb 0x1400712f5
lea r11d, [rdx - 0xfa15]
cmp r11d, 0xa
jb 0x1400712f5
lea r11d, [rdx - 0xf900]
cmp r11d, 0x10e
jb 0x1400712f5
cmp r10d, 0x212a
je 0x1400712f5
cmp r10d, 0x2000
je 0x1400712f5
cmp r10d, 0x1fee
je 0x1400712f5
lea r11d, [rdx - 0xf75]
cmp r11d, 2
jb 0x1400712f5
cmp r10d, 0xb5c
je 0x1400712f5
lea r11d, [rdx - 0xa59]
cmp r11d, 3
jb 0x1400712f5
mov r11d, edx
and r11d, 0xfffffff8
cmp r11d, 0x958
je 0x1400712f5
cmp r10d, 0x9dc
je 0x1400712f5
lea r11d, [rdx - 0x11a8]
cmp r11d, 0x1b
jb 0x140070a8e
lea r11d, [rdx - 0x1161]
cmp r11d, 0x15
jb 0x140070a8e
lea r11d, [rdx - 0xcd5]
cmp r11d, 2
jb 0x140070a8e
lea r11d, [rdx - 0x653]
cmp r11d, 3
jb 0x140070a8e
cmp r10d, 0x330
je 0x140070a8e
lea r10d, [rdx - 0x32d]
cmp r10d, 2
jb 0x140070a8e
lea r10d, [rdx - 0x323]
cmp r10d, 6
jb 0x140070a8e
lea r10d, [rdx - 0x313]
cmp r10d, 2
jb 0x140070a8e
lea r10d, [rdx - 0x300]
cmp r10d, 5
jb 0x140070a8e
lea r10d, [rdx - 0x306]
cmp r10d, 7
jb 0x140070a8e
add edx, 0xffffcf67
cmp edx, 2
movzx r9d, cl
mov ecx, 2
cmovb r9d, ecx
jmp 0x140070a8e
lea r10d, [rdx - 0x1fbe]
cmp r10d, 0x3f
ja 0x1400710d5
movabs r11, 0xa800202020202801
bt r11, r10
jb 0x1400712f5
lea r10d, [rdx - 0x1f71]
cmp r10d, 0xc
ja 0x1400710f2
mov r11d, 0x1555
bt r11d, r10d
jb 0x1400712f5
cmp edx, 0x1fbb
je 0x1400712f5
jmp 0x140070e96
test cl, cl
je 0x1400712d8
movzx eax, cl
cmp eax, 1
je 0x1400712f5
lea rax, [rsp + 0x210]
movups xmmword [rax], xmm6
xor ecx, ecx
lea rdx, [rsp + 0xa8]
mov byte [rdx + 0x10], cl
movups xmmword [rdx], xmm6
movzx eax, word [rsp + 0x21e]
mov word [rdx + 0x2e], ax
movups xmm0, xmmword [rsp + 0x20e]
movups xmmword [rdx + 0x1e], xmm0
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x70], ecx
mov word [rsp + 0x74], cx
mov byte [rsp + 0x78], cl
mov dword [rsp + 0x7c], ecx
mov byte [rsp + 0x80], cl
mov dword [rsp + 0x84], ecx
mov byte [rsp + 0x88], cl
mov dword [rsp + 0x8c], ecx
mov byte [rsp + 0x90], cl
mov dword [rsp + 0x94], ecx
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], r14
mov dword [rsp + 0xc0], ecx
mov word [rsp + 0xc4], cx
mov dword [rsp + 0xe0], 0x110000
mov byte [rsp + 0xe4], cl
cmp rdi, r14
je 0x140071266
movzx ebx, byte [rdi]
test bl, bl
js 0x1400711d4
inc rdi
jmp 0x140071230
mov eax, ebx
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp bl, 0xdf
jbe 0x140071218
movzx ecx, byte [rdi + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp bl, 0xf0
jb 0x140071225
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 0x140071266
add rdi, 4
jmp 0x140071230
add rdi, 2
shl eax, 6
or eax, edx
mov ebx, eax
jmp 0x140071230
add rdi, 3
shl eax, 0xc
or ecx, eax
mov ebx, ecx
lea rcx, [rsp + 0x60]
call fcn.14006a565
xor ebp, ebp
cmp eax, 0x110000
je 0x140071279
cmp eax, ebx
je 0x1400711bf
jmp 0x140071279
movabs rax, 0x8080808080808080
test qword [r14 + rcx], rax
jne 0x1400704df
jmp 0x1400704fe
lea rcx, [rsp + 0x60]
call fcn.14006a565
cmp eax, 0x110000
sete bpl
cmp dword [rsp + 0x70], 0
je 0x14007129e
cmp qword [rsp + 0x78], 0
je 0x14007129e
mov r8, qword [rsp + 0x80]
mov rcx, qword [0x1401d2118]
xor edx, edx
call fcn.1401220e0
cmp dword [rsp + 0xc0], 0
mov rdi, qword [rsp + 0x40]
je 0x1400712ce
cmp qword [rsp + 0xc8], 0
je 0x1400712ce
mov r8, qword [rsp + 0xd0]
mov rcx, qword [0x1401d2118]
xor edx, edx
call fcn.1401220e0
test bpl, bpl
lea rbp, [rsp + 0x48]
je 0x1400712f5
mov rcx, rdi
mov rdx, rsi
mov r8, qword [rsp + 0x1c8]
mov r9, rbp
call fcn.1400729f3
xor edi, edi
jmp 0x1400703d6
mov byte [rsp + 0x4d], 1
xor edi, edi
jmp 0x1400703d6
mov rdx, rdi
call fcn.14010720a
mov r11, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x2a0]
jmp 0x1400707c7
mov rsi, r8
mov qword [rsp + 0x30], r11
lea rdx, [rbx*8]
movabs rax, 0x7ffffffffffffff0
and rdx, rax
mov al, byte [0x1401d2160]
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x1400728a8
mov rdi, rax
mov al, byte [0x1401d2160]
mov edx, 0x100
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x1400728b4
mov r13, rax
mov eax, 1
sub rax, rsi
mov qword [rsp + 0x160], rax
mov r10, qword [rsp + 0x30]
lea rax, [r10 + 0x20]
mov qword [rsp + 0x158], rax
lea rax, [r10 - 0x10]
mov qword [rsp + 0x170], rax
mov eax, 0x10
mov qword [rsp + 0x168], rax
xor r15d, r15d
xor r11d, r11d
mov qword [rsp + 0x128], rdi
mov qword [rsp + 0x1d0], r14
mov rax, rbx
sub rax, r11
mov rdx, r11
shl rdx, 4
lea rcx, [r10 + rdx]
cmp rax, 2
mov qword [rsp + 0x38], r11
jae 0x140071442
mov r8, rax
lea rdx, [r8 + r11]
mov rsi, rdx
sub rsi, r11
jb 0x14007284a
cmp rdx, rbx
ja 0x14007284a
jae 0x14007150c
cmp r8, 0xa
jae 0x14007150c
lea rsi, [r11 + 0xa]
cmp rsi, rbx
cmovae rsi, rbx
mov qword [rsp + 0x140], rsi
sub rsi, r11
jb 0x140072862
cmp r8, 1
adc r8, 0
mov rdx, rsi
call fcn.14006f204
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
jmp 0x140071514
mov r9, qword [rcx + 0x10]
cmp r9, qword [rcx]
jae 0x1400718ce
mov r8d, 2
cmp rax, 2
je 0x1400714a1
mov r8, qword [rsp + 0x160]
lea r10, [r8 + r11]
add rdx, qword [rsp + 0x158]
mov r8d, 2
mov r11, r9
mov r9, qword [rdx]
cmp r9, r11
jae 0x140071497
lea r11, [r10 + r8]
inc r11
inc r8
add rdx, 0x10
cmp r11, 2
jne 0x140071475
mov r8, rax
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
mov rdx, r8
add rdx, r11
jb 0x140072887
cmp rdx, rbx
ja 0x140072896
cmp r8, 2
jb 0x1400713e2
mov rax, r8
shr rax, 1
mov rsi, rdx
shl rdx, 4
add rdx, qword [rsp + 0x170]
mov r9, rcx
mov r10, qword [r9]
mov r11d, dword [r9 + 8]
movups xmm0, xmmword [rdx]
movups xmmword [r9], xmm0
mov qword [rdx], r10
mov dword [rdx + 8], r11d
add r9, 0x10
add rdx, 0xfffffffffffffff0
dec rax
jne 0x1400714d8
mov r10, qword [rsp + 0x30]
mov rdx, rsi
mov r11, qword [rsp + 0x38]
jmp 0x1400713e2
mov qword [rsp + 0x140], rdx
mov rcx, qword [rsp + 0x168]
cmp r15, rcx
jne 0x1400715a0
mov qword [rsp + 0x40], r15
mov r15, rbx
mov rdx, rcx
shl rdx, 5
mov al, byte [0x1401d2160]
mov rdi, rcx
xor ecx, ecx
call fcn.140101e80
test rax, rax
je 0x14007287b
mov rbx, rax
lea rax, [rdi + rdi]
mov qword [rsp + 0x130], rax
shl rdi, 4
mov rcx, rbx
mov rdx, r13
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov rcx, qword [0x1401d2118]
xor edx, edx
mov r8, r13
call fcn.1401220e0
mov r13, rbx
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x168], rax
mov r10, qword [rsp + 0x30]
mov rbx, r15
mov r15, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov rax, r15
shl rax, 4
mov qword [r13 + rax], rsi
mov qword [r13 + rax + 8], r11
inc r15
mov rax, r15
cmp r15, 2
mov qword [rsp + 0x1d8], r13
jb 0x14007192f
mov r15, rax
lea r11, [rax - 1]
mov rcx, r11
shl rcx, 4
mov rax, qword [r13 + rcx]
mov rcx, qword [r13 + rcx + 8]
add rcx, rax
cmp rcx, rbx
je 0x140071636
mov rdx, r15
shl rdx, 4
mov r8, qword [rdx + r13 - 0x20]
cmp r8, rax
jbe 0x140071636
cmp r15, 2
je 0x140071929
lea rsi, [r15 - 3]
mov rcx, rsi
shl rcx, 4
mov rcx, qword [r13 + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x14007164c
cmp r15, 3
jbe 0x14007192f
add r8, rcx
cmp qword [rdx + r13 - 0x40], r8
jbe 0x14007164c
jmp 0x14007192f
cmp r15, 2
je 0x140071651
lea rsi, [r15 - 3]
mov rcx, rsi
shl rcx, 4
mov rcx, qword [r13 + rcx]
cmp rcx, rax
jb 0x140071655
lea rsi, [r15 - 2]
cmp r15, rsi
jbe 0x140072755
lea rdx, [rsi + 1]
cmp r15, rdx
jbe 0x14007278a
mov qword [rsp + 0x38], rsi
mov rax, rsi
shl rax, 4
mov rcx, qword [r13 + rax + 8]
shl rdx, 4
mov r8, qword [r13 + rdx]
mov r12, qword [r13 + rdx + 8]
add r12, r8
mov rsi, r12
sub rsi, rcx
jb 0x1400727d6
mov qword [rsp + 0x40], r15
cmp r12, rbx
ja 0x1400727bf
mov qword [rsp + 0x1e8], r8
mov qword [rsp + 0x1f8], rdx
mov qword [rsp + 0x130], r11
mov qword [rsp + 0x148], rax
mov r14, qword [r13 + rax]
mov qword [rsp + 0x1f0], rcx
mov rbx, rcx
shl rbx, 4
add rbx, r10
mov r15, r14
shl r15, 4
lea r13, [rbx + r15]
shl r12, 4
mov rdi, rsi
sub rdi, r14
cmp rdi, r14
jae 0x1400717a3
mov r15, rdi
shl r15, 4
mov rsi, qword [rsp + 0x128]
mov rcx, rsi
mov rdx, r13
mov r8, r15
call sub.msvcrt.dll_memcpy
add r15, rsi
test r14, r14
jle 0x140071825
test rdi, rdi
mov rsi, qword [rsp + 0x38]
jle 0x140071818
add r12, qword [rsp + 0x170]
mov r9, qword [rsp + 0x128]
mov rax, r13
mov rcx, r15
mov rdx, qword [r15 - 0x10]
mov r8, qword [r13 - 0x10]
cmp rdx, r8
mov r13d, 0
sbb r13, r13
cmp rdx, r8
mov r15d, 0
adc r15, 0xffffffffffffffff
shl r13, 4
add r13, rax
shl r15, 4
add r15, rcx
cmp rdx, r8
mov rax, r15
cmovb rax, r13
movups xmm0, xmmword [rax]
movups xmmword [r12], xmm0
cmp r13, rbx
jbe 0x140071798
add r12, 0xfffffffffffffff0
cmp r15, r9
ja 0x140071743
mov rbx, r13
mov rdx, r9
jmp 0x140071835
mov rdi, qword [rsp + 0x128]
mov rcx, rdi
mov rdx, rbx
mov r8, r15
call sub.msvcrt.dll_memcpy
add r15, rdi
test r14, r14
jle 0x140071813
cmp rsi, r14
jle 0x140071813
add r12, qword [rsp + 0x30]
mov rdx, rdi
mov rsi, qword [rsp + 0x38]
mov r8, rdx
mov rcx, qword [r13]
xor edx, edx
xor eax, eax
cmp rcx, qword [r8]
setae dl
setb cl
mov r9, r8
cmovb r9, r13
movups xmm0, xmmword [r9]
movups xmmword [rbx], xmm0
add rbx, 0x10
shl edx, 4
add rdx, r8
cmp rdx, r15
jae 0x140071835
mov al, cl
shl eax, 4
add r13, rax
cmp r13, r12
jb 0x1400717d3
jmp 0x140071835
mov rdx, rdi
jmp 0x140071830
mov rbx, r13
mov rdx, qword [rsp + 0x128]
jmp 0x140071835
mov rbx, r13
mov rdx, qword [rsp + 0x128]
mov rsi, qword [rsp + 0x38]
mov r13, qword [rsp + 0x1d8]
mov r12, qword [rsp + 0x148]
add r12, r13
mov rdi, qword [rsp + 0x1f8]
add rdi, r13
sub r15, rdx
mov rcx, rbx
mov r8, r15
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x1e8]
add rax, r14
mov qword [rdi], rax
mov rax, qword [rsp + 0x1f0]
mov qword [rdi + 8], rax
lea rdx, [r12 + 0x10]
not rsi
mov r8, qword [rsp + 0x40]
add r8, rsi
shl r8, 4
mov rcx, r12
call sub.msvcrt.dll_memmove
mov rax, qword [rsp + 0x130]
cmp rax, 1
mov r12, qword [rsp + 0x138]
mov r10, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x178]
mov r14, qword [rsp + 0x1d0]
ja 0x1400715c9
mov r15d, 1
jmp 0x14007192f
mov r8d, 2
cmp rax, 2
je 0x1400713de
mov r8, qword [rsp + 0x160]
lea r10, [r8 + r11]
add rdx, qword [rsp + 0x158]
mov r8d, 2
mov r11, r9
mov r9, qword [rdx]
cmp r9, r11
jb 0x14007191a
lea r11, [r10 + r8]
inc r11
inc r8
add rdx, 0x10
cmp r11, 2
jne 0x1400718f8
mov r8, rax
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
jmp 0x1400713de
mov r15d, 2
mov r11, qword [rsp + 0x140]
cmp r11, rbx
mov rdi, qword [rsp + 0x128]
jb 0x1400713bf
mov rcx, qword [0x1401d2118]
xor edx, edx
mov r8, r13
call fcn.1401220e0
mov rcx, qword [0x1401d2118]
xor edx, edx
mov r8, rdi
call fcn.1401220e0
mov r11, qword [rsp + 0x30]
jmp 0x14007079b
mov rax, qword [rsp + 0x2a0]
mov rcx, qword [rax + 8]
mov rsi, qword [rax + 0x10]
mov r8, qword [rsp + 0x150]
test r8, r8
je 0x1400719b3
cmp rsi, r8
jbe 0x1400719b1
cmp byte [rcx + r8], 0xbf
jg 0x1400719b3
lea rax, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov qword [rsp + 0x20], rax
mov rdx, rsi
jmp 0x140072842
jne 0x14007199d
mov rbx, r15
mov rax, rsi
sub rax, r8
add rcx, r8
xor edx, edx
lea r14, [rsp + 0x60]
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
movabs rax, 0x2e0000002e
mov qword [r14 + 0x30], rax
mov byte [r14 + 0x38], 1
mov word [r14 + 0x40], 1
mov rcx, r14
call fcn.1400728c1
mov r9, qword [rsp + 0x2a0]
test rax, rax
je 0x140071dfa
test bl, 1
je 0x1400719f7
mov r13, rdx
test rdx, rdx
je 0x1400719f7
mov r15, rax
movzx ecx, byte [rax]
test cl, cl
js 0x140071a2d
lea rbp, [r15 + 1]
jmp 0x140071a90
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [r15 + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x140071a77
movzx edx, byte [r15 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x140071a85
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 0x1400719f7
lea rbp, [r15 + 4]
jmp 0x140071a90
lea rbp, [r15 + 2]
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x140071a90
lea rbp, [r15 + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r13, r15
call fcn.1401188c5
test al, al
je 0x140071b63
movzx eax, al
cmp eax, 0x11
je 0x140071b63
cmp eax, 9
mov r9, qword [rsp + 0x2a0]
jne 0x140071df5
cmp rbp, r13
je 0x140071c49
movzx ecx, byte [rbp]
test cl, cl
js 0x140071ad3
inc rbp
jmp 0x140071b38
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbp + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x140071b1f
movzx edx, byte [rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x140071b2d
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 0x140071c49
add rbp, 4
jmp 0x140071b38
add rbp, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x140071b38
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1401188c5
cmp al, 0xe
mov r9, qword [rsp + 0x2a0]
ja 0x140071df5
movzx eax, al
mov ecx, 0x62f8
bt ecx, eax
jb 0x140071abd
jmp 0x140071df5
cmp rbp, r13
je 0x140071c58
xor edi, edi
xor r12d, r12d
mov r9, qword [rsp + 0x2a0]
movzx ecx, byte [rbp]
test cl, cl
js 0x140071b86
inc rbp
jmp 0x140071be7
mov eax, ecx
and eax, 0x1f
movzx r8d, byte [rbp + 1]
and r8d, 0x3f
cmp cl, 0xdf
jbe 0x140071bce
movzx edx, byte [rbp + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp cl, 0xf0
jb 0x140071bdc
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 0x140071c35
add rbp, 4
jmp 0x140071be7
add rbp, 2
shl eax, 6
or eax, r8d
mov ecx, eax
jmp 0x140071be7
add rbp, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.1401188c5
cmp al, 5
jne 0x140071bfd
mov r12b, 1
mov r9, qword [rsp + 0x2a0]
jmp 0x140071c2c
cmp al, 1
movzx edi, dil
mov ecx, 1
cmove edi, ecx
cmp al, 0x11
mov r9, qword [rsp + 0x2a0]
ja 0x140071df5
movzx eax, al
mov ecx, 0x260db
bt ecx, eax
jae 0x140071df5
cmp rbp, r13
jne 0x140071b79
test dil, 1
sete al
test r12b, 1
sete dil
or dil, al
jmp 0x140071c63
movzx ebp, byte [r13 - 1]
test bpl, bpl
js 0x140071c9c
dec r13
jmp 0x140071cb8
mov dil, 1
mov r9, qword [rsp + 0x2a0]
movzx ebp, byte [r13 - 1]
test bpl, bpl
js 0x140071c75
dec r13
jmp 0x140071d53
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x140071dc3
movzx ecx, byte [r13 - 3]
cmp cl, 0xbf
jle 0x140071d95
add r13, 0xfffffffffffffffd
and ecx, 0xf
jmp 0x140071da9
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x140071d1f
movzx ecx, byte [r13 - 3]
cmp cl, 0xbf
jle 0x140071cee
add r13, 0xfffffffffffffffd
and ecx, 0xf
jmp 0x140071d02
mov ecx, ebp
call fcn.1401188c5
cmp al, 0xd
jne 0x140071d28
cmp r13, r15
je 0x1400719f7
movzx ebp, byte [r13 - 1]
test bpl, bpl
js 0x140071cdb
dec r13
jmp 0x140071d12
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x140071d1f
movzx ecx, byte [r13 - 3]
cmp cl, 0xc0
jge 0x140071caf
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 0x140071cb8
jmp 0x1400719f7
add r13, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x140071d0a
mov ecx, ebp
call fcn.1401188c5
cmp al, 9
je 0x1400719f7
mov ecx, ebp
call fcn.1401188c5
mov r9, qword [rsp + 0x2a0]
cmp al, 5
je 0x1400719f7
jmp 0x140071df5
mov ecx, ebp
call fcn.1401188c5
cmp al, 0xd
jne 0x140071dcc
cmp r13, r15
mov r9, qword [rsp + 0x2a0]
je 0x140071df5
movzx ebp, byte [r13 - 1]
test bpl, bpl
js 0x140071d7e
dec r13
jmp 0x140071db9
movzx eax, byte [r13 - 2]
cmp al, 0xc0
jge 0x140071dc3
movzx ecx, byte [r13 - 3]
cmp cl, 0xc0
jge 0x140071c90
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 0x140071d53
jmp 0x140071df5
add r13, 0xfffffffffffffffe
and eax, 0x1f
jmp 0x140071db1
mov ecx, ebp
call fcn.1401188c5
cmp al, 0x11
mov r9, qword [rsp + 0x2a0]
ja 0x140071df5
movzx eax, al
mov ecx, 0x20023
bt ecx, eax
jae 0x140071df5
test dil, dil
jne 0x1400719f7
mov byte [rsp + 0x4a], 1
mov bl, byte [rsp + 0x48]
lea rcx, [rsp + 0x49]
mov rax, qword [rcx]
mov qword [rsp + 0x180], rax
mov eax, dword [rcx + 7]
mov dword [rsp + 0x187], eax
cmp qword [rsp + 0x110], 0
je 0x140071e45
mov r8, qword [rsp + 0x118]
mov rcx, qword [0x1401d2118]
xor edx, edx
call fcn.1401220e0
mov r9, qword [rsp + 0x2a0]
mov rsi, qword [r9 + 0x10]
test rsi, rsi
movabs rdi, 0x8080808080808080
je 0x140071e7d
js 0x14007281c
mov al, byte [0x1401d2160]
xor ecx, ecx
mov rdx, rsi
call fcn.140101e80
test rax, rax
je 0x140072820
mov r9, qword [rsp + 0x2a0]
jmp 0x140071e84
mov eax, 1
xor esi, esi
mov rdx, qword [rsp + 0x58]
mov rcx, qword [r9 + 0x10]
mov qword [rsp + 0x70], rcx
movups xmm0, xmmword [r9]
movaps xmmword [rsp + 0x60], xmm0
mov qword [r9], rsi
mov qword [r9 + 8], rax
mov qword [r9 + 0x10], 0
lea rsi, [rdx + 0x18]
cmp qword [rdx + 0x18], 0
je 0x140071ecc
mov r8, qword [rdx + 0x20]
mov rcx, qword [0x1401d2118]
xor edx, edx
call fcn.1401220e0
mov rdx, qword [rsp + 0x58]
lea r8, [rsp + 0x60]
mov rax, qword [r8 + 0x10]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [r8]
movups xmmword [rsi], xmm0
mov rax, qword [rdx + 0x20]
mov rcx, qword [rdx + 0x28]
xor edx, edx
mov qword [r8], rdx
mov qword [r8 + 8], rcx
mov qword [r8 + 0x10], rax
mov qword [r8 + 0x18], rcx
mov qword [r8 + 0x20], rdx
mov qword [r8 + 0x28], rcx
movabs rax, 0x2e0000002e
mov qword [r8 + 0x30], rax
mov byte [r8 + 0x38], 1
mov word [r8 + 0x40], 1
mov sil, 1
mov byte [rsp + 0x148], bl
lea rcx, [rsp + 0x60]
call fcn.1400728c1
test rax, rax
je 0x14007267d
mov r14, rax
mov r12, rdx
test sil, 1
mov rcx, qword [rsp + 0x2a0]
jne 0x140071f75
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx]
jne 0x140071f66
call fcn.140120a28
mov rcx, qword [rsp + 0x2a0]
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx + 8]
mov byte [rdx + rax], 0x2e
inc rax
mov qword [rcx + 0x10], rax
mov rax, r12
cmp r12, 7
ja 0x140071f98
mov rdx, rax
sub rdx, 1
jb 0x140072126
cmp byte [r14 + rax - 1], 0
mov rax, rdx
jns 0x140071f7e
jmp 0x140071ff1
test qword [r14], rdi
je 0x140071fbd
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x130], rax
mov r8d, 4
lea rdx, str.xn__
call fcn.14011891e
jmp 0x14007201a
lea rax, [r14 + 7]
and rax, 0xfffffffffffffff8
sub rax, r14
mov edx, 8
cmove rax, rdx
lea rdx, [r12 - 8]
cmp rax, rdx
jae 0x140071fe7
test qword [r14 + rax], rdi
jne 0x140071ff1
add rax, 8
jmp 0x140071fd6
test qword [r14 + rdx], rdi
je 0x140072126
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x130], rax
mov r8d, 4
lea rdx, str.xn__
call fcn.14011891e
xor esi, esi
test r12, r12
je 0x140071f25
mov r13, r14
add r13, r12
xor esi, esi
xor r12d, r12d
mov rdi, r14
mov rcx, qword [rsp + 0x2a0]
movzx ebx, byte [rdi]
test bl, bl
js 0x14007203c
inc rdi
jmp 0x1400720a3
mov eax, ebx
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp bl, 0xdf
jbe 0x140072089
movzx r8d, byte [rdi + 2]
shl edx, 6
and r8d, 0x3f
or r8d, edx
cmp bl, 0xf0
jb 0x140072096
movzx ebx, byte [rdi + 3]
and eax, 7
shl eax, 0x12
shl r8d, 6
and ebx, 0x3f
or ebx, r8d
or ebx, eax
cmp ebx, 0x110000
je 0x14007262e
add rdi, 4
jmp 0x1400720a3
add rdi, 2
shl eax, 6
or eax, edx
mov ebx, eax
jmp 0x1400720a3
add rdi, 3
shl eax, 0xc
or r8d, eax
mov ebx, r8d
mov eax, esi
inc eax
mov dword [rsp + 0x58], eax
je 0x140072637
cmp ebx, 0x7f
ja 0x1400720e1
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx]
jne 0x1400720d0
call fcn.140120a28
mov rcx, qword [rsp + 0x2a0]
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx + 8]
mov byte [rdx + rax], bl
inc rax
mov qword [rcx + 0x10], rax
inc r12d
inc esi
cmp rdi, r13
jne 0x140072030
test r12d, r12d
je 0x140072138
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx]
movabs rdi, 0x8080808080808080
jne 0x140072115
call fcn.140120a28
mov rcx, qword [rsp + 0x2a0]
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx + 8]
mov byte [rdx + rax], 0x2d
inc rax
mov qword [rcx + 0x10], rax
jmp 0x140072145
mov rdx, r14
mov r8, r12
call fcn.14011891e
xor esi, esi
jmp 0x140071f25
xor r12d, r12d
movabs rdi, 0x8080808080808080
xor r8d, r8d
mov esi, 0
cmp r12d, dword [rsp + 0x58]
jae 0x140071f25
mov r15d, 0x48
mov eax, pe_nt_image_headers64
mov ebx, r12d
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x38], r12d
mov rsi, r14
mov rcx, qword [rsp + 0x2a0]
cmp rsi, r13
je 0x140072735
movzx ebp, byte [rsi]
test bpl, bpl
js 0x140072196
inc rsi
jmp 0x140072213
mov edx, ebp
and edx, 0x1f
movzx r10d, byte [rsi + 1]
and r10d, 0x3f
cmp bpl, 0xdf
jbe 0x1400721f0
movzx r9d, byte [rsi + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp bpl, 0xf0
jb 0x1400721fe
movzx ebp, byte [rsi + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and ebp, 0x3f
or ebp, r9d
or ebp, edx
cmp ebp, 0x110000
mov rcx, qword [rsp + 0x2a0]
je 0x140072735
add rsi, 4
jmp 0x140072213
add rsi, 2
shl edx, 6
or edx, r10d
mov ebp, edx
jmp 0x14007220b
add rsi, 3
shl edx, 0xc
or r9d, edx
mov ebp, r9d
mov rcx, qword [rsp + 0x2a0]
cmp eax, ebp
ja 0x140072180
jmp 0x140072258
add rsi, 4
jmp 0x140072241
add rsi, 2
shl r9d, 6
or r9d, r11d
mov edx, r9d
jmp 0x140072249
add rsi, 3
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
mov rcx, qword [rsp + 0x2a0]
cmp ebp, edx
mov r9d, edx
cmovb r9d, ebp
cmp eax, edx
cmovbe ebp, r9d
cmp rsi, r13
je 0x1400722c0
movzx edx, byte [rsi]
test dl, dl
js 0x140072269
inc rsi
jmp 0x140072249
mov r9d, edx
and r9d, 0x1f
movzx r11d, byte [rsi + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x140072223
movzx r10d, byte [rsi + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x140072233
movzx edx, byte [rsi + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and edx, 0x3f
or edx, r10d
or edx, r9d
cmp edx, 0x110000
jne 0x14007221d
mov rcx, qword [rsp + 0x2a0]
mov edi, ebp
sub edi, eax
lea r9d, [rbx + 1]
mov eax, r8d
not eax
xor edx, edx
div r9d
cmp edi, eax
ja 0x140072637
imul edi, r9d
add edi, r8d
mov r11, r14
movzx eax, byte [r11]
test al, al
js 0x1400722f1
inc r11
jmp 0x14007235e
mov r9d, eax
and r9d, 0x1f
movzx r8d, byte [r11 + 1]
and r8d, 0x3f
cmp al, 0xdf
jbe 0x140072341
movzx edx, byte [r11 + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp al, 0xf0
jb 0x140072351
movzx eax, byte [r11 + 3]
and r9d, 7
shl r9d, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, r9d
cmp eax, 0x110000
je 0x140072626
add r11, 4
jmp 0x14007235e
add r11, 2
shl r9d, 6
or r9d, r8d
mov eax, r9d
jmp 0x14007235e
add r11, 3
shl r9d, 0xc
or edx, r9d
mov eax, edx
cmp eax, ebp
jae 0x14007236a
inc edi
je 0x140072637
cmp eax, ebp
jne 0x140072504
mov qword [rsp + 0x150], r11
mov qword [rsp + 0x138], rbx
lea ebx, [r15 + 0x1a]
lea r9d, [r15 - 0x24]
neg r9d
cmp ebx, 0x25
mov eax, 0x1a
cmovb r9d, eax
cmp r15d, 0x24
mov eax, 1
cmovae r9d, eax
mov r12d, edi
cmp edi, r9d
jb 0x1400724a0
mov esi, r15d
neg esi
mov r13d, 0x48
mov r12d, edi
mov r8d, r9d
sub r8d, 0x24
je 0x1400726a9
sub r12d, r9d
neg r8d
mov eax, r12d
xor edx, edx
div r8d
add edx, r9d
mov r14d, 0x61
mov r12d, eax
cmp edx, 0x1a
jb 0x1400723fb
mov r14d, 0x16
cmp edx, 0x24
jae 0x14007271d
add r14d, edx
cmp r14d, 0x80
jae 0x140072432
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx]
jne 0x140072421
call fcn.140120a28
mov rcx, qword [rsp + 0x2a0]
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx + 8]
mov byte [rdx + rax], r14b
inc rax
mov qword [rcx + 0x10], rax
jmp 0x140072477
mov dword [rsp + 0x110], 0
mov eax, r14d
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x110], al
and r14b, 0x3f
or r14b, 0x80
mov byte [rsp + 0x111], r14b
mov r8d, 2
lea rdx, [rsp + 0x110]
call fcn.14011891e
mov rcx, qword [rsp + 0x2a0]
lea r9d, [rsi + r13]
cmp r13d, ebx
mov eax, 0x1a
cmovae r9d, eax
cmp r13d, r15d
mov eax, 1
cmovbe r9d, eax
add r13d, 0x24
cmp r12d, r9d
jae 0x1400723c0
mov esi, 0x61
cmp r12d, 0x1a
jb 0x1400724ba
mov esi, 0x16
cmp r12d, 0x24
jae 0x14007271d
add esi, r12d
cmp esi, 0x80
mov ebx, 0xd41d41d5
jae 0x14007250f
mov rax, qword [rcx + 0x10]
cmp rax, qword [rcx]
mov r12d, dword [rsp + 0x38]
jne 0x1400724e9
call fcn.140120a28
mov rcx, qword [rsp + 0x2a0]
mov rax, qword [rcx + 0x10]
mov rdx, qword [rcx + 8]
mov byte [rdx + rax], sil
inc rax
mov qword [rcx + 0x10], rax
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x40]
jmp 0x14007255a
mov r9d, ebx
mov r8d, edi
jmp 0x1400725f7
mov dword [rsp + 0x110], 0
mov eax, esi
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x110], al
and sil, 0x3f
or sil, 0x80
mov byte [rsp + 0x111], sil
mov r8d, 2
lea rdx, [rsp + 0x110]
call fcn.14011891e
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x40]
mov r12d, dword [rsp + 0x38]
mov rax, qword [rsp + 0x138]
mov r9d, eax
inc r9d
mov r11, qword [rsp + 0x150]
je 0x1400726b5
cmp eax, r12d
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 0x1400725ca
mov edx, eax
imul rdx, rbx
shr rdx, 0x20
mov r10d, eax
sub r10d, edx
shr r10d, 1
add r10d, edx
shr r10d, 5
add ecx, 0x24
cmp eax, 0x3e57
mov eax, r10d
ja 0x1400725a1
jmp 0x1400725cd
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 edi, r8d
mov ebx, r9d
mov rcx, qword [rsp + 0x2a0]
cmp r11, r13
jne 0x1400722e4
inc r8d
inc ebp
xor esi, esi
mov eax, ebp
mov ebx, r9d
cmp r9d, dword [rsp + 0x58]
movabs rdi, 0x8080808080808080
jb 0x140072175
jmp 0x140071f25
mov r9d, ebx
mov r8d, edi
jmp 0x140072600
mov dword [rsp + 0x58], esi
jmp 0x1400720ec
mov rax, qword [rcx + 0x10]
mov bl, 1
xor esi, esi
mov rdx, qword [rsp + 0x130]
cmp rax, rdx
movabs rdi, 0x8080808080808080
jb 0x140071f1e
test rdx, rdx
je 0x140072672
cmp rax, rdx
jbe 0x140072672
mov rax, qword [rcx + 8]
cmp byte [rax + rdx], 0xbf
jle 0x1400727e7
mov qword [rcx + 0x10], rdx
xor esi, esi
jmp 0x140071f1e
mov rcx, qword [rsp + 0x200]
mov al, byte [rsp + 0x148]
mov byte [rcx], al
mov rax, qword [rsp + 0x180]
mov qword [rcx + 1], rax
mov eax, dword [rsp + 0x187]
mov dword [rcx + 8], eax
jmp 0x14006f7f3
lea rcx, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.140044480
lea rcx, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14003ca50
lea r8, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov ecx, 4
mov edx, 4
call fcn.140038810
lea rcx, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14003ca50
lea r8, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, r9
call fcn.140039350
lea r8, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
call fcn.140039350
lea r8, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
jmp 0x140072748
lea r8, [0x14017a758]
call fcn.140038800
lea rcx, str.explicit_panic
lea r8, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
mov edx, 0xe
call fcn.1400396c0
lea rcx, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
call fcn.14003fb80
lea r8, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
call fcn.140039350
lea rax, [0x1401961a8]
lea rcx, [rsp + 0x60]
mov qword [rcx], rax
mov qword [rcx + 8], 1
lea rax, [0x1401bef68]
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
call fcn.140038470
lea rax, [0x1401961a8]
lea rcx, [rsp + 0x60]
mov qword [rcx], rax
mov qword [rcx + 8], 1
lea rax, [0x1401bef68]
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
lea rdx, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
call fcn.140038470
lea r8, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
mov rcx, r12
mov rdx, qword [rsp + 0x178]
call fcn.140039350
lea r8, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
mov rdx, r12
call fcn.14003d700
ud2
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_
lea r8, [0x1401be1f0]
mov edx, 0x30
call fcn.1400396c0
lea rax, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcuts46.rs
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
mov r8, rdi
mov r9, rbx
call fcn.140040ef0
xor ecx, ecx
jmp 0x140072825
mov ecx, 1
mov rdx, rsi
call fcn.1400285b0
lea rax, str.C:UsersAdmin.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.5.0_srcpunycode.rs
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rsi
mov r8, r15
mov r9, rsi
call fcn.140040ef0
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
mov edx, 0x2c
call fcn.1400396c0
lea r8, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x140]
call fcn.14003d700
lea rcx, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
call fcn.14003fb80
lea r8, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
mov rcx, r11
call fcn.14003d700
lea r8, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
mov rcx, rdx
mov rdx, rbx
call fcn.140039350
lea rcx, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
call fcn.14003fb80
lea rcx, str._rustc_8b2459c1f21187f9792d99310171a15e64feb9cflibrarycore_src_slice_sort.rs
call fcn.14003fb80
int3