Function at 0x14007c9b4
Capabilities:
Encrypt data using speck
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x248
movaps xmmword [rsp + 0x230], xmm6
mov r14, rcx
mov rcx, qword [rsp + 0x2b0]
test r9, r9
je 0x14007cb14
lea rax, [r8 + r9]
xor r12d, r12d
movaps xmm0, xmmword [0x14023dc50]
mov r15, r8
mov bl, byte [r15]
movzx r10d, bl
test r10b, r10b
js 0x14007ca05
inc r15
jmp 0x14007ca77
mov r11d, r10d
and r11d, 0x1f
movzx edi, byte [r15 + 1]
and edi, 0x3f
cmp r10b, 0xdf
jbe 0x14007ca59
movzx esi, byte [r15 + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp bl, 0xf0
jb 0x14007ca69
movzx r10d, byte [r15 + 3]
and r11d, 7
shl r11d, 0x12
shl esi, 6
and r10d, 0x3f
or r10d, esi
or r10d, r11d
cmp r10d, 0x110000
je 0x14007cade
add r15, 4
jmp 0x14007ca77
add r15, 2
shl r11d, 6
or r11d, edi
mov r10d, r11d
jmp 0x14007ca77
add r15, 3
shl r11d, 0xc
or esi, r11d
mov r10d, esi
cmp r10d, 0x2e
jne 0x14007ca82
xor r11d, r11d
jmp 0x14007cad2
test r12, r12
jne 0x14007ca91
cmp r10d, 0x2d
je 0x14007cb14
mov r11d, 5
cmp r12, 5
jae 0x14007cabf
movups xmmword [rsp + 0x70], xmm0
cmp r12, 4
je 0x14007d655
cmp r10d, dword [rsp + r12*4 + 0x70]
jne 0x14007cabf
inc r12
mov r11, r12
cmp r12, 4
je 0x14007cb14
lea esi, [r10 - 0x7b]
cmp esi, 0xffffffe5
ja 0x14007cad2
add r10d, 0xffffffc6
cmp r10d, 0xfffffff6
jb 0x14007cb14
mov r12, r11
cmp r15, rax
jne 0x14007c9f4
mov rdx, r8
mov r8, r9
call fcn.140086f75
mov dword [r14 + 8], 0
mov qword [r14], 0
movaps xmm6, xmmword [rsp + 0x230]
add rsp, 0x248
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x210], r14
mov eax, dword [rdx + 0x30]
movzx r11d, byte [rdx + 0x34]
xor edi, edi
lea rsi, [rsp + 0x30]
add r9, r8
xorps xmm6, xmm6
movups xmmword [rsp + 0x1a0], xmm6
lea rbx, [rsp + 0x128]
movups xmmword [rbx + 2], xmm6
movzx r10d, word [rbx + 0x10]
lea r14, [rsp + 0x74]
mov word [r14 + 0x12], r10w
movups xmm0, xmmword [rbx]
movups xmmword [r14 + 2], xmm0
mov dword [r14 - 4], edi
mov word [r14], di
movups xmm0, xmmword [rsp + 0x198]
movups xmmword [r14 + 0x14], xmm0
mov r10, qword [rsp + 0x1a8]
mov qword [r14 + 0x24], r10
movups xmmword [r14 + 0x2c], xmm6
mov qword [r14 + 0x3c], r9
mov qword [r14 + 0x44], r8
mov qword [r14 + 0x4c], rsi
mov byte [r14 + 0x58], r11b
shl r11, 0x20
or r11, rax
mov qword [rsp + 0x118], r11
mov qword [rsp + 0x68], rdx
mov qword [rdx + 0x10], rdi
mov dword [rsi + 8], edi
mov qword [rsi], rdi
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x190], rcx
mov dword [r14 + 0x54], eax
mov dword [r14 + 0x5c], edi
mov word [r14 + 0x60], di
lea rax, [rsp + 0xd8]
mov byte [rax], dil
mov dword [rax + 4], edi
mov byte [rax + 8], dil
mov dword [rax + 0xc], edi
mov byte [rax + 0x10], dil
mov dword [rax + 0x14], edi
mov byte [rax + 0x18], dil
mov dword [rax + 0x1c], edi
mov byte [rax + 0x20], dil
mov qword [rax + 0x28], rdi
mov dword [rax + 0x38], 0x110000
mov byte [rax + 0x3c], dil
lea rbp, [rsp + 0x90]
xor eax, eax
test rax, rax
je 0x14007cdc0
cmp rax, 1
jne 0x14007d536
mov rax, qword [rsp + 0x108]
cmp dword [rsp + 0x70], 0
je 0x14007d387
cmp rax, qword [rsp + 0x88]
jae 0x14007d5ca
mov rcx, qword [rsp + 0x80]
jmp 0x14007d3a4
mov dword [rsp + 0x110], esi
jmp 0x14007cdc0
cmp byte [rsp + 0x114], 0
je 0x14007cc7b
cmp byte [rsp + 0x115], bl
jae 0x14007cca0
mov ecx, edi
mov edx, esi
call fcn.140113f82
cmp eax, 0x110000
je 0x14007cca8
jmp 0x14007cc94
mov ecx, edi
mov edx, esi
call fcn.140113f82
cmp eax, 0x110000
jne 0x14007cc94
test bl, bl
jne 0x14007cca8
jmp 0x14007d426
mov dword [rsp + 0x110], eax
jmp 0x14007cdc0
test bl, bl
je 0x14007d3fd
cmp dword [rsp + 0x70], 0
je 0x14007cce5
mov rdx, qword [rsp + 0x88]
cmp rdx, qword [rsp + 0x78]
jne 0x14007ccd0
lea rcx, [rsp + 0x78]
call fcn.14007c386
mov rdx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x80]
mov dword [rax + rdx*4], esi
inc qword [rsp + 0x88]
jmp 0x14007ccfb
movzx eax, word [rsp + 0x74]
cmp rax, 3
ja 0x14007cd63
mov dword [rsp + rax*4 + 0x78], esi
inc eax
mov word [rsp + 0x74], ax
mov byte [rsp + 0x114], 1
mov byte [rsp + 0x115], bl
jmp 0x14007cdc0
mov ecx, esi
call fcn.140113ed5
test rax, rax
je 0x14007d126
mov r15, rdx
test rdx, rdx
je 0x14007cdc0
mov rdi, rax
shl r15, 2
xor esi, esi
mov edx, dword [rdi + rsi]
mov rcx, rbp
call fcn.14007c630
add rsi, 4
cmp r15, rsi
jne 0x14007cd34
jmp 0x14007cdc0
shl ecx, 6
or ecx, r9d
mov esi, ecx
jmp 0x14007d036
shl ecx, 0xc
or edx, ecx
mov esi, edx
jmp 0x14007d036
lea rcx, [rsp + 0x128]
lea rdx, [rsp + 0x74]
mov r8d, esi
call fcn.140239107
cmp dword [rsp + 0x70], 0
je 0x14007cd9e
cmp qword [rsp + 0x78], 0
je 0x14007cd9e
mov r8, qword [rsp + 0x80]
mov rcx, qword [0x1402fea40]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
movups xmm0, xmmword [rsp + 0x128]
movups xmm1, xmmword [rsp + 0x138]
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
jmp 0x14007ccfb
mov r9, qword [rsp + 0x98]
test r9, r9
jne 0x14007cff2
mov r12b, byte [rsp + 0xc8]
cmp r12b, 2
je 0x14007d13d
mov rdi, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xb0]
mov r15, qword [rsp + 0xc0]
mov bl, byte [rsp + 0xc9]
mov r13, qword [rsp + 0xb8]
test rax, rax
je 0x14007cec0
cmp rax, rdi
je 0x14007ceb4
lea rcx, [rax + 1]
mov qword [rsp + 0xa8], rcx
mov r8b, byte [rax]
movzx esi, r8b
test sil, sil
jns 0x14007d036
mov ecx, esi
and ecx, 0x1f
lea rdx, [rax + 2]
mov qword [rsp + 0xa8], rdx
movzx r9d, byte [rax + 1]
and r9d, 0x3f
cmp sil, 0xdf
jbe 0x14007cd4a
lea rdx, [rax + 3]
mov qword [rsp + 0xa8], rdx
movzx edx, byte [rax + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x14007cd57
lea r8, [rax + 4]
mov qword [rsp + 0xa8], 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.0x14007cfba.0
mov qword [rsp + 0xa8], 0
cmp r13, r14
je 0x14007d135
lea rax, [r13 + 1]
mov qword [rsp + 0xb8], rax
mov cl, byte [r13]
movzx esi, cl
test sil, sil
js 0x14007cee6
mov r13, rax
jmp 0x14007cf5f
mov eax, esi
and eax, 0x1f
lea r8, [r13 + 2]
mov qword [rsp + 0xb8], r8
movzx edx, byte [r13 + 1]
and edx, 0x3f
cmp sil, 0xdf
jbe 0x14007cf4b
lea r8, [r13 + 3]
mov qword [rsp + 0xb8], r8
movzx esi, byte [r13 + 2]
shl edx, 6
and esi, 0x3f
or esi, edx
cmp cl, 0xf0
jb 0x14007cf57
lea rcx, [r13 + 4]
mov qword [rsp + 0xb8], rcx
movzx edx, byte [r13 + 3]
and eax, 7
shl eax, 0x12
shl esi, 6
and edx, 0x3f
or edx, esi
or edx, eax
mov r13, rcx
mov esi, edx
jmp 0x14007cf5f
shl eax, 6
or eax, edx
mov r13, r8
mov esi, eax
jmp 0x14007cf5f
shl eax, 0xc
or esi, eax
mov r13, r8
lea eax, [rsi - 0x2d]
cmp eax, 2
jb 0x14007d036
cmp esi, 0x110000
je 0x14007d135
lea eax, [rsi - 0x61]
cmp eax, 0x1a
jb 0x14007d036
lea eax, [rsi - 0x30]
cmp eax, 0xa
jb 0x14007d036
mov ecx, esi
call fcn.14007c844
mov rcx, rax
movzx edx, byte [rax]
mov eax, 0
cmp edx, 1
je case.default.0x14007cfba
mov eax, edx
lea rdx, [0x14007fcb4]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov r8d, dword [rsp + 0xd0]
lea rdi, [rsp + 0xd8]
jmp 0x14007d1e5
cmp esi, 0x110000
je 0x14007d135
cmp byte [rsp + 0xf8], 0
je 0x14007d0a4
cmp esi, 0x80
jb 0x14007d126
lea edi, [rsi - 0xac00]
cmp edi, 0x2ba4
jb 0x14007d0be
mov ecx, esi
call fcn.140113e22
test rax, rax
jne 0x14007d076
mov ecx, esi
call fcn.140113ed5
test rax, rax
je 0x14007d126
mov rdi, rax
mov r15, rdx
test rdx, rdx
je 0x14007cdc0
shl r15, 2
xor esi, esi
mov edx, dword [rdi + rsi]
mov rcx, rbp
call fcn.14007c630
add rsi, 4
cmp r15, rsi
jne 0x14007d08b
jmp 0x14007cdc0
cmp esi, 0x80
jb 0x14007d126
lea edi, [rsi - 0xac00]
cmp edi, 0x2ba4
jae 0x14007cd0f
mov esi, edi
mov eax, 0xdee95c4d
imul rsi, rax
shr rsi, 0x29
lea edx, [rsi + 0x1100]
mov rcx, rbp
call fcn.14007c630
imul eax, esi, 0x24c
mov ecx, edi
sub ecx, eax
imul eax, ecx, 0x925
shr eax, 0x10
add eax, 0x1161
movzx edx, ax
mov rcx, rbp
call fcn.14007c630
mov eax, edi
shr eax, 2
imul rax, rax, 0x24924925
shr rax, 0x20
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub edi, ecx
je 0x14007cdc0
add edi, 0x11a7
mov esi, edi
mov rcx, rbp
mov edx, esi
call fcn.14007c630
jmp 0x14007cdc0
mov byte [rsp + 0xc8], 2
mov r9d, dword [rsp + 0xd0]
test r9d, r9d
mov rdx, qword [rsp + 0xe8]
movzx r8d, word [rsp + 0xd4]
movzx eax, r8w
mov rcx, rdx
cmove rcx, rax
test rcx, rcx
je 0x14007d3c0
mov rcx, qword [rsp + 0x98]
test r9d, r9d
je 0x14007d18c
mov r8, qword [rsp + 0xe0]
lea rdi, [rsp + 0xd8]
jmp 0x14007d1a5
cmp r8w, 5
lea rdi, [rsp + 0xd8]
jae 0x14007fae4
mov r8, rdi
mov rdx, rax
mov rax, rdx
sub rax, rcx
jb 0x14007fac1
lea rcx, [r8 + rcx*8]
mov rdx, rax
call fcn.14007bcaf
mov r8d, dword [rsp + 0xd0]
test r8d, r8d
je 0x14007d1d4
mov r9, qword [rsp + 0xe8]
jmp 0x14007d1dd
movzx r9d, word [rsp + 0xd4]
mov qword [rsp + 0x98], r9
mov rcx, qword [rsp + 0x90]
test r8d, r8d
je 0x14007d204
mov rdx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xe8]
jmp 0x14007d219
movzx eax, word [rsp + 0xd4]
cmp rax, 5
jae 0x14007fab8
mov rdx, rdi
cmp rax, rcx
jbe 0x14007d612
mov esi, dword [rdx + rcx*8 + 4]
inc rcx
cmp rcx, r9
jne 0x14007d23d
test r8d, r8d
je 0x14007d24a
mov rdx, qword [rsp + 0xe8]
jmp 0x14007d252
mov qword [rsp + 0x90], rcx
jmp 0x14007d30d
movzx edx, word [rsp + 0xd4]
sub rdx, r9
je 0x14007d2db
xor ecx, ecx
mov rax, qword [rsp + 0x98]
add rax, rcx
cmp dword [rsp + 0xd0], 0
je 0x14007d28d
mov r9, qword [rsp + 0xe8]
cmp r9, rax
jbe 0x14007d5f5
mov r8, qword [rsp + 0xe0]
jmp 0x14007d2ac
movzx r9d, word [rsp + 0xd4]
cmp r9, 5
jae 0x14007fa92
mov r8, rdi
cmp rax, r9
jae 0x14007d5f5
cmp r9, rcx
jbe 0x14007d601
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 0x14007d25d
mov r8d, dword [rsp + 0xd0]
test r8d, r8d
je 0x14007d2f4
cmp qword [rsp + 0xe8], rdx
jb 0x14007d309
mov qword [rsp + 0xe8], rdx
jmp 0x14007d309
movzx eax, word [rsp + 0xd4]
cmp rdx, rax
jae 0x14007d309
mov word [rsp + 0xd4], dx
movups xmmword [rbp], xmm6
imul eax, esi, 0x9e3779b9
imul ecx, esi, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1f
and eax, 0xfffffffe
lea rdx, [0x1402b11c8]
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, [0x1402b18fc]
mov ebx, dword [rax + rcx]
mov eax, ebx
shr eax, 8
cmp eax, esi
mov eax, 0
cmovne ebx, eax
mov edi, dword [rsp + 0x110]
cmp edi, 0x110000
jne 0x14007cc56
test bl, bl
je 0x14007cc4a
mov edi, esi
jmp 0x14007d42d
movzx ecx, word [rsp + 0x74]
cmp rcx, 5
jae 0x14007faf5
cmp rax, rcx
jae 0x14007d5d8
lea rcx, [rsp + 0x78]
mov edi, dword [rcx + rax*4]
inc rax
mov qword [rsp + 0x100], 1
mov qword [rsp + 0x108], rax
jmp 0x14007d42d
mov qword [rsp + 0x100], 2
mov qword [rsp + 0x108], 0
mov edi, dword [rsp + 0x110]
mov eax, 2
cmp edi, 0x110000
je 0x14007cc09
mov dword [rsp + 0x110], 0x110000
jmp 0x14007d42d
mov dword [rsp + 0x110], esi
mov byte [rsp + 0x114], 0
mov qword [rsp + 0x100], 1
mov qword [rsp + 0x108], 0
jmp 0x14007d42d
mov dword [rsp + 0x110], esi
cmp edi, 0x7f
ja 0x14007d460
mov rsi, qword [rsp + 0x68]
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi]
jne 0x14007d44c
mov rcx, rsi
call fcn.140113d70
mov rdx, qword [rsi + 0x10]
mov rax, qword [rsi + 8]
mov byte [rax + rdx], dil
inc rdx
mov qword [rsi + 0x10], rdx
jmp 0x14007d529
mov dword [rsp + 0x128], 0
mov eax, edi
cmp edi, 0x800
jae 0x14007d499
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x128], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x129], dil
mov r8d, 2
jmp 0x14007d517
cmp edi, 0x10000
jae 0x14007d4d5
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x128], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x129], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x12a], dil
mov r8d, 3
jmp 0x14007d517
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x128], al
mov eax, edi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x129], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x12a], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x12b], dil
mov r8d, 4
mov rcx, qword [rsp + 0x68]
lea rdx, [rsp + 0x128]
call fcn.140086f75
mov rax, qword [rsp + 0x100]
jmp 0x14007cc09
mov rdx, qword [rsp + 0x108]
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x14007d55a
cmp rdx, qword [rsp + 0x88]
jae 0x14007d593
mov r8, qword [rsp + 0x80]
jmp 0x14007d573
movzx ecx, word [rsp + 0x74]
cmp rcx, 5
jae 0x14007faf5
lea r8, [rsp + 0x78]
cmp rdx, rcx
jae 0x14007d5a1
mov edi, dword [r8 + rdx*4]
inc rdx
mov qword [rsp + 0x100], 2
mov qword [rsp + 0x108], rdx
jmp 0x14007d42d
mov qword [rsp + 0x88], 0
jmp 0x14007d5ad
test cx, cx
je 0x14007d5ad
mov word [rsp + 0x74], 0
mov edi, dword [rsp + 0x110]
mov ecx, 0x110000
mov dword [rsp + 0x110], ecx
cmp edi, ecx
jne 0x14007d42d
jmp 0x14007d61e
mov qword [rsp + 0x88], 0
jmp 0x14007d5e4
test cx, cx
je 0x14007d5e4
mov word [rsp + 0x74], 0
mov qword [rsp + 0x100], 0
jmp 0x14007cc07
lea r8, [0x1402897d0]
mov rcx, rax
jmp 0x14007d608
lea r8, [0x1402897e8]
mov rdx, r9
call fcn.140237970
ud2
lea r8, [0x1402897b8]
mov rdx, rax
jmp 0x14007d60b
cmp dword [rsp + 0xd0], 0
je 0x14007d668
cmp qword [rsp + 0xd8], 0
mov rsi, qword [rsp + 0x68]
je 0x14007d66d
mov r8, qword [rsp + 0xe0]
mov rcx, qword [0x1402fea40]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [rsp + 0x70]
jmp 0x14007d66d
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.3.0_srcuts46.rs
mov ecx, 4
mov edx, 4
jmp 0x14007d60b
mov rsi, qword [rsp + 0x68]
test eax, eax
je 0x14007d690
cmp qword [rsp + 0x78], 0
je 0x14007d690
mov r8, qword [rsp + 0x80]
mov rcx, qword [0x1402fea40]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
xor edx, edx
lea rax, [rsp + 0x198]
mov qword [rax], rdx
mov qword [rax + 8], 8
mov qword [rax + 0x10], rdx
mov rax, qword [rsp + 0x118]
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x1f0], rax
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
lea rbx, [rsp + 0x128]
mov qword [rbx], rax
mov qword [rbx + 8], rcx
mov qword [rbx + 0x10], rdx
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], 1
movabs rax, 0x2e0000002e
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rdx
mov qword [rbx + 0x38], rcx
mov word [rbx + 0x40], 1
lea r15, [rsp + 0x30]
xorps xmm6, xmm6
xor edi, edi
xor r12d, r12d
mov rcx, rbx
call fcn.14007fcd4
test rax, rax
je 0x14007edcc
mov r13, rax
mov rsi, rdx
test dil, 1
mov rdi, qword [rsp + 0x2b0]
je 0x14007d758
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi]
jne 0x14007d749
mov rcx, rdi
call fcn.140113d70
mov rdx, qword [rdi + 0x10]
mov rax, qword [rdi + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [rdi + 0x10], rdx
cmp rsi, 4
jb 0x14007d768
cmp dword [r13], 0x2d2d6e78
je 0x14007d7a8
test r12b, 1
jne 0x14007d77c
mov rcx, r13
mov rdx, rsi
call fcn.14007ffec
mov r12d, eax
mov rcx, r13
mov rdx, rsi
mov r8, qword [rsp + 0x118]
mov r9, r15
call fcn.14007fe08
mov rcx, rdi
mov rdx, r13
mov r8, rsi
call fcn.140086f75
mov dil, 1
jmp 0x14007d70f
add r13, 4
add rsi, 0xfffffffffffffffc
mov qword [rsp + 0x1a8], 0
mov rbp, rsi
mov cl, 0x2d
mov rdx, r13
mov r8, rbp
call fcn.14004f610
cmp rax, 1
jne 0x14007d7f3
mov rbp, rdx
mov r14, rdx
inc r14
je 0x14007d7ee
cmp rsi, r14
jb 0x14007d7ee
cmp byte [r13 + rbp], 0x2d
je 0x14007daca
cmp rbp, rsi
jbe 0x14007d7bf
lea rax, str.failed_to_write_whole_buffer
xor ebp, ebp
mov r14, r13
xor ecx, ecx
cmp rbp, rcx
je 0x14007d82d
cmp byte [rax + rcx], 0
lea rcx, [rcx + 1]
jns 0x14007d801
mov byte [rsp + 0x30], 1
mov dil, 1
mov r12b, 1
lea rbx, [rsp + 0x128]
lea r15, [rsp + 0x30]
jmp 0x14007d70f
mov r13, rax
mov rbx, rsi
test rbx, rbx
je 0x14007daf9
add rbx, r14
xor eax, eax
mov qword [rsp + 0x48], rax
mov r15d, 0x48
mov dword [rsp + 0x40], 0x80
mov eax, ebp
mov dword [rsp + 0x58], ebp
xor esi, esi
lea r9d, [r15 + 0x1a]
inc r14
mov r10d, r15d
neg r10d
mov r11d, 0x24
mov edi, 1
mov ecx, esi
mov al, byte [r14 - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jae 0x14007d888
add al, 0xea
mov edx, eax
jmp 0x14007d89c
lea edx, [rax - 0x41]
cmp dl, 0x1a
jb 0x14007d89c
add al, 0x9f
mov edx, eax
cmp al, 0x1a
jae 0x14007d810
test edi, edi
je 0x14007facf
movzx r8d, dl
mov eax, ecx
not eax
xor edx, edx
div edi
cmp eax, r8d
jb 0x14007d810
mov eax, edi
imul eax, r8d
add ecx, eax
lea eax, [r10 + r11]
cmp r11d, r9d
mov edx, 0x1a
cmovae eax, edx
cmp r11d, r15d
mov edx, 1
cmovbe eax, edx
cmp eax, r8d
ja 0x14007d90d
mov r8d, 0x24
sub r8d, eax
mov eax, r8d
mul edi
jo 0x14007d810
cmp r14, rbx
je 0x14007d810
add r11d, 0x24
imul edi, r8d
inc r14
jmp 0x14007d876
mov r10d, dword [rsp + 0x58]
inc r10d
je 0x14007faa8
mov eax, ecx
sub eax, esi
test esi, esi
mov r8d, 2
mov edx, 0x2bc
cmove r8d, edx
xor r15d, r15d
xor edx, edx
div r8d
mov r8d, eax
xor edx, edx
div r10d
add eax, r8d
cmp eax, 0x1c8
jb 0x14007d97d
xor r15d, r15d
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 r15d, 0x24
cmp eax, 0x3e57
mov eax, r8d
ja 0x14007d953
jmp 0x14007d980
mov r8d, eax
lea eax, [r8*4]
lea eax, [rax + rax*8]
add r8d, 0x26
xor edx, edx
div r8w
mov edi, eax
mov eax, ecx
xor edx, edx
mov dword [rsp + 0x58], r10d
div r10d
add dword [rsp + 0x40], eax
jb 0x14007d810
mov eax, ecx
xor edx, edx
div dword [rsp + 0x58]
mov eax, dword [rsp + 0x40]
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x14007d810
cmp dword [rsp + 0x40], 0x110000
je 0x14007d810
mov esi, edx
mov qword [rsp + 0x180], r12
mov r8, qword [rsp + 0x1a0]
mov r12d, edx
mov rdx, qword [rsp + 0x48]
test rdx, rdx
je 0x14007da1d
mov rax, rdx
shl rax, 4
xor ecx, ecx
mov r9, qword [r8 + rcx]
cmp r9, r12
jb 0x14007da14
inc r9
mov qword [r8 + rcx], r9
add rcx, 0x10
cmp rax, rcx
jne 0x14007da04
cmp rdx, qword [rsp + 0x198]
jne 0x14007da44
lea rcx, [rsp + 0x198]
call fcn.1400dfc22
mov r8, qword [rsp + 0x1a0]
mov rdx, qword [rsp + 0x1a8]
movzx eax, di
add r15d, eax
mov rax, rdx
shl rax, 4
mov qword [r8 + rax], r12
mov ecx, dword [rsp + 0x40]
mov dword [r8 + rax + 8], ecx
lea rcx, [rdx + 1]
mov rax, rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x1a8], rcx
inc esi
cmp r14, rbx
mov r12, qword [rsp + 0x180]
jne 0x14007d85c
mov qword [rsp + 0x1b0], r13
mov qword [rsp + 0x40], r8
cmp qword [rsp + 0x48], 0x15
jae 0x14007e74f
cmp qword [rsp + 0x48], 2
jb 0x14007edb2
mov r8d, 1
mov rsi, qword [rsp + 0x40]
mov rcx, rsi
mov rdx, qword [rsp + 0x48]
call fcn.14007c57c
mov r11, rsi
jmp 0x14007eda8
test rbp, rbp
je 0x14007dd65
cmp rbp, rsi
ja 0x14007fbdc
mov rbx, rsi
sub rbx, r14
jbe 0x14007dd6d
cmp byte [r13 + r14], 0xbf
jg 0x14007dd73
jmp 0x14007fbf6
mov r11, qword [rsp + 0x1a0]
mov rsi, qword [rsp + 0x1a8]
lea r8, [rsi + rbp]
mov rcx, qword [rsp + 0x2b0]
mov rax, qword [rcx]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x58], rcx
sub rax, rcx
cmp rax, r8
mov qword [rsp + 0x40], r11
jb 0x14007e733
add rbp, r13
xor ebx, ebx
xor r14d, r14d
mov rcx, rbx
shl rcx, 4
add rcx, r11
cmp rbx, rsi
mov eax, 0
cmovae rcx, rax
mov rax, r13
cmp rbx, rsi
jae 0x14007db61
cmp qword [rcx], r14
je 0x14007dc14
mov rdx, rbp
cmp rax, rbp
je 0x14007dbcc
mov r9b, byte [rax]
movzx r15d, r9b
test r15b, r15b
jns 0x14007dbdd
mov edx, r15d
and edx, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp r15b, 0xdf
jbe 0x14007dbeb
movzx r8d, byte [rax + 2]
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
cmp r9b, 0xf0
jb 0x14007dbfd
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 r13, rax
mov rdx, rax
cmp r15d, 0x110000
jne 0x14007dc0f
mov rax, rdx
cmp rbx, rsi
jb 0x14007db53
jmp 0x14007dd20
mov rdi, r12
inc rax
inc r14
mov r13, rax
jmp 0x14007dc27
add rax, 2
shl edx, 6
or edx, r10d
mov r13, rax
mov r15d, edx
jmp 0x14007dc1b
add rax, 3
shl edx, 0xc
or r8d, edx
mov r13, rax
mov r15d, r8d
jmp 0x14007dc1b
mov r13, rax
jmp 0x14007dc1b
inc rbx
mov r15d, dword [rcx + 8]
inc r14
cmp r15d, 0x7f
ja 0x14007dc65
mov rdi, r12
mov r12, qword [rsp + 0x2b0]
mov rdx, qword [r12 + 0x10]
cmp rdx, qword [r12]
jne 0x14007dc4c
mov rcx, r12
call fcn.140113d70
mov r11, qword [rsp + 0x40]
mov rdx, qword [r12 + 0x10]
mov rax, qword [r12 + 8]
mov byte [rax + rdx], r15b
inc rdx
mov qword [r12 + 0x10], rdx
mov r12, rdi
jmp 0x14007db3a
mov dword [rsp + 0x70], 0
mov eax, r15d
cmp r15d, 0x800
jae 0x14007dc97
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x70], al
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + 0x71], r15b
mov r8d, 2
jmp 0x14007dd04
cmp r15d, 0x10000
jae 0x14007dccc
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x70], al
mov eax, r15d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x71], al
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + 0x72], r15b
mov r8d, 3
jmp 0x14007dd04
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x70], al
mov eax, r15d
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x71], al
mov eax, r15d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x72], al
and r15b, 0x3f
or r15b, 0x80
mov byte [rsp + 0x73], r15b
mov r8d, 4
mov rcx, qword [rsp + 0x2b0]
lea rdx, [rsp + 0x70]
call fcn.140086f75
mov r11, qword [rsp + 0x40]
jmp 0x14007db3a
mov rax, qword [rsp + 0x2b0]
mov rbp, qword [rax + 8]
mov rsi, qword [rax + 0x10]
mov r8, qword [rsp + 0x58]
test r8, r8
lea rbx, [rsp + 0x128]
lea r15, [rsp + 0x30]
je 0x14007dde8
cmp rsi, r8
jbe 0x14007dde2
cmp byte [rbp + r8], 0xbf
jg 0x14007dde8
jmp 0x14007fc0d
mov rax, r13
jmp 0x14007d7fa
jne 0x14007fbf6
add r14, r13
cmp rbp, 8
jb 0x14007ddd7
lea rcx, [r13 + 7]
and rcx, 0xfffffffffffffff8
mov rax, rcx
sub rax, r13
cmp rax, rbp
ja 0x14007ddd7
movabs rdx, 0x8080808080808080
test qword [r13], rdx
jne 0x14007d810
cmp rcx, r13
mov ecx, 8
cmove rax, rcx
lea rcx, [rbp - 8]
cmp rax, rcx
jae 0x14007e719
movabs rdx, 0x8080808080808080
test qword [r13 + rax], rdx
jne 0x14007d810
add rax, 8
jmp 0x14007ddb3
mov rax, r13
mov rsi, rbx
jmp 0x14007d7ff
jne 0x14007fc0d
lea r14, [r8 + rbp]
mov r13, rsi
sub r13, r8
test r12b, 1
jne 0x14007de06
mov rcx, r14
mov rdx, r13
call fcn.14007ffec
mov r12d, eax
mov al, byte [rsp + 0x32]
or al, byte [rsp + 0x30]
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]
mov dil, 1
jne 0x14007d70f
cmp byte [rsp + 0x31], 0
jne 0x14007d70f
cmp byte [rsp + 0x3b], 0
jne 0x14007d70f
add rbp, rsi
xor edx, edx
mov rax, r14
xor ecx, ecx
mov r8d, edx
cmp rax, rbp
je 0x14007e536
mov edx, ecx
mov r11b, byte [rax]
movzx r9d, r11b
test r9b, r9b
js 0x14007de76
inc rax
jmp 0x14007dee5
mov ecx, r9d
and ecx, 0x1f
movzx esi, byte [rax + 1]
and esi, 0x3f
cmp r9b, 0xdf
jbe 0x14007deca
movzx r10d, byte [rax + 2]
shl esi, 6
and r10d, 0x3f
or r10d, esi
cmp r11b, 0xf0
jb 0x14007ded8
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 0x14007e536
add rax, 4
jmp 0x14007dee5
add rax, 2
shl ecx, 6
or ecx, esi
mov r9d, ecx
jmp 0x14007dee5
add rax, 3
shl ecx, 0xc
or r10d, ecx
mov r9d, r10d
xor ecx, ecx
cmp r9d, 0x80
jb 0x14007de5a
imul ecx, r9d, 0x9e3779b9
imul r10d, r9d, 0x31415926
xor ecx, r10d
imul rcx, rcx, 0x39a
shr rcx, 0x1f
and ecx, 0xfffffffe
lea r11, [0x1402b11c8]
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, [0x1402b18fc]
mov ecx, dword [rcx + r10]
mov r10d, ecx
shr r10d, 8
cmp r10d, r9d
mov r10d, 0
cmovne ecx, r10d
cmp dl, cl
jbe 0x14007df64
test cl, cl
jne 0x14007e6f4
lea edx, [r9 - 0x340]
cmp edx, 4
ja 0x14007df79
cmp edx, 2
jne 0x14007e6f4
mov dl, 2
cmp r9d, 0x102d
jg 0x14007dfdf
cmp r9d, 0xc55
jle 0x14007e02f
cmp r9d, 0xf42
jle 0x14007e1ba
lea r10d, [r9 - 0xf43]
cmp r10d, 0x3e
ja 0x14007dfbf
movabs r11, 0x4021004002108401
bt r11, r10
jb 0x14007e6f4
lea r10d, [r9 - 0xf93]
cmp r10d, 0x26
ja 0x14007e300
movabs r11, 0x4002108401
jmp 0x14007e0d2
cmp r9d, 0x2125
jg 0x14007e073
cmp r9d, 0x1fba
jg 0x14007e0e1
lea r10d, [r9 - 0x1f71]
cmp r10d, 0xc
ja 0x14007e016
mov r11d, 0x1555
bt r11d, r10d
jb 0x14007e6f4
cmp r9d, 0x102e
je 0x14007e51c
cmp r9d, 0x1b35
jmp 0x14007e2ed
cmp r9d, 0x9d6
jg 0x14007e114
cmp r9d, 0x373
jg 0x14007e1f0
lea r10d, [r9 - 0x30f]
cmp r10d, 0x36
ja 0x14007e300
movabs r11, 0x48020000001005
bt r11, r10
jb 0x14007de57
jmp 0x14007e300
cmp r9d, 0x110b9
jg 0x14007e177
cmp r9d, 0xfa0f
jle 0x14007e25e
lea r10d, [r9 - 0xfa10]
cmp r10d, 0x12
lea rbx, [rsp + 0x128]
lea r15, [rsp + 0x30]
ja 0x14007e0b7
mov r11d, 0x50005
bt r11d, r10d
jb 0x14007e6f4
lea r10d, [r9 - 0xfb1d]
cmp r10d, 0x21
ja 0x14007e300
movabs r11, 0x200000005
bt r11, r10
jb 0x14007e6f4
jmp 0x14007e300
lea r10d, [r9 - 0x1fbe]
cmp r10d, 0x3f
ja 0x14007e102
movabs r11, 0xa800202020202801
bt r11, r10
jb 0x14007e6f4
cmp r9d, 0x1fbb
jne 0x14007e300
jmp 0x14007e6f4
mov r11, r12
cmp r9d, 0xb3d
jg 0x14007e226
lea r10d, [r9 - 0xa33]
cmp r10d, 0x2b
lea rbx, [rsp + 0x128]
lea r15, [rsp + 0x30]
ja 0x14007e155
mov r12, r11
movabs rsi, 0x80000000009
bt rsi, r10
jb 0x14007e6f4
cmp r9d, 0x9d7
je 0x14007e52e
cmp r9d, 0x9df
mov r12, r11
jne 0x14007e300
jmp 0x14007e6f4
cmp r9d, 0x114af
jle 0x14007e297
lea r10d, [r9 - 0x114b0]
cmp r10d, 0xd
ja 0x14007e1a1
mov r11d, 0x2401
bt r11d, r10d
jb 0x14007e51c
cmp r9d, 0x115af
je 0x14007e51c
cmp r9d, 0x11930
jmp 0x14007e2ed
cmp r9d, 0xd56
jle 0x14007e2b6
lea r10d, [r9 - 0xdca]
cmp r10d, 0x15
ja 0x14007e1e4
mov r11d, 0x200021
bt r11d, r10d
jb 0x14007e51c
cmp r9d, 0xd57
jmp 0x14007e2ed
lea r10d, [r9 - 0x374]
cmp r10d, 0x13
ja 0x14007e20d
mov r11d, 0x80401
bt r11d, r10d
jb 0x14007e6f4
cmp r9d, 0x93c
je 0x14007e51c
cmp r9d, 0x9be
jmp 0x14007e2ed
lea r10d, [r9 - 0xb3e]
cmp r10d, 0x19
ja 0x14007e242
mov esi, 0x3000001
bt esi, r10d
jb 0x14007e519
cmp r9d, 0xbbe
je 0x14007e519
cmp r9d, 0xbd7
mov r12, r11
jmp 0x14007e2ed
lea r10d, [r9 - 0x2329]
cmp r10d, 2
lea rbx, [rsp + 0x128]
lea r15, [rsp + 0x30]
jb 0x14007e6f4
cmp r9d, 0x2126
je 0x14007e6f4
cmp r9d, 0x2adc
jne 0x14007e300
jmp 0x14007e6f4
cmp r9d, 0x1133d
jg 0x14007e2d9
cmp r9d, 0x110ba
je 0x14007e51c
cmp r9d, 0x11127
jmp 0x14007e2ed
cmp r9d, 0xc56
je 0x14007e51c
cmp r9d, 0xcc2
je 0x14007e51c
cmp r9d, 0xd3e
jmp 0x14007e2ed
cmp r9d, 0x1133e
je 0x14007e51c
cmp r9d, 0x11357
lea rbx, [rsp + 0x128]
lea r15, [rsp + 0x30]
je 0x14007de57
lea r10d, [r9 - 0x2f800]
cmp r10d, 0x21e
jb 0x14007e6f4
lea r10d, [r9 - 0x1d1bb]
cmp r10d, 6
jb 0x14007e6f4
lea r10d, [r9 - 0x1d15e]
cmp r10d, 7
jb 0x14007e6f4
lea r10d, [r9 - 0xfb46]
cmp r10d, 9
jb 0x14007e6f4
lea r10d, [r9 - 0xfb43]
cmp r10d, 2
jb 0x14007e6f4
mov r10d, r9d
and r10d, 0xfffffffe
cmp r10d, 0xfb40
je 0x14007e6f4
lea r11d, [r9 - 0xfb38]
cmp r11d, 5
jb 0x14007e6f4
lea r11d, [r9 - 0xfb2a]
cmp r11d, 0xd
jb 0x14007e6f4
lea r11d, [r9 - 0xfa70]
cmp r11d, 0x6a
jb 0x14007e6f4
lea r11d, [r9 - 0xfa2a]
cmp r11d, 0x44
jb 0x14007e6f4
lea r11d, [r9 - 0xfa25]
cmp r11d, 2
jb 0x14007e6f4
lea r11d, [r9 - 0xfa15]
cmp r11d, 0xa
jb 0x14007e6f4
lea r11d, [r9 - 0xf900]
cmp r11d, 0x10e
jb 0x14007e6f4
cmp r10d, 0x212a
je 0x14007e6f4
cmp r10d, 0x2000
je 0x14007e6f4
cmp r10d, 0x1fee
je 0x14007e6f4
lea r11d, [r9 - 0xf75]
cmp r11d, 2
jb 0x14007e6f4
cmp r10d, 0xb5c
je 0x14007e6f4
lea r11d, [r9 - 0xa59]
cmp r11d, 3
jb 0x14007e6f4
mov r11d, r9d
and r11d, 0xfffffff8
cmp r11d, 0x958
je 0x14007e6f4
cmp r10d, 0x9dc
je 0x14007e6f4
lea r11d, [r9 - 0x11a8]
cmp r11d, 0x1b
jb 0x14007de57
lea r11d, [r9 - 0x1161]
cmp r11d, 0x15
jb 0x14007de57
lea r11d, [r9 - 0xcd5]
cmp r11d, 2
jb 0x14007de57
lea r11d, [r9 - 0x653]
cmp r11d, 3
jb 0x14007de57
cmp r10d, 0x330
je 0x14007de57
lea r10d, [r9 - 0x32d]
cmp r10d, 2
jb 0x14007de57
lea r10d, [r9 - 0x323]
cmp r10d, 6
jb 0x14007de57
lea r10d, [r9 - 0x313]
cmp r10d, 2
jb 0x14007de57
lea r10d, [r9 - 0x300]
cmp r10d, 5
jb 0x14007de57
lea r10d, [r9 - 0x306]
cmp r10d, 7
jb 0x14007de57
add r9d, 0xffffcf67
cmp r9d, 2
jae 0x14007de5a
jmp 0x14007de57
mov r12, r11
lea rbx, [rsp + 0x128]
lea r15, [rsp + 0x30]
jmp 0x14007de57
mov r12, r11
jmp 0x14007de57
test r8b, r8b
je 0x14007e6fe
lea rdx, [rsp + 0x76]
movups xmmword [rdx + 0x2a], xmm6
xor ecx, ecx
mov qword [rdx + 0x38], rcx
movups xmmword [rsp + 0x220], xmm6
movzx eax, word [rsp + 0x22e]
mov word [rdx + 0x10], ax
movups xmm0, xmmword [rsp + 0x21e]
movups xmmword [rdx], xmm0
mov dword [rsp + 0x70], ecx
mov word [rsp + 0x74], 0
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x98], r14
mov byte [rsp + 0xb8], cl
mov dword [rsp + 0xbc], ecx
mov byte [rsp + 0xc0], cl
mov dword [rsp + 0xc4], ecx
mov byte [rsp + 0xc8], cl
mov dword [rsp + 0xcc], ecx
mov byte [rsp + 0xd0], cl
mov dword [rsp + 0xd4], ecx
mov byte [rsp + 0xd8], cl
mov qword [rsp + 0xe0], rcx
mov dword [rsp + 0xf0], 0x110000
mov byte [rsp + 0xf4], cl
mov rsi, r14
cmp rsi, rbp
je 0x14007e67a
mov dl, byte [rsi]
movzx ebx, dl
test bl, bl
js 0x14007e5fb
inc rsi
jmp 0x14007e65c
mov eax, ebx
and eax, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp bl, 0xdf
jbe 0x14007e643
movzx ecx, byte [rsi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x14007e651
movzx ebx, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and ebx, 0x3f
or ebx, ecx
or ebx, eax
cmp ebx, 0x110000
je 0x14007e67a
add rsi, 4
jmp 0x14007e65c
add rsi, 2
shl eax, 6
or eax, r8d
mov ebx, eax
jmp 0x14007e65c
add rsi, 3
shl eax, 0xc
or ecx, eax
mov ebx, ecx
lea rcx, [rsp + 0x70]
call fcn.14007b3f1
mov r15b, 1
cmp eax, 0x110000
je 0x14007e690
cmp eax, ebx
je 0x14007e5e4
jmp 0x14007e690
lea rcx, [rsp + 0x70]
call fcn.14007b3f1
cmp eax, 0x110000
setne r15b
neg r15b
cmp dword [rsp + 0xb0], 0
je 0x14007e6bc
cmp qword [rsp + 0xb8], 0
je 0x14007e6bc
mov r8, qword [rsp + 0xc0]
mov rcx, qword [0x1402fea40]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp dword [rsp + 0x70], 0
je 0x14007e6e2
cmp qword [rsp + 0x78], 0
je 0x14007e6e2
mov r8, qword [rsp + 0x80]
mov rcx, qword [0x1402fea40]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
test r15b, r15b
lea rbx, [rsp + 0x128]
lea r15, [rsp + 0x30]
je 0x14007e6fe
mov byte [rsp + 0x35], 1
jmp 0x14007d70f
mov rcx, r14
mov rdx, r13
mov r8, qword [rsp + 0x1f0]
mov r9, r15
call fcn.14007fe08
jmp 0x14007d70f
movabs rax, 0x8080808080808080
test qword [r13 + rcx], rax
jne 0x14007d810
jmp 0x14007d833
mov rcx, qword [rsp + 0x2b0]
mov rdx, qword [rsp + 0x58]
call fcn.14023c751
mov r11, qword [rsp + 0x40]
jmp 0x14007db32
mov rsi, rdx
mov rax, qword [rsp + 0x48]
lea rcx, [rax*8]
movabs rax, 0x7ffffffffffffff0
and rcx, rax
mov edx, 8
call fcn.1401270b0
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14007fc8c
mov ecx, 0x100
mov edx, 8
call fcn.1401270b0
test rax, rax
je 0x14007fc9f
mov r14, rax
mov eax, 1
sub rax, rsi
mov qword [rsp + 0x1c8], rax
mov r10, qword [rsp + 0x40]
lea rax, [r10 + 0x20]
mov qword [rsp + 0x1c0], rax
lea rax, [r10 + 8]
mov qword [rsp + 0x1e0], rax
lea rax, [r10 - 8]
mov qword [rsp + 0x1d8], rax
lea rax, [r10 - 0x10]
mov qword [rsp + 0x1e8], rax
mov eax, 0x10
mov qword [rsp + 0x1d0], rax
xor r15d, r15d
xor esi, esi
mov rdx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x60]
mov r8, rdx
sub r8, rsi
mov rax, rsi
shl rax, 4
lea rcx, [r10 + rax]
cmp r8, 2
jae 0x14007e81f
mov r11, rdx
jmp 0x14007e9ab
mov qword [rsp + 0x58], r15
mov r15, qword [rcx]
mov r9, qword [rcx + 0x10]
cmp r9, r15
jae 0x14007e84a
cmp r8, 2
jne 0x14007e864
lea r11, [rsi + 2]
mov r8d, 2
mov r15, qword [rsp + 0x58]
jmp 0x14007e930
cmp r8, 2
jne 0x14007e8b3
lea r11, [rsi + 2]
mov r8d, 2
mov r15, qword [rsp + 0x58]
jmp 0x14007e9ab
mov qword [rsp + 0x120], r14
mov rdx, qword [rsp + 0x1c8]
mov qword [rsp + 0x50], rsi
lea r11, [rdx + rsi]
mov rdx, qword [rsp + 0x1c0]
lea rdi, [rdx + rax]
mov r10d, 2
mov rbx, r9
mov r14, rbx
mov rbx, qword [rdi]
cmp rbx, r14
jae 0x14007e903
lea r14, [r11 + r10]
inc r14
inc r10
add rdi, 0x10
cmp r14, 2
jne 0x14007e892
jmp 0x14007e900
mov qword [rsp + 0x120], r14
mov rdx, qword [rsp + 0x1c8]
mov qword [rsp + 0x50], rsi
lea r11, [rdx + rsi]
mov rdx, qword [rsp + 0x1c0]
lea rdi, [rdx + rax]
mov r10d, 2
mov rbx, r9
mov r14, rbx
mov rbx, qword [rdi]
cmp rbx, r14
jb 0x14007e903
lea r14, [r11 + r10]
inc r14
inc r10
add rdi, 0x10
cmp r14, 2
jne 0x14007e8e1
mov r10, r8
mov rdx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x60]
mov r14, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x50]
lea r11, [r10 + rsi]
mov r8, r10
cmp r9, r15
mov r10, qword [rsp + 0x40]
mov r15, qword [rsp + 0x58]
jae 0x14007e9ab
cmp r11, rsi
jb 0x14007fc6b
cmp r11, rdx
ja 0x14007fc7d
cmp r8, 2
jb 0x14007e9ab
mov r9, rsi
mov qword [rsp + 0x170], r11
mov rdx, r8
shr rdx, 1
add rax, qword [rsp + 0x1e0]
lea r9, [rsi + r8]
shl r9, 4
add r9, qword [rsp + 0x1d8]
mov r10, qword [rax - 8]
mov r11d, dword [rax]
mov rdi, qword [r9 - 8]
mov ebx, dword [r9]
mov qword [rax - 8], rdi
mov dword [rax], ebx
mov qword [r9 - 8], r10
mov dword [r9], r11d
add rax, 0x10
add r9, 0xfffffffffffffff0
dec rdx
jne 0x14007e971
mov r10, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov r11, qword [rsp + 0x170]
mov rdi, r11
sub rdi, rsi
jb 0x14007fc29
cmp r11, rdx
ja 0x14007fc29
jae 0x14007ea05
cmp r8, 0xa
jae 0x14007ea05
lea rdi, [rsi + 0xa]
cmp rdi, rdx
cmovae rdi, rdx
mov qword [rsp + 0x170], rdi
sub rdi, rsi
jb 0x14007fc41
cmp r8, 2
mov eax, 1
cmovb r8, rax
mov rdx, rdi
call fcn.14007c57c
mov r10, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
jmp 0x14007ea0d
mov qword [rsp + 0x170], r11
mov rbx, qword [rsp + 0x1d0]
cmp r15, rbx
jne 0x14007ea84
mov qword [rsp + 0x50], rsi
mov rsi, r15
mov r15, r14
mov rcx, rbx
shl rcx, 5
mov edx, 8
call fcn.1401270b0
test rax, rax
je 0x14007fc58
mov r14, rax
lea r13, [rbx + rbx]
shl rbx, 4
mov rcx, rax
mov rdx, r15
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x1402fea40]
xor edx, edx
mov r8, r15
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0x1d0], r13
mov r10, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov r15, rsi
mov rsi, qword [rsp + 0x50]
mov rax, r15
shl rax, 4
mov qword [r14 + rax], rdi
mov qword [r14 + rax + 8], rsi
inc r15
mov rbx, r15
cmp r15, 2
mov qword [rsp + 0x120], r14
jb 0x14007ed6f
mov r15, rbx
lea rsi, [rbx - 1]
mov rcx, rsi
shl rcx, 4
mov rax, qword [r14 + rcx]
mov rcx, qword [r14 + rcx + 8]
add rcx, rax
cmp rcx, rdx
je 0x14007eb17
mov r11, r15
shl r11, 4
mov r8, qword [r11 + r14 - 0x20]
cmp r8, rax
jbe 0x14007eb17
cmp r15, 3
jb 0x14007ed6f
lea rdi, [r15 - 3]
mov rcx, rdi
shl rcx, 4
mov rcx, qword [r14 + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x14007eb2c
cmp r15, 4
jb 0x14007ed6f
add r8, rcx
cmp qword [r11 + r14 - 0x40], r8
jbe 0x14007eb2c
jmp 0x14007ed6f
cmp r15, 3
jb 0x14007eb31
lea rdi, [r15 - 3]
mov rcx, rdi
shl rcx, 4
mov rcx, qword [r14 + rcx]
cmp rcx, rax
jb 0x14007eb35
lea rdi, [r15 - 2]
cmp r15, rdi
jbe 0x14007fb35
lea rax, [rdi + 1]
mov qword [rsp + 0x58], r15
cmp r15, rax
jbe 0x14007fb6a
mov r8, rdi
shl r8, 4
mov rcx, qword [r14 + r8 + 8]
shl rax, 4
mov r9, qword [r14 + rax]
mov r15, qword [r14 + rax + 8]
add r15, r9
mov r12, r15
sub r12, rcx
jb 0x14007fba4
mov qword [rsp + 0x188], rdi
mov qword [rsp + 0x50], rsi
cmp r15, rdx
ja 0x14007fbb5
mov qword [rsp + 0x1b8], r9
lea rdx, [r14 + r8]
mov qword [rsp + 0x208], rdx
mov r13, qword [r14 + r8]
lea rdx, [r14 + rax]
mov qword [rsp + 0x200], rdx
lea rax, [r14 + rax + 8]
mov qword [rsp + 0x1f8], rax
mov qword [rsp + 0x178], rcx
mov r14, rcx
shl r14, 4
add r14, r10
mov rdi, r13
shl rdi, 4
lea rsi, [r14 + rdi]
shl r15, 4
mov rbx, r12
sub rbx, r13
cmp rbx, r13
jae 0x14007ec5e
mov rdi, rbx
shl rdi, 4
mov r12, qword [rsp + 0x60]
mov rcx, r12
mov rdx, rsi
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, r12
test r13, r13
jle 0x14007ecd2
test rbx, rbx
jle 0x14007ecd2
add r15, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x50]
mov rax, qword [rdi - 0x10]
cmp rax, qword [rsi - 0x10]
jb 0x14007ec3a
add rdi, 0xfffffffffffffff0
mov rax, rdi
jmp 0x14007ec41
add rsi, 0xfffffffffffffff0
mov rax, rsi
movups xmm0, xmmword [rax]
movups xmmword [r15], xmm0
cmp rsi, r14
jbe 0x14007ec56
add r15, 0xfffffffffffffff0
cmp rdi, r12
ja 0x14007ec27
mov r14, rsi
jmp 0x14007eceb
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rdi, rbx
test r13, r13
jle 0x14007ecd7
cmp r12, r13
mov rbx, qword [rsp + 0x50]
jle 0x14007ece6
add r15, qword [rsp + 0x40]
mov r12, qword [rsp + 0x60]
mov rdx, r12
mov r8, rdx
mov rcx, qword [rsi]
xor edx, edx
xor eax, eax
cmp rcx, qword [r8]
setae dl
setb cl
mov r9, r8
cmovb r9, rsi
shl rdx, 4
add rdx, r8
movups xmm0, xmmword [r9]
movups xmmword [r14], xmm0
add r14, 0x10
cmp rdx, rdi
jae 0x14007ecee
mov al, cl
shl rax, 4
add rsi, rax
cmp rsi, r15
jb 0x14007ec90
jmp 0x14007ecee
mov r14, rsi
jmp 0x14007ecdc
mov r12, qword [rsp + 0x60]
mov rdx, r12
mov rbx, qword [rsp + 0x50]
jmp 0x14007ecee
mov r12, qword [rsp + 0x60]
mov rdx, r12
sub rdi, rdx
mov rcx, r14
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x1b8]
add rax, r13
mov rcx, qword [rsp + 0x200]
mov qword [rcx], rax
mov rax, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x1f8]
mov qword [rcx], rax
mov rcx, qword [rsp + 0x208]
lea rdx, [rcx + 0x10]
mov rax, qword [rsp + 0x188]
not rax
mov r8, qword [rsp + 0x58]
add r8, rax
shl r8, 4
call sub.VCRUNTIME140.dll_memmove
cmp rbx, 1
mov r10, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x120]
ja 0x14007eaac
mov r15d, 1
mov rsi, qword [rsp + 0x170]
cmp rsi, rdx
jb 0x14007e800
mov rcx, qword [0x1402fea40]
xor edx, edx
mov r8, r14
mov rsi, qword [sym.imp.kernel32.dll_HeapFree]
call rsi
mov rcx, qword [0x1402fea40]
xor edx, edx
mov r8, r12
call rsi
mov r11, qword [rsp + 0x40]
mov r12, qword [rsp + 0x180]
jmp 0x14007edbf
mov r12, qword [rsp + 0x180]
mov r11, qword [rsp + 0x40]
mov r13, qword [rsp + 0x1b0]
jmp 0x14007db01
mov rax, qword [rsp + 0x2b0]
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x10]
mov r8, qword [rsp + 0x190]
test r8, r8
je 0x14007ee0b
cmp rdx, r8
jbe 0x14007ee09
cmp byte [rcx + r8], 0xbf
jg 0x14007ee0b
lea rax, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.3.0_srcuts46.rs
mov qword [rsp + 0x20], rax
mov r9, rdx
jmp 0x14007fc22
jne 0x14007edf5
mov rbp, r12
add rcx, r8
mov qword [rsp + 0x118], rdx
mov rax, rdx
sub rax, r8
lea r15, [rsp + 0x70]
mov qword [r15], rcx
mov qword [r15 + 8], rax
xor ecx, ecx
mov qword [r15 + 0x10], rcx
mov qword [r15 + 0x18], rax
mov qword [r15 + 0x20], 1
movabs rdx, 0x2e0000002e
mov qword [r15 + 0x28], rdx
mov qword [r15 + 0x30], rcx
mov qword [r15 + 0x38], rax
mov word [r15 + 0x40], 1
mov ebx, 1
mov rcx, r15
call fcn.14007fcd4
test rax, rax
je 0x14007f1ff
test bpl, 1
je 0x14007ee5f
mov r13, rdx
test rdx, rdx
je 0x14007ee5f
mov r12, rax
mov r8b, byte [rax]
movzx ecx, r8b
test cl, cl
js 0x14007ee93
lea rsi, [r12 + 1]
jmp 0x14007eefd
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [r12 + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x14007eee2
movzx edx, byte [r12 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x14007eef1
movzx ecx, byte [r12 + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x14007ee5f
lea rsi, [r12 + 4]
jmp 0x14007eefd
lea rsi, [r12 + 2]
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x14007eefd
lea rsi, [r12 + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add r13, r12
call fcn.140113da9
test al, al
je 0x14007efc5
movzx eax, al
cmp eax, 0x11
je 0x14007efc5
cmp eax, 9
jne 0x14007f1fa
cmp rsi, r13
je 0x14007f081
mov r8b, byte [rsi]
movzx ecx, r8b
test cl, cl
js 0x14007ef3b
inc rsi
jmp 0x14007efa1
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [rsi + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x14007ef88
movzx edx, byte [rsi + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x14007ef96
movzx ecx, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x14007f081
add rsi, 4
jmp 0x14007efa1
add rsi, 2
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x14007efa1
add rsi, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.140113da9
cmp al, 0xe
ja 0x14007f1fa
movzx eax, al
mov ecx, 0x62f8
bt rcx, rax
jb 0x14007ef22
jmp 0x14007f1fa
cmp rsi, r13
je 0x14007f091
xor r14d, r14d
xor edi, edi
mov r8b, byte [rsi]
movzx ecx, r8b
test cl, cl
js 0x14007efe3
inc rsi
jmp 0x14007f045
mov eax, ecx
and eax, 0x1f
movzx r9d, byte [rsi + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x14007f02c
movzx edx, byte [rsi + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x14007f03a
movzx ecx, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl edx, 6
and ecx, 0x3f
or ecx, edx
or ecx, eax
cmp ecx, 0x110000
je 0x14007f096
add rsi, 4
jmp 0x14007f045
add rsi, 2
shl eax, 6
or eax, r9d
mov ecx, eax
jmp 0x14007f045
add rsi, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.140113da9
cmp al, 5
jne 0x14007f053
mov r14b, 1
jmp 0x14007f076
cmp al, 1
movzx edi, dil
cmove edi, ebx
cmp al, 0x11
ja 0x14007f1fa
movzx eax, al
mov ecx, 0x260fb
bt rcx, rax
jae 0x14007f1fa
cmp rsi, r13
jne 0x14007efd3
jmp 0x14007f096
mov al, byte [r13 - 1]
test al, al
js 0x14007f0d1
dec r13
movzx esi, al
jmp 0x14007f0ad
xor edi, edi
xor r14d, r14d
mov al, byte [r13 - 1]
test al, al
js 0x14007f174
dec r13
movzx esi, al
jmp 0x14007f150
mov ecx, esi
call fcn.140113da9
cmp al, 0xd
jne 0x14007f12d
cmp r12, r13
je 0x14007ee5f
mov al, byte [r13 - 1]
test al, al
js 0x14007f0d1
dec r13
movzx esi, al
jmp 0x14007f120
movzx ecx, byte [r13 - 2]
cmp cl, 0xc0
jge 0x14007f0fe
movzx edx, byte [r13 - 3]
cmp dl, 0xc0
jge 0x14007f107
movzx r8d, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and r8d, 7
shl r8d, 6
and edx, 0x3f
or edx, r8d
jmp 0x14007f10e
add r13, 0xfffffffffffffffe
and ecx, 0x1f
jmp 0x14007f116
add r13, 0xfffffffffffffffd
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and al, 0x3f
movzx esi, al
or esi, ecx
cmp esi, 0x110000
jne 0x14007f0ad
jmp 0x14007ee5f
mov ecx, esi
call fcn.140113da9
cmp al, 9
je 0x14007ee5f
mov ecx, esi
call fcn.140113da9
cmp al, 5
je 0x14007ee5f
jmp 0x14007f1fa
mov ecx, esi
call fcn.140113da9
cmp al, 0xd
jne 0x14007f1cd
cmp r12, r13
je 0x14007f1fa
mov al, byte [r13 - 1]
test al, al
js 0x14007f174
dec r13
movzx esi, al
jmp 0x14007f1c3
movzx ecx, byte [r13 - 2]
cmp cl, 0xc0
jge 0x14007f1a1
movzx edx, byte [r13 - 3]
cmp dl, 0xc0
jge 0x14007f1aa
movzx r8d, byte [r13 - 4]
add r13, 0xfffffffffffffffc
and r8d, 7
shl r8d, 6
and edx, 0x3f
or edx, r8d
jmp 0x14007f1b1
add r13, 0xfffffffffffffffe
and ecx, 0x1f
jmp 0x14007f1b9
add r13, 0xfffffffffffffffd
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and al, 0x3f
movzx esi, al
or esi, ecx
cmp esi, 0x110000
jne 0x14007f150
jmp 0x14007f1fa
mov ecx, esi
call fcn.140113da9
cmp al, 0x11
ja 0x14007f1fa
movzx eax, al
mov ecx, 0x20023
bt rcx, rax
jae 0x14007f1fa
test dil, 1
je 0x14007ee5f
and r14b, 1
je 0x14007ee5f
mov byte [rsp + 0x32], 1
cmp qword [rsp + 0x198], 0
mov r14, qword [rsp + 0x2b0]
mov rcx, qword [rsp + 0x118]
je 0x14007f235
mov r8, qword [rsp + 0x1a0]
mov rcx, qword [0x1402fea40]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [r14 + 0x10]
call fcn.1400809c7
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x80], rcx
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0x70], xmm0
mov qword [r14], rax
mov qword [r14 + 8], rdx
mov qword [r14 + 0x10], 0
mov rdi, qword [rsp + 0x68]
lea rsi, [rdi + 0x18]
cmp qword [rdi + 0x18], 0
movabs r15, 0x8080808080808080
je 0x14007f28b
mov r8, qword [rdi + 0x20]
mov rcx, qword [0x1402fea40]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
lea r12, [rsp + 0x70]
mov rax, qword [r12 + 0x10]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [r12]
movups xmmword [rsi], xmm0
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
mov qword [r12], rax
mov qword [r12 + 8], rcx
xor ebx, ebx
mov qword [r12 + 0x10], rbx
mov qword [r12 + 0x18], rcx
mov qword [r12 + 0x20], 1
movabs rax, 0x2e0000002e
mov qword [r12 + 0x28], rax
mov qword [r12 + 0x30], rbx
mov qword [r12 + 0x38], rcx
mov word [r12 + 0x40], 1
mov rcx, r12
call fcn.14007fcd4
test rax, rax
je 0x14007fa76
mov rbp, rax
mov rsi, rdx
test bl, 1
je 0x14007f328
mov rdx, qword [r14 + 0x10]
cmp rdx, qword [r14]
jne 0x14007f319
mov rcx, r14
call fcn.140113d70
mov rdx, qword [r14 + 0x10]
mov rax, qword [r14 + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [r14 + 0x10], rdx
cmp rsi, 8
jb 0x14007f36a
lea rcx, [rbp + 7]
and rcx, 0xfffffffffffffff8
mov rax, rcx
sub rax, rbp
cmp rax, rsi
ja 0x14007f36a
test qword [rbp], r15
je 0x14007f382
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x178], rax
mov r8d, 4
mov rcx, r14
lea rdx, str.xn__
call fcn.140086f75
jmp 0x14007f3db
xor eax, eax
cmp rsi, rax
je 0x14007f4f0
cmp byte [rbp + rax], 0
lea rax, [rax + 1]
jns 0x14007f36c
jmp 0x14007f3af
cmp rcx, rbp
mov ecx, 8
cmove rax, rcx
lea rcx, [rsi - 8]
cmp rax, rcx
jae 0x14007f3a4
test qword [rbp + rax], r15
jne 0x14007f3af
add rax, 8
jmp 0x14007f392
test qword [rbp + rcx], r15
je 0x14007f4f0
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x178], rax
mov r8d, 4
mov rcx, r14
lea rdx, str.xn__
call fcn.140086f75
mov bl, 1
test rsi, rsi
je 0x14007f2e8
mov rdi, rbp
add rdi, rsi
xor r8d, r8d
xor r13d, r13d
mov rsi, rbp
mov qword [rsp + 0x118], rdi
mov dl, byte [rsi]
movzx edi, dl
test dil, dil
js 0x14007f404
inc rsi
inc r8d
jmp 0x14007f47e
mov r9d, r8d
mov eax, edi
and eax, 0x1f
movzx r8d, byte [rsi + 1]
and r8d, 0x3f
cmp dil, 0xdf
jbe 0x14007f457
movzx ecx, byte [rsi + 2]
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
cmp dl, 0xf0
jb 0x14007f465
movzx edi, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and edi, 0x3f
or edi, ecx
or edi, eax
cmp edi, 0x110000
mov r8d, r9d
je 0x14007fa22
add rsi, 4
jmp 0x14007f473
add rsi, 2
shl eax, 6
or eax, r8d
mov edi, eax
jmp 0x14007f470
add rsi, 3
shl eax, 0xc
or ecx, eax
mov edi, ecx
mov r8d, r9d
inc r8d
cmp edi, 0x80
jae 0x14007f4ab
mov rdx, qword [r14 + 0x10]
cmp rdx, qword [r14]
jne 0x14007f499
mov rcx, r14
mov ebx, r8d
call fcn.140113d70
mov r8d, ebx
mov rdx, qword [r14 + 0x10]
mov rax, qword [r14 + 8]
mov byte [rax + rdx], dil
inc rdx
mov qword [r14 + 0x10], rdx
inc r13d
mov rdi, qword [rsp + 0x118]
cmp rsi, rdi
jne 0x14007f3f2
test r13d, r13d
je 0x14007f505
mov rdx, qword [r14 + 0x10]
cmp rdx, qword [r14]
jne 0x14007f4dc
mov rcx, r14
mov esi, r8d
call fcn.140113d70
mov r8d, esi
mov rdx, qword [r14 + 0x10]
mov rax, qword [r14 + 8]
mov byte [rax + rdx], 0x2d
inc rdx
mov qword [r14 + 0x10], rdx
mov ecx, r13d
jmp 0x14007f507
mov rcx, r14
mov rdx, rbp
mov r8, rsi
call fcn.140086f75
mov bl, 1
jmp 0x14007f2e8
xor ecx, ecx
mov bl, 1
cmp ecx, r8d
jae 0x14007f2e8
mov dword [rsp + 0x1b8], r8d
mov eax, 0x48
mov qword [rsp + 0x68], rax
xor r8d, r8d
mov eax, 0x80
mov ebx, ecx
mov r13d, 0x1a
mov r14d, ecx
mov qword [rsp + 0x188], rbp
mov dword [rsp + 0x50], ecx
mov rcx, rbp
cmp rcx, rdi
je 0x14007fb1d
mov r10b, byte [rcx]
movzx ebp, r10b
test bpl, bpl
js 0x14007f560
inc rcx
jmp 0x14007f5cd
mov edx, ebp
and edx, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp bpl, 0xdf
jbe 0x14007f5b2
movzx r9d, byte [rcx + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x14007f5c0
movzx ebp, byte [rcx + 3]
and edx, 7
shl edx, 0x12
shl r9d, 6
and ebp, 0x3f
or ebp, r9d
or ebp, edx
cmp ebp, 0x110000
je 0x14007fb1d
add rcx, 4
jmp 0x14007f5cd
add rcx, 2
shl edx, 6
or edx, r11d
mov ebp, edx
jmp 0x14007f5cd
add rcx, 3
shl edx, 0xc
or r9d, edx
mov ebp, r9d
cmp eax, ebp
ja 0x14007f546
jmp 0x14007f60a
add rcx, 4
jmp 0x14007f5fb
add rcx, 2
shl r9d, 6
or r9d, esi
mov edx, r9d
jmp 0x14007f5fb
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
cmp ebp, edx
mov r9d, edx
cmovb r9d, ebp
cmp eax, edx
cmovbe ebp, r9d
cmp rcx, rdi
je 0x14007f66c
mov r11b, byte [rcx]
movzx edx, r11b
test dl, dl
js 0x14007f61f
inc rcx
jmp 0x14007f5fb
mov r9d, edx
and r9d, 0x1f
movzx esi, byte [rcx + 1]
and esi, 0x3f
cmp dl, 0xdf
jbe 0x14007f5dd
movzx r10d, byte [rcx + 2]
shl esi, 6
and r10d, 0x3f
or r10d, esi
cmp r11b, 0xf0
jb 0x14007f5ed
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 0x14007f5d7
mov r10d, ebp
sub r10d, eax
lea ecx, [rbx + 1]
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp r10d, eax
ja 0x14007f9d1
imul r10d, ecx
add r10d, r8d
mov r11, qword [rsp + 0x188]
mov r8b, byte [r11]
movzx eax, r8b
test al, al
js 0x14007f6a6
inc r11
jmp 0x14007f70c
mov ecx, eax
and ecx, 0x1f
movzx r9d, byte [r11 + 1]
and r9d, 0x3f
cmp al, 0xdf
jbe 0x14007f6f3
movzx edx, byte [r11 + 2]
shl r9d, 6
and edx, 0x3f
or edx, r9d
cmp r8b, 0xf0
jb 0x14007f701
movzx eax, byte [r11 + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
je 0x14007f9c9
add r11, 4
jmp 0x14007f70c
add r11, 2
shl ecx, 6
or ecx, r9d
mov eax, ecx
jmp 0x14007f70c
add r11, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
cmp eax, ebp
jae 0x14007f719
inc r10d
je 0x14007f9d1
cmp eax, ebp
jne 0x14007f8ab
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x40], rbx
mov rax, qword [rsp + 0x68]
lea edi, [rax + 0x1a]
lea ecx, [rax - 0x24]
neg ecx
cmp edi, 0x25
cmovb ecx, r13d
cmp eax, 0x24
mov eax, 1
cmovae ecx, eax
mov esi, r10d
mov dword [rsp + 0x190], r10d
cmp r10d, ecx
jb 0x14007f84f
mov r15, qword [rsp + 0x68]
neg r15d
mov r12d, 0x48
mov esi, dword [rsp + 0x190]
mov r14d, ecx
sub r14d, 0x24
je 0x14007fa5c
sub esi, ecx
neg r14d
mov eax, esi
xor edx, edx
div r14d
add edx, ecx
mov ebx, 0x61
cmp edx, 0x1a
jb 0x14007f7a6
mov ebx, 0x16
cmp edx, 0x24
jae 0x14007fb03
add ebx, edx
cmp ebx, 0x7f
ja 0x14007f7e1
mov r13, qword [rsp + 0x2b0]
mov rdx, qword [r13 + 0x10]
cmp rdx, qword [r13]
jne 0x14007f7cb
mov rcx, r13
call fcn.140113d70
mov rdx, qword [r13 + 0x10]
mov rax, qword [r13 + 8]
mov byte [rax + rdx], bl
inc rdx
mov qword [r13 + 0x10], rdx
mov r13d, 0x1a
jmp 0x14007f822
mov dword [rsp + 0x128], 0
mov eax, ebx
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x128], al
and bl, 0x3f
or bl, 0x80
mov byte [rsp + 0x129], bl
mov r8d, 2
mov rcx, qword [rsp + 0x2b0]
lea rdx, [rsp + 0x128]
call fcn.140086f75
mov eax, esi
xor edx, edx
div r14d
lea ecx, [r15 + r12]
cmp r12d, edi
cmovae ecx, r13d
cmp r12d, dword [rsp + 0x68]
mov edx, 1
cmovbe ecx, edx
add r12d, 0x24
mov esi, eax
cmp eax, ecx
jae 0x14007f773
mov edi, 0x61
cmp esi, 0x1a
jb 0x14007f867
mov edi, 0x16
cmp esi, 0x24
jae 0x14007fb03
add edi, esi
cmp edi, 0x7f
mov r14d, dword [rsp + 0x50]
mov r15, qword [rsp + 0x40]
ja 0x14007f8b6
mov rsi, qword [rsp + 0x2b0]
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi]
mov ebx, 0xd41d41d5
jne 0x14007f89a
mov rcx, rsi
call fcn.140113d70
mov rdx, qword [rsi + 0x10]
mov rax, qword [rsi + 8]
mov byte [rax + rdx], dil
inc rdx
mov qword [rsi + 0x10], rdx
jmp 0x14007f8ff
mov r9d, ebx
mov r8d, r10d
jmp 0x14007f99e
mov dword [rsp + 0x128], 0
mov eax, edi
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x128], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x129], dil
mov r8d, 2
mov rcx, qword [rsp + 0x2b0]
lea rdx, [rsp + 0x128]
call fcn.140086f75
mov ebx, 0xd41d41d5
mov r9d, r15d
inc r9d
mov rdi, qword [rsp + 0x118]
je 0x14007faa8
cmp r15d, r14d
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r8d, r8d
mov eax, dword [rsp + 0x190]
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div r9d
add eax, ecx
xor ecx, ecx
cmp eax, 0x1c8
jb 0x14007f971
mov r11, qword [rsp + 0x58]
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 0x14007f948
jmp 0x14007f979
mov r10d, eax
mov r11, qword [rsp + 0x58]
lea eax, [r10*4]
lea eax, [rax + rax*8]
add r10d, 0x26
xor edx, edx
div r10w
movzx eax, ax
add eax, ecx
mov qword [rsp + 0x68], rax
mov r10d, r8d
mov ebx, r9d
cmp r11, rdi
jne 0x14007f696
inc r8d
inc ebp
mov eax, ebp
mov ebx, r9d
cmp r9d, dword [rsp + 0x1b8]
mov rbp, qword [rsp + 0x188]
jb 0x14007f543
jmp 0x14007fa3e
mov r9d, ebx
mov r8d, r10d
jmp 0x14007f9a7
mov byte [rsp + 0x30], 1
mov r14, qword [rsp + 0x2b0]
mov rax, qword [r14 + 0x10]
cmp rax, qword [rsp + 0x178]
movabs r15, 0x8080808080808080
lea r12, [rsp + 0x70]
mov bl, 1
jb 0x14007f2e8
mov rcx, qword [rsp + 0x178]
test rcx, rcx
je 0x14007fa35
cmp rax, rcx
jbe 0x14007fa2f
mov rax, qword [r14 + 8]
cmp byte [rax + rcx], 0xc0
jge 0x14007fa35
jmp 0x14007fbc4
mov rdi, qword [rsp + 0x118]
jmp 0x14007f4bc
jne 0x14007fbc4
mov qword [r14 + 0x10], rcx
jmp 0x14007f2e8
mov r14, qword [rsp + 0x2b0]
movabs r15, 0x8080808080808080
lea r12, [rsp + 0x70]
mov bl, 1
jmp 0x14007f2e8
lea rcx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.3.0_srcpunycode.rs
mov edx, 0x39
call fcn.140237a10
ud2
mov eax, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x210]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x30]
mov qword [rcx], rax
jmp 0x14007caf8
lea r8, [0x1402898c0]
mov edx, 4
mov rcx, r9
call fcn.140237a00
ud2
lea rcx, str.attempt_to_divide_by_zeroC:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.3.0_srcpunycode.rs
jmp 0x14007fadd
lea r8, [0x1402898c0]
jmp 0x14007faeb
lea r8, [0x140289800]
call fcn.1402379f0
ud2
lea rcx, str.attempt_to_divide_by_zeroC:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tinyvec_1.6.0_src_arrayvec.rs
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.3.0_srcpunycode.rs
mov edx, 0x19
jmp 0x14007fa6f
lea r8, [0x1402898d8]
mov edx, 4
mov rcx, rax
jmp 0x14007faa1
lea r8, [0x1402898c0]
mov edx, 4
jmp 0x14007faa1
lea rcx, str.explicit_panic
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.3.0_srcpunycode.rs
mov edx, 0xe
call fcn.1402390e9
ud2
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.3.0_srcpunycode.rs
mov edx, 0x2b
jmp 0x14007fa6f
lea rax, [0x1402d0540]
lea rcx, [rsp + 0x70]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 1
xor eax, eax
mov qword [rcx], rax
lea rdx, str.failed_to_write_whole_buffer
mov qword [rcx + 0x20], rdx
mov qword [rcx + 0x28], rax
lea rdx, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_slice_sort.rs
jmp 0x14007fb9d
lea rax, [0x1402d0540]
lea rcx, [rsp + 0x70]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 1
xor eax, eax
mov qword [rcx], rax
lea rdx, str.failed_to_write_whole_buffer
mov qword [rcx + 0x20], rdx
mov qword [rcx + 0x28], rax
lea rdx, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_slice_sort.rs
call fcn.140237930
ud2
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_slice_sort.rs
mov rdx, r15
call fcn.140237c90
ud2
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_slice_sort.rs
mov rcx, r15
jmp 0x14007faa1
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len__
lea r8, [0x1402cfc10]
mov edx, 0x30
jmp 0x14007fa6f
lea rax, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.3.0_srcpunycode.rs
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, rsi
xor r8d, r8d
mov r9, rbp
jmp 0x14007fc22
lea rax, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.3.0_srcpunycode.rs
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, rsi
mov r8, r14
jmp 0x14007fc1f
lea rax, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001fidna_0.3.0_srcuts46.rs
mov qword [rsp + 0x20], rax
mov rcx, rbp
mov rdx, rsi
mov r9, rsi
call fcn.140237f00
ud2
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_slice_sort.rs
mov edx, 0x2c
jmp 0x14007fa6f
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_slice_sort.rs
mov rcx, rsi
mov rdx, qword [rsp + 0x170]
jmp 0x14007fbae
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_slice_sort.rs
jmp 0x14007fb2b
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_slice_sort.rs
mov rcx, rsi
mov rdx, r11
jmp 0x14007fbae
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_slice_sort.rs
mov rcx, r11
jmp 0x14007faa1
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_slice_sort.rs
jmp 0x14007fb2b
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, str._rustc_90c541806f23a127002de5b4038be731ba1458calibrarycore_src_slice_sort.rs
jmp 0x14007fb2b