Function at 0x14009cfc8
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, 0x228
movaps xmmword [rsp + 0x210], xmm6
mov r14, rcx
mov rcx, qword [rsp + 0x290]
test r9, r9
je 0x14009d0e8
lea r10, [r8 + r9]
xor esi, esi
movaps xmm0, xmmword [0x1403bcbe0]
mov r11, r8
cmp r11, r10
je 0x14009db9f
mov rdi, rsi
mov al, byte [r11]
movzx ebp, al
test bpl, bpl
js 0x14009d023
inc r11
jmp 0x14009d08c
mov ebx, ebp
and ebx, 0x1f
movzx esi, byte [r11 + 1]
and esi, 0x3f
cmp bpl, 0xdf
jbe 0x14009d072
movzx r15d, byte [r11 + 2]
shl esi, 6
and r15d, 0x3f
or r15d, esi
cmp al, 0xf0
jb 0x14009d07f
movzx ebp, byte [r11 + 3]
and ebx, 7
shl ebx, 0x12
shl r15d, 6
and ebp, 0x3f
or ebp, r15d
or ebp, ebx
cmp ebp, 0x110000
je 0x14009db9f
add r11, 4
jmp 0x14009d08c
add r11, 2
shl ebx, 6
or ebx, esi
mov ebp, ebx
jmp 0x14009d08c
add r11, 3
shl ebx, 0xc
or r15d, ebx
mov ebp, r15d
mov esi, 0
cmp ebp, 0x2e
je 0x14009d007
test rdi, rdi
jne 0x14009d0a4
cmp ebp, 0x2d
je 0x14009d0e8
mov esi, 5
cmp rdi, 5
jae 0x14009d0d0
movups xmmword [rsp + 0x60], xmm0
cmp rdi, 4
je 0x14009dc18
cmp ebp, dword [rsp + rdi*4 + 0x60]
jne 0x14009d0d0
inc rdi
mov rsi, rdi
cmp rdi, 4
je 0x14009d0e8
lea eax, [rbp - 0x7b]
cmp eax, 0xffffffe5
ja 0x14009d007
add ebp, 0xffffffc6
cmp ebp, 0xfffffff6
jae 0x14009d007
mov qword [rsp + 0x1e8], r14
xor ebp, ebp
xorps xmm6, xmm6
movups xmmword [rsp + 0x158], xmm6
lea rax, [rsp + 0x64]
movups xmmword [rax - 2], xmm6
movups xmm0, xmmword [rax - 4]
movzx r11d, word [rax + 0xc]
mov dword [rax - 4], ebp
mov word [rax], bp
movups xmmword [rax + 2], xmm0
mov word [rax + 0x12], r11w
movups xmm1, xmmword [rsp + 0x150]
movups xmmword [rax + 0x14], xmm1
mov edi, dword [rdx + 0x30]
mov esi, dword [rdx + 0x34]
lea r10, [rsp + 0x38]
add r9, r8
mov rbx, qword [rsp + 0x160]
mov qword [rax + 0x24], rbx
movups xmmword [rax + 0x2c], xmm6
mov qword [rax + 0x3c], r9
mov qword [rax + 0x44], r8
mov qword [rax + 0x4c], r10
mov byte [rax + 0x58], sil
shl rsi, 0x20
or rsi, rdi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x58], rdx
mov qword [rdx + 0x10], rbp
mov dword [r10 + 8], ebp
mov qword [r10], rbp
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x128], rcx
movaps xmmword [rsp + 0x1f0], xmm0
mov word [rsp + 0x200], r11w
mov dword [rax + 0x54], edi
mov dword [rax + 0x5c], ebp
mov word [rax + 0x60], bp
lea r12, [rsp + 0xc8]
mov byte [r12], bpl
mov dword [r12 + 4], ebp
mov byte [r12 + 8], bpl
mov dword [r12 + 0xc], ebp
mov byte [r12 + 0x10], bpl
mov dword [r12 + 0x14], ebp
mov byte [r12 + 0x18], bpl
mov dword [r12 + 0x1c], ebp
mov byte [r12 + 0x20], bpl
mov qword [r12 + 0x28], rbp
mov dword [r12 + 0x38], 0x110000
mov byte [r12 + 0x3c], bpl
lea r14, [rsp + 0x80]
xor eax, eax
test rax, rax
je 0x14009d377
cmp rax, 1
jne 0x14009dacc
mov rax, qword [rsp + 0xf8]
cmp dword [rsp + 0x60], 0
je 0x14009d920
cmp rax, qword [rsp + 0x78]
jae 0x14009db5a
mov rcx, qword [rsp + 0x70]
jmp 0x14009d93d
mov dword [rsp + 0x100], r15d
jmp 0x14009d377
cmp byte [rsp + 0x104], 0
je 0x14009d25b
cmp byte [rsp + 0x105], sil
jae 0x14009d282
mov ecx, ebx
mov edx, r15d
call fcn.1402701a3
cmp eax, 0x110000
je 0x14009d28b
jmp 0x14009d276
mov ecx, ebx
mov edx, r15d
call fcn.1402701a3
cmp eax, 0x110000
jne 0x14009d276
test sil, sil
jne 0x14009d28b
jmp 0x14009d9c0
mov dword [rsp + 0x100], eax
jmp 0x14009d377
test sil, sil
je 0x14009d996
cmp dword [rsp + 0x60], 0
je 0x14009d2bd
mov rdx, qword [rsp + 0x78]
cmp rdx, qword [rsp + 0x68]
jne 0x14009d2ad
lea rcx, [rsp + 0x68]
call fcn.14002f54b
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
mov dword [rax + rdx*4], r15d
inc qword [rsp + 0x78]
jmp 0x14009d2d4
movzx eax, word [rsp + 0x64]
cmp rax, 3
ja 0x14009d320
mov dword [rsp + rax*4 + 0x68], r15d
inc eax
mov word [rsp + 0x64], ax
mov byte [rsp + 0x104], 1
mov byte [rsp + 0x105], sil
jmp 0x14009d377
mov ecx, ebx
call fcn.1402703d7
test rax, rax
je 0x14009d721
mov rbp, rdx
test rdx, rdx
je 0x14009d377
mov rsi, rax
shl rbp, 2
xor edi, edi
mov edx, dword [rsi + rdi]
mov rcx, r14
call fcn.14009cc1b
add rdi, 4
cmp rbp, rdi
jne 0x14009d30a
jmp 0x14009d377
lea rcx, [rsp + 0x168]
lea rdx, [rsp + 0x64]
mov r8d, r15d
call fcn.1403b191f
cmp dword [rsp + 0x60], 0
je 0x14009d358
cmp qword [rsp + 0x68], 0
je 0x14009d358
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
movups xmm0, xmmword [rsp + 0x168]
movups xmm1, xmmword [rsp + 0x178]
movaps xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
jmp 0x14009d2d4
mov rbx, qword [rsp + 0x88]
test rbx, rbx
jne 0x14009d57d
mov bpl, byte [rsp + 0xb8]
cmp bpl, 2
je 0x14009d657
mov r13, r12
mov rax, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xa0]
mov r12, qword [rsp + 0xb0]
mov r15b, byte [rsp + 0xb9]
test rax, rax
je 0x14009d46a
cmp rax, qword [rsp + 0x90]
je 0x14009d45e
lea rcx, [rax + 1]
mov qword [rsp + 0x98], rcx
mov r8b, byte [rax]
movzx ebx, r8b
test bl, bl
jns case.default.0x14009d549
mov ecx, ebx
and ecx, 0x1f
lea rdx, [rax + 2]
mov qword [rsp + 0x98], rdx
movzx esi, byte [rax + 1]
and esi, 0x3f
cmp bl, 0xdf
jbe 0x14009d589
lea rdx, [rax + 3]
mov qword [rsp + 0x98], rdx
movzx edx, byte [rax + 2]
shl esi, 6
and edx, 0x3f
or edx, esi
cmp r8b, 0xf0
jb 0x14009d592
lea rbx, [rax + 4]
mov qword [rsp + 0x98], rbx
movzx ebx, byte [rax + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and ebx, 0x3f
or ebx, edx
or ebx, ecx
cmp ebx, 0x110000
jne case.0x14009d549.48
mov qword [rsp + 0x98], 0
mov rcx, qword [rsp + 0xa8]
cmp rcx, rdi
je 0x14009d64c
lea rax, [rcx + 1]
mov qword [rsp + 0xa8], rax
mov dl, byte [rcx]
movzx ebx, dl
test bl, bl
jns 0x14009d4fc
mov eax, ebx
and eax, 0x1f
lea rsi, [rcx + 2]
mov qword [rsp + 0xa8], rsi
movzx esi, byte [rcx + 1]
and esi, 0x3f
cmp bl, 0xdf
jbe 0x14009d4ee
lea rbx, [rcx + 3]
mov qword [rsp + 0xa8], rbx
movzx ebx, byte [rcx + 2]
shl esi, 6
and ebx, 0x3f
or ebx, esi
cmp dl, 0xf0
jb 0x14009d4f7
lea rdx, [rcx + 4]
mov qword [rsp + 0xa8], rdx
movzx ecx, byte [rcx + 3]
and eax, 7
shl eax, 0x12
shl ebx, 6
and ecx, 0x3f
or ecx, ebx
or ecx, eax
mov ebx, ecx
jmp 0x14009d4fc
shl eax, 6
or eax, esi
mov ebx, eax
jmp 0x14009d4fc
shl eax, 0xc
or ebx, eax
lea eax, [rbx - 0x2d]
cmp eax, 2
jb case.default.0x14009d549
cmp ebx, 0x110000
je 0x14009d64c
lea eax, [rbx - 0x61]
cmp eax, 0x1a
jb case.default.0x14009d549
lea eax, [rbx - 0x30]
cmp eax, 0xa
jb case.default.0x14009d549
mov ecx, ebx
call fcn.14009ce5a
mov rcx, rax
movzx eax, byte [rax]
lea rsi, [0x1400a001c]
movsxd rdx, dword [rsi + rax*4]
add rdx, rsi
xor eax, eax
jmp rdx
test r15b, r15b
jne case.0x14009d549.50
jmp case.0x14009d549.48
test bpl, bpl
je case.0x14009d549.50
mov byte [r12 + 7], 1
inc rcx
call fcn.14009cf3b
add rdx, rax
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rax
jmp case.0x14009d549.49
mov ebp, dword [rsp + 0xc0]
jmp 0x14009d784
shl ecx, 6
or ecx, esi
mov ebx, ecx
jmp case.default.0x14009d549
shl ecx, 0xc
or edx, ecx
mov ebx, edx
jmp case.default.0x14009d549
cmp byte [rsp + 0xbc], 0
je case.0x14009d549.48
add r12, 0xb
jmp 0x14009d5ba
add r12, 8
jmp 0x14009d5ba
test bpl, bpl
je case.0x14009d549.48
add r12, 6
mov byte [r12], 1
cmp ebx, 0x110000
je 0x14009d64c
cmp byte [rsp + 0xe8], 0
je 0x14009d63c
cmp ebx, 0x80
jb 0x14009d644
lea esi, [rbx - 0xac00]
cmp esi, 0x2ba4
mov r12, r13
jb 0x14009d6b5
mov ecx, ebx
call fcn.140270486
test rax, rax
jne 0x14009d60e
mov ecx, ebx
call fcn.1402703d7
test rax, rax
je 0x14009d721
mov rsi, rax
mov rbp, rdx
test rdx, rdx
je 0x14009d377
shl rbp, 2
xor edi, edi
mov edx, dword [rsi + rdi]
mov rcx, r14
call fcn.14009cc1b
add rdi, 4
cmp rbp, rdi
jne 0x14009d623
jmp 0x14009d377
cmp ebx, 0x80
jae 0x14009d6a0
mov r12, r13
jmp 0x14009d721
mov byte [rsp + 0xb8], 2
mov r12, r13
mov ebx, dword [rsp + 0xc0]
test ebx, ebx
mov rdx, qword [rsp + 0xd8]
movzx ebp, word [rsp + 0xc4]
movzx eax, bp
mov rcx, rdx
cmove rcx, rax
test rcx, rcx
je 0x14009d959
mov rcx, qword [rsp + 0x88]
test ebx, ebx
je 0x14009d730
mov rbp, qword [rsp + 0xd0]
jmp 0x14009d740
lea esi, [rbx - 0xac00]
cmp esi, 0x2ba4
mov r12, r13
jae 0x14009d2e9
mov edi, esi
mov eax, 0xdee95c4d
imul rdi, rax
shr rdi, 0x29
lea edx, [rdi + 0x1100]
mov rcx, r14
call fcn.14009cc1b
imul eax, edi, 0x24c
mov ecx, esi
sub ecx, eax
movzx eax, cx
shr eax, 2
imul edx, eax, 0x4925
shr edx, 0x11
add edx, 0x1161
mov rcx, r14
call fcn.14009cc1b
mov eax, esi
shr eax, 2
imul rax, rax, 0x24924925
shr rax, 0x20
lea ecx, [rax + rax*8]
lea ecx, [rcx + rcx*2]
add ecx, eax
sub esi, ecx
je 0x14009d377
add esi, 0x11a7
mov ebx, esi
mov rcx, r14
mov edx, ebx
call fcn.14009cc1b
jmp 0x14009d377
cmp bp, 5
jae 0x14009fec5
mov rbp, r12
mov rdx, rax
mov rax, rdx
sub rax, rcx
jb 0x14009feb7
lea rcx, [rcx*8]
add rcx, rbp
mov rdx, rax
call fcn.14009ba98
mov ebp, dword [rsp + 0xc0]
test ebp, ebp
je 0x14009d774
mov rbx, qword [rsp + 0xd8]
jmp 0x14009d77c
movzx ebx, word [rsp + 0xc4]
mov qword [rsp + 0x88], rbx
mov rcx, qword [rsp + 0x80]
test ebp, ebp
je 0x14009d7a2
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xd8]
jmp 0x14009d7b7
movzx eax, word [rsp + 0xc4]
cmp rax, 5
jae 0x14009feae
mov rdx, r12
cmp rax, rcx
jbe 0x14009dbd5
mov r15d, dword [rdx + rcx*8 + 4]
inc rcx
cmp rcx, rbx
jne 0x14009d7db
test ebp, ebp
je 0x14009d7e8
mov rdi, qword [rsp + 0xd8]
jmp 0x14009d7f0
mov qword [rsp + 0x80], rcx
jmp 0x14009d8a0
movzx edi, word [rsp + 0xc4]
sub rdi, rbx
je 0x14009d86f
xor ecx, ecx
mov rax, qword [rsp + 0x88]
add rax, rcx
cmp dword [rsp + 0xc0], 0
je 0x14009d827
mov rbp, qword [rsp + 0xd8]
cmp rbp, rax
jbe 0x14009db82
mov rbx, qword [rsp + 0xd0]
jmp 0x14009d845
movzx ebp, word [rsp + 0xc4]
cmp rbp, 5
jae 0x14009fe73
mov rbx, r12
cmp rax, rbp
jae 0x14009db82
cmp rbp, rcx
jbe 0x14009db8e
mov dl, byte [rbx + rax*8]
mov eax, dword [rbx + rax*8 + 4]
mov byte [rbx + rcx*8], dl
mov dword [rbx + rcx*8 + 4], eax
lea rax, [rcx + 1]
mov rcx, rax
cmp rdi, rax
jne 0x14009d7f7
mov ebp, dword [rsp + 0xc0]
test ebp, ebp
je 0x14009d887
cmp qword [rsp + 0xd8], rdi
jb 0x14009d89c
mov qword [rsp + 0xd8], rdi
jmp 0x14009d89c
movzx eax, word [rsp + 0xc4]
cmp rdi, rax
jae 0x14009d89c
mov word [rsp + 0xc4], di
movups xmmword [r14], xmm6
imul eax, r15d, 0x9e3779b9
imul ecx, r15d, 0x31415926
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1f
and eax, 0xfffffffe
lea rdx, [0x1404cd628]
movzx eax, word [rax + rdx]
add eax, r15d
imul eax, eax, 0x9e3779b9
xor eax, ecx
imul rax, rax, 0x39a
shr rax, 0x1e
and eax, 0xfffffffc
lea rcx, [0x1404cdd5c]
mov esi, dword [rax + rcx]
mov eax, esi
shr eax, 8
cmp eax, r15d
mov eax, 0
cmovne esi, eax
mov ebx, dword [rsp + 0x100]
cmp ebx, 0x110000
jne 0x14009d234
test sil, sil
je 0x14009d227
mov ebx, r15d
jmp 0x14009d9c8
movzx ecx, word [rsp + 0x64]
cmp rcx, 5
jae 0x14009feee
cmp rax, rcx
jae 0x14009db65
lea rcx, [rsp + 0x68]
mov ebx, dword [rcx + rax*4]
inc rax
mov qword [rsp + 0xf0], 1
mov qword [rsp + 0xf8], rax
jmp 0x14009d9c8
mov qword [rsp + 0xf0], 2
mov qword [rsp + 0xf8], 0
mov ebx, dword [rsp + 0x100]
mov eax, 2
cmp ebx, 0x110000
je 0x14009d1ec
mov dword [rsp + 0x100], 0x110000
jmp 0x14009d9c8
mov dword [rsp + 0x100], r15d
mov byte [rsp + 0x104], 0
mov qword [rsp + 0xf0], 1
mov qword [rsp + 0xf8], 0
jmp 0x14009d9c8
mov dword [rsp + 0x100], r15d
cmp ebx, 0x80
jae 0x14009d9fd
mov rsi, qword [rsp + 0x58]
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi]
jne 0x14009d9ea
mov rcx, rsi
call fcn.1402363e0
mov rdx, qword [rsi + 0x10]
mov rax, qword [rsi + 8]
mov byte [rax + rdx], bl
inc rdx
mov qword [rsi + 0x10], rdx
jmp 0x14009dabf
mov dword [rsp + 0x168], 0
mov eax, ebx
cmp ebx, 0x800
jae 0x14009da33
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x168], al
and bl, 0x3f
or bl, 0x80
mov byte [rsp + 0x169], bl
mov r8d, 2
jmp 0x14009daad
cmp ebx, 0x10000
jae 0x14009da6c
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x168], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x169], al
and bl, 0x3f
or bl, 0x80
mov byte [rsp + 0x16a], bl
mov r8d, 3
jmp 0x14009daad
shr eax, 0x12
and al, 7
or al, 0xf0
mov byte [rsp + 0x168], al
mov eax, ebx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x169], al
mov eax, ebx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x16a], al
and bl, 0x3f
or bl, 0x80
mov byte [rsp + 0x16b], bl
mov r8d, 4
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0x168]
call fcn.140057f93
mov rax, qword [rsp + 0xf0]
jmp 0x14009d1ec
mov rdx, qword [rsp + 0xf8]
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x14009daea
cmp rdx, qword [rsp + 0x78]
jae 0x14009db23
mov rbp, qword [rsp + 0x70]
jmp 0x14009db03
movzx ecx, word [rsp + 0x64]
cmp rcx, 5
jae 0x14009feee
lea rbp, [rsp + 0x68]
cmp rdx, rcx
jae 0x14009db2e
mov ebx, dword [rbp + rdx*4]
inc rdx
mov qword [rsp + 0xf0], 2
mov qword [rsp + 0xf8], rdx
jmp 0x14009d9c8
mov qword [rsp + 0x78], 0
jmp 0x14009db3a
test cx, cx
je 0x14009db3a
mov word [rsp + 0x64], 0
mov ebx, dword [rsp + 0x100]
mov ecx, 0x110000
mov dword [rsp + 0x100], ecx
cmp ebx, ecx
jne 0x14009d9c8
jmp 0x14009dbe1
mov qword [rsp + 0x78], 0
jmp 0x14009db71
test cx, cx
je 0x14009db71
mov word [rsp + 0x64], 0
mov qword [rsp + 0xf0], 0
jmp 0x14009d1ea
lea r8, str.C:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823unicode_normalization_0.1.22_srcdecompose.rs
mov rcx, rax
jmp 0x14009db95
lea r8, str.C:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823unicode_normalization_0.1.22_srcdecompose.rs
mov rdx, rbp
call fcn.1403af8b0
ud2
mov rdx, r8
mov r8, r9
call fcn.140057f93
mov dword [r14 + 8], 0
mov qword [r14], 0
movaps xmm6, xmmword [rsp + 0x210]
add rsp, 0x228
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, str.C:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823unicode_normalization_0.1.22_srcdecompose.rs
mov rdx, rax
jmp 0x14009db98
cmp dword [rsp + 0xc0], 0
je 0x14009dc2e
cmp qword [rsp + 0xc8], 0
mov rsi, qword [rsp + 0x58]
je 0x14009dc33
mov r8, qword [rsp + 0xd0]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
mov eax, dword [rsp + 0x60]
jmp 0x14009dc33
lea r8, str.C:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823idna_0.4.0_srcuts46.rs
mov ecx, 4
mov edx, 4
jmp 0x14009db98
mov rsi, qword [rsp + 0x58]
test eax, eax
je 0x14009dc53
cmp qword [rsp + 0x68], 0
je 0x14009dc53
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
xor edx, edx
lea rax, [rsp + 0x150]
mov qword [rax], rdx
mov qword [rax + 8], 8
mov qword [rax + 0x10], rdx
mov rax, qword [rsp + 0x48]
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x1d8], rax
mov rax, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
lea rbp, [rsp + 0x168]
mov qword [rbp], rax
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], 1
movabs rax, 0x2e0000002e
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rdx
mov qword [rbp + 0x38], rcx
mov word [rbp + 0x40], 1
xorps xmm6, xmm6
xor edi, edi
xor r15d, r15d
mov rcx, rbp
call fcn.1400a003c
test rax, rax
je 0x14009f20f
mov rbx, rax
mov r14, rdx
test dil, 1
mov rdi, qword [rsp + 0x290]
je 0x14009dd14
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi]
jne 0x14009dd05
mov rcx, rdi
call fcn.1402363e0
mov rdx, qword [rdi + 0x10]
mov rax, qword [rdi + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [rdi + 0x10], rdx
cmp r14, 4
jb 0x14009dd22
cmp dword [rbx], 0x2d2d6e78
je 0x14009dd61
test r15b, 1
jne 0x14009dd36
mov rcx, rbx
mov rdx, r14
call fcn.1400a0350
mov r15d, eax
mov rcx, rbx
mov rdx, r14
mov r8, qword [rsp + 0x48]
lea r9, [rsp + 0x38]
call fcn.1400a017c
mov rcx, rdi
mov rdx, rbx
mov r8, r14
call fcn.140057f93
mov dil, 1
jmp 0x14009dccb
add rbx, 4
add r14, 0xfffffffffffffffc
xor eax, eax
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], 1
movabs rax, 0x2d0000002d
mov qword [rsp + 0x88], rax
mov rsi, r14
mov qword [rsp + 0x120], r15
mov cl, 0x2d
mov rdx, rbx
mov r8, rsi
call fcn.140061910
cmp rax, 1
jne 0x14009dded
mov rsi, rdx
mov r8, rdx
inc r8
je 0x14009dde3
cmp r8, r14
ja 0x14009dde3
mov al, byte [rbx + rsi]
cmp al, byte [rsp + 0x88]
je 0x14009e07b
mov qword [rsp + 0x78], rsi
cmp rsi, r14
jbe 0x14009ddb0
lea rax, str.dest_is_out_of_bounds
xor esi, esi
mov r13, rbx
mov r12d, 0x1a
mov r10d, 1
xor ecx, ecx
cmp rsi, rcx
je 0x14009de2e
cmp byte [rax + rcx], 0
lea rcx, [rcx + 1]
jns 0x14009de07
mov byte [rsp + 0x38], 1
mov dil, 1
mov r15b, 1
lea rbp, [rsp + 0x168]
jmp 0x14009dccb
mov qword [rsp + 0x148], rax
add r14, r13
mov dword [rsp + 0x50], 0x80
mov r15d, 0x48
xor ebx, ebx
xor ecx, ecx
mov r11d, esi
cmp r13, r14
mov qword [rsp + 0x30], rbx
je 0x14009e171
lea r8d, [r15 + 0x1a]
inc r13
mov r9d, r15d
neg r9d
mov edi, 0x24
mov ebp, 1
mov dword [rsp + 0x118], ecx
mov al, byte [r13 - 1]
lea edx, [rax - 0x30]
cmp dl, 0xa
jae 0x14009de8c
add al, 0xea
mov edx, eax
jmp 0x14009dea0
lea edx, [rax - 0x41]
cmp dl, 0x1a
jb 0x14009dea0
add al, 0x9f
mov edx, eax
cmp al, 0x1a
jae 0x14009de16
test ebp, ebp
je 0x14009fe99
movzx ebx, dl
mov eax, ecx
not eax
xor edx, edx
div ebp
cmp eax, ebx
jb 0x14009de16
mov eax, ebp
imul eax, ebx
add ecx, eax
lea eax, [r9 + rdi]
cmp edi, r8d
cmovae eax, r12d
cmp edi, r15d
cmovbe eax, r10d
cmp eax, ebx
ja 0x14009df00
mov ebx, 0x24
sub ebx, eax
mov eax, ebx
mul ebp
jo 0x14009de16
cmp r13, r14
je 0x14009de16
add edi, 0x24
imul ebp, ebx
inc r13
jmp 0x14009de7a
inc r11d
je 0x14009fe89
mov eax, ecx
mov edx, dword [rsp + 0x118]
sub eax, edx
test edx, edx
mov ebp, 2
mov edx, 0x2bc
cmove ebp, edx
xor r15d, r15d
xor edx, edx
div ebp
mov ebx, eax
xor edx, edx
div r11d
add eax, ebx
cmp eax, 0x1c8
jb 0x14009df66
xor r15d, r15d
mov ebx, 0xd41d41d5
mov edx, eax
imul rdx, rbx
shr rdx, 0x20
mov ebp, eax
sub ebp, edx
shr ebp, 1
add ebp, edx
shr ebp, 5
add r15d, 0x24
cmp eax, 0x3e57
mov eax, ebp
ja 0x14009df42
jmp 0x14009df68
mov ebp, eax
lea eax, [rbp*4]
lea eax, [rax + rax*8]
add ebp, 0x26
xor edx, edx
div bp
mov r8d, eax
mov eax, ecx
xor edx, edx
mov dword [rsp + 0x110], r11d
div r11d
add dword [rsp + 0x50], eax
jb 0x14009de16
mov eax, ecx
xor edx, edx
div dword [rsp + 0x110]
mov dword [rsp + 0x118], edx
mov eax, dword [rsp + 0x50]
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x14009de16
cmp dword [rsp + 0x50], 0x110000
je 0x14009de16
mov rax, qword [rsp + 0x158]
mov edi, dword [rsp + 0x118]
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x14009e00a
mov rcx, rbx
shl rcx, 4
xor edx, edx
mov rbp, qword [rax + rdx]
cmp rbp, rdi
jb 0x14009e001
inc rbp
mov qword [rax + rdx], rbp
add rdx, 0x10
cmp rcx, rdx
jne 0x14009dff1
cmp rbx, qword [rsp + 0x150]
jne 0x14009e040
lea rcx, [rsp + 0x150]
mov rdx, rbx
mov ebx, r8d
call fcn.14009c28d
mov r8d, ebx
mov r10d, 1
mov rax, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x160]
mov r11d, dword [rsp + 0x110]
movzx ecx, r8w
add r15d, ecx
mov rcx, rbx
shl rcx, 4
mov qword [rax + rcx], rdi
mov edx, dword [rsp + 0x50]
mov dword [rax + rcx + 8], edx
inc rbx
mov qword [rsp + 0x160], rbx
mov ecx, dword [rsp + 0x118]
inc ecx
jmp 0x14009de4e
test rsi, rsi
mov r12d, 0x1a
mov r10d, 1
je 0x14009e09c
cmp rsi, r14
jae 0x14009e0a9
cmp byte [rbx + rsi], 0xbf
jg 0x14009e0af
jmp 0x14009ff9e
mov rax, rbx
xor esi, esi
mov r13, rbx
jmp 0x14009de05
jne 0x14009ff9e
cmp r8, r14
jae 0x14009e0c4
cmp byte [rbx + r8], 0xbf
jle 0x14009ffb8
mov rax, r8
jmp 0x14009e0cd
mov rax, r14
jne 0x14009ffb8
lea r13, [rbx + rax]
sub r14, rax
cmp rsi, 8
jb 0x14009e169
lea rcx, [rbx + 7]
and rcx, 0xfffffffffffffff8
mov rax, rcx
sub rax, rbx
cmp rax, rsi
ja 0x14009e169
movabs rdx, 0x8080808080808080
mov qword [rsp + 0x148], rbx
test qword [rbx], rdx
jne 0x14009de16
mov rbp, qword [rsp + 0x148]
cmp rcx, rbp
mov ecx, 8
cmove rax, rcx
lea rcx, [rsi - 8]
cmp rax, rcx
jae 0x14009e14f
movabs rdx, 0x8080808080808080
test qword [rbp + rax], rdx
jne 0x14009de16
add rax, 8
cmp rax, rcx
mov rbp, qword [rsp + 0x148]
jb 0x14009e129
movabs rax, 0x8080808080808080
test qword [rbp + rcx], rax
jne 0x14009de16
jmp 0x14009de36
mov rax, rbx
jmp 0x14009de05
mov qword [rsp + 0x1b0], rsi
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x130], rax
cmp rbx, 0x15
jae 0x14009e1eb
cmp rbx, 2
mov rbp, qword [rsp + 0x290]
jb 0x14009e752
mov ebx, 1
mov rax, qword [rsp + 0x30]
sub rbx, rax
shl rax, 4
mov rcx, qword [rsp + 0x130]
lea rsi, [rcx + rax]
add rsi, 0xffffffffffffffe0
mov edi, 2
mov rcx, rsi
mov rdx, rdi
call fcn.14009ba4c
lea rax, [rbx + rdi]
inc rax
inc rdi
add rsi, 0xfffffffffffffff0
cmp rax, 2
jne 0x14009e1c7
jmp 0x14009e752
xor esi, esi
mov rax, rbx
shr rax, 0x3c
sete al
jne 0x1400a0013
lea rdi, [rbx*8]
and rdi, 0xfffffffffffffff0
mov sil, al
shl rsi, 3
test rdi, rdi
je 0x14009e222
mov rcx, rdi
mov rdx, rsi
call fcn.14002c720
jmp 0x14009e225
mov rax, rsi
mov qword [rsp + 0x108], rax
test rax, rax
je 0x1400a0006
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 8
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x130]
lea rcx, [rax - 0x30]
mov qword [rsp + 0x1b8], rcx
lea rcx, [rax + 8]
mov qword [rsp + 0x1d0], rcx
lea rcx, [rax - 8]
mov qword [rsp + 0x1c8], rcx
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x1c0], rax
mov r15d, 8
xor edi, edi
xor edx, edx
mov r11, qword [rsp + 0x30]
mov r12, r11
mov r14, r12
dec r12
je 0x14009e2e4
mov rax, r14
shl rax, 4
mov rcx, r12
shl rcx, 4
mov rbp, qword [rsp + 0x130]
mov rbx, qword [rax + rbp - 0x20]
cmp qword [rbp + rcx], rbx
jae 0x14009e2f2
mov rcx, qword [rsp + 0x1b8]
add rcx, rax
cmp r12, 1
je 0x14009e320
mov rbp, qword [rcx]
dec r12
add rcx, 0xfffffffffffffff0
cmp rbx, rbp
mov rbx, rbp
jb 0x14009e2ca
jmp 0x14009e323
mov r14d, 1
xor r12d, r12d
jmp 0x14009e3fa
add rax, qword [rsp + 0x1b8]
lea rcx, [r14 - 2]
xor r10d, r10d
cmp rcx, r10
je 0x14009e2ea
mov rbp, qword [rax]
inc r10
add rax, 0xfffffffffffffff0
cmp rbx, rbp
mov rbx, rbp
jae 0x14009e301
sub r12, r10
inc r10
jmp 0x14009e382
xor r12d, r12d
mov r10, r14
sub r10, r12
jb 0x14009ffd4
cmp r14, r11
ja 0x14009ffdd
cmp r10, 2
jb 0x14009e382
mov rcx, r10
shr rcx, 1
mov rbx, r12
shl rbx, 4
add rbx, qword [rsp + 0x1d0]
add rax, qword [rsp + 0x1c8]
mov r9, qword [rbx - 8]
mov r8d, dword [rbx]
mov rsi, qword [rax - 8]
mov ebp, dword [rax]
mov qword [rbx - 8], rsi
mov dword [rbx], ebp
mov qword [rax - 8], r9
mov dword [rax], r8d
add rbx, 0x10
add rax, 0xfffffffffffffff0
dec rcx
jne 0x14009e35b
test r12, r12
je 0x14009e3ea
cmp r10, 9
ja 0x14009e3ea
lea rax, [r12 - 1]
mov rbx, r14
sub rbx, r12
shl r12, 4
add r12, qword [rsp + 0x1c0]
mov rsi, r12
mov r12, rax
cmp r14, rax
jb 0x14009ff5e
cmp r14, r11
ja 0x14009ff72
inc rbx
mov rcx, rsi
mov rdx, rbx
call fcn.14009ba4c
mov rax, r12
add rax, 0xffffffffffffffff
jae 0x14009e3ef
add rsi, 0xfffffffffffffff0
cmp rbx, 0xa
mov r11, qword [rsp + 0x30]
jb 0x14009e3a7
mov rdx, rdi
mov r14, rbx
jmp 0x14009e3fa
mov r14, r10
jmp 0x14009e3fa
mov rdx, rdi
mov r14, rbx
mov r11, qword [rsp + 0x30]
cmp rdx, qword [rsp + 0x60]
jne 0x14009e41a
lea rcx, [rsp + 0x60]
call fcn.14009c28d
mov r11, qword [rsp + 0x30]
mov r15, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
shl rdx, 4
mov qword [r15 + rdx], r12
mov qword [r15 + rdx + 8], r14
mov rdi, qword [rsp + 0x70]
inc rdi
mov qword [rsp + 0x70], rdi
cmp rdi, 2
jb 0x14009e6f3
mov r15, qword [rsp + 0x68]
mov qword [rsp + 0x1e0], r12
lea rcx, [rdi - 1]
shl rcx, 4
cmp qword [r15 + rcx], 0
je 0x14009e4ac
mov rdx, rdi
shl rdx, 4
mov rbp, qword [rdx + r15 - 0x18]
mov rax, qword [r15 + rcx + 8]
cmp rbp, rax
jbe 0x14009e4ac
cmp rdi, 3
jb 0x14009e701
lea rsi, [rdi - 3]
mov rcx, rsi
shl rcx, 4
mov rcx, qword [r15 + rcx + 8]
lea rbx, [rax + rbp]
cmp rcx, rbx
jbe 0x14009e4c7
cmp rdi, 4
jb 0x14009e708
add rbp, rcx
cmp qword [rdx + r15 - 0x38], rbp
jbe 0x14009e4c7
jmp 0x14009e6f3
cmp rdi, 3
jb 0x14009e4cc
mov rax, qword [r15 + rcx + 8]
lea rsi, [rdi - 3]
mov rcx, rsi
shl rcx, 4
mov rcx, qword [r15 + rcx + 8]
cmp rcx, rax
jb 0x14009e4d0
lea rsi, [rdi - 2]
lea rcx, [rsi + 1]
cmp rdi, rcx
jbe 0x14009fed6
mov rdi, rcx
shl rdi, 4
mov rax, qword [r15 + rdi]
mov r13, rsi
shl r13, 4
mov rdx, qword [r15 + r13 + 8]
mov rbx, qword [r15 + r13]
add rbx, rdx
mov rbp, rbx
sub rbp, rax
jb 0x14009ff2c
cmp rbx, r11
ja 0x14009ff3b
mov qword [rsp + 0x140], rdx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x118], rsi
mov qword [rsp + 0x138], rdi
mov r14, qword [r15 + rdi + 8]
mov qword [rsp + 0x110], rax
mov rsi, rax
shl rsi, 4
add rsi, qword [rsp + 0x130]
mov r12, r14
shl r12, 4
lea r15, [rsi + r12]
shl rbx, 4
mov rdi, rbp
sub rdi, r14
cmp rdi, r14
jae 0x14009e5d9
mov r12, rdi
shl r12, 4
mov rbp, qword [rsp + 0x108]
mov rcx, rbp
mov rdx, r15
mov r8, r12
call fcn.1403abad0
add r12, rbp
test r14, r14
jle 0x14009e648
test rdi, rdi
jle 0x14009e648
add rbx, qword [rsp + 0x1c0]
mov rdx, qword [rsp + 0x108]
mov rax, qword [r12 - 0x10]
cmp rax, qword [r15 - 0x10]
jb 0x14009e5b9
add r12, 0xfffffffffffffff0
mov rax, r12
jmp 0x14009e5c0
add r15, 0xfffffffffffffff0
mov rax, r15
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
cmp r15, rsi
jbe 0x14009e5d4
add rbx, 0xfffffffffffffff0
cmp r12, rdx
ja 0x14009e5a5
mov rsi, r15
jmp 0x14009e658
mov rdi, qword [rsp + 0x108]
mov rcx, rdi
mov rdx, rsi
mov r8, r12
call fcn.1403abad0
add r12, rdi
test r14, r14
jle 0x14009e655
cmp rbp, r14
jle 0x14009e655
add rbx, qword [rsp + 0x130]
mov rdx, rdi
mov rdi, rdx
mov rcx, qword [r15]
xor edx, edx
xor eax, eax
cmp rcx, qword [rdi]
setae dl
setb cl
mov rbp, rdi
cmovb rbp, r15
shl rdx, 4
add rdx, rdi
movups xmm0, xmmword [rbp]
movups xmmword [rsi], xmm0
add rsi, 0x10
cmp rdx, r12
jae 0x14009e658
mov al, cl
shl rax, 4
add r15, rax
cmp r15, rbx
jb 0x14009e607
jmp 0x14009e658
mov rsi, r15
mov rdx, qword [rsp + 0x108]
jmp 0x14009e658
mov rdx, rdi
sub r12, rdx
mov rcx, rsi
mov r8, r12
call fcn.1403abad0
mov rdi, qword [rsp + 0x70]
mov r8, rdi
mov rcx, qword [rsp + 0x118]
sub r8, rcx
jbe 0x14009fedf
mov rcx, qword [rsp + 0x140]
add rcx, r14
mov r15, qword [rsp + 0x68]
mov rax, qword [rsp + 0x110]
mov qword [r15 + r13], rax
mov qword [r15 + r13 + 8], rcx
mov rcx, qword [rsp + 0x50]
cmp rdi, rcx
mov r12, qword [rsp + 0x1e0]
jbe 0x14009ff4d
mov rax, qword [rsp + 0x138]
lea rcx, [r15 + rax]
lea rdx, [r15 + rax]
add rdx, 0x10
shl r8, 4
add r8, 0xffffffffffffffe0
call fcn.1403abad0
dec rdi
mov qword [rsp + 0x70], rdi
mov rdx, rdi
cmp rdi, 1
mov r11, qword [rsp + 0x30]
ja 0x14009e44b
jmp 0x14009e6f6
mov rdx, rdi
test r12, r12
jne 0x14009e295
jmp 0x14009e70f
mov edx, 2
jmp 0x14009e6f6
mov edx, 3
jmp 0x14009e6f6
cmp qword [rsp + 0x60], 0
je 0x14009e72b
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
cmp qword [rsp + 0x30], 2
mov rbp, qword [rsp + 0x290]
jb 0x14009e752
mov rcx, qword [0x14051f200]
xor edx, edx
mov r8, qword [rsp + 0x108]
call qword [sym.imp.KERNEL32.DLL_HeapFree]
mov r9, qword [rsp + 0x1b0]
mov r10, qword [rsp + 0x30]
lea r8, [r10 + r9]
mov rax, qword [rbp]
mov r15, qword [rbp + 0x10]
sub rax, r15
cmp rax, r8
jb 0x14009f1ed
mov rdi, qword [rsp + 0x148]
add r9, rdi
xor r13d, r13d
xor r14d, r14d
mov r12, r9
mov rcx, r13
shl rcx, 4
add rcx, qword [rsp + 0x130]
cmp r13, r10
mov eax, 0
cmovae rcx, rax
mov rax, rdi
cmp r13, r10
jae 0x14009e7b7
cmp qword [rcx], r14
je 0x14009e84f
mov rdx, r9
cmp rax, r9
je 0x14009e812
mov bl, byte [rax]
movzx ebp, bl
test bpl, bpl
jns 0x14009e81f
mov edx, ebp
and edx, 0x1f
movzx edi, byte [rax + 1]
and edi, 0x3f
cmp bpl, 0xdf
jbe 0x14009e82a
movzx esi, byte [rax + 2]
shl edi, 6
and esi, 0x3f
or esi, edi
cmp bl, 0xf0
jb 0x14009e83a
movzx ebp, byte [rax + 3]
add rax, 4
and edx, 7
shl edx, 0x12
shl esi, 6
and ebp, 0x3f
or ebp, esi
or ebp, edx
mov rdi, rax
mov rdx, rax
cmp ebp, 0x110000
jne 0x14009e84a
mov rax, rdx
cmp r13, r10
jb 0x14009e7a9
jmp 0x14009e951
inc rax
inc r14
mov rdi, rax
jmp 0x14009e860
add rax, 2
shl edx, 6
or edx, edi
mov rdi, rax
mov ebp, edx
jmp 0x14009e855
add rax, 3
shl edx, 0xc
or esi, edx
mov rdi, rax
mov ebp, esi
jmp 0x14009e855
mov rdi, rax
jmp 0x14009e855
inc r13
mov ebp, dword [rcx + 8]
inc r14
cmp ebp, 0x80
jae 0x14009e899
mov rsi, qword [rsp + 0x290]
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi]
jne 0x14009e885
mov rcx, rsi
call fcn.1402363e0
mov r10, qword [rsp + 0x30]
mov r9, r12
mov rdx, qword [rsi + 0x10]
mov rax, qword [rsi + 8]
mov byte [rax + rdx], bpl
inc rdx
mov qword [rsi + 0x10], rdx
jmp 0x14009e78b
mov dword [rsp + 0x60], 0
mov eax, ebp
cmp ebp, 0x800
jae 0x14009e8c9
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x60], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x61], bpl
mov r8d, 2
jmp 0x14009e932
cmp ebp, 0x10000
jae 0x14009e8fc
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x60], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x61], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x62], bpl
mov r8d, 3
jmp 0x14009e932
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x60], al
mov eax, ebp
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x61], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x62], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x63], bpl
mov r8d, 4
mov rcx, qword [rsp + 0x290]
lea rdx, [rsp + 0x60]
call fcn.140057f93
mov r9, r12
mov r10, qword [rsp + 0x30]
jmp 0x14009e78b
mov rax, qword [rsp + 0x290]
mov r12, qword [rax + 8]
mov rbx, qword [rax + 0x10]
test r15, r15
lea rbp, [rsp + 0x168]
je 0x14009e985
cmp rbx, r15
jbe 0x14009e97f
cmp byte [r12 + r15], 0xbf
jg 0x14009e985
jmp 0x14009ffec
jne 0x14009ffec
lea r13, [r12 + r15]
mov r14, rbx
sub r14, r15
mov r15, qword [rsp + 0x120]
test r15b, 1
jne 0x14009e9ab
mov rcx, r13
mov rdx, r14
call fcn.1400a0350
mov r15d, eax
mov al, byte [rsp + 0x3a]
or al, byte [rsp + 0x38]
or al, byte [rsp + 0x3b]
or al, byte [rsp + 0x3c]
or al, byte [rsp + 0x3d]
or al, byte [rsp + 0x3e]
or al, byte [rsp + 0x3f]
or al, byte [rsp + 0x40]
or al, byte [rsp + 0x41]
or al, byte [rsp + 0x42]
mov dil, 1
jne 0x14009dccb
cmp byte [rsp + 0x39], 0
jne 0x14009dccb
cmp byte [rsp + 0x43], 0
jne 0x14009dccb
add r12, rbx
xor esi, esi
mov r9, r13
xor ebx, ebx
mov r8d, esi
cmp r9, r12
je 0x14009eff1
mov ecx, ebx
mov al, byte [r9]
movzx edx, al
test dl, dl
js 0x14009ea19
inc r9
jmp 0x14009ea7b
mov ebx, edx
and ebx, 0x1f
movzx ebp, byte [r9 + 1]
and ebp, 0x3f
cmp dl, 0xdf
jbe 0x14009ea63
movzx esi, byte [r9 + 2]
shl ebp, 6
and esi, 0x3f
or esi, ebp
cmp al, 0xf0
jb 0x14009ea70
movzx edx, byte [r9 + 3]
and ebx, 7
shl ebx, 0x12
shl esi, 6
and edx, 0x3f
or edx, esi
or edx, ebx
cmp edx, 0x110000
je 0x14009eff1
add r9, 4
jmp 0x14009ea7b
add r9, 2
shl ebx, 6
or ebx, ebp
mov edx, ebx
jmp 0x14009ea7b
add r9, 3
shl ebx, 0xc
or esi, ebx
mov edx, esi
xor ebx, ebx
cmp edx, 0x80
jb 0x14009e9ff
imul eax, edx, 0x9e3779b9
imul ebp, edx, 0x31415926
xor eax, ebp
imul rax, rax, 0x39a
shr rax, 0x1f
and eax, 0xfffffffe
lea rbx, [0x1404cd628]
movzx eax, word [rax + rbx]
add eax, edx
imul eax, eax, 0x9e3779b9
xor eax, ebp
imul rax, rax, 0x39a
shr rax, 0x1e
and eax, 0xfffffffc
lea rbp, [0x1404cdd5c]
mov ebx, dword [rax + rbp]
mov eax, ebx
shr eax, 8
cmp eax, edx
mov eax, 0
cmovne ebx, eax
cmp cl, bl
jbe 0x14009eaed
test bl, bl
jne 0x14009f1b6
lea eax, [rdx - 0x340]
cmp eax, 4
ja 0x14009eb01
cmp eax, 2
jne 0x14009f1b6
mov sil, 2
cmp edx, 0xd56
jg 0x14009eb65
cmp edx, 0x9de
jg 0x14009ebc0
cmp edx, 0x93b
jg 0x14009ecca
lea eax, [rdx - 0x30f]
cmp eax, 0x36
ja 0x14009eb43
movabs rcx, 0x48020000001005
bt rcx, rax
jb 0x14009e9fc
lea eax, [rdx - 0x374]
cmp eax, 0x13
ja 0x14009edc8
mov ecx, 0x80401
bt ecx, eax
jb 0x14009f1b6
jmp 0x14009edc8
cmp edx, 0x11126
jg 0x14009ec21
cmp edx, 0xf92
jg 0x14009ec63
lea eax, [rdx - 0xdca]
cmp eax, 0x15
ja 0x14009eb96
mov ecx, 0x200021
bt ecx, eax
jb 0x14009e9fc
cmp edx, 0xd57
je 0x14009e9fc
lea eax, [rdx - 0xf43]
cmp eax, 0x3e
ja 0x14009edc8
movabs rcx, 0x4021004002108401
jmp 0x14009ed7b
cmp edx, 0xbd6
jg 0x14009eca5
cmp edx, 0xbbd
jg 0x14009ed87
lea eax, [rdx - 0xb3e]
cmp eax, 0x19
ja 0x14009ebf1
mov ecx, 0x3000001
bt ecx, eax
jb 0x14009e9fc
lea eax, [rdx - 0xa33]
cmp eax, 0x2b
ja 0x14009ec10
movabs rcx, 0x80000000009
bt rcx, rax
jb 0x14009f1b6
cmp edx, 0x9df
jne 0x14009edc8
jmp 0x14009f1b6
cmp edx, 0x114af
jle 0x14009ecf3
lea eax, [rdx - 0x114b0]
cmp eax, 0xd
ja 0x14009ec46
mov ecx, 0x2401
bt ecx, eax
jb 0x14009e9fc
cmp edx, 0x115af
je 0x14009e9fc
cmp edx, 0x11930
je 0x14009e9fc
jmp 0x14009edc8
cmp edx, 0x1f70
jg 0x14009ed39
cmp edx, 0x102e
je 0x14009e9fc
cmp edx, 0x1b35
je 0x14009e9fc
lea eax, [rdx - 0xf93]
cmp eax, 0x26
ja 0x14009edc8
movabs rcx, 0x4002108401
jmp 0x14009ed7b
cmp edx, 0xcc1
jg 0x14009ed1c
cmp edx, 0xbd7
je 0x14009e9fc
cmp edx, 0xc56
je 0x14009e9fc
jmp 0x14009edc8
cmp edx, 0x93c
je 0x14009e9fc
cmp edx, 0x9be
je 0x14009e9fc
cmp edx, 0x9d7
je 0x14009e9fc
jmp 0x14009edc8
cmp edx, 0x11127
je 0x14009e9fc
cmp edx, 0x1133e
je 0x14009e9fc
cmp edx, 0x11357
je 0x14009e9fc
jmp 0x14009edc8
cmp edx, 0xcc2
je 0x14009e9fc
cmp edx, 0xd3e
je 0x14009e9fc
jmp 0x14009edc8
cmp edx, 0xfa0f
jle 0x14009ed95
cmp edx, 0x110ba
je 0x14009e9fc
lea eax, [rdx - 0xfa10]
cmp eax, 0x12
ja 0x14009ed66
mov ecx, 0x50005
bt ecx, eax
jb 0x14009f1b6
lea eax, [rdx - 0xfb1d]
cmp eax, 0x21
ja 0x14009edc8
movabs rcx, 0x200000005
bt rcx, rax
jb 0x14009f1b6
jmp 0x14009edc8
cmp edx, 0xbbe
je 0x14009e9fc
jmp 0x14009edc8
cmp edx, 0x2125
jle 0x14009efa8
lea eax, [rdx - 0x2329]
cmp eax, 2
jb 0x14009f1b6
cmp edx, 0x2126
je 0x14009f1b6
cmp edx, 0x2adc
je 0x14009f1b6
lea eax, [rdx - 0x2f800]
cmp eax, 0x21e
jb 0x14009f1b6
lea eax, [rdx - 0x1d1bb]
cmp eax, 6
jb 0x14009f1b6
lea eax, [rdx - 0x1d15e]
cmp eax, 7
jb 0x14009f1b6
lea eax, [rdx - 0xfb46]
cmp eax, 9
jb 0x14009f1b6
lea eax, [rdx - 0xfb43]
cmp eax, 2
jb 0x14009f1b6
mov ecx, edx
and ecx, 0xfffffffe
cmp ecx, 0xfb40
je 0x14009f1b6
lea eax, [rdx - 0xfb38]
cmp eax, 5
jb 0x14009f1b6
lea eax, [rdx - 0xfb2a]
cmp eax, 0xd
jb 0x14009f1b6
lea eax, [rdx - 0xfa70]
cmp eax, 0x6a
jb 0x14009f1b6
lea eax, [rdx - 0xfa2a]
cmp eax, 0x44
jb 0x14009f1b6
lea eax, [rdx - 0xfa25]
cmp eax, 2
jb 0x14009f1b6
lea eax, [rdx - 0xfa15]
cmp eax, 0xa
jb 0x14009f1b6
lea eax, [rdx - 0xf900]
cmp eax, 0x10e
jb 0x14009f1b6
cmp ecx, 0x212a
je 0x14009f1b6
cmp ecx, 0x2000
je 0x14009f1b6
cmp ecx, 0x1fee
je 0x14009f1b6
lea eax, [rdx - 0xf75]
cmp eax, 2
jb 0x14009f1b6
cmp ecx, 0xb5c
je 0x14009f1b6
lea eax, [rdx - 0xa59]
cmp eax, 3
jb 0x14009f1b6
mov eax, edx
and eax, 0xfffffff8
cmp eax, 0x958
je 0x14009f1b6
cmp ecx, 0x9dc
je 0x14009f1b6
lea eax, [rdx - 0x11a8]
cmp eax, 0x1b
jb 0x14009e9fc
lea eax, [rdx - 0x1161]
cmp eax, 0x15
jb 0x14009e9fc
lea eax, [rdx - 0xcd5]
cmp eax, 2
jb 0x14009e9fc
lea eax, [rdx - 0x653]
cmp eax, 3
jb 0x14009e9fc
cmp ecx, 0x330
je 0x14009e9fc
lea eax, [rdx - 0x32d]
cmp eax, 2
jb 0x14009e9fc
lea eax, [rdx - 0x323]
cmp eax, 6
jb 0x14009e9fc
lea eax, [rdx - 0x313]
cmp eax, 2
jb 0x14009e9fc
lea eax, [rdx - 0x300]
cmp eax, 5
jb 0x14009e9fc
lea eax, [rdx - 0x306]
cmp eax, 7
jb 0x14009e9fc
add edx, 0xffffcf67
cmp edx, 2
movzx esi, r8b
mov eax, 2
cmovb esi, eax
jmp 0x14009e9fc
lea eax, [rdx - 0x1fbe]
cmp eax, 0x3f
ja 0x14009efc7
movabs rcx, 0xa800202020202801
bt rcx, rax
jb 0x14009f1b6
lea eax, [rdx - 0x1f71]
cmp eax, 0xc
ja 0x14009efe0
mov ecx, 0x1555
bt ecx, eax
jb 0x14009f1b6
cmp edx, 0x1fbb
je 0x14009f1b6
jmp 0x14009edc8
test r8b, r8b
je 0x14009f1c8
movzx eax, r8b
cmp eax, 1
je 0x14009f1b6
lea rdx, [rsp + 0x62]
movups xmmword [rdx], xmm6
movzx eax, word [rsp + 0x70]
mov word [rsp + 0x200], ax
movups xmm0, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0x1f0], xmm0
xor ecx, ecx
mov dword [rsp + 0x60], ecx
mov word [rsp + 0x64], 0
mov word [rdx + 0x14], ax
movups xmmword [rdx + 4], xmm0
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x88], r13
mov qword [rdx + 0x3c], rcx
movups xmmword [rdx + 0x2e], xmm6
mov byte [rsp + 0xa8], cl
mov dword [rsp + 0xac], ecx
mov byte [rsp + 0xb0], cl
mov dword [rsp + 0xb4], ecx
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 qword [rsp + 0xd0], rcx
mov dword [rsp + 0xe0], 0x110000
mov byte [rsp + 0xe4], cl
mov rsi, r13
cmp rsi, r12
je 0x14009f14c
mov dl, byte [rsi]
movzx ebx, dl
test bl, bl
js 0x14009f0c9
inc rsi
jmp 0x14009f125
mov eax, ebx
and eax, 0x1f
movzx ebp, byte [rsi + 1]
and ebp, 0x3f
cmp bl, 0xdf
jbe 0x14009f10d
movzx ecx, byte [rsi + 2]
shl ebp, 6
and ecx, 0x3f
or ecx, ebp
cmp dl, 0xf0
jb 0x14009f11a
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 0x14009f14c
add rsi, 4
jmp 0x14009f125
add rsi, 2
shl eax, 6
or eax, ebp
mov ebx, eax
jmp 0x14009f125
add rsi, 3
shl eax, 0xc
or ecx, eax
mov ebx, ecx
lea rcx, [rsp + 0x60]
call fcn.14009c351
cmp eax, 0x110000
je 0x14009f13e
cmp eax, ebx
je 0x14009f0b2
mov sil, 1
cmp eax, 0x110000
je 0x14009f162
cmp eax, ebx
jne 0x14009f162
lea rcx, [rsp + 0x60]
call fcn.14009c351
cmp eax, 0x110000
setne sil
neg sil
cmp dword [rsp + 0xa0], 0
je 0x14009f18e
cmp qword [rsp + 0xa8], 0
je 0x14009f18e
mov r8, qword [rsp + 0xb0]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
cmp dword [rsp + 0x60], 0
je 0x14009f1b1
cmp qword [rsp + 0x68], 0
je 0x14009f1b1
mov r8, qword [rsp + 0x70]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
test sil, sil
je 0x14009f1c8
mov byte [rsp + 0x3d], 1
lea rbp, [rsp + 0x168]
jmp 0x14009dccb
mov rcx, r13
mov rdx, r14
mov r8, qword [rsp + 0x1d8]
lea r9, [rsp + 0x38]
call fcn.1400a017c
lea rbp, [rsp + 0x168]
jmp 0x14009dccb
mov rcx, qword [rsp + 0x290]
mov rdx, r15
call fcn.1403b89f8
mov r10, qword [rsp + 0x30]
mov r9, qword [rsp + 0x1b0]
jmp 0x14009e777
mov qword [rsp + 0x120], r15
mov rax, qword [rsp + 0x290]
mov rcx, qword [rax + 8]
mov rdx, qword [rax + 0x10]
mov r8, qword [rsp + 0x128]
test r8, r8
je 0x14009f256
cmp rdx, r8
jbe 0x14009f254
cmp byte [rcx + r8], 0xbf
jg 0x14009f256
lea rax, str.C:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823idna_0.4.0_srcuts46.rs
mov qword [rsp + 0x20], rax
mov r9, rdx
jmp 0x14009ffcd
jne 0x14009f240
add rcx, r8
mov qword [rsp + 0x48], rdx
mov rax, rdx
sub rax, r8
lea r13, [rsp + 0x60]
mov qword [r13], rcx
mov qword [r13 + 8], rax
xor ecx, ecx
mov qword [r13 + 0x10], rcx
mov qword [r13 + 0x18], rax
mov qword [r13 + 0x20], 1
movabs rdx, 0x2e0000002e
mov qword [r13 + 0x28], rdx
mov qword [r13 + 0x30], rcx
mov qword [r13 + 0x38], rax
mov word [r13 + 0x40], 1
mov rcx, r13
call fcn.1400a003c
test rax, rax
je 0x14009f62b
test byte [rsp + 0x120], 1
je 0x14009f2a0
mov rsi, rdx
test rdx, rdx
je 0x14009f2a0
mov rbp, rax
mov bl, byte [rax]
movzx ecx, bl
test cl, cl
js 0x14009f2d5
lea r12, [rbp + 1]
jmp 0x14009f331
mov eax, ecx
and eax, 0x1f
movzx edi, byte [rbp + 1]
and edi, 0x3f
cmp cl, 0xdf
jbe 0x14009f319
movzx edx, byte [rbp + 2]
shl edi, 6
and edx, 0x3f
or edx, edi
cmp bl, 0xf0
jb 0x14009f326
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 0x14009f2a0
lea r12, [rbp + 4]
jmp 0x14009f331
lea r12, [rbp + 2]
shl eax, 6
or eax, edi
mov ecx, eax
jmp 0x14009f331
lea r12, [rbp + 3]
shl eax, 0xc
or edx, eax
mov ecx, edx
add rsi, rbp
call fcn.14027012c
test al, al
je 0x14009f3f9
movzx eax, al
cmp eax, 0x11
je 0x14009f3f9
cmp eax, 9
jne 0x14009f626
cmp r12, rsi
je 0x14009f4bc
mov dl, byte [r12]
movzx ecx, dl
test cl, cl
js 0x14009f36f
inc r12
jmp 0x14009f3d5
mov eax, ecx
and eax, 0x1f
movzx ebx, byte [r12 + 1]
and ebx, 0x3f
cmp cl, 0xdf
jbe 0x14009f3bd
movzx edi, byte [r12 + 2]
shl ebx, 6
and edi, 0x3f
or edi, ebx
cmp dl, 0xf0
jb 0x14009f3ca
movzx ecx, byte [r12 + 3]
and eax, 7
shl eax, 0x12
shl edi, 6
and ecx, 0x3f
or ecx, edi
or ecx, eax
cmp ecx, 0x110000
je 0x14009f4bc
add r12, 4
jmp 0x14009f3d5
add r12, 2
shl eax, 6
or eax, ebx
mov ecx, eax
jmp 0x14009f3d5
add r12, 3
shl eax, 0xc
or edi, eax
mov ecx, edi
call fcn.14027012c
cmp al, 0xe
ja 0x14009f626
movzx eax, al
mov ecx, 0x62f8
bt rcx, rax
jb 0x14009f356
jmp 0x14009f626
cmp r12, rsi
je 0x14009f4cb
xor r14d, r14d
xor r15d, r15d
mov bl, byte [r12]
movzx ecx, bl
test cl, cl
js 0x14009f418
inc r12
jmp 0x14009f47a
mov eax, ecx
and eax, 0x1f
movzx edi, byte [r12 + 1]
and edi, 0x3f
cmp cl, 0xdf
jbe 0x14009f462
movzx edx, byte [r12 + 2]
shl edi, 6
and edx, 0x3f
or edx, edi
cmp bl, 0xf0
jb 0x14009f46f
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 0x14009f4d1
add r12, 4
jmp 0x14009f47a
add r12, 2
shl eax, 6
or eax, edi
mov ecx, eax
jmp 0x14009f47a
add r12, 3
shl eax, 0xc
or edx, eax
mov ecx, edx
call fcn.14027012c
cmp al, 5
jne 0x14009f488
mov r14b, 1
jmp 0x14009f4b1
cmp al, 1
movzx r15d, r15b
mov ecx, 1
cmove r15d, ecx
cmp al, 0x11
ja 0x14009f626
movzx eax, al
mov ecx, 0x260fb
bt rcx, rax
jae 0x14009f626
cmp r12, rsi
jne 0x14009f408
jmp 0x14009f4d1
mov al, byte [rsi - 1]
test al, al
js 0x14009f50a
dec rsi
movzx ebx, al
jmp 0x14009f4e7
xor r15d, r15d
xor r14d, r14d
mov al, byte [rsi - 1]
test al, al
js 0x14009f5a6
dec rsi
movzx ebx, al
jmp 0x14009f583
mov ecx, ebx
call fcn.14027012c
cmp al, 0xd
jne 0x14009f560
cmp rbp, rsi
je 0x14009f2a0
mov al, byte [rsi - 1]
test al, al
js 0x14009f50a
dec rsi
movzx ebx, al
jmp 0x14009f553
movzx ecx, byte [rsi - 2]
cmp cl, 0xc0
jge 0x14009f531
movzx edx, byte [rsi - 3]
cmp dl, 0xc0
jge 0x14009f53a
movzx ebx, byte [rsi - 4]
add rsi, 0xfffffffffffffffc
and ebx, 7
shl ebx, 6
and edx, 0x3f
or edx, ebx
jmp 0x14009f541
add rsi, 0xfffffffffffffffe
and ecx, 0x1f
jmp 0x14009f549
add rsi, 0xfffffffffffffffd
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and al, 0x3f
movzx ebx, al
or ebx, ecx
cmp ebx, 0x110000
jne 0x14009f4e7
jmp 0x14009f2a0
mov ecx, ebx
call fcn.14027012c
cmp al, 9
je 0x14009f2a0
mov ecx, ebx
call fcn.14027012c
cmp al, 5
je 0x14009f2a0
jmp 0x14009f626
mov ecx, ebx
call fcn.14027012c
cmp al, 0xd
jne 0x14009f5f9
cmp rbp, rsi
je 0x14009f626
mov al, byte [rsi - 1]
test al, al
js 0x14009f5a6
dec rsi
movzx ebx, al
jmp 0x14009f5ef
movzx ecx, byte [rsi - 2]
cmp cl, 0xc0
jge 0x14009f5cd
movzx edx, byte [rsi - 3]
cmp dl, 0xc0
jge 0x14009f5d6
movzx ebx, byte [rsi - 4]
add rsi, 0xfffffffffffffffc
and ebx, 7
shl ebx, 6
and edx, 0x3f
or edx, ebx
jmp 0x14009f5dd
add rsi, 0xfffffffffffffffe
and ecx, 0x1f
jmp 0x14009f5e5
add rsi, 0xfffffffffffffffd
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
shl ecx, 6
and al, 0x3f
movzx ebx, al
or ebx, ecx
cmp ebx, 0x110000
jne 0x14009f583
jmp 0x14009f626
mov ecx, ebx
call fcn.14027012c
cmp al, 0x11
ja 0x14009f626
movzx eax, al
mov ecx, 0x20023
bt rcx, rax
jae 0x14009f626
test r15b, 1
je 0x14009f2a0
and r14b, 1
je 0x14009f2a0
mov byte [rsp + 0x3a], 1
cmp qword [rsp + 0x150], 0
mov r15, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x48]
je 0x14009f65e
mov r8, qword [rsp + 0x158]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
mov rcx, qword [r15 + 0x10]
call fcn.140236215
mov rcx, qword [r15 + 0x10]
mov qword [rsp + 0x70], rcx
movups xmm0, xmmword [r15]
movaps xmmword [rsp + 0x60], xmm0
mov qword [r15], rax
mov qword [r15 + 8], rdx
mov qword [r15 + 0x10], 0
mov rdi, qword [rsp + 0x58]
lea rsi, [rdi + 0x18]
cmp qword [rdi + 0x18], 0
je 0x14009f6a7
mov r8, qword [rdi + 0x20]
mov rcx, qword [0x14051f200]
xor edx, edx
call qword [sym.imp.KERNEL32.DLL_HeapFree]
lea rdx, [rsp + 0x60]
mov rax, qword [rdx + 0x10]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rdx]
movups xmmword [rsi], xmm0
mov rax, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x28]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
xor ebp, ebp
mov qword [rdx + 0x10], rbp
mov qword [rdx + 0x18], rcx
mov qword [rdx + 0x20], 1
movabs rax, 0x2e0000002e
mov qword [rdx + 0x28], rax
xor eax, eax
mov qword [rsp + 0x138], rax
mov qword [rdx + 0x30], rbp
mov qword [rdx + 0x38], rcx
mov word [rdx + 0x40], 1
lea rcx, [rsp + 0x60]
call fcn.1400a003c
test rax, rax
je 0x14009fe57
mov r14, rax
mov rdi, rdx
test byte [rsp + 0x138], 1
je 0x14009f748
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15]
jne 0x14009f739
mov rcx, r15
call fcn.1402363e0
mov rdx, qword [r15 + 0x10]
mov rax, qword [r15 + 8]
mov byte [rax + rdx], 0x2e
inc rdx
mov qword [r15 + 0x10], rdx
cmp rdi, 8
jb 0x14009f796
lea rcx, [r14 + 7]
and rcx, 0xfffffffffffffff8
mov rax, rcx
sub rax, r14
cmp rax, rdi
ja 0x14009f796
movabs rdx, 0x8080808080808080
test qword [r14], rdx
je 0x14009f7ae
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x120], rax
mov r8d, 4
mov rcx, r15
lea rdx, str.xn__
call fcn.140057f93
jmp 0x14009f821
xor eax, eax
cmp rdi, rax
je 0x14009f902
cmp byte [r14 + rax], 0
lea rax, [rax + 1]
jns 0x14009f798
jmp 0x14009f7ed
cmp rcx, r14
mov ecx, 8
cmove rax, rcx
lea rcx, [rdi - 8]
cmp rax, rcx
jae 0x14009f7d9
movabs rdx, 0x8080808080808080
test qword [r14 + rax], rdx
jne 0x14009f7ed
add rax, 8
jmp 0x14009f7be
movabs rax, 0x8080808080808080
test qword [r14 + rcx], rax
je 0x14009f902
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x120], rax
mov r8d, 4
mov rcx, r15
lea rdx, str.xn__
call fcn.140057f93
mov al, 1
mov qword [rsp + 0x138], rax
test rdi, rdi
je 0x14009f701
mov r12, r14
add r12, rdi
xor r13d, r13d
xor ebx, ebx
mov rsi, r14
mov dl, byte [rsi]
movzx edi, dl
test dil, dil
js 0x14009f841
inc rsi
inc r13d
jmp 0x14009f8a9
mov eax, edi
and eax, 0x1f
movzx ebp, byte [rsi + 1]
and ebp, 0x3f
cmp dil, 0xdf
jbe 0x14009f886
movzx ecx, byte [rsi + 2]
shl ebp, 6
and ecx, 0x3f
or ecx, ebp
cmp dl, 0xf0
jb 0x14009f893
movzx edi, byte [rsi + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and edi, 0x3f
or edi, ecx
or edi, eax
cmp edi, 0x110000
je 0x14009f8d8
add rsi, 4
jmp 0x14009f89e
add rsi, 2
shl eax, 6
or eax, ebp
mov edi, eax
jmp 0x14009f89e
add rsi, 3
shl eax, 0xc
or ecx, eax
mov edi, ecx
inc r13d
cmp edi, 0x80
jae 0x14009f8cf
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15]
jne 0x14009f8be
mov rcx, r15
call fcn.1402363e0
mov rdx, qword [r15 + 0x10]
mov rax, qword [r15 + 8]
mov byte [rax + rdx], dil
inc rdx
mov qword [r15 + 0x10], rdx
inc ebx
cmp rsi, r12
jne 0x14009f82f
test ebx, ebx
je 0x14009f91f
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15]
jne 0x14009f8f1
mov rcx, r15
call fcn.1402363e0
mov rdx, qword [r15 + 0x10]
mov rax, qword [r15 + 8]
mov byte [rax + rdx], 0x2d
inc rdx
mov qword [r15 + 0x10], rdx
jmp 0x14009f921
mov rcx, r15
mov rdx, r14
mov r8, rdi
call fcn.140057f93
mov al, 1
mov qword [rsp + 0x138], rax
jmp 0x14009f701
xor ebx, ebx
mov al, 1
mov qword [rsp + 0x138], rax
cmp ebx, r13d
jae 0x14009f701
mov eax, 0x48
mov qword [rsp + 0x58], rax
xor r8d, r8d
mov edi, 0x80
mov dword [rsp + 0x140], ebx
mov r11d, ebx
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x50], r12
mov dword [rsp + 0x110], r13d
mov rcx, r14
cmp rcx, r12
je 0x14009ff14
mov al, byte [rcx]
movzx esi, al
test sil, sil
js 0x14009f980
inc rcx
jmp 0x14009f9e0
mov edx, esi
and edx, 0x1f
movzx ebp, byte [rcx + 1]
and ebp, 0x3f
cmp sil, 0xdf
jbe 0x14009f9c8
movzx ebx, byte [rcx + 2]
shl ebp, 6
and ebx, 0x3f
or ebx, ebp
cmp al, 0xf0
jb 0x14009f9d5
movzx esi, byte [rcx + 3]
and edx, 7
shl edx, 0x12
shl ebx, 6
and esi, 0x3f
or esi, ebx
or esi, edx
cmp esi, 0x110000
je 0x14009ff14
add rcx, 4
jmp 0x14009f9e0
add rcx, 2
shl edx, 6
or edx, ebp
mov esi, edx
jmp 0x14009f9e0
add rcx, 3
shl edx, 0xc
or ebx, edx
mov esi, ebx
cmp esi, edi
jb 0x14009f968
jmp 0x14009fa13
add rcx, 4
jmp 0x14009fa04
add rcx, 2
shl ebp, 6
or ebp, ebx
mov edx, ebp
jmp 0x14009fa04
add rcx, 3
shl ebp, 0xc
or esi, ebp
mov edx, esi
mov esi, r10d
cmp esi, edx
mov eax, edx
cmovb eax, esi
cmp edi, edx
cmovbe esi, eax
cmp rcx, r12
je 0x14009fa69
mov al, byte [rcx]
movzx edx, al
test dl, dl
js 0x14009fa26
inc rcx
jmp 0x14009fa07
mov r10d, esi
mov ebp, edx
and ebp, 0x1f
movzx ebx, byte [rcx + 1]
and ebx, 0x3f
cmp dl, 0xdf
jbe 0x14009f9ec
movzx esi, byte [rcx + 2]
shl ebx, 6
and esi, 0x3f
or esi, ebx
cmp al, 0xf0
jb 0x14009f9f9
movzx edx, byte [rcx + 3]
and ebp, 7
shl ebp, 0x12
shl esi, 6
and edx, 0x3f
or edx, esi
or edx, ebp
cmp edx, 0x110000
jne 0x14009f9e6
mov esi, r10d
mov ebp, esi
sub ebp, edi
lea ecx, [r11 + 1]
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp ebp, eax
ja 0x14009fdf6
mov edx, ebp
mov dword [rsp + 0x128], esi
imul edx, ecx
add edx, r8d
mov dword [rsp + 0x48], edx
mov rdi, qword [rsp + 0x108]
mov bl, byte [rdi]
movzx eax, bl
test al, al
js 0x14009faab
inc rdi
jmp 0x14009fb15
mov ecx, eax
and ecx, 0x1f
movzx ebp, byte [rdi + 1]
and ebp, 0x3f
cmp al, 0xdf
jbe 0x14009fafd
movzx edx, byte [rdi + 2]
shl ebp, 6
and edx, 0x3f
or edx, ebp
cmp bl, 0xf0
jb 0x14009fb0a
movzx eax, byte [rdi + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and eax, 0x3f
or eax, edx
or eax, ecx
cmp eax, 0x110000
mov ebx, 0x1a
mov ecx, dword [rsp + 0x128]
je 0x14009fdec
add rdi, 4
jmp 0x14009fb21
add rdi, 2
shl ecx, 6
or ecx, ebp
mov eax, ecx
jmp 0x14009fb15
add rdi, 3
shl ecx, 0xc
or edx, ecx
mov eax, edx
mov ebx, 0x1a
mov ecx, dword [rsp + 0x128]
cmp eax, ecx
jae 0x14009fb2f
inc dword [rsp + 0x48]
je 0x14009fdf6
cmp eax, ecx
jne 0x14009fcc9
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x30], r11
mov rax, qword [rsp + 0x58]
lea ebp, [rax + 0x1a]
lea ecx, [rax - 0x24]
neg ecx
cmp ebp, 0x25
cmovb ecx, ebx
cmp eax, 0x24
mov eax, 1
cmovae ecx, eax
mov eax, dword [rsp + 0x48]
mov edi, eax
cmp eax, ecx
jb 0x14009fc5f
mov r13, qword [rsp + 0x58]
neg r13d
mov r12d, 0x48
mov edi, dword [rsp + 0x48]
mov r15d, ecx
sub r15d, 0x24
je 0x14009fe3d
sub edi, ecx
neg r15d
mov eax, edi
xor edx, edx
div r15d
add edx, ecx
mov r14d, 0x61
cmp edx, 0x1a
jb 0x14009fbb7
mov r14d, 0x16
cmp edx, 0x24
jae 0x14009fefc
add r14d, edx
cmp r14d, 0x7f
ja 0x14009fbee
mov rsi, qword [rsp + 0x290]
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi]
jne 0x14009fbdd
mov rcx, rsi
call fcn.1402363e0
mov rdx, qword [rsi + 0x10]
mov rax, qword [rsi + 8]
mov byte [rax + rdx], r14b
inc rdx
mov qword [rsi + 0x10], rdx
jmp 0x14009fc33
mov dword [rsp + 0x168], 0
mov eax, r14d
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x168], al
and r14b, 0x3f
or r14b, 0x80
mov byte [rsp + 0x169], r14b
mov r8d, 2
mov rcx, qword [rsp + 0x290]
lea rdx, [rsp + 0x168]
call fcn.140057f93
mov eax, edi
xor edx, edx
div r15d
lea ecx, [r12 + r13]
cmp r12d, ebp
cmovae ecx, ebx
cmp r12d, dword [rsp + 0x58]
mov edx, 1
cmovbe ecx, edx
add r12d, 0x24
mov edi, eax
cmp eax, ecx
jae 0x14009fb82
mov ebx, 0x61
cmp edi, 0x1a
jb 0x14009fc77
mov ebx, 0x16
cmp edi, 0x24
jae 0x14009fefc
add ebx, edi
cmp ebx, 0x7f
mov r15, qword [rsp + 0x290]
ja 0x14009fcd6
mov rdx, qword [r15 + 0x10]
cmp rdx, qword [r15]
mov esi, 0xd41d41d5
mov rdi, qword [rsp + 0x30]
jne 0x14009fca5
mov rcx, r15
call fcn.1402363e0
mov rdx, qword [r15 + 0x10]
mov r12, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x110]
mov ecx, dword [rsp + 0x140]
mov rax, qword [r15 + 8]
mov byte [rax + rdx], bl
inc rdx
mov qword [r15 + 0x10], rdx
jmp 0x14009fd30
mov ebp, r11d
mov r8d, dword [rsp + 0x48]
jmp 0x14009fdbe
mov dword [rsp + 0x168], 0
mov eax, ebx
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x168], al
and bl, 0x3f
or bl, 0x80
mov byte [rsp + 0x169], bl
mov r8d, 2
mov rcx, r15
lea rdx, [rsp + 0x168]
call fcn.140057f93
mov esi, 0xd41d41d5
mov r12, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x110]
mov ecx, dword [rsp + 0x140]
mov rdi, qword [rsp + 0x30]
mov ebp, edi
inc ebp
je 0x14009fe89
cmp edi, ecx
mov ecx, 2
mov eax, 0x2bc
cmove ecx, eax
xor r8d, r8d
mov eax, dword [rsp + 0x48]
xor edx, edx
div ecx
mov ecx, eax
xor edx, edx
div ebp
add eax, ecx
xor ecx, ecx
cmp eax, 0x1c8
jb 0x14009fd90
mov rdi, qword [rsp + 0x118]
mov edx, eax
imul rdx, rsi
shr rdx, 0x20
mov ebx, eax
sub ebx, edx
shr ebx, 1
add ebx, edx
shr ebx, 5
add ecx, 0x24
cmp eax, 0x3e57
mov eax, ebx
ja 0x14009fd6d
jmp 0x14009fd9a
mov ebx, eax
mov rdi, qword [rsp + 0x118]
lea eax, [rbx*4]
lea eax, [rax + rax*8]
add ebx, 0x26
xor edx, edx
div bx
movzx eax, ax
add eax, ecx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x48], r8d
mov r11d, ebp
cmp rdi, r12
jne 0x14009fa9d
inc r8d
mov edi, dword [rsp + 0x128]
inc edi
mov r11d, ebp
cmp ebp, r13d
mov r14, qword [rsp + 0x108]
jb 0x14009f965
jmp 0x14009f701
mov ebp, r11d
mov r8d, dword [rsp + 0x48]
jmp 0x14009fdc7
mov byte [rsp + 0x38], 1
mov rax, qword [r15 + 0x10]
cmp rax, qword [rsp + 0x120]
jb 0x14009f701
mov rcx, qword [rsp + 0x120]
test rcx, rcx
je 0x14009fe34
cmp rax, rcx
jbe 0x14009fe2e
mov rax, qword [r15 + 8]
cmp byte [rax + rcx], 0xc0
jge 0x14009fe34
jmp 0x14009ff86
jne 0x14009ff86
mov qword [r15 + 0x10], rcx
jmp 0x14009f701
lea rcx, [0x14042e330]
lea r8, [0x14042e388]
mov edx, 0x39
call fcn.1403af950
ud2
mov eax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x1e8]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x38]
mov qword [rcx], rax
jmp 0x14009dbb9
lea r8, str.C:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rbp
call fcn.1403af940
ud2
lea rcx, str.attempt_to_divide_by_zeroC:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823idna_0.4.0_srcpunycode.rs
lea r8, [0x14042e2c8]
jmp 0x14009fea7
lea rcx, str.attempt_to_divide_by_zeroC:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823idna_0.4.0_srcpunycode.rs
lea r8, [0x14042e310]
mov edx, 0x19
jmp 0x14009fe50
lea r8, str.C:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823_tinyvec_1.6.0_src_arrayvec.rs
jmp 0x14009fecc
lea r8, str.C:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823unicode_normalization_0.1.22_srcdecompose.rs
call fcn.1403af930
ud2
lea r8, str.C:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
jmp 0x14009fe82
lea r8, [0x1404eccc0]
jmp 0x14009fee6
lea r8, [0x1404eccf0]
mov rdx, rdi
jmp 0x14009db98
lea r8, str.C:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823_tinyvec_1.6.0_src_arrayvec.rs
mov edx, 4
jmp 0x14009fe82
lea rcx, str.explicit_panic
lea r8, [0x14042e3a0]
mov edx, 0xe
jmp 0x14009fe50
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, [0x14042e370]
mov edx, 0x2b
jmp 0x14009fe50
lea r8, [0x1404eccd8]
mov rcx, rax
mov rdx, rbx
jmp 0x14009ff6b
lea r8, [0x1404eccd8]
mov rcx, rbx
mov rdx, r11
jmp 0x14009fe82
lea r8, [0x1404ecd08]
mov rdx, rdi
call fcn.1403af610
ud2
lea r8, [0x1404ecca8]
mov rcx, r12
mov rdx, r14
call fcn.1403afbd0
ud2
lea r8, [0x1404ecca8]
mov rcx, r14
mov rdx, qword [rsp + 0x30]
jmp 0x14009fe82
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_
lea r8, [0x1404ebf70]
mov edx, 0x30
jmp 0x14009fe50
lea rax, [0x14042e2e0]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, r14
xor r8d, r8d
mov r9, rsi
jmp 0x14009ffcd
lea rax, [0x14042e2f8]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, r14
mov r9, r14
call fcn.1403afdc0
ud2
lea r8, [0x1404ecc90]
jmp 0x14009ff65
lea r8, [0x1404ecc90]
mov rcx, r14
jmp 0x14009ff45
lea rax, str.C:Usersuser1.cargo_registry_srcgithub.com_1ecc6299db9ec823idna_0.4.0_srcuts46.rs
mov qword [rsp + 0x20], rax
mov rcx, r12
mov rdx, rbx
mov r8, r15
mov r9, rbx
jmp 0x14009ffcd
mov rcx, rdi
mov rdx, rsi
call fcn.1403af440
ud2
call fcn.1400535c0
ud2