Function at 0x140083ef0
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 r12, r9
mov r13, rcx
mov r9, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xc0]
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], 0
cmp byte [rdx + 6], 0
je 0x14008491b
cmp r9, 3
jb 0x1400849ec
movzx eax, byte [rdx + 7]
mov byte [rdx + 6], 0
mov byte [r14], al
mov qword [rsp + 0x30], 1
mov edi, 1
movzx ebp, byte [rdx + 8]
test bpl, bpl
jne 0x14008492a
xor ecx, ecx
mov rsi, rdi
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r9
mov rdi, r9
sub rdi, rsi
jb 0x14008522b
lea rax, [r8 + rcx]
mov r9, r12
sub r9, rcx
cmp rdi, r9
mov r12, r9
cmovb r12, rdi
lea rbx, [r14 + rsi]
mov r11d, eax
xor r11d, ebx
test r11b, 7
jne 0x140083fba
mov r13d, eax
neg r13d
and r13d, 7
lea r11, [r13 + 0x10]
cmp r11, r12
jbe 0x140083fef
mov r10, rsi
xor ebp, ebp
cmp rbp, r12
mov r13, qword [rsp + 0x40]
mov rsi, r10
jae 0x140084a00
movzx r15d, byte [rax + rbp]
test r15b, r15b
js 0x140084143
mov byte [rbx + rbp], r15b
inc rbp
cmp r12, rbp
jne 0x140083fd0
jmp 0x140084a00
test r13, r13
je 0x1400840c5
movzx r15d, byte [rax]
test r15b, r15b
js 0x14008413c
mov byte [rbx], r15b
mov ebp, 1
cmp r13d, 1
je 0x1400840c7
movzx r15d, byte [rax + 1]
test r15b, r15b
js 0x14008413e
mov byte [rbx + 1], r15b
mov ebp, 2
cmp r13d, 2
je 0x1400840c7
movzx r15d, byte [rax + 2]
test r15b, r15b
js 0x14008413e
mov byte [rbx + 2], r15b
mov ebp, 3
cmp r13d, 3
je 0x1400840c7
movzx r15d, byte [rax + 3]
test r15b, r15b
js 0x14008413e
mov byte [rbx + 3], r15b
mov ebp, 4
cmp r13d, 4
je 0x1400840c7
movzx r15d, byte [rax + 4]
test r15b, r15b
js 0x14008413e
mov byte [rbx + 4], r15b
mov ebp, 5
cmp r13d, 5
je 0x1400840c7
movzx r15d, byte [rax + 5]
test r15b, r15b
js 0x14008413e
mov byte [rbx + 5], r15b
mov ebp, 6
cmp r13d, 6
je 0x1400840c7
movzx r15d, byte [rax + 6]
test r15b, r15b
js 0x14008413e
mov byte [rbx + 6], r15b
mov ebp, 7
jmp 0x1400840c7
xor ebp, ebp
lea r15, [r12 - 0x10]
mov r10, rsi
add r14, rsi
add r14, 8
nop word cs:[rax + rax]
mov r11, qword [rax + rbp]
mov rsi, qword [rax + rbp + 8]
mov qword [r14 + rbp - 8], r11
mov qword [r14 + rbp], rsi
movabs r13, 0x8080808080808080
and r11, r13
and rsi, r13
mov r13, rsi
or r13, r11
jne 0x140084118
add rbp, 0x10
cmp rbp, r15
jbe 0x1400840e0
jmp 0x140083fbf
test r11, r11
je 0x1400848e7
tzcnt r9, r11
shr r9d, 3
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov rsi, r10
jmp 0x14008490e
xor ebp, ebp
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
add rcx, rbp
lea rdi, [rsi + rbp]
mov qword [rsp + 0x30], rdi
lea rax, [rsi + rbp]
add rax, 3
cmp rax, qword [rsp + 0x48]
jae 0x140084d7a
inc rcx
mov rax, rcx
lea rbp, [0x1401e3172]
lea r9d, [r15 + 0x7f]
cmp r9b, 0x7d
ja 0x14008488c
cmp rax, r12
jae 0x140084aef
movzx r10d, byte [r8 + rax]
lea rcx, [rax + 1]
lea r11d, [r10 - 0x30]
cmp r11b, 9
jbe 0x1400841e0
cmp r9b, 0x1f
jbe 0x140084290
lea r11d, [r10 + 0x5f]
cmp r11b, 0x5e
jae 0x140084398
lea eax, [r15 + 0x50]
cmp al, 0x48
jae 0x140084559
movzx eax, al
imul eax, eax, 0x5e
movzx r9d, r11b
add r9d, eax
lea rax, [0x1401dd42e]
movzx eax, word [rax + r9*2]
jmp 0x140084464
cmp rcx, r12
jae 0x140084c28
movzx ebx, byte [r8 + rax + 1]
add bl, 0x7f
cmp bl, 0x7d
ja 0x140084c3f
lea rcx, [rax + 2]
cmp rcx, r12
jae 0x140084c58
movzx ebp, byte [r8 + rax + 2]
add bpl, 0xd0
cmp bpl, 9
ja 0x140084c77
add rax, 3
movzx ecx, r9b
imul rcx, rcx, 0x3138
movzx r9d, r11b
imul r9, r9, 0x4ec
add r9, rcx
movzx ecx, bl
lea rcx, [rcx + rcx*4]
lea r9, [r9 + rcx*2]
movzx ecx, bpl
add rcx, r9
cmp rcx, 0x99fc
jae 0x140084325
cmp rcx, 0x1d21
lea rbp, [0x1401e3172]
jne 0x1400844a0
mov r14, qword [rsp + 0x20]
mov word [r14 + rdi], 0x9fee
mov byte [r14 + rdi + 2], 0x87
mov r9d, 3
jmp 0x140084660
lea r11d, [r10 - 0x40]
cmp r11b, 0x3e
jbe 0x1400842ab
cmp r10b, 0xfe
jg 0x140084dda
add r10b, 0xbf
mov r11d, r10d
movzx eax, r9b
imul r9d, eax, 0xbe
movzx eax, r11b
add eax, r9d
mov r10d, 0x77c
xor r9d, r9d
mov r11d, 0x77c
nop dword [rax]
shr r10, 1
add r10, r9
movzx ebx, word [rbp + r10*2]
cmp ax, bx
je 0x140084455
lea rsi, [r10 + 1]
cmp ax, bx
cmova r9, rsi
cmovb r11, r10
mov r10, r11
sub r10, r9
ja 0x1400842d0
lea r10, [r9 - 1]
cmp r10, 0x77c
jae 0x14008523f
lea r10, [0x1401e227a]
add ax, word [r10 + r9*2 - 2]
sub ax, word [rbp + r9*2 - 2]
jmp 0x140084461
lea r9, [rcx - 0x2e248]
cmp r9, 0x100000
lea rbp, [0x1401e3172]
jae 0x140084cf8
add ecx, 0xfffe1db8
mov r9d, ecx
shr r9d, 0x12
or r9b, 0xf0
mov r14, qword [rsp + 0x20]
mov byte [r14 + rdi], r9b
mov r9d, ecx
shr r9d, 0xc
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 1], r9b
mov r9d, ecx
shr r9d, 6
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 2], r9b
and cl, 0x3f
or cl, 0x80
mov byte [r14 + rdi + 3], cl
mov r9d, 4
jmp 0x140084660
lea r9d, [r10 - 0x40]
cmp r9b, 0x3e
jbe 0x1400843b3
cmp r10b, 0xa0
jg 0x140084dda
add r10b, 0xbf
mov r9d, r10d
add r15b, 0x5f
movzx eax, r15b
lea rax, [rax + rax*2]
shl eax, 5
movzx r10d, r9b
lea r9, [rax + r10]
add r9, 0xfffffffffffffca0
cmp r9, 0x1f7b
jae 0x14008458d
mov r10d, 0x65b
xor eax, eax
mov r11d, 0x65b
nop dword [rax]
shr r10, 1
add r10, rax
lea rsi, [0x1401e15c4]
movzx ebx, word [rsi + r10*2]
cmp bx, r9w
je 0x14008469f
lea rsi, [r10 + 1]
cmp bx, r9w
cmova r11, r10
cmovb rax, rsi
mov r10, r11
sub r10, rax
ja 0x1400843f0
lea r10, [rax - 1]
cmp r10, 0x65b
jae 0x14008527e
lea r10, [0x1401e090e]
add r9w, word [r10 + rax*2 - 2]
lea r10, [0x1401e15c4]
sub r9w, word [r10 + rax*2 - 2]
movzx eax, r9w
jmp 0x140084464
lea rax, [0x1401e227a]
movzx eax, word [rax + r10*2]
movzx eax, ax
mov r9d, eax
shr r9d, 0xc
or r9b, 0xe0
mov r14, qword [rsp + 0x20]
mov byte [r14 + rdi], r9b
mov r9d, eax
shr r9d, 6
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 1], r9b
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 2], al
mov r9d, 3
jmp 0x140084663
mov r10d, 0xce
xor r9d, r9d
mov r11d, 0xce
nop
shr r10, 1
add r10, r9
lea rsi, [0x1401e406a]
movzx ebx, word [rsi + r10*2]
cmp bx, cx
je 0x14008460f
lea rsi, [r10 + 1]
cmp bx, cx
cmova r11, r10
cmovb r9, rsi
mov r10, r11
sub r10, r9
ja 0x1400844b0
lea r10, [r9 - 1]
cmp r10, 0xce
jae 0x140085266
lea r10, [0x1401e4206]
add cx, word [r10 + r9*2 - 2]
lea r10, [0x1401e406a]
sub cx, word [r10 + r9*2 - 2]
movzx r9d, cx
mov r14, qword [rsp + 0x20]
cmp r9d, 0x800
jb 0x140084631
mov ecx, r9d
shr ecx, 0xc
or cl, 0xe0
mov byte [r14 + rdi], cl
mov ecx, r9d
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [r14 + rdi + 1], cl
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 2], r9b
mov r9d, 3
jmp 0x140084660
cmp r15b, 0xa8
je 0x1400846f5
movzx eax, r15b
cmp eax, 0xa6
je 0x1400846da
cmp eax, 0xa1
jne 0x140084777
movzx eax, r11b
lea r9, [0x1401dd0a0]
jmp 0x14008470a
add rax, r10
cmp eax, 0x360
jae 0x1400846b4
mov r10d, 0x3b
xor r9d, r9d
mov r11d, 0x3b
nop word [rax + rax]
shr r10, 1
add r10, r9
lea rsi, [0x1401dd2ac]
movzx ebx, word [rsi + r10*2]
cmp bx, ax
je 0x140084732
lea rsi, [r10 + 1]
cmp bx, ax
cmova r11, r10
cmovb r9, rsi
mov r10, r11
sub r10, r9
ja 0x1400845b0
lea r10, [r9 - 1]
cmp r10, 0x3b
jae 0x1400852aa
lea r10, [0x1401dd236]
add ax, word [r10 + r9*2 - 2]
lea r10, [0x1401dd2ac]
sub ax, word [r10 + r9*2 - 2]
jmp 0x14008473e
lea rcx, [0x1401e4206]
movzx ecx, word [rcx + r10*2]
movzx r9d, cx
mov r14, qword [rsp + 0x20]
cmp r9d, 0x800
jae 0x140084523
mov r9d, ecx
shr r9d, 6
or r9b, 0xc0
mov byte [r14 + rdi], r9b
and cl, 0x3f
or cl, 0x80
mov byte [r14 + rdi + 1], cl
mov r9d, 2
nop word cs:[rax + rax]
mov rcx, rax
add rdi, r9
mov qword [rsp + 0x30], rdi
cmp rcx, r12
jae 0x140084d59
lea rax, [rdi + 3]
mov r9, qword [rsp + 0x28]
cmp rax, r9
jae 0x140084b09
movzx r15d, byte [r8 + rcx]
inc rcx
mov rax, rcx
test r15b, r15b
js 0x140084174
jmp 0x1400848ca
lea rax, [0x1401e090e]
movzx r9d, word [rax + r10*2]
movzx eax, r9w
jmp 0x140084464
lea r10, [rax - 0x22db]
cmp r10, 0x65
jae 0x140085296
lea r9, [0x1401dd324]
movzx eax, word [r9 + rax*2 - 0x45b6]
jmp 0x140084464
add r10b, 0x20
cmp r10b, 0x15
ja 0x14008479d
movzx eax, r10b
lea r9, [0x1401dd15c]
jmp 0x14008470a
cmp r11b, 0x20
jae 0x14008479d
movzx eax, r11b
lea r9, [0x1401dd3ee]
movzx eax, word [r9 + rax*2]
mov r14, qword [rsp + 0x20]
cmp eax, 0x800
jb 0x140084836
movzx eax, ax
mov r9d, eax
shr r9d, 0xc
or r9b, 0xe0
jmp 0x140084474
lea rax, [0x1401dd236]
movzx eax, word [rax + r10*2]
movzx r9d, ax
mov r14, qword [rsp + 0x20]
cmp r9d, 0x800
jae 0x140084859
mov r9d, eax
shr r9d, 6
or r9b, 0xc0
mov byte [r14 + rdi], r9b
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 1], al
mov r9d, 2
jmp 0x140084663
cmp r9b, 0x76
jbe 0x14008479d
add r15b, 8
movzx eax, r15b
imul eax, eax, 0x5e
movzx r9d, r11b
add eax, r9d
add eax, 0xffffe234
movzx r9d, ax
jmp 0x140084467
add r15b, 0x5e
movzx eax, r15b
imul r9d, eax, 0x5e
movzx eax, r11b
add eax, r9d
mov r10d, 0x2b
xor r9d, r9d
mov r11d, 0x2b
nop
shr r10, 1
add r10, r9
lea rsi, [0x1401dd1de]
movzx ebx, word [rsi + r10*2]
cmp ax, bx
je 0x140084818
lea rsi, [r10 + 1]
cmp ax, bx
cmova r9, rsi
cmovb r11, r10
mov r10, r11
sub r10, r9
ja 0x1400847c0
lea r10, [r9 - 1]
cmp r10, 0x2b
jae 0x1400852c2
lea r10, [0x1401dd188]
add ax, word [r10 + r9*2 - 2]
lea r10, [0x1401dd1de]
sub ax, word [r10 + r9*2 - 2]
jmp 0x140084824
lea rax, [0x1401dd188]
movzx eax, word [rax + r10*2]
movzx r9d, ax
mov r14, qword [rsp + 0x20]
cmp r9d, 0x800
jae 0x140084859
mov r9d, eax
shr r9d, 6
or r9b, 0xc0
mov byte [r14 + rdi], r9b
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 1], al
mov r9d, 2
jmp 0x140084663
mov eax, r9d
shr eax, 0xc
or al, 0xe0
mov byte [r14 + rdi], al
mov eax, r9d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 1], al
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 2], r9b
mov r9d, 3
jmp 0x140084663
cmp r15b, 0x80
jne 0x140084afd
mov r14, qword [rsp + 0x20]
mov word [r14 + rdi], 0x82e2
mov byte [r14 + rdi + 2], 0xac
add rdi, 3
mov r9, qword [rsp + 0x28]
mov rsi, rdi
mov rcx, rax
mov qword [rsp + 0x30], rsi
cmp rcx, r12
jbe 0x140083f72
jmp 0x140085257
mov byte [r14 + rdi], r15b
inc rdi
mov rsi, rdi
mov qword [rsp + 0x30], rsi
cmp rcx, r12
jbe 0x140083f72
jmp 0x140085257
test rsi, rsi
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
je 0x1400848fd
tzcnt r9, rsi
jmp 0x140084903
mov r9d, 0x40
mov rsi, r10
shr r9d, 3
add r9, 8
add rbp, r9
movzx r15d, byte [rax + rbp]
jmp 0x140084148
xor edi, edi
movzx ebp, byte [rdx + 8]
test bpl, bpl
je 0x140083f63
test r12, r12
je 0x1400849c7
lea rsi, [rdi + 3]
cmp rsi, r9
jae 0x140084a2c
movzx r9d, byte [rdx + 9]
movzx ebx, r9b
movzx ecx, byte [rdx + 0xa]
xor eax, eax
nop
movzx r15d, byte [r8 + rax]
cmp bpl, 1
je 0x1400849a0
movzx r11d, bpl
cmp r11d, 2
jne 0x140084a4c
mov byte [rdx + 8], 0
add r15b, 0x7f
cmp r15b, 0x7d
ja 0x140084a8a
mov byte [rdx + 8], 3
mov byte [rdx + 9], r9b
mov byte [rdx + 0xa], cl
mov byte [rdx + 0xb], r15b
mov bpl, 3
inc rax
cmp r12, rax
jne 0x140084950
jmp 0x1400849c7
mov byte [rdx + 8], 0
lea ecx, [r15 - 0x30]
cmp cl, 9
ja 0x140084aa9
mov byte [rdx + 8], 2
mov byte [rdx + 9], r9b
mov byte [rdx + 0xa], cl
mov bpl, 2
inc rax
cmp r12, rax
jne 0x140084950
cmp byte [rsp + 0xd0], 0
je 0x140084a3e
mov byte [rdx + 8], 0
mov byte [r13 + 8], 2
mov byte [r13 + 9], bpl
mov byte [r13 + 0xa], 0
mov qword [r13], r12
jmp 0x140084d62
mov byte [r13 + 8], 1
mov qword [r13], 0
xor edi, edi
jmp 0x140084d62
xor eax, eax
cmp rdi, r9
setb al
add rcx, r12
add rsi, r12
mov rdi, rsi
lea rdx, [rsp + 0x20]
and edx, 0xffff00
or rdx, rax
mov qword [r13], rcx
mov qword [r13 + 8], rdx
jmp 0x140084d62
mov byte [r13 + 8], 1
mov qword [r13], 0
jmp 0x140084d62
mov byte [r13 + 8], 0
mov qword [r13], r12
jmp 0x140084d62
movzx r9d, byte [rdx + 0xb]
mov byte [rdx + 8], 0
add r15b, 0xd0
cmp r15b, 9
jbe 0x140084b13
add cl, 0x30
mov byte [rdx + 6], 1
mov byte [rdx + 7], cl
mov byte [rdx + 8], 1
mov byte [rdx + 9], r9b
mov word [r13 + 8], 0x102
mov byte [r13 + 0xa], 2
mov qword [r13], rax
jmp 0x140084d62
add cl, 0x30
mov byte [rdx + 6], 1
mov byte [rdx + 7], cl
mov word [r13 + 8], 0x102
mov byte [r13 + 0xa], 1
mov qword [r13], rax
jmp 0x140084d62
lea rcx, [rax + 1]
cmp r9b, 0x1f
jbe 0x140084b68
lea ebp, [r15 + 0x5f]
cmp bpl, 0x5e
jae 0x140084d0a
lea eax, [r9 - 0x2f]
cmp al, 0x48
jae 0x140084e65
movzx eax, al
imul eax, eax, 0x5e
movzx r9d, bpl
add r9d, eax
lea rax, [0x1401dd42e]
movzx eax, word [rax + r9*2]
jmp 0x140084d9c
cmp byte [rsp + 0xd0], 0
je 0x140084c12
mov word [r13 + 8], 0x102
jmp 0x140084cff
mov byte [r13 + 8], 1
jmp 0x140084d5e
movzx r9d, r9b
inc rax
imul r11, rbx, 0x3138
movzx ecx, cl
imul rcx, rcx, 0x4ec
add rcx, r11
lea r9, [r9 + r9*4]
movzx r11d, r15b
add r11, rcx
lea rcx, [r11 + r9*2]
cmp rcx, 0x99fc
jae 0x140084c97
cmp ecx, 0x1d21
jne 0x140084df4
mov word [r14 + rdi], 0x9fee
mov byte [r14 + rdi + 2], 0x87
jmp 0x140084efd
lea r9d, [r15 - 0x40]
cmp r9b, 0x3e
jbe 0x140084b83
cmp r15b, 0xfe
jg 0x140084d21
add r15b, 0xbf
mov r9d, r15d
mov r10, rsi
mov rbp, r8
mov r8, r12
movzx eax, bx
imul r11d, eax, 0xbe
movzx eax, r9b
add eax, r11d
mov r15d, 0x77c
xor r9d, r9d
lea rbx, [0x1401e3172]
mov r12d, 0x77c
shr r15, 1
add r15, r9
movzx r11d, word [rbx + r15*2]
cmp ax, r11w
je 0x140084d84
lea rsi, [r15 + 1]
cmp ax, r11w
cmova r9, rsi
cmovb r12, r15
mov r15, r12
sub r15, r9
ja 0x140084bb3
lea r11, [r9 - 1]
cmp r11, 0x77c
jae 0x14008523f
mov r12, r8
mov rsi, r10
lea r11, [0x1401e227a]
add ax, word [r11 + r9*2 - 2]
sub ax, word [rbx + r9*2 - 2]
mov r8, rbp
jmp 0x140084d99
mov byte [rdx + 8], 1
mov byte [rdx + 9], r9b
mov byte [r13 + 8], 0
mov qword [r13], rax
jmp 0x140084d62
cmp byte [rsp + 0xd0], 0
je 0x140084d3c
mov word [r13 + 8], 0x202
jmp 0x140084c6d
mov byte [rdx + 6], 1
mov byte [rdx + 7], r10b
mov word [r13 + 8], 0x102
mov byte [r13 + 0xa], 1
jmp 0x140084d5e
cmp byte [rsp + 0xd0], 0
je 0x140084d4a
mov word [r13 + 8], 0x302
mov byte [r13 + 0xa], 0
jmp 0x140084d5e
mov byte [rdx + 6], 1
mov byte [rdx + 7], r10b
mov byte [rdx + 8], 1
mov byte [rdx + 9], bl
mov word [r13 + 8], 0x102
mov byte [r13 + 0xa], 2
jmp 0x140084d5e
lea r9, [rcx - 0x2e248]
cmp r9, 0x100000
jae 0x140084cf8
add ecx, 0xfffe1db8
mov r9d, ecx
shr r9d, 0x12
or r9b, 0xf0
mov byte [r14 + rdi], r9b
mov r9d, ecx
shr r9d, 0xc
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 1], r9b
mov r9d, ecx
shr r9d, 6
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 2], r9b
and cl, 0x3f
or cl, 0x80
mov byte [r14 + rdi + 3], cl
or rdi, 4
jmp 0x140084ecd
mov word [r13 + 8], 0x402
mov byte [r13 + 0xa], 0
mov qword [r13], rax
jmp 0x140084d62
lea ebx, [r15 - 0x40]
cmp bl, 0x3e
jbe 0x140084f14
cmp r15b, 0xa0
jle 0x140084f0d
mov byte [r13 + 8], 2
test r15b, r15b
js 0x140084de8
mov word [r13 + 9], 1
mov qword [r13], rax
jmp 0x140084d62
mov byte [rdx + 8], 2
mov byte [rdx + 9], r9b
mov byte [rdx + 0xa], r11b
jmp 0x140084d59
mov byte [rdx + 8], 3
mov byte [rdx + 9], r9b
mov byte [rdx + 0xa], r11b
mov byte [rdx + 0xb], bl
mov byte [r13 + 8], 0
mov qword [r13], rcx
mov qword [r13 + 0x10], rdi
mov rax, r13
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 1
jmp 0x140084a11
lea rax, [0x1401e227a]
movzx eax, word [rax + r15*2]
mov r12, r8
mov r8, rbp
mov rsi, r10
movzx eax, ax
mov r9d, eax
shr r9d, 0xc
or r9b, 0xe0
mov byte [r14 + rdi], r9b
mov r9d, eax
shr r9d, 6
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 1], r9b
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 2], al
mov qword [rsp + 0x30], rsi
mov r9, qword [rsp + 0xc8]
jmp 0x140083f68
mov byte [r13 + 8], 2
test r10b, r10b
jns 0x140084d2f
mov word [r13 + 9], 2
jmp 0x140084d5e
mov rbp, r8
mov r8, r12
mov r15d, 0xce
xor r9d, r9d
lea rbx, [0x1401e406a]
mov r12d, 0xce
shr r15, 1
add r15, r9
movzx r11d, word [rbx + r15*2]
cmp r11w, cx
je 0x140084e90
mov r10, rsi
lea rsi, [r15 + 1]
cmp r11w, cx
cmova r12, r15
cmovb r9, rsi
mov rsi, r10
mov r15, r12
sub r15, r9
ja 0x140084e10
lea r11, [r9 - 1]
cmp r11, 0xce
jae 0x140085266
lea r11, [0x1401e4206]
add cx, word [r11 + r9*2 - 2]
sub cx, word [rbx + r9*2 - 2]
jmp 0x140084e9c
cmp ebx, 0x27
je 0x14008509d
cmp ebx, 0x25
je 0x140085086
cmp ebx, 0x20
jne 0x1400850c3
movzx eax, bpl
lea r9, [0x1401dd0a0]
jmp 0x1400850ae
lea rcx, [0x1401e4206]
movzx ecx, word [rcx + r15*2]
mov r12, r8
movzx r9d, cx
cmp r9d, 0x800
mov r8, rbp
jae 0x140084ed2
mov r9d, ecx
shr r9d, 6
or r9b, 0xc0
mov byte [r14 + rdi], r9b
and cl, 0x3f
or cl, 0x80
mov byte [r14 + rdi + 1], cl
or rdi, 2
mov rsi, rdi
jmp 0x140084efd
mov ecx, r9d
shr ecx, 0xc
or cl, 0xe0
mov byte [r14 + rdi], cl
mov ecx, r9d
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [r14 + rdi + 1], cl
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 2], r9b
mov rcx, rax
mov r9, qword [rsp + 0xc8]
jmp 0x140083f68
add r15b, 0xbf
mov ebx, r15d
add r9b, 0xe0
movzx eax, r9b
lea r9, [rax + rax*2]
shl r9d, 5
movzx r11d, bl
lea rax, [r9 + r11]
add rax, 0xfffffffffffffca0
cmp rax, 0x1f7b
jae 0x140084fbf
mov r10, rsi
mov rbp, r8
mov r8, r12
mov r15d, 0x65b
xor r9d, r9d
lea rbx, [0x1401e15c4]
mov r12d, 0x65b
shr r15, 1
add r15, r9
movzx r11d, word [rbx + r15*2]
cmp r11w, ax
je 0x140085043
lea rsi, [r15 + 1]
cmp r11w, ax
cmova r12, r15
cmovb r9, rsi
mov r15, r12
sub r15, r9
ja 0x140084f5d
lea r11, [r9 - 1]
cmp r11, 0x65b
jae 0x14008527e
mov r12, r8
mov rsi, r10
lea r11, [0x1401e090e]
add ax, word [r11 + r9*2 - 2]
sub ax, word [rbx + r9*2 - 2]
mov r8, rbp
movzx eax, ax
jmp 0x140084d9c
add r9, r11
cmp r9d, 0x360
jae 0x140085060
mov rbp, r8
mov r8, r12
mov r15d, 0x3b
xor eax, eax
lea rbx, [0x1401dd2ac]
mov r12d, 0x3b
shr r15, 1
add r15, rax
movzx r11d, word [rbx + r15*2]
cmp r11w, r9w
je 0x1400851ab
mov r10, rsi
lea rsi, [r15 + 1]
cmp r11w, r9w
cmova r12, r15
cmovb rax, rsi
mov rsi, r10
mov r15, r12
sub r15, rax
ja 0x140084fea
lea r11, [rax - 1]
cmp r11, 0x3b
jae 0x1400852aa
lea r11, [0x1401dd236]
add r9w, word [r11 + rax*2 - 2]
sub r9w, word [rbx + rax*2 - 2]
jmp 0x1400851b7
lea rax, [0x1401e090e]
movzx eax, word [rax + r15*2]
mov r12, r8
mov r8, rbp
mov rsi, r10
movzx eax, ax
jmp 0x140084d9c
lea rax, [r9 - 0x22db]
cmp rax, 0x65
jae 0x1400852da
lea rax, [0x1401dd324]
movzx eax, word [rax + r9*2 - 0x45b6]
jmp 0x140084d9c
add r15b, 0x20
cmp r15b, 0x15
ja 0x1400850e9
movzx eax, r15b
lea r9, [0x1401dd15c]
jmp 0x1400850ae
cmp bpl, 0x20
jae 0x1400850e9
movzx eax, bpl
lea r9, [0x1401dd3ee]
movzx eax, word [r9 + rax*2]
cmp eax, 0x800
jae 0x140084d99
jmp 0x140085191
cmp r9b, 0x76
jbe 0x1400850e9
add r9b, 0x89
movzx eax, r9b
imul eax, eax, 0x5e
movzx r9d, bpl
add eax, r9d
add eax, 0xffffe234
movzx r9d, ax
jmp 0x140084d9f
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], r8
mov r8, r12
add r9b, 0xdf
movzx eax, r9b
imul r9d, eax, 0x5e
movzx eax, bpl
add eax, r9d
mov r15d, 0x2b
xor r9d, r9d
lea rbx, [0x1401dd1de]
mov r12d, 0x2b
shr r15, 1
add r15, r9
movzx r11d, word [rbx + r15*2]
cmp ax, r11w
je 0x14008516b
lea rsi, [r15 + 1]
cmp ax, r11w
cmova r9, rsi
cmovb r12, r15
mov r15, r12
sub r15, r9
ja 0x14008511f
lea r11, [r9 - 1]
cmp r11, 0x2b
jae 0x1400852c2
lea r11, [0x1401dd188]
add ax, word [r11 + r9*2 - 2]
sub ax, word [rbx + r9*2 - 2]
jmp 0x140085177
lea rax, [0x1401dd188]
movzx eax, word [rax + r15*2]
mov r12, r8
mov rsi, qword [rsp + 0x50]
movzx r9d, ax
cmp r9d, 0x800
mov r8, qword [rsp + 0x48]
jae 0x1400851fe
mov r9d, eax
shr r9d, 6
or r9b, 0xc0
mov byte [r14 + rdi], r9b
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 1], al
jmp 0x1400851e5
lea rax, [0x1401dd236]
movzx r9d, word [rax + r15*2]
mov r12, r8
movzx eax, r9w
cmp eax, 0x800
mov r8, rbp
jae 0x140084d9c
mov eax, r9d
shr eax, 6
or al, 0xc0
mov byte [r14 + rdi], al
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 1], r9b
or rdi, 2
mov qword [rsp + 0x30], rdi
mov rsi, rdi
mov r9, qword [rsp + 0xc8]
jmp 0x140083f68
mov eax, r9d
shr eax, 0xc
or al, 0xe0
mov byte [r14 + rdi], al
mov eax, r9d
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [r14 + rdi + 1], al
and r9b, 0x3f
or r9b, 0x80
mov byte [r14 + rdi + 2], r9b
jmp 0x140084dc8
lea r8, [0x1401fbe68]
mov rcx, rsi
mov rdx, qword [rsp + 0x48]
call sym.core::slice::index::slice_start_index_len_fail::h8d3d56967d6340e8
lea r8, [0x1401fbdb8]
mov edx, 0x77c
mov rcx, 0xffffffffffffffff
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
lea r8, [0x1401fbe80]
mov rdx, r12
call sym.core::slice::index::slice_start_index_len_fail::h8d3d56967d6340e8
lea r8, [0x1401fbdb8]
mov edx, 0xce
mov rcx, 0xffffffffffffffff
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
lea r8, [0x1401fbdb8]
mov edx, 0x65b
mov rcx, 0xffffffffffffffff
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
lea r8, str._home_delta_.cargo_registry_src_index.crates.io_6f17d22bba15001f_encoding_rs_0.8.34_src_gb18030.rs_home_delta_.cargo_registry_src_index.crates.io_6f17d22bba15001f_encoding_rs_0.8.34_src_data.rs
mov edx, 0x65
mov rcx, r10
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
lea r8, [0x1401fbdb8]
mov edx, 0x3b
mov rcx, 0xffffffffffffffff
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
lea r8, [0x1401fbdb8]
mov edx, 0x2b
mov rcx, 0xffffffffffffffff
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
lea r8, str._home_delta_.cargo_registry_src_index.crates.io_6f17d22bba15001f_encoding_rs_0.8.34_src_gb18030.rs_home_delta_.cargo_registry_src_index.crates.io_6f17d22bba15001f_encoding_rs_0.8.34_src_data.rs
mov edx, 0x65
mov rcx, rax
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
int3