Function at 0x140113fd0
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rbp, r9
mov r13, r8
mov r12, rcx
mov r8, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xc0]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], 0
cmp byte [rdx + 6], 0
je 0x140114a9f
cmp r8, 3
jb 0x140114b50
movzx eax, byte [rdx + 7]
mov byte [rdx + 6], 0
mov byte [r14], al
mov qword [rsp + 0x38], 1
mov r11d, 1
movzx edi, byte [rdx + 8]
test dil, dil
jne 0x140114aaf
xor eax, eax
mov rcx, r11
lea rbx, [0x14020ff5a]
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], r8
mov r10, r8
sub r10, rcx
jb 0x1401154b4
mov r8, r13
lea r11, [rax + r13]
mov r13, qword [rsp + 0x28]
mov r9, rbp
sub r9, rax
cmp r10, r9
mov r12, r9
cmovb r12, r10
lea rsi, [rcx + r13]
mov edi, r11d
xor edi, esi
test dil, 7
mov qword [rsp + 0x20], rcx
jne 0x1401140b3
mov edi, r11d
neg edi
and edi, 7
lea r14, [rdi + 0x10]
cmp r14, r12
jbe 0x14011485f
xor r14d, r14d
cmp r14, r12
mov r13, r8
jae 0x140114b8d
nop word cs:[rax + rax]
movzx r15d, byte [r11 + r14]
test r15b, r15b
js 0x1401140eb
mov byte [rsi + r14], r15b
inc r14
cmp r12, r14
jne 0x1401140d0
jmp 0x140114b8d
mov r12, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
lea rbx, [0x14020ff5a]
add rax, r14
mov rcx, qword [rsp + 0x20]
lea r11, [r14 + rcx]
mov qword [rsp + 0x38], r11
add rcx, r14
add rcx, 3
cmp rcx, qword [rsp + 0x50]
jae 0x140114f1d
inc rax
mov r10, rax
lea r14, [0x14020e3ac]
lea ecx, [r15 + 0x7f]
cmp cl, 0x7d
ja 0x140114965
cmp r10, rbp
jae 0x140114cc0
movzx r9d, byte [r13 + r10]
lea rax, [r10 + 1]
lea esi, [r9 - 0x30]
cmp sil, 9
jbe 0x1401141a0
cmp cl, 0x1f
jbe 0x140114250
lea esi, [r9 + 0x5f]
cmp sil, 0x5e
jae 0x140114348
lea r10d, [r15 + 0x50]
cmp r10b, 0x48
jae 0x1401144ef
movzx ecx, r10b
imul rcx, rcx, 0x5e
movzx r8d, sil
add r8, rcx
lea rcx, [0x140210e52]
movzx ecx, word [rcx + r8*2]
jmp 0x140114406
cmp rax, rbp
jae 0x140114df5
movzx ebx, byte [r13 + r10 + 1]
add bl, 0x7f
cmp bl, 0x7d
ja 0x140114e0d
lea rax, [r10 + 2]
cmp rax, rbp
jae 0x140114e28
movzx edi, byte [r13 + r10 + 2]
add dil, 0xd0
cmp dil, 9
ja 0x140114e49
add r10, 3
movzx eax, cl
imul rax, rax, 0x3138
movzx ecx, sil
imul rcx, rcx, 0x4ec
add rcx, rax
movzx eax, bl
lea rax, [rax + rax*4]
lea rcx, [rcx + rax*2]
movzx eax, dil
add rax, rcx
cmp rax, 0x99fc
jae 0x1401142e4
cmp eax, 0x1d21
lea rbx, [0x14020ff5a]
jne 0x140114443
mov rax, qword [rsp + 0x28]
mov word [rax + r11], 0x9fee
mov byte [rax + r11 + 2], 0x87
mov ecx, 3
jmp 0x1401145e0
lea esi, [r9 - 0x40]
cmp sil, 0x3e
jbe 0x14011426b
cmp r9b, 0xfe
jg 0x140114fa4
add r9b, 0xbf
mov esi, r9d
movzx ecx, cl
imul r8d, ecx, 0xbe
movzx ecx, sil
add ecx, r8d
mov r10d, 0x77c
xor r9d, r9d
mov esi, 0x77c
nop word [rax + rax]
shr r10, 1
add r10, r9
movzx edi, word [rbx + r10*2]
cmp di, cx
je 0x1401143f7
lea r8, [r10 + 1]
cmp di, cx
cmova rsi, r10
cmovb r9, r8
mov r10, rsi
sub r10, r9
ja 0x140114290
lea r8, [r9 - 1]
cmp r8, 0x77c
jae 0x140115414
lea r8, [0x14020f062]
add cx, word [r8 + r9*2 - 2]
sub cx, word [rbx + r9*2 - 2]
jmp 0x140114403
lea rcx, [rax - 0x2e248]
cmp rcx, 0x100000
lea rbx, [0x14020ff5a]
jae 0x140114f27
add eax, 0xfffe1db8
mov ecx, eax
shr ecx, 0x12
or cl, 0xf0
mov r8, qword [rsp + 0x28]
mov byte [r8 + r11], cl
mov ecx, eax
shr ecx, 0xc
and cl, 0x3f
or cl, 0x80
mov byte [r8 + r11 + 1], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [r8 + r11 + 2], cl
and al, 0x3f
or al, 0x80
mov byte [r8 + r11 + 3], al
mov ecx, 4
jmp 0x1401145e0
lea esi, [r9 - 0x40]
cmp sil, 0x3e
jbe 0x140114363
cmp r9b, 0xa0
jg 0x140114fa4
add r9b, 0xbf
mov esi, r9d
add r15b, 0x5f
movzx ecx, r15b
lea rcx, [rcx + rcx*2]
shl rcx, 5
movzx r10d, sil
lea r9, [rcx + r10]
add r9, 0xfffffffffffffca0
cmp r9, 0x1f7b
jae 0x14011451a
mov r10d, 0x65b
xor ecx, ecx
mov esi, 0x65b
nop dword [rax]
shr r10, 1
add r10, rcx
movzx edi, word [r14 + r10*2]
cmp di, r9w
je 0x14011461d
lea r8, [r10 + 1]
cmp di, r9w
cmova rsi, r10
cmovb rcx, r8
mov r10, rsi
sub r10, rcx
ja 0x1401143a0
lea r8, [rcx - 1]
cmp r8, 0x65b
jae 0x140115444
lea r8, [0x14020d6f6]
add r9w, word [r8 + rcx*2 - 2]
sub r9w, word [r14 + rcx*2 - 2]
movzx ecx, r9w
jmp 0x140114406
lea rcx, [0x14020f062]
movzx ecx, word [rcx + r10*2]
movzx ecx, cx
mov r8d, ecx
shr r8d, 0xc
or r8b, 0xe0
mov r9, qword [rsp + 0x28]
mov byte [r9 + r11], r8b
mov r8d, ecx
shr r8d, 6
and r8b, 0x3f
or r8b, 0x80
mov byte [r9 + r11 + 1], r8b
and cl, 0x3f
or cl, 0x80
mov byte [r9 + r11 + 2], cl
mov ecx, 3
jmp 0x1401145e3
mov r9d, 0xce
xor ecx, ecx
mov esi, 0xce
shr r9, 1
add r9, rcx
lea r8, [0x140214332]
movzx edi, word [r8 + r9*2]
cmp di, ax
je 0x14011459f
lea r8, [r9 + 1]
cmp di, ax
cmova rsi, r9
cmovb rcx, r8
mov r9, rsi
sub r9, rcx
ja 0x140114450
lea r8, [rcx - 1]
cmp r8, 0xce
jae 0x14011542c
lea r8, [0x1402144ce]
add ax, word [r8 + rcx*2 - 2]
lea r8, [0x140214332]
sub ax, word [r8 + rcx*2 - 2]
movzx ecx, ax
cmp ecx, 0x800
jb 0x1401145ba
mov eax, ecx
shr eax, 0xc
or al, 0xe0
mov r8, qword [rsp + 0x28]
mov byte [r8 + r11], al
mov eax, ecx
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r8 + r11 + 1], al
and cl, 0x3f
or cl, 0x80
mov byte [r8 + r11 + 2], cl
mov ecx, 3
jmp 0x1401145e0
cmp r15b, 0xa6
je 0x140114658
movzx r8d, r15b
movzx r9d, sil
cmp r8d, 0xa1
jne 0x140114678
lea rcx, [0x14020d368]
jmp 0x140114692
add rcx, r10
cmp ecx, 0x360
jae 0x140114632
mov r10d, 0x3b
xor r9d, r9d
mov esi, 0x3b
nop word [rax + rax]
shr r10, 1
add r10, r9
lea r8, [0x14020d574]
movzx edi, word [r8 + r10*2]
cmp di, cx
je 0x1401146cc
lea r8, [r10 + 1]
cmp di, cx
cmova rsi, r10
cmovb r9, r8
mov r10, rsi
sub r10, r9
ja 0x140114540
lea r8, [r9 - 1]
cmp r8, 0x3b
jae 0x140115470
lea r8, [0x14020d4fe]
add cx, word [r8 + r9*2 - 2]
lea r8, [0x14020d574]
sub cx, word [r8 + r9*2 - 2]
jmp 0x1401146d8
lea rax, [0x1402144ce]
movzx eax, word [rax + r9*2]
movzx ecx, ax
cmp ecx, 0x800
jae 0x1401144bc
mov ecx, eax
shr ecx, 6
or cl, 0xc0
mov r8, qword [rsp + 0x28]
mov byte [r8 + r11], cl
and al, 0x3f
or al, 0x80
mov byte [r8 + r11 + 1], al
mov ecx, 2
nop dword [rax]
mov rax, r10
add r11, rcx
mov qword [rsp + 0x38], r11
cmp rax, rbp
jae 0x140114f11
lea rcx, [r11 + 3]
cmp rcx, qword [rsp + 0x30]
jae 0x140114cdb
movzx r15d, byte [r13 + rax]
inc rax
mov r10, rax
test r15b, r15b
js 0x14011412c
jmp 0x1401149f8
lea rcx, [0x14020d6f6]
movzx r9d, word [rcx + r10*2]
movzx ecx, r9w
jmp 0x140114406
lea r10, [rcx - 0x22db]
cmp r10, 0x65
jae 0x14011545c
lea r8, [0x14020d5ec]
movzx ecx, word [r8 + rcx*2 - 0x45b6]
jmp 0x140114406
add r9b, 0x20
cmp r9b, 0x16
jae 0x140114743
movzx ecx, r9b
lea r8, [0x14020d424]
movzx ecx, word [r8 + rcx*2]
jmp 0x140114697
cmp cl, 0x27
jne 0x140114749
cmp sil, 0x20
jae 0x140114749
lea rcx, [0x14020d6b6]
movzx ecx, word [rcx + r9*2]
cmp ecx, 0x800
jae 0x140114403
mov r8d, ecx
shr r8d, 6
or r8b, 0xc0
mov r9, qword [rsp + 0x28]
mov byte [r9 + r11], r8b
and cl, 0x3f
or cl, 0x80
mov byte [r9 + r11 + 1], cl
mov ecx, 2
jmp 0x1401145e3
lea rcx, [0x14020d4fe]
movzx ecx, word [rcx + r10*2]
movzx r9d, cx
cmp r9d, 0x800
jae 0x14011470e
mov r8d, ecx
shr r8d, 6
or r8b, 0xc0
mov r9, qword [rsp + 0x28]
mov byte [r9 + r11], r8b
and cl, 0x3f
or cl, 0x80
mov byte [r9 + r11 + 1], cl
mov ecx, 2
jmp 0x1401145e3
mov ecx, r9d
shr ecx, 0xc
or cl, 0xe0
mov r8, qword [rsp + 0x28]
mov byte [r8 + r11], cl
mov ecx, r9d
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [r8 + r11 + 1], cl
and r9b, 0x3f
or r9b, 0x80
mov byte [r8 + r11 + 2], r9b
jmp 0x140114439
movzx r9d, sil
jmp 0x14011479d
cmp cl, 0x76
jbe 0x14011479d
add r15b, 8
movzx ecx, r15b
imul rcx, rcx, 0x5e
add rcx, r9
add rcx, 0xe234
movzx r8d, cx
shr r8d, 0xc
or r8b, 0xe0
mov r9, qword [rsp + 0x28]
mov byte [r9 + r11], r8b
mov r8d, ecx
shr r8d, 6
and r8b, 0x3f
or r8b, 0x80
mov byte [r9 + r11 + 1], r8b
and cl, 0x3f
or cl, 0x80
mov byte [r9 + r11 + 2], cl
jmp 0x140114439
add r15b, 0x5e
movzx ecx, r15b
imul ecx, ecx, 0x5e
add r9d, ecx
mov r10d, 0x2b
xor ecx, ecx
mov esi, 0x2b
nop dword [rax + rax]
shr r10, 1
add r10, rcx
lea r8, [0x14020d4a6]
movzx edi, word [r8 + r10*2]
cmp di, r9w
je 0x14011481a
lea r8, [r10 + 1]
cmp di, r9w
cmova rsi, r10
cmovb rcx, r8
mov r10, rsi
sub r10, rcx
ja 0x1401147c0
lea r8, [rcx - 1]
cmp r8, 0x2b
jae 0x140115488
lea r8, [0x14020d450]
add r9w, word [r8 + rcx*2 - 2]
lea r8, [0x14020d4a6]
sub r9w, word [r8 + rcx*2 - 2]
jmp 0x140114826
lea rcx, [0x14020d450]
movzx r9d, word [rcx + r10*2]
movzx ecx, r9w
cmp ecx, 0x800
jae 0x140114406
mov ecx, r9d
shr ecx, 6
or cl, 0xc0
mov r8, qword [rsp + 0x28]
mov byte [r8 + r11], cl
and r9b, 0x3f
or r9b, 0x80
mov byte [r8 + r11 + 1], r9b
mov ecx, 2
jmp 0x1401145e3
test rdi, rdi
je 0x1401149a3
movzx r15d, byte [r11]
test r15b, r15b
js 0x140114a45
mov byte [rsi], r15b
mov r14d, 1
cmp edi, 1
mov rcx, qword [rsp + 0x20]
je 0x1401149a6
movzx r15d, byte [r11 + 1]
test r15b, r15b
js 0x140114a66
mov byte [rsi + 1], r15b
mov r14d, 2
cmp edi, 2
mov rcx, qword [rsp + 0x20]
je 0x1401149a6
movzx r15d, byte [r11 + 2]
test r15b, r15b
js 0x140114a66
mov byte [rsi + 2], r15b
mov r14d, 3
cmp edi, 3
mov rcx, qword [rsp + 0x20]
je 0x1401149a6
movzx r15d, byte [r11 + 3]
test r15b, r15b
js 0x140114a66
mov byte [rsi + 3], r15b
mov r14d, 4
cmp edi, 4
mov rcx, qword [rsp + 0x20]
je 0x1401149a6
movzx r15d, byte [r11 + 4]
test r15b, r15b
js 0x140114a66
mov byte [rsi + 4], r15b
mov r14d, 5
cmp edi, 5
mov rcx, qword [rsp + 0x20]
je 0x1401149a6
movzx r15d, byte [r11 + 5]
test r15b, r15b
js 0x140114a66
mov byte [rsi + 5], r15b
mov r14d, 6
cmp edi, 6
mov rcx, qword [rsp + 0x20]
je 0x1401149a6
movzx r15d, byte [r11 + 6]
test r15b, r15b
js 0x140114a66
mov byte [rsi + 6], r15b
mov r14d, 7
mov rcx, qword [rsp + 0x20]
jmp 0x1401149a6
cmp r15b, 0x80
jne 0x140114cce
mov rax, qword [rsp + 0x28]
mov word [rax + r11], 0x82e2
mov byte [rax + r11 + 2], 0xac
add r11, 3
mov rcx, r11
mov rax, r10
mov qword [rsp + 0x38], rcx
mov r8, qword [rsp + 0x30]
cmp rax, rbp
jbe 0x14011405d
jmp 0x1401154c5
xor r14d, r14d
lea rdi, [r12 - 0x10]
lea r15, [rcx + r13]
add r15, 8
nop word cs:[rax + rax]
mov rbp, qword [r11 + r14]
mov rbx, qword [r11 + r14 + 8]
mov qword [r15 + r14 - 8], rbp
mov qword [r15 + r14], rbx
movabs r13, 0x8080808080808080
and rbp, r13
and rbx, r13
mov r13, rbx
or r13, rbp
jne 0x140114a21
add r14, 0x10
cmp r14, rdi
jbe 0x1401149c0
jmp 0x1401140b6
mov rcx, qword [rsp + 0x28]
mov byte [rcx + r11], r15b
mov rcx, qword [rsp + 0x38]
inc rcx
mov qword [rsp + 0x38], rcx
mov r8, qword [rsp + 0x30]
cmp rax, rbp
jbe 0x14011405d
jmp 0x1401154c5
test rbp, rbp
mov r13, r8
je 0x140114a55
tzcnt r9, rbp
shr r9d, 3
mov r12, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
lea rbx, [0x14020ff5a]
jmp 0x140114a92
xor r14d, r14d
mov r12, qword [rsp + 0x40]
mov r13, r8
jmp 0x1401140fc
test rbx, rbx
mov r12, qword [rsp + 0x40]
je 0x140114a78
tzcnt r9, rbx
jmp 0x140114a7e
mov r12, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov r13, r8
jmp 0x1401140f5
mov r9d, 0x40
mov rbp, qword [rsp + 0x48]
lea rbx, [0x14020ff5a]
shr r9d, 3
add r9, 8
add r14, r9
movzx r15d, byte [r11 + r14]
jmp 0x1401140fc
xor r11d, r11d
movzx edi, byte [rdx + 8]
test dil, dil
je 0x140114047
test rbp, rbp
je 0x140114b6c
lea rax, [r11 + 3]
cmp rax, r8
jae 0x140114bc2
mov qword [rsp + 0x20], rax
movzx r9d, byte [rdx + 9]
movzx r10d, r9b
movzx eax, byte [rdx + 0xa]
xor esi, esi
jmp 0x140114aec
inc rsi
cmp rbp, rsi
je 0x140114b6c
movzx r15d, byte [r13 + rsi]
cmp dil, 1
je 0x140114b30
movzx edi, dil
cmp edi, 2
jne 0x140114be4
mov byte [rdx + 8], 0
add r15b, 0x7f
cmp r15b, 0x7d
ja 0x140114c1c
mov byte [rdx + 8], 3
mov byte [rdx + 9], r9b
mov byte [rdx + 0xa], al
mov byte [rdx + 0xb], r15b
mov dil, 3
jmp 0x140114ae0
mov byte [rdx + 8], 0
lea eax, [r15 - 0x30]
cmp al, 9
ja 0x140114c3c
mov byte [rdx + 8], 2
mov byte [rdx + 9], r9b
mov byte [rdx + 0xa], al
mov dil, 2
jmp 0x140114ae0
mov byte [r12 + 8], 1
mov qword [r12], 0
mov qword [r12 + 0x10], 0
jmp 0x140114f3e
cmp byte [rsp + 0xd0], 0
je 0x140114bd5
mov byte [rdx + 8], 0
mov byte [r12 + 8], 2
mov byte [r12 + 9], dil
mov byte [r12 + 0xa], 0
jmp 0x140114bdb
xor edx, edx
cmp r10, r9
setb dl
add rax, r12
mov r11, qword [rsp + 0x20]
add r11, r12
mov r12, qword [rsp + 0x40]
lea rcx, [rsp + 0x28]
and rcx, 0xffffffffffffff00
or rcx, rdx
mov qword [r12], rax
mov qword [r12 + 8], rcx
jmp 0x140114f39
mov byte [r12 + 8], 1
mov qword [r12], 0
jmp 0x140114f39
mov byte [r12 + 8], 0
mov qword [r12], rbp
jmp 0x140114f39
movzx r9d, byte [rdx + 0xb]
mov byte [rdx + 8], 0
add r15b, 0xd0
cmp r15b, 9
jbe 0x140114ce6
add al, 0x30
mov byte [rdx + 6], 1
mov byte [rdx + 7], al
mov byte [rdx + 8], 1
mov byte [rdx + 9], r9b
mov word [r12 + 8], 0x102
mov byte [r12 + 0xa], 2
jmp 0x140114c33
add al, 0x30
mov byte [rdx + 6], 1
mov byte [rdx + 7], al
mov word [r12 + 8], 0x102
mov byte [r12 + 0xa], 1
mov qword [r12], rsi
jmp 0x140114f39
lea rax, [rsi + 1]
cmp r9b, 0x1f
jbe 0x140114d41
lea edi, [r15 + 0x5f]
cmp dil, 0x5e
jae 0x140114ec2
lea esi, [r9 - 0x2f]
cmp sil, 0x48
jae 0x140115045
movzx r9d, sil
imul r9, r9, 0x5e
movzx r10d, dil
add r10, r9
lea r9, [0x140210e52]
movzx r9d, word [r9 + r10*2]
mov r10d, r9d
shr r10d, 0xc
or r10b, 0xe0
mov byte [r14 + r11], r10b
mov r10d, r9d
shr r10d, 6
and r10b, 0x3f
or r10b, 0x80
mov byte [r14 + r11 + 1], r10b
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + r11 + 2], r9b
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0x38], rcx
jmp 0x14011404c
cmp byte [rsp + 0xd0], 0
je 0x140114de3
mov word [r12 + 8], 0x102
jmp 0x140114f2f
mov byte [r12 + 8], 1
jmp 0x140114f17
movzx r9d, r9b
inc rsi
imul r10, r10, 0x3138
movzx eax, al
imul rax, rax, 0x4ec
add rax, r10
lea r9, [r9 + r9*4]
movzx r10d, r15b
add r10, rax
lea rax, [r10 + r9*2]
cmp rax, 0x99fc
jae 0x140114e6b
cmp eax, 0x1d21
jne 0x140114fc9
mov word [r14 + r11], 0x9fee
mov byte [r14 + r11 + 2], 0x87
mov rax, rsi
mov rcx, qword [rsp + 0x20]
jmp 0x14011404c
lea r9d, [r15 - 0x40]
cmp r9b, 0x3e
jbe 0x140114d5c
cmp r15b, 0xfe
jg 0x140114eda
add r15b, 0xbf
mov r9d, r15d
mov rcx, rbp
movzx r10d, r10w
imul r10d, r10d, 0xbe
movzx r9d, r9b
add r9d, r10d
mov edi, 0x77c
xor r10d, r10d
lea rsi, [0x14020ff5a]
mov r15d, 0x77c
shr rdi, 1
add rdi, r10
movzx ebp, word [rsi + rdi*2]
cmp bp, r9w
je 0x140114f52
lea rbx, [rdi + 1]
cmp bp, r9w
cmova r15, rdi
cmovb r10, rbx
mov rdi, r15
sub rdi, r10
ja 0x140114d86
lea rdi, [r10 - 1]
cmp rdi, 0x77c
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
jae 0x140115414
lea rdi, [0x14020f062]
add r9w, word [rdi + r10*2 - 2]
sub r9w, word [rsi + r10*2 - 2]
jmp 0x140114f66
mov byte [rdx + 8], 1
mov byte [rdx + 9], cl
mov byte [r12 + 8], 0
jmp 0x140114f35
cmp byte [rsp + 0xd0], 0
je 0x140114ef6
mov word [r12 + 8], 0x202
jmp 0x140114e3e
mov byte [rdx + 6], 1
mov byte [rdx + 7], r9b
mov word [r12 + 8], 0x102
mov byte [r12 + 0xa], 1
jmp 0x140114f17
cmp byte [rsp + 0xd0], 0
je 0x140114f03
mov word [r12 + 8], 0x302
mov byte [r12 + 0xa], 0
jmp 0x140114f17
mov byte [rdx + 6], 1
mov byte [rdx + 7], r9b
mov byte [rdx + 8], 1
mov byte [rdx + 9], bl
mov word [r12 + 8], 0x102
mov byte [r12 + 0xa], 2
jmp 0x140114f17
lea rcx, [rax - 0x2e248]
cmp rcx, 0x100000
jae 0x140115032
add eax, 0xfffe1db8
mov ecx, eax
shr ecx, 0x12
or cl, 0xf0
mov byte [r14 + r11], cl
mov ecx, eax
shr ecx, 0xc
and cl, 0x3f
or cl, 0x80
mov byte [r14 + r11 + 1], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [r14 + r11 + 2], cl
and al, 0x3f
or al, 0x80
mov byte [r14 + r11 + 3], al
or r11, 4
jmp 0x1401150c3
lea r10d, [r15 - 0x40]
cmp r10b, 0x3e
jbe 0x14011510f
cmp r15b, 0xa0
jle 0x140115108
mov byte [r12 + 8], 2
test r15b, r15b
js 0x140114fbc
mov word [r12 + 9], 1
jmp 0x140114c33
mov byte [rdx + 8], 2
mov byte [rdx + 9], cl
mov byte [rdx + 0xa], sil
jmp 0x140114f11
mov byte [rdx + 8], 3
mov byte [rdx + 9], cl
mov byte [rdx + 0xa], sil
mov byte [rdx + 0xb], bl
mov byte [r12 + 8], 0
mov qword [r12], rax
jmp 0x140114f39
mov edx, 1
jmp 0x140114ba5
mov word [r12 + 8], 0x402
mov byte [r12 + 0xa], 0
mov qword [r12], r10
mov qword [r12 + 0x10], r11
mov rax, r12
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r9, [0x14020f062]
movzx r9d, word [r9 + rdi*2]
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx r9d, r9w
mov r10d, r9d
shr r10d, 0xc
or r10b, 0xe0
mov byte [r14 + r11], r10b
mov r10d, r9d
shr r10d, 6
and r10b, 0x3f
or r10b, 0x80
mov byte [r14 + r11 + 1], r10b
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + r11 + 2], r9b
mov qword [rsp + 0x38], rcx
jmp 0x14011404c
mov byte [r12 + 8], 2
test r9b, r9b
js 0x140114fbc
mov word [r12 + 9], 1
jmp 0x140114f35
mov word [r12 + 9], 2
jmp 0x140114f17
mov rcx, rbp
mov edi, 0xce
xor r9d, r9d
lea r10, [0x140214332]
mov r15d, 0xce
shr rdi, 1
add rdi, r9
movzx ebp, word [r10 + rdi*2]
cmp bp, ax
je 0x14011508a
lea rbx, [rdi + 1]
cmp bp, ax
cmova r15, rdi
cmovb r9, rbx
mov rdi, r15
sub rdi, r9
ja 0x140114fe1
lea rdi, [r9 - 1]
cmp rdi, 0xce
jae 0x14011542c
lea rdi, [0x1402144ce]
add ax, word [rdi + r9*2 - 2]
sub ax, word [r10 + r9*2 - 2]
jmp 0x140115095
mov word [r12 + 8], 0x402
mov byte [r12 + 0xa], 0
jmp 0x140114c33
cmp r10d, 0x27
je 0x140115272
cmp r10d, 0x25
je 0x140115285
cmp r10d, 0x20
jne 0x1401152b5
movzx r9d, dil
lea r10, [0x14020d368]
movzx r9d, word [r10 + r9*2]
cmp r9d, 0x800
mov rcx, qword [rsp + 0x20]
jae 0x140114f66
jmp 0x1401153b2
lea rax, [0x1402144ce]
movzx eax, word [rax + rdi*2]
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx r9d, ax
cmp r9d, 0x800
jae 0x1401150d3
mov ecx, eax
shr ecx, 6
or cl, 0xc0
mov byte [r14 + r11], cl
and al, 0x3f
or al, 0x80
mov byte [r14 + r11 + 1], al
or r11, 2
mov qword [rsp + 0x38], r11
mov rcx, r11
mov rax, rsi
jmp 0x14011404c
mov eax, r9d
shr eax, 0xc
or al, 0xe0
mov byte [r14 + r11], al
mov eax, r9d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r14 + r11 + 1], al
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + r11 + 2], r9b
mov qword [rsp + 0x38], rcx
mov rax, rsi
jmp 0x14011404c
add r15b, 0xbf
mov r10d, r15d
add r9b, 0xe0
movzx r9d, r9b
lea r9, [r9 + r9*2]
shl r9, 5
movzx esi, r10b
lea r10, [r9 + rsi]
add r10, 0xfffffffffffffca0
cmp r10, 0x1f7b
jae 0x1401151b0
mov rcx, rbp
mov edi, 0x65b
xor r9d, r9d
lea rsi, [0x14020e3ac]
mov r15d, 0x65b
shr rdi, 1
add rdi, r9
movzx ebp, word [rsi + rdi*2]
cmp bp, r10w
je 0x14011522a
lea rbx, [rdi + 1]
cmp bp, r10w
cmova r15, rdi
cmovb r9, rbx
mov rdi, r15
sub rdi, r9
ja 0x14011514f
lea rdi, [r9 - 1]
cmp rdi, 0x65b
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
jae 0x140115444
lea rdi, [0x14020d6f6]
add r10w, word [rdi + r9*2 - 2]
sub r10w, word [rsi + r9*2 - 2]
movzx r9d, r10w
jmp 0x140114f6a
add r9, rsi
cmp r9d, 0x360
jae 0x140115247
mov rcx, rbp
mov edi, 0x3b
xor r10d, r10d
lea rsi, [0x14020d574]
mov r15d, 0x3b
shr rdi, 1
add rdi, r10
movzx ebp, word [rsi + rdi*2]
cmp bp, r9w
je 0x140115354
lea rbx, [rdi + 1]
cmp bp, r9w
cmova r15, rdi
cmovb r10, rbx
mov rdi, r15
sub rdi, r10
ja 0x1401151d8
lea rdi, [r10 - 1]
cmp rdi, 0x3b
jae 0x140115470
lea rdi, [0x14020d4fe]
add r9w, word [rdi + r10*2 - 2]
sub r9w, word [rsi + r10*2 - 2]
jmp 0x140115360
lea r9, [0x14020d6f6]
movzx r10d, word [r9 + rdi*2]
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx r9d, r10w
jmp 0x140114f6a
lea rsi, [r9 - 0x22db]
cmp rsi, 0x65
mov rcx, qword [rsp + 0x20]
jae 0x1401154a0
lea r10, [0x14020d5ec]
movzx r9d, word [r10 + r9*2 - 0x45b6]
jmp 0x140114f6a
cmp dil, 0x20
jae 0x1401152de
movzx r9d, dil
lea r10, [0x14020d6b6]
jmp 0x14011529a
add r15b, 0x20
cmp r15b, 0x15
ja 0x1401152de
movzx r9d, r15b
lea r10, [0x14020d424]
movzx r9d, word [r10 + r9*2]
cmp r9d, 0x800
jb 0x1401153b2
movzx r9d, r9w
jmp 0x140114c81
cmp r9b, 0x76
jbe 0x1401152de
add r9b, 0x89
movzx r9d, r9b
imul r9d, r9d, 0x5e
movzx r10d, dil
add r9d, r10d
add r9d, 0xffffe234
movzx r10d, r9w
jmp 0x140114c84
mov rcx, rbp
add r9b, 0xdf
movzx r9d, r9b
imul r10d, r9d, 0x5e
movzx r9d, dil
add r9d, r10d
mov edi, 0x2b
xor r10d, r10d
lea rsi, [0x14020d4a6]
mov r15d, 0x2b
shr rdi, 1
add rdi, r10
movzx ebp, word [rsi + rdi*2]
cmp bp, r9w
je 0x140115391
lea rbx, [rdi + 1]
cmp bp, r9w
cmova r15, rdi
cmovb r10, rbx
mov rdi, r15
sub rdi, r10
ja 0x140115309
lea rdi, [r10 - 1]
cmp rdi, 0x2b
jae 0x140115488
lea rdi, [0x14020d450]
add r9w, word [rdi + r10*2 - 2]
sub r9w, word [rsi + r10*2 - 2]
jmp 0x14011539d
lea r9, [0x14020d4fe]
movzx r9d, word [r9 + rdi*2]
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx r10d, r9w
cmp r10d, 0x800
jae 0x1401153da
mov ecx, r9d
shr ecx, 6
or cl, 0xc0
mov byte [r14 + r11], cl
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + r11 + 1], r9b
jmp 0x1401153cc
lea r9, [0x14020d450]
movzx r9d, word [r9 + rdi*2]
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx r10d, r9w
cmp r10d, 0x800
jae 0x1401153da
mov ecx, r9d
shr ecx, 6
or cl, 0xc0
mov byte [r14 + r11], cl
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + r11 + 1], r9b
or r11, 2
mov qword [rsp + 0x38], r11
jmp 0x140114049
mov r9d, r10d
shr r9d, 0xc
or r9b, 0xe0
mov byte [r14 + r11], r9b
mov r9d, r10d
shr r9d, 6
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + r11 + 1], r9b
and r10b, 0x3f
or r10b, 0x80
mov byte [r14 + r11 + 2], r10b
mov qword [rsp + 0x38], rcx
jmp 0x14011404c
lea r8, [0x14022b958]
mov edx, 0x77c
mov rcx, 0xffffffffffffffff
call fcn.1401efb40
lea r8, [0x14022b958]
mov edx, 0xce
mov rcx, 0xffffffffffffffff
call fcn.1401efb40
lea r8, [0x14022b958]
mov edx, 0x65b
mov rcx, 0xffffffffffffffff
call fcn.1401efb40
lea r8, str.C:UsersVincent.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srcgb18030.rsC:UsersVincent.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srcdata.rs
mov edx, 0x65
mov rcx, r10
call fcn.1401efb40
lea r8, [0x14022b958]
mov edx, 0x3b
mov rcx, 0xffffffffffffffff
call fcn.1401efb40
lea r8, [0x14022b958]
mov edx, 0x2b
mov rcx, 0xffffffffffffffff
call fcn.1401efb40
lea r8, str.C:UsersVincent.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srcgb18030.rsC:UsersVincent.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srcdata.rs
mov edx, 0x65
mov rcx, rsi
call fcn.1401efb40
lea r8, [0x14022b9d8]
mov rdx, qword [rsp + 0x50]
call fcn.1401efef0
lea r8, [0x14022b9f0]
mov rcx, rax
mov rdx, rbp
call fcn.1401efef0
int3