Function at 0x140006ef0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov eax, dword [rcx + 8]
mov r9, rdx
xor edi, edi
mov r12, rcx
xor ebp, ebp
mov dword [rsp + 0x30], edi
xor r8d, r8d
mov dword [rsp + 0x80], ebp
xor r10d, r10d
mov dword [r9 + 4], eax
xor r13d, r13d
mov qword [rsp + 0x38], r8
xor edx, edx
mov dword [rsp + 0x98], r10d
mov dword [r9 + 0xc], edx
lea r14d, [rdi - 1]
movsxd rcx, dword [rcx + 8]
mov rax, qword [r12 + 0x10]
mov dword [rsp + 0x90], edx
lea r15, [rax + rcx*2]
lea rcx, [0x140000000]
nop dword [rax + rax]
movzx esi, word [r15]
test esi, esi
jne 0x140007042
mov rcx, qword [r12 + 0x28]
mov rax, r15
sub rax, qword [r12 + 0x10]
sar rax, 1
mov dword [r12 + 8], eax
test rcx, rcx
je 0x1400077b0
mov ebp, dword [rcx + 0xc4]
call fcn.1400064b0
mov r9, qword [rsp + 0x88]
test al, al
je 0x140007009
mov r8, qword [r12 + 0x28]
mov edx, dword [r12 + 8]
mov ecx, dword [r9 + 4]
sub edx, ecx
mov eax, dword [r8 + 0xc4]
test eax, eax
je 0x140006fee
sub ecx, eax
mov dword [r9 + 4], ecx
mov rcx, qword [rsp + 0x38]
test ecx, ecx
je 0x140006fd4
sub ecx, eax
mov qword [rsp + 0x38], rcx
jmp 0x140006fe4
cmp dword [rsp + 0x30], 0
je 0x140006fe4
sub dword [r12], eax
sub dword [r12 + 4], eax
sub dword [r12 + 8], eax
mov r8, qword [r12 + 0x28]
mov rax, qword [r8 + 0x38]
add edx, dword [r9 + 4]
mov rcx, qword [rax]
movsxd rax, edx
lea r15, [rcx + rax*2]
mov qword [r12 + 0x10], rcx
movzx esi, word [r15]
test ebp, ebp
je 0x140007018
mov rax, qword [r12 + 0x28]
mov dword [rax + 0xc4], ebp
test esi, esi
je 0x1400077b0
mov ebp, dword [rsp + 0x80]
lea rcx, [0x140000000]
mov edx, dword [rsp + 0x90]
mov r8, qword [rsp + 0x38]
mov r10d, dword [rsp + 0x98]
test r8d, r8d
je 0x14000709e
lea eax, [rsi - 9]
cmp eax, 0x35
ja 0x140007111
cmp byte [rax + rcx + 0x63d28], 0
je 0x140007111
xor edx, edx
mov dword [r12], r8d
mov rax, r15
mov dword [rsp + 0x90], edx
sub rax, qword [r12 + 0x10]
sar rax, 1
mov r11d, eax
sub r11d, r8d
xor r8d, r8d
dec eax
mov dword [rsp + 0x30], r11d
xor r10d, r10d
mov dword [r12 + 4], eax
mov dword [rsp + 0x98], r10d
mov qword [rsp + 0x38], r8
test r13, r13
je 0x1400073af
cmp esi, 0x3e
jne 0x140007183
test dil, 0xc0
jne 0x14000719c
mov rcx, r15
sub rcx, qword [r12 + 0x10]
sar rcx, 1
lea eax, [rcx + 1]
mov dword [r12 + 8], eax
cmp ebp, 1
jne 0x14000711a
xor r13d, r13d
cmp r14d, ebp
jne 0x14000710b
cmp r10d, 0x2f
jne 0x14000710b
test edx, edx
je 0x140007103
bt edi, 9
jae 0x140007103
lea eax, [rdx - 9]
cmp eax, 0x1e
ja 0x14000710b
lea r11, [0x140000000]
cmp byte [rax + r11 + 0x63d60], r13b
je 0x14000710b
or dword [r9 + 0xc], 0x10000
btr edi, 9
jmp 0x140007163
add r15, 2
jmp 0x140006f60
cmp ecx, ebp
jle 0x14000715a
movsxd rcx, ebp
mov rdx, r15
add rcx, rcx
mov r9, r13
sub rdx, rcx
mov r8d, ebp
add rdx, 2
sub r9, rdx
sub r8d, 1
je 0x140007150
movzx ecx, word [rdx]
movzx eax, word [r9 + rdx]
add rdx, 2
cmp cx, ax
je 0x140007137
jmp 0x140007153
xor r13d, r13d
mov edx, dword [rsp + 0x90]
btr edi, 9
test r13, r13
jne 0x14000716d
test dil, 0x20
je 0x140007719
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x88]
add r15, 2
jmp 0x140006f54
cmp esi, 0x3c
jne 0x14000719c
cmp r14d, 2
je 0x14000787a
cmp r14d, 0xffffffff
je 0x14000787a
test r14b, 1
je 0x14000735b
test edi, 0x2c0
je 0x140007265
cmp esi, 0x22
jne 0x1400071e5
test dil, dil
jns 0x140007218
mov r9, qword [rsp + 0x88]
mov edx, r10d
btc edi, 7
mov dword [rsp + 0x90], edx
add r15, 2
mov dword [rsp + 0x98], esi
mov r10d, esi
jmp 0x140006f54
cmp esi, 0x27
jne 0x140007218
test dil, 0x40
je 0x140007218
mov r9, qword [rsp + 0x88]
mov edx, r10d
xor edi, 0x40
mov dword [rsp + 0x90], edx
add r15, 2
mov dword [rsp + 0x98], esi
mov r10d, esi
jmp 0x140006f54
bt edi, 9
jae 0x140007336
lea eax, [rsi - 9]
cmp eax, 0x17
ja 0x140007336
cmp byte [rax + rcx + 0x639a8], 0
je 0x140007336
mov r9, qword [rsp + 0x88]
mov edx, r10d
btc edi, 9
mov dword [rsp + 0x90], edx
add r15, 2
mov dword [rsp + 0x98], esi
mov r10d, esi
jmp 0x140006f54
mov eax, edi
and eax, 0x100
cmp esi, 0x22
jne 0x1400072a0
test eax, eax
je 0x1400072a0
mov r9, qword [rsp + 0x88]
mov edx, r10d
xor edi, 0x180
mov dword [rsp + 0x90], edx
add r15, 2
mov dword [rsp + 0x98], esi
mov r10d, esi
jmp 0x140006f54
cmp esi, 0x27
jne 0x1400072d8
test eax, eax
je 0x140007336
mov r9, qword [rsp + 0x88]
mov edx, r10d
xor edi, 0x140
mov dword [rsp + 0x90], edx
add r15, 2
mov dword [rsp + 0x98], esi
mov r10d, esi
jmp 0x140006f54
cmp esi, 0x3d
jne 0x14000730f
cmp r10d, esi
je 0x14000730f
test eax, eax
jne 0x140007330
mov r9, qword [rsp + 0x88]
mov edx, r10d
btc edi, 8
mov dword [rsp + 0x90], edx
add r15, 2
mov dword [rsp + 0x98], esi
mov r10d, esi
jmp 0x140006f54
test eax, eax
je 0x140007336
lea eax, [rsi - 9]
cmp eax, 0x17
ja 0x140007330
lea eax, [rsi - 9]
lea r11, [0x140000000]
cmp byte [rax + r11 + 0x639a8], 0
jne 0x140007336
xor edi, 0x300
mov r9, qword [rsp + 0x88]
mov edx, r10d
mov dword [rsp + 0x90], edx
mov r10d, esi
mov dword [rsp + 0x98], esi
add r15, 2
jmp 0x140006f54
test r14b, 0x40
je 0x140007172
cmp esi, 0x22
jne 0x140007389
test dil, 0x40
jne 0x140007172
mov r9, qword [rsp + 0x88]
btc edi, 7
add r15, 2
jmp 0x140006f54
cmp esi, 0x27
jne 0x140007172
test dil, dil
js 0x140007172
mov r9, qword [rsp + 0x88]
xor edi, 0x40
add r15, 2
jmp 0x140006f54
test edi, edi
je 0x140007742
test dil, 0x10
je 0x140007412
cmp esi, 0x3c
je 0x140007887
add esi, 0xfffffff7
cmp esi, 0x17
ja 0x1400073dc
movsx ecx, byte [rsi + rcx + 0x639a8]
test ecx, ecx
jne 0x1400073f5
jmp 0x1400073de
xor ecx, ecx
mov ebp, 1
lea r13, [0x140063d80]
mov dword [rsp + 0x80], ebp
lea r14d, [rbp + 1]
mov r9, qword [rsp + 0x88]
mov eax, edi
xor eax, 0x10
test ecx, ecx
cmovne eax, edi
add r15, 2
mov edi, eax
jmp 0x140006f54
test dil, 1
je 0x140007541
xor edi, 1
cmp esi, 0x39
jbe 0x140007473
lea eax, [rsi - 0x3b]
cmp eax, 0x25
ja 0x14000743c
movabs rcx, 0x2f0000003f
bt rcx, rax
jb 0x140007473
mov r9, qword [rsp + 0x88]
lea r13, [0x140063d84]
mov r8, r15
mov ebp, 1
sub r8, qword [r12 + 0x10]
mov r14d, ebp
sar r8, 1
mov qword [rsp + 0x38], r8
add r15, 2
mov dword [rsp + 0x80], ebp
jmp 0x140006f54
cmp esi, 0x2f
jne 0x1400074b0
lea r13, [0x140063d84]
xor r14d, r14d
lea ebp, [rsi - 0x2e]
mov r9, qword [rsp + 0x88]
mov r8, r15
sub r8, qword [r12 + 0x10]
sar r8, 1
inc r8d
mov dword [rsp + 0x80], ebp
mov qword [rsp + 0x38], r8
add r15, 2
jmp 0x140006f54
cmp esi, 0x21
jne 0x1400074c9
mov r9, qword [rsp + 0x88]
or edi, 2
add r15, 2
jmp 0x140006f54
cmp esi, 0x3f
jne 0x1400074de
lea r13, [0x140063d88]
lea ebp, [rsi - 0x3d]
lea r14d, [rsi - 0x2f]
jmp 0x140007485
lea rdx, str.first_tag_syntax
mov eax, dword [r12 + 8]
lea rcx, [r9 + 0x10]
mov ebp, 1
mov dword [rsp + 0x28], 0xffffffff
xor r9d, r9d
mov dword [rsp + 0x80], ebp
xor r8d, r8d
mov dword [rsp + 0x20], eax
lea r13, [0x140063d84]
call fcn.140003480
mov edx, dword [rsp + 0x90]
lea r14d, [rbp - 2]
mov r10d, dword [rsp + 0x98]
add r15, 2
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x88]
jmp 0x140006f54
test dil, 2
je 0x140007655
xor edi, 2
cmp esi, 0x2d
jne 0x140007567
mov r9, qword [rsp + 0x88]
or edi, 4
add r15, 2
jmp 0x140006f54
test dil, 0x20
je 0x140007617
add esi, 0xffffffbf
cmp esi, 0xd
ja 0x1400075b2
cmp byte [rsi + rcx + 0x63db8], 0
je 0x1400075b2
mov r8, qword [rsp + 0x38]
lea r13, [0x140063d84]
mov r9, qword [rsp + 0x88]
mov ebp, 1
mov dword [rsp + 0x80], ebp
mov r14d, 0x40
add r15, 2
jmp 0x140006f54
mov eax, dword [r12 + 8]
lea rcx, [r9 + 0x10]
xor r9d, r9d
mov dword [rsp + 0x28], 0xffffffff
xor r8d, r8d
mov dword [rsp + 0x20], eax
lea rdx, str.doctype_tag_syntax
call fcn.140003480
mov edx, dword [rsp + 0x90]
lea r13, [0x140063d84]
mov r10d, dword [rsp + 0x98]
mov ebp, 1
mov r8, qword [rsp + 0x38]
mov r14d, 0xffffffff
mov r9, qword [rsp + 0x88]
add r15, 2
mov dword [rsp + 0x80], ebp
jmp 0x140006f54
cmp esi, 0x5b
jne 0x140007630
mov r9, qword [rsp + 0x88]
or edi, 8
add r15, 2
jmp 0x140006f54
cmp esi, 0x44
jne 0x140007649
mov r9, qword [rsp + 0x88]
or edi, 0x20
add r15, 2
jmp 0x140006f54
lea rdx, str.exclamation_tag_syntax
jmp 0x1400074e5
test dil, 4
je 0x140007697
xor edi, 4
cmp esi, 0x2d
jne 0x14000768b
mov r9, qword [rsp + 0x88]
lea r13, [0x140063e20]
mov ebp, 3
lea r14d, [rsi - 0xd]
mov dword [rsp + 0x80], ebp
add r15, 2
jmp 0x140006f54
lea rdx, str.comment_tag_syntax
jmp 0x1400074e5
test dil, 8
je 0x1400076d9
xor edi, 8
cmp esi, 0x43
jne 0x1400076cd
mov r9, qword [rsp + 0x88]
lea r13, [0x140063e50]
mov ebp, 3
lea r14d, [rsi - 0x3b]
mov dword [rsp + 0x80], ebp
add r15, 2
jmp 0x140006f54
lea rdx, str.cdata_section_syntax
jmp 0x1400074e5
test dil, 0x20
je 0x140007172
cmp esi, 0x3c
jne 0x1400076fc
mov r9, qword [rsp + 0x88]
or edi, 1
add r15, 2
jmp 0x140006f54
cmp esi, 0x3e
jne 0x140007172
sub r15, qword [r12 + 0x10]
lea r14d, [rsi + 2]
sar r15, 1
inc r15d
mov dword [r12 + 8], r15d
mov rax, qword [rsp + 0x88]
mov ecx, dword [r12 + 8]
sub ecx, dword [rax + 4]
mov dword [rax + 8], ecx
mov dword [rax], r14d
mov eax, r14d
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp esi, 0x3c
jne 0x14000775b
mov r9, qword [rsp + 0x88]
lea edi, [rsi - 0x3b]
add r15, 2
jmp 0x140006f54
add esi, 0xfffffff7
mov r14d, 4
cmp esi, 0x17
ja 0x140007788
cmp byte [rsi + rcx + 0x639a8], 0
je 0x140007788
mov r9, qword [rsp + 0x88]
lea edi, [r14 + 0xc]
add r15, 2
jmp 0x140006f54
mov r9, qword [rsp + 0x88]
lea r13, [0x140063d80]
mov ebp, 1
add r15, 2
mov dword [rsp + 0x80], ebp
lea r14d, [rbp + 1]
jmp 0x140006f54
mov edx, dword [r9 + 4]
cmp dword [r12 + 8], edx
jne 0x1400077df
mov dword [r9 + 8], 0
mov eax, 0xfffffffe
mov dword [r9], 0
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea eax, [r14 - 2]
test eax, 0xfffffffd
je 0x140007719
lea r8, [0x140063c48]
test dil, 0x20
jne 0x14000784b
cmp r14d, 0x40
je 0x14000784b
cmp r14d, 1
jne 0x140007810
lea r8, str.start_tag
jmp 0x140007852
test r14d, r14d
jne 0x14000781e
lea r8, str.end_tag
jmp 0x140007852
cmp r14d, 8
jne 0x14000782d
lea r8, [0x140063c98]
jmp 0x140007852
cmp r14d, 0x10
jne 0x14000783c
lea r8, str.processing_instruction
jmp 0x140007852
cmp r14d, 0x20
jne 0x140007852
lea r8, [0x140063ce8]
jmp 0x140007852
lea r8, str.document_type
mov r14d, 0xffffffff
lea rcx, [r9 + 0x10]
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], edx
lea rdx, str.unterminated_tag_syntax
lea r9d, [r14 + 3]
call fcn.140003480
jmp 0x140007719
sub r15, qword [r12 + 0x10]
sar r15, 1
jmp 0x140007714
sub r15, qword [r12 + 0x10]
mov r14d, 4
sar r15, 1
jmp 0x140007714