Function at 0x140109ef0
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 0x14010a9bf
cmp r8, 3
jb 0x14010aa70
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 0x14010a9cf
xor eax, eax
mov rcx, r11
lea rbx, [0x140224f9a]
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], r8
mov r10, r8
sub r10, rcx
jb 0x14010b3d4
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 0x140109fd3
mov edi, r11d
neg edi
and edi, 7
lea r14, [rdi + 0x10]
cmp r14, r12
jbe 0x14010a77f
xor r14d, r14d
cmp r14, r12
mov r13, r8
jae 0x14010aaad
nop word cs:[rax + rax]
movzx r15d, byte [r11 + r14]
test r15b, r15b
js 0x14010a00b
mov byte [rsi + r14], r15b
inc r14
cmp r12, r14
jne 0x140109ff0
jmp 0x14010aaad
mov r12, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
lea rbx, [0x140224f9a]
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 0x14010ae3d
inc rax
mov r10, rax
lea r14, [0x1402233ec]
lea ecx, [r15 + 0x7f]
cmp cl, 0x7d
ja 0x14010a885
cmp r10, rbp
jae 0x14010abe0
movzx r9d, byte [r13 + r10]
lea rax, [r10 + 1]
lea esi, [r9 - 0x30]
cmp sil, 9
jbe 0x14010a0c0
cmp cl, 0x1f
jbe 0x14010a170
lea esi, [r9 + 0x5f]
cmp sil, 0x5e
jae 0x14010a268
lea r10d, [r15 + 0x50]
cmp r10b, 0x48
jae 0x14010a40f
movzx ecx, r10b
imul rcx, rcx, 0x5e
movzx r8d, sil
add r8, rcx
lea rcx, [0x140225e92]
movzx ecx, word [rcx + r8*2]
jmp 0x14010a326
cmp rax, rbp
jae 0x14010ad15
movzx ebx, byte [r13 + r10 + 1]
add bl, 0x7f
cmp bl, 0x7d
ja 0x14010ad2d
lea rax, [r10 + 2]
cmp rax, rbp
jae 0x14010ad48
movzx edi, byte [r13 + r10 + 2]
add dil, 0xd0
cmp dil, 9
ja 0x14010ad69
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 0x14010a204
cmp eax, 0x1d21
lea rbx, [0x140224f9a]
jne 0x14010a363
mov rax, qword [rsp + 0x28]
mov word [rax + r11], 0x9fee
mov byte [rax + r11 + 2], 0x87
mov ecx, 3
jmp 0x14010a500
lea esi, [r9 - 0x40]
cmp sil, 0x3e
jbe 0x14010a18b
cmp r9b, 0xfe
jg 0x14010aec4
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 0x14010a317
lea r8, [r10 + 1]
cmp di, cx
cmova rsi, r10
cmovb r9, r8
mov r10, rsi
sub r10, r9
ja 0x14010a1b0
lea r8, [r9 - 1]
cmp r8, 0x77c
jae 0x14010b334
lea r8, [0x1402240a2]
add cx, word [r8 + r9*2 - 2]
sub cx, word [rbx + r9*2 - 2]
jmp 0x14010a323
lea rcx, [rax - 0x2e248]
cmp rcx, 0x100000
lea rbx, [0x140224f9a]
jae 0x14010ae47
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 0x14010a500
lea esi, [r9 - 0x40]
cmp sil, 0x3e
jbe 0x14010a283
cmp r9b, 0xa0
jg 0x14010aec4
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 0x14010a43a
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 0x14010a53d
lea r8, [r10 + 1]
cmp di, r9w
cmova rsi, r10
cmovb rcx, r8
mov r10, rsi
sub r10, rcx
ja 0x14010a2c0
lea r8, [rcx - 1]
cmp r8, 0x65b
jae 0x14010b364
lea r8, [0x140222736]
add r9w, word [r8 + rcx*2 - 2]
sub r9w, word [r14 + rcx*2 - 2]
movzx ecx, r9w
jmp 0x14010a326
lea rcx, [0x1402240a2]
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 0x14010a503
mov r9d, 0xce
xor ecx, ecx
mov esi, 0xce
shr r9, 1
add r9, rcx
lea r8, [0x140229372]
movzx edi, word [r8 + r9*2]
cmp di, ax
je 0x14010a4bf
lea r8, [r9 + 1]
cmp di, ax
cmova rsi, r9
cmovb rcx, r8
mov r9, rsi
sub r9, rcx
ja 0x14010a370
lea r8, [rcx - 1]
cmp r8, 0xce
jae 0x14010b34c
lea r8, [0x14022950e]
add ax, word [r8 + rcx*2 - 2]
lea r8, [0x140229372]
sub ax, word [r8 + rcx*2 - 2]
movzx ecx, ax
cmp ecx, 0x800
jb 0x14010a4da
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 0x14010a500
cmp r15b, 0xa6
je 0x14010a578
movzx r8d, r15b
movzx r9d, sil
cmp r8d, 0xa1
jne 0x14010a598
lea rcx, [0x1402223a8]
jmp 0x14010a5b2
add rcx, r10
cmp ecx, 0x360
jae 0x14010a552
mov r10d, 0x3b
xor r9d, r9d
mov esi, 0x3b
nop word [rax + rax]
shr r10, 1
add r10, r9
lea r8, [0x1402225b4]
movzx edi, word [r8 + r10*2]
cmp di, cx
je 0x14010a5ec
lea r8, [r10 + 1]
cmp di, cx
cmova rsi, r10
cmovb r9, r8
mov r10, rsi
sub r10, r9
ja 0x14010a460
lea r8, [r9 - 1]
cmp r8, 0x3b
jae 0x14010b390
lea r8, [0x14022253e]
add cx, word [r8 + r9*2 - 2]
lea r8, [0x1402225b4]
sub cx, word [r8 + r9*2 - 2]
jmp 0x14010a5f8
lea rax, [0x14022950e]
movzx eax, word [rax + r9*2]
movzx ecx, ax
cmp ecx, 0x800
jae 0x14010a3dc
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 0x14010ae31
lea rcx, [r11 + 3]
cmp rcx, qword [rsp + 0x30]
jae 0x14010abfb
movzx r15d, byte [r13 + rax]
inc rax
mov r10, rax
test r15b, r15b
js 0x14010a04c
jmp 0x14010a918
lea rcx, [0x140222736]
movzx r9d, word [rcx + r10*2]
movzx ecx, r9w
jmp 0x14010a326
lea r10, [rcx - 0x22db]
cmp r10, 0x65
jae 0x14010b37c
lea r8, [0x14022262c]
movzx ecx, word [r8 + rcx*2 - 0x45b6]
jmp 0x14010a326
add r9b, 0x20
cmp r9b, 0x16
jae 0x14010a663
movzx ecx, r9b
lea r8, [0x140222464]
movzx ecx, word [r8 + rcx*2]
jmp 0x14010a5b7
cmp cl, 0x27
jne 0x14010a669
cmp sil, 0x20
jae 0x14010a669
lea rcx, [0x1402226f6]
movzx ecx, word [rcx + r9*2]
cmp ecx, 0x800
jae 0x14010a323
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 0x14010a503
lea rcx, [0x14022253e]
movzx ecx, word [rcx + r10*2]
movzx r9d, cx
cmp r9d, 0x800
jae 0x14010a62e
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 0x14010a503
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 0x14010a359
movzx r9d, sil
jmp 0x14010a6bd
cmp cl, 0x76
jbe 0x14010a6bd
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 0x14010a359
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, [0x1402224e6]
movzx edi, word [r8 + r10*2]
cmp di, r9w
je 0x14010a73a
lea r8, [r10 + 1]
cmp di, r9w
cmova rsi, r10
cmovb rcx, r8
mov r10, rsi
sub r10, rcx
ja 0x14010a6e0
lea r8, [rcx - 1]
cmp r8, 0x2b
jae 0x14010b3a8
lea r8, [0x140222490]
add r9w, word [r8 + rcx*2 - 2]
lea r8, [0x1402224e6]
sub r9w, word [r8 + rcx*2 - 2]
jmp 0x14010a746
lea rcx, [0x140222490]
movzx r9d, word [rcx + r10*2]
movzx ecx, r9w
cmp ecx, 0x800
jae 0x14010a326
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 0x14010a503
test rdi, rdi
je 0x14010a8c3
movzx r15d, byte [r11]
test r15b, r15b
js 0x14010a965
mov byte [rsi], r15b
mov r14d, 1
cmp edi, 1
mov rcx, qword [rsp + 0x20]
je 0x14010a8c6
movzx r15d, byte [r11 + 1]
test r15b, r15b
js 0x14010a986
mov byte [rsi + 1], r15b
mov r14d, 2
cmp edi, 2
mov rcx, qword [rsp + 0x20]
je 0x14010a8c6
movzx r15d, byte [r11 + 2]
test r15b, r15b
js 0x14010a986
mov byte [rsi + 2], r15b
mov r14d, 3
cmp edi, 3
mov rcx, qword [rsp + 0x20]
je 0x14010a8c6
movzx r15d, byte [r11 + 3]
test r15b, r15b
js 0x14010a986
mov byte [rsi + 3], r15b
mov r14d, 4
cmp edi, 4
mov rcx, qword [rsp + 0x20]
je 0x14010a8c6
movzx r15d, byte [r11 + 4]
test r15b, r15b
js 0x14010a986
mov byte [rsi + 4], r15b
mov r14d, 5
cmp edi, 5
mov rcx, qword [rsp + 0x20]
je 0x14010a8c6
movzx r15d, byte [r11 + 5]
test r15b, r15b
js 0x14010a986
mov byte [rsi + 5], r15b
mov r14d, 6
cmp edi, 6
mov rcx, qword [rsp + 0x20]
je 0x14010a8c6
movzx r15d, byte [r11 + 6]
test r15b, r15b
js 0x14010a986
mov byte [rsi + 6], r15b
mov r14d, 7
mov rcx, qword [rsp + 0x20]
jmp 0x14010a8c6
cmp r15b, 0x80
jne 0x14010abee
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 0x140109f7d
jmp 0x14010b3e5
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 0x14010a941
add r14, 0x10
cmp r14, rdi
jbe 0x14010a8e0
jmp 0x140109fd6
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 0x140109f7d
jmp 0x14010b3e5
test rbp, rbp
mov r13, r8
je 0x14010a975
tzcnt r9, rbp
shr r9d, 3
mov r12, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
lea rbx, [0x140224f9a]
jmp 0x14010a9b2
xor r14d, r14d
mov r12, qword [rsp + 0x40]
mov r13, r8
jmp 0x14010a01c
test rbx, rbx
mov r12, qword [rsp + 0x40]
je 0x14010a998
tzcnt r9, rbx
jmp 0x14010a99e
mov r12, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov r13, r8
jmp 0x14010a015
mov r9d, 0x40
mov rbp, qword [rsp + 0x48]
lea rbx, [0x140224f9a]
shr r9d, 3
add r9, 8
add r14, r9
movzx r15d, byte [r11 + r14]
jmp 0x14010a01c
xor r11d, r11d
movzx edi, byte [rdx + 8]
test dil, dil
je 0x140109f67
test rbp, rbp
je 0x14010aa8c
lea rax, [r11 + 3]
cmp rax, r8
jae 0x14010aae2
mov qword [rsp + 0x20], rax
movzx r9d, byte [rdx + 9]
movzx r10d, r9b
movzx eax, byte [rdx + 0xa]
xor esi, esi
jmp 0x14010aa0c
inc rsi
cmp rbp, rsi
je 0x14010aa8c
movzx r15d, byte [r13 + rsi]
cmp dil, 1
je 0x14010aa50
movzx edi, dil
cmp edi, 2
jne 0x14010ab04
mov byte [rdx + 8], 0
add r15b, 0x7f
cmp r15b, 0x7d
ja 0x14010ab3c
mov byte [rdx + 8], 3
mov byte [rdx + 9], r9b
mov byte [rdx + 0xa], al
mov byte [rdx + 0xb], r15b
mov dil, 3
jmp 0x14010aa00
mov byte [rdx + 8], 0
lea eax, [r15 - 0x30]
cmp al, 9
ja 0x14010ab5c
mov byte [rdx + 8], 2
mov byte [rdx + 9], r9b
mov byte [rdx + 0xa], al
mov dil, 2
jmp 0x14010aa00
mov byte [r12 + 8], 1
mov qword [r12], 0
mov qword [r12 + 0x10], 0
jmp 0x14010ae5e
cmp byte [rsp + 0xd0], 0
je 0x14010aaf5
mov byte [rdx + 8], 0
mov byte [r12 + 8], 2
mov byte [r12 + 9], dil
mov byte [r12 + 0xa], 0
jmp 0x14010aafb
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 0x14010ae59
mov byte [r12 + 8], 1
mov qword [r12], 0
jmp 0x14010ae59
mov byte [r12 + 8], 0
mov qword [r12], rbp
jmp 0x14010ae59
movzx r9d, byte [rdx + 0xb]
mov byte [rdx + 8], 0
add r15b, 0xd0
cmp r15b, 9
jbe 0x14010ac06
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 0x14010ab53
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 0x14010ae59
lea rax, [rsi + 1]
cmp r9b, 0x1f
jbe 0x14010ac61
lea edi, [r15 + 0x5f]
cmp dil, 0x5e
jae 0x14010ade2
lea esi, [r9 - 0x2f]
cmp sil, 0x48
jae 0x14010af65
movzx r9d, sil
imul r9, r9, 0x5e
movzx r10d, dil
add r10, r9
lea r9, [0x140225e92]
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 0x140109f6c
cmp byte [rsp + 0xd0], 0
je 0x14010ad03
mov word [r12 + 8], 0x102
jmp 0x14010ae4f
mov byte [r12 + 8], 1
jmp 0x14010ae37
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 0x14010ad8b
cmp eax, 0x1d21
jne 0x14010aee9
mov word [r14 + r11], 0x9fee
mov byte [r14 + r11 + 2], 0x87
mov rax, rsi
mov rcx, qword [rsp + 0x20]
jmp 0x140109f6c
lea r9d, [r15 - 0x40]
cmp r9b, 0x3e
jbe 0x14010ac7c
cmp r15b, 0xfe
jg 0x14010adfa
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, [0x140224f9a]
mov r15d, 0x77c
shr rdi, 1
add rdi, r10
movzx ebp, word [rsi + rdi*2]
cmp bp, r9w
je 0x14010ae72
lea rbx, [rdi + 1]
cmp bp, r9w
cmova r15, rdi
cmovb r10, rbx
mov rdi, r15
sub rdi, r10
ja 0x14010aca6
lea rdi, [r10 - 1]
cmp rdi, 0x77c
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
jae 0x14010b334
lea rdi, [0x1402240a2]
add r9w, word [rdi + r10*2 - 2]
sub r9w, word [rsi + r10*2 - 2]
jmp 0x14010ae86
mov byte [rdx + 8], 1
mov byte [rdx + 9], cl
mov byte [r12 + 8], 0
jmp 0x14010ae55
cmp byte [rsp + 0xd0], 0
je 0x14010ae16
mov word [r12 + 8], 0x202
jmp 0x14010ad5e
mov byte [rdx + 6], 1
mov byte [rdx + 7], r9b
mov word [r12 + 8], 0x102
mov byte [r12 + 0xa], 1
jmp 0x14010ae37
cmp byte [rsp + 0xd0], 0
je 0x14010ae23
mov word [r12 + 8], 0x302
mov byte [r12 + 0xa], 0
jmp 0x14010ae37
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 0x14010ae37
lea rcx, [rax - 0x2e248]
cmp rcx, 0x100000
jae 0x14010af52
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 0x14010afe3
lea r10d, [r15 - 0x40]
cmp r10b, 0x3e
jbe 0x14010b02f
cmp r15b, 0xa0
jle 0x14010b028
mov byte [r12 + 8], 2
test r15b, r15b
js 0x14010aedc
mov word [r12 + 9], 1
jmp 0x14010ab53
mov byte [rdx + 8], 2
mov byte [rdx + 9], cl
mov byte [rdx + 0xa], sil
jmp 0x14010ae31
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 0x14010ae59
mov edx, 1
jmp 0x14010aac5
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, [0x1402240a2]
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 0x140109f6c
mov byte [r12 + 8], 2
test r9b, r9b
js 0x14010aedc
mov word [r12 + 9], 1
jmp 0x14010ae55
mov word [r12 + 9], 2
jmp 0x14010ae37
mov rcx, rbp
mov edi, 0xce
xor r9d, r9d
lea r10, [0x140229372]
mov r15d, 0xce
shr rdi, 1
add rdi, r9
movzx ebp, word [r10 + rdi*2]
cmp bp, ax
je 0x14010afaa
lea rbx, [rdi + 1]
cmp bp, ax
cmova r15, rdi
cmovb r9, rbx
mov rdi, r15
sub rdi, r9
ja 0x14010af01
lea rdi, [r9 - 1]
cmp rdi, 0xce
jae 0x14010b34c
lea rdi, [0x14022950e]
add ax, word [rdi + r9*2 - 2]
sub ax, word [r10 + r9*2 - 2]
jmp 0x14010afb5
mov word [r12 + 8], 0x402
mov byte [r12 + 0xa], 0
jmp 0x14010ab53
cmp r10d, 0x27
je 0x14010b192
cmp r10d, 0x25
je 0x14010b1a5
cmp r10d, 0x20
jne 0x14010b1d5
movzx r9d, dil
lea r10, [0x1402223a8]
movzx r9d, word [r10 + r9*2]
cmp r9d, 0x800
mov rcx, qword [rsp + 0x20]
jae 0x14010ae86
jmp 0x14010b2d2
lea rax, [0x14022950e]
movzx eax, word [rax + rdi*2]
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx r9d, ax
cmp r9d, 0x800
jae 0x14010aff3
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 0x140109f6c
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 0x140109f6c
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 0x14010b0d0
mov rcx, rbp
mov edi, 0x65b
xor r9d, r9d
lea rsi, [0x1402233ec]
mov r15d, 0x65b
shr rdi, 1
add rdi, r9
movzx ebp, word [rsi + rdi*2]
cmp bp, r10w
je 0x14010b14a
lea rbx, [rdi + 1]
cmp bp, r10w
cmova r15, rdi
cmovb r9, rbx
mov rdi, r15
sub rdi, r9
ja 0x14010b06f
lea rdi, [r9 - 1]
cmp rdi, 0x65b
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
jae 0x14010b364
lea rdi, [0x140222736]
add r10w, word [rdi + r9*2 - 2]
sub r10w, word [rsi + r9*2 - 2]
movzx r9d, r10w
jmp 0x14010ae8a
add r9, rsi
cmp r9d, 0x360
jae 0x14010b167
mov rcx, rbp
mov edi, 0x3b
xor r10d, r10d
lea rsi, [0x1402225b4]
mov r15d, 0x3b
shr rdi, 1
add rdi, r10
movzx ebp, word [rsi + rdi*2]
cmp bp, r9w
je 0x14010b274
lea rbx, [rdi + 1]
cmp bp, r9w
cmova r15, rdi
cmovb r10, rbx
mov rdi, r15
sub rdi, r10
ja 0x14010b0f8
lea rdi, [r10 - 1]
cmp rdi, 0x3b
jae 0x14010b390
lea rdi, [0x14022253e]
add r9w, word [rdi + r10*2 - 2]
sub r9w, word [rsi + r10*2 - 2]
jmp 0x14010b280
lea r9, [0x140222736]
movzx r10d, word [r9 + rdi*2]
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx r9d, r10w
jmp 0x14010ae8a
lea rsi, [r9 - 0x22db]
cmp rsi, 0x65
mov rcx, qword [rsp + 0x20]
jae 0x14010b3c0
lea r10, [0x14022262c]
movzx r9d, word [r10 + r9*2 - 0x45b6]
jmp 0x14010ae8a
cmp dil, 0x20
jae 0x14010b1fe
movzx r9d, dil
lea r10, [0x1402226f6]
jmp 0x14010b1ba
add r15b, 0x20
cmp r15b, 0x15
ja 0x14010b1fe
movzx r9d, r15b
lea r10, [0x140222464]
movzx r9d, word [r10 + r9*2]
cmp r9d, 0x800
jb 0x14010b2d2
movzx r9d, r9w
jmp 0x14010aba1
cmp r9b, 0x76
jbe 0x14010b1fe
add r9b, 0x89
movzx r9d, r9b
imul r9d, r9d, 0x5e
movzx r10d, dil
add r9d, r10d
add r9d, 0xffffe234
movzx r10d, r9w
jmp 0x14010aba4
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, [0x1402224e6]
mov r15d, 0x2b
shr rdi, 1
add rdi, r10
movzx ebp, word [rsi + rdi*2]
cmp bp, r9w
je 0x14010b2b1
lea rbx, [rdi + 1]
cmp bp, r9w
cmova r15, rdi
cmovb r10, rbx
mov rdi, r15
sub rdi, r10
ja 0x14010b229
lea rdi, [r10 - 1]
cmp rdi, 0x2b
jae 0x14010b3a8
lea rdi, [0x140222490]
add r9w, word [rdi + r10*2 - 2]
sub r9w, word [rsi + r10*2 - 2]
jmp 0x14010b2bd
lea r9, [0x14022253e]
movzx r9d, word [r9 + rdi*2]
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx r10d, r9w
cmp r10d, 0x800
jae 0x14010b2fa
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 0x14010b2ec
lea r9, [0x140222490]
movzx r9d, word [r9 + rdi*2]
mov rbp, rcx
mov rcx, qword [rsp + 0x20]
movzx r10d, r9w
cmp r10d, 0x800
jae 0x14010b2fa
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 0x140109f69
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 0x140109f6c
lea r8, str.._t__
mov edx, 0x77c
mov rcx, 0xffffffffffffffff
call fcn.140204fc0
lea r8, str.._t__
mov edx, 0xce
mov rcx, 0xffffffffffffffff
call fcn.140204fc0
lea r8, str.._t__
mov edx, 0x65b
mov rcx, 0xffffffffffffffff
call fcn.140204fc0
lea r8, str.C:Userswhowho.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srcgb18030.rsC:Userswhowho.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srcdata.rs
mov edx, 0x65
mov rcx, r10
call fcn.140204fc0
lea r8, str.._t__
mov edx, 0x3b
mov rcx, 0xffffffffffffffff
call fcn.140204fc0
lea r8, str.._t__
mov edx, 0x2b
mov rcx, 0xffffffffffffffff
call fcn.140204fc0
lea r8, str.C:Userswhowho.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srcgb18030.rsC:Userswhowho.cargo_registry_srcindex.crates.io_6f17d22bba15001fencoding_rs_0.8.33_srcdata.rs
mov edx, 0x65
mov rcx, rsi
call fcn.140204fc0
lea r8, [0x140240a18]
mov rdx, qword [rsp + 0x50]
call fcn.140205370
lea r8, [0x140240a30]
mov rcx, rax
mov rdx, rbp
call fcn.140205370
int3