Function at 0x14004a4f0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x268]
sub rsp, 0x368
mov r9, rdx
mov r8, rcx
xor r11d, r11d
mov ebx, r11d
mov edi, r11d
mov qword [rsp + 0x20], r11
mov r12d, 0xffffffff
mov r15d, r12d
mov esi, r11d
mov dword [rbp + 0x2c0], r11d
mov edx, r11d
mov qword [rsp + 0x28], rdx
mov eax, dword [rcx + 8]
mov dword [r9 + 4], eax
mov dword [r9 + 0xc], r11d
movsxd r10, dword [rcx + 8]
mov qword [rsp + 0x30], r10
mov rax, qword [rcx + 0x10]
lea r13, [rax + r10*2]
movzx eax, word [r13]
test ax, ax
jne 0x14004a57a
mov dword [r9 + 8], r11d
mov dword [r9], r11d
lea eax, [r11 - 2]
jmp 0x14004ae79
mov r14d, eax
lea rcx, [0x1400d01a0]
test edx, edx
je 0x14004a6a4
movzx edx, r14w
lea rcx, str.__t_n_r__
call fcn.14008f928
mov rdx, qword [rsp + 0x28]
test rax, rax
je 0x14004a9d9
mov r8, qword [rbp + 0x2b0]
mov rcx, qword [r8 + 0x10]
mov rax, r13
sub rax, rcx
sar rax, 1
mov r12d, eax
sub r12d, edx
test r15d, r15d
jne 0x14004a5da
mov dword [r8], edx
dec eax
mov dword [r8 + 4], eax
xor r11d, r11d
jmp 0x14004a683
movsxd rax, r12d
add rax, rax
mov qword [rbp + 0x2c8], rax
mov rsi, qword [rbp + 0x2b8]
movsxd rax, edx
lea rdi, [rcx + rax*2]
mov r9b, 1
xor r8d, r8d
mov edx, r12d
lea rcx, [rsi + 0x10]
call fcn.140010590
mov rcx, rax
mov r8, qword [rbp + 0x2c8]
mov rdx, rdi
call fcn.14008ff40
mov rdx, qword [rsi + 0x10]
cmp r12d, 0xffffffff
jne 0x14004a64c
test rdx, rdx
jne 0x14004a630
xor r11d, r11d
mov ecx, r11d
jmp 0x14004a65e
mov rcx, rdx
movzx eax, word [rcx]
add rcx, 2
test ax, ax
jne 0x14004a633
sub rcx, rdx
sar rcx, 1
dec ecx
xor r11d, r11d
jmp 0x14004a65e
mov rax, qword [rbp + 0x2c8]
xor r11d, r11d
mov word [rdx + rax], r11w
mov ecx, r12d
mov dword [rdx - 0x10], ecx
mov eax, dword [rdx - 8]
mov rdi, qword [rsp + 0x20]
mov esi, dword [rbp + 0x2c0]
cmp eax, 0xffffffff
jne 0x14004a67c
mov eax, 1
xchg dword [rdx - 8], eax
mov r8, qword [rbp + 0x2b0]
mov edx, r11d
mov qword [rsp + 0x28], rdx
mov r12d, 0xffffffff
mov r10, qword [rsp + 0x30]
mov r9, qword [rbp + 0x2b8]
lea rcx, [0x1400d01a0]
test rdi, rdi
je 0x14004a7a8
cmp r14d, 0x3e
jne 0x14004a752
test bl, 0xc0
jne 0x14004a76c
mov r10, r13
sub r10, qword [r8 + 0x10]
sar r10, 1
mov qword [rsp + 0x30], r10
cmp esi, 1
jne 0x14004a6f0
mov qword [rsp + 0x20], r11
cmp r15d, esi
jne 0x14004a738
cmp word [r13 - 2], 0x2f
jne 0x14004a738
or dword [r9 + 0xc], 0x10000
jmp 0x14004a738
cmp r10d, esi
jle 0x14004a9de
movsxd rcx, esi
add rcx, rcx
mov rdx, r13
sub rdx, rcx
add rdx, 2
mov r8d, esi
mov r9, rdi
sub r9, rdx
sub r8d, 1
je 0x14004a733
movzx ecx, word [rdx]
movzx eax, word [r9 + rdx]
add rdx, 2
cmp cx, ax
je 0x14004a712
mov rdx, qword [rsp + 0x28]
jmp 0x14004a9de
mov qword [rsp + 0x20], r11
mov eax, ebx
and eax, 0x20
je 0x14004ae58
mov rdi, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
jmp 0x14004a9de
cmp r14d, 0x3c
jne 0x14004a76c
cmp r15d, 2
je 0x14004aeea
cmp r15d, 0xffffffff
je 0x14004aeea
cmp r15d, 1
jne 0x14004a9de
cmp r14d, 0x22
jne 0x14004a78e
test bl, 0x40
jne 0x14004a9de
btc ebx, 7
jmp 0x14004a9de
cmp r14d, 0x27
jne 0x14004a9de
test bl, bl
js 0x14004a9de
xor ebx, 0x40
jmp 0x14004a9de
test ebx, ebx
je 0x14004ae8d
test bl, 0x10
je 0x14004a801
cmp r14d, 0x3c
je 0x14004aefa
movzx edx, r14w
lea rcx, str.__t_n_r
call fcn.14008f928
test rax, rax
jne 0x14004a7ef
lea rdi, [0x1400c74e4]
mov qword [rsp + 0x20], rdi
mov esi, 1
mov dword [rbp + 0x2c0], esi
lea r15d, [rax + 2]
mov ecx, ebx
xor ecx, 0x10
test rax, rax
cmovne ecx, ebx
mov ebx, ecx
jmp 0x14004a9d4
test bl, 1
je 0x14004aa09
xor ebx, 1
cmp r14d, 0x39
jbe 0x14004a85a
lea eax, [r14 - 0x3b]
cmp eax, 0x25
ja 0x14004a82c
movabs rcx, 0x2f0000003f
bt rcx, rax
jb 0x14004a85a
lea rdi, [0x1400c74e0]
mov esi, 1
mov r15d, esi
mov rdx, r13
sub rdx, qword [r8 + 0x10]
sar rdx, 1
mov qword [rsp + 0x20], rdi
mov dword [rbp + 0x2c0], esi
mov qword [rsp + 0x28], rdx
jmp 0x14004a9de
cmp r14d, 0x2f
jne 0x14004a88f
lea rdi, [0x1400c74e0]
lea esi, [r14 - 0x2e]
mov r15d, r11d
mov rdx, r13
sub rdx, qword [r8 + 0x10]
sar rdx, 1
inc edx
mov qword [rsp + 0x20], rdi
mov dword [rbp + 0x2c0], esi
mov qword [rsp + 0x28], rdx
jmp 0x14004a9de
cmp r14d, 0x21
jne 0x14004a89d
or ebx, 2
jmp 0x14004a9de
cmp r14d, 0x3f
jne 0x14004a8b4
lea rdi, [0x1400cff74]
lea esi, [r14 - 0x3d]
lea r15d, [r14 - 0x2f]
jmp 0x14004a86e
lea rdi, [0x1400c74e0]
mov qword [rsp + 0x20], rdi
mov esi, 1
mov dword [rbp + 0x2c0], esi
mov dword [rbp + 0x180], r11d
movaps xmm0, xmmword [rbp + 0x180]
movdqa xmmword [rbp + 0x240], xmm0
mov dword [rbp + 0x190], r11d
movaps xmm1, xmmword [rbp + 0x190]
movdqa xmmword [rbp + 0x230], xmm1
mov dword [rsp + 0x70], 4
movsxd rax, r10d
mov qword [rsp + 0x78], rax
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp + 0x220], xmm0
mov dword [rbp - 0x80], 2
lea rax, str.tag_name_character
mov qword [rbp - 0x78], rax
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp + 0x210], xmm0
lea rax, [rbp + 0x210]
mov qword [rbp + 0x30], rax
lea rax, [rbp + 0x220]
mov qword [rbp + 0x38], rax
lea rax, [rbp + 0x230]
mov qword [rbp + 0x40], rax
lea rax, [rbp + 0x240]
mov qword [rbp + 0x48], rax
call fcn.140002000
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rsp + 0x38], rax
lea r9, [rsp + 0x38]
lea r8d, [rsi + 3]
lea rdx, [rbp + 0x30]
lea rcx, str.Incorrect__s_at_offset__d
call fcn.140044c50
mov rcx, qword [rbp + 0x2b8]
add rcx, 0x10
lea rdx, [rsp + 0x38]
call fcn.1400103b0
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14004a9d1
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14004a9c7
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, esi
jg 0x14004a9d1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov r15d, r12d
mov rdx, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
mov eax, r15d
add r13, 2
movzx r14d, word [r13]
test r14d, r14d
je 0x14004af10
mov r8, qword [rbp + 0x2b0]
mov r9, qword [rbp + 0x2b8]
xor r11d, r11d
jmp 0x14004a57d
test bl, 2
je 0x14004ab7b
xor ebx, 2
cmp r14d, 0x2d
jne 0x14004aa20
or ebx, 4
jmp 0x14004a9de
mov eax, ebx
and eax, 0x20
cmp r14d, 0x5b
jne 0x14004aa34
test eax, eax
jne 0x14004aa43
or ebx, 8
jmp 0x14004a9de
cmp r14d, 0x44
jne 0x14004aa43
test eax, eax
jne 0x14004aa43
or ebx, 0x20
jmp 0x14004a9de
movzx edx, r14w
lea rcx, [0x1400d0300]
call fcn.14008f928
lea rdi, [0x1400c74e0]
mov esi, 1
mov qword [rsp + 0x20], rdi
mov dword [rbp + 0x2c0], esi
test rax, rax
jne 0x14004a9d1
mov dword [rbp + 0xb0], eax
movaps xmm0, xmmword [rbp + 0xb0]
movdqa xmmword [rbp + 0x100], xmm0
mov dword [rbp + 0xc0], eax
movaps xmm1, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0xf0], xmm1
mov dword [rbp - 0x70], 4
movsxd rax, dword [rsp + 0x30]
mov qword [rbp - 0x68], rax
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp + 0xe0], xmm0
mov dword [rbp - 0x60], 2
lea rax, str.__tag
mov qword [rbp - 0x58], rax
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp + 0xd0], xmm0
lea rax, [rbp + 0xd0]
mov qword [rbp + 0x50], rax
lea rax, [rbp + 0xe0]
mov qword [rbp + 0x58], rax
lea rax, [rbp + 0xf0]
mov qword [rbp + 0x60], rax
lea rax, [rbp + 0x100]
mov qword [rbp + 0x68], rax
call fcn.140002000
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rsp + 0x40], rax
lea r9, [rsp + 0x40]
lea r8d, [rsi + 3]
lea rdx, [rbp + 0x50]
lea rcx, str.Incorrect__s_at_offset__d
call fcn.140044c50
mov rcx, qword [rbp + 0x2b8]
add rcx, 0x10
lea rdx, [rsp + 0x40]
call fcn.1400103b0
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14004ab76
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14004ab6c
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, esi
jg 0x14004ab76
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x14004a9d1
test bl, 4
je 0x14004acd2
xor ebx, 4
cmp r14d, 0x2d
jne 0x14004abad
lea rdi, [0x1400d0318]
mov qword [rsp + 0x20], rdi
mov esi, 3
mov dword [rbp + 0x2c0], esi
lea r15d, [r14 - 0xd]
jmp 0x14004a9de
lea rdi, [0x1400c74e0]
mov qword [rsp + 0x20], rdi
mov esi, 1
mov dword [rbp + 0x2c0], esi
mov dword [rbp + 0x110], r11d
movaps xmm0, xmmword [rbp + 0x110]
movdqa xmmword [rbp + 0x160], xmm0
mov dword [rbp + 0x120], r11d
movaps xmm1, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x150], xmm1
mov dword [rbp - 0x50], 4
movsxd rax, r10d
mov qword [rbp - 0x48], rax
movaps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rbp + 0x140], xmm0
mov dword [rbp - 0x40], 2
lea rax, str.comment_tag
mov qword [rbp - 0x38], rax
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp + 0x130], xmm0
lea rax, [rbp + 0x130]
mov qword [rbp + 0x70], rax
lea rax, [rbp + 0x140]
mov qword [rbp + 0x78], rax
lea rax, [rbp + 0x150]
mov qword [rbp + 0x80], rax
lea rax, [rbp + 0x160]
mov qword [rbp + 0x88], rax
call fcn.140002000
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rsp + 0x48], rax
lea r9, [rsp + 0x48]
lea r8d, [rsi + 3]
lea rdx, [rbp + 0x70]
lea rcx, str.Incorrect__s_at_offset__d
call fcn.140044c50
mov rcx, qword [rbp + 0x2b8]
add rcx, 0x10
lea rdx, [rsp + 0x48]
call fcn.1400103b0
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14004accd
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14004acc3
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, esi
jg 0x14004accd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x14004a9d1
test bl, 8
je 0x14004ae27
xor ebx, 8
cmp r14d, 0x43
jne 0x14004ad04
lea rdi, [0x1400d0338]
mov qword [rsp + 0x20], rdi
mov esi, 3
mov dword [rbp + 0x2c0], esi
lea r15d, [r14 - 0x3b]
jmp 0x14004a9de
lea rdi, [0x1400c74e0]
mov qword [rsp + 0x20], rdi
mov esi, 1
mov dword [rbp + 0x2c0], esi
mov dword [rbp + 0x170], r11d
movaps xmm0, xmmword [rbp + 0x170]
movdqa xmmword [rbp + 0x1c0], xmm0
mov dword [rsp + 0x60], r11d
movaps xmm1, xmmword [rsp + 0x60]
movdqa xmmword [rbp + 0x1b0], xmm1
mov dword [rbp - 0x30], 4
movsxd rax, r10d
mov qword [rbp - 0x28], rax
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp + 0x1a0], xmm0
mov dword [rbp - 0x20], 2
mov qword [rbp - 0x18], rcx
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rbp + 0x1f0], xmm0
lea rax, [rbp + 0x1f0]
mov qword [rbp + 0x90], rax
lea rax, [rbp + 0x1a0]
mov qword [rbp + 0x98], rax
lea rax, [rbp + 0x1b0]
mov qword [rbp + 0xa0], rax
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0xa8], rax
call fcn.140002000
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rsp + 0x50], rax
lea r9, [rsp + 0x50]
lea r8d, [rsi + 3]
lea rdx, [rbp + 0x90]
lea rcx, str.Incorrect__s_at_offset__d
call fcn.140044c50
mov rcx, qword [rbp + 0x2b8]
add rcx, 0x10
lea rdx, [rsp + 0x50]
call fcn.1400103b0
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14004ae22
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14004ae18
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, esi
jg 0x14004ae22
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x14004a9d1
mov eax, ebx
and eax, 0x20
je 0x14004a9de
cmp r14d, 0x3c
jne 0x14004ae40
or ebx, 1
jmp 0x14004a9de
cmp r14d, 0x3e
jne 0x14004a9de
sub r13, qword [r8 + 0x10]
sar r13, 1
mov r10d, r13d
lea r15d, [r14 + 2]
mov rdi, qword [rbp + 0x2b0]
lea ecx, [r10 + 1]
mov dword [rdi + 8], ecx
mov rax, qword [rbp + 0x2b8]
sub ecx, dword [rax + 4]
mov dword [rax + 8], ecx
mov dword [rax], r15d
mov eax, r15d
add rsp, 0x368
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp r14d, 0x3c
jne 0x14004ae9c
lea ebx, [r14 - 0x3b]
jmp 0x14004a9de
mov r15d, 4
movzx edx, r14w
lea rcx, str.__t_n_r
call fcn.14008f928
mov rdx, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
test rax, rax
je 0x14004aeca
lea ebx, [r15 + 0xc]
jmp 0x14004a9de
lea rdi, [0x1400c74e4]
mov qword [rsp + 0x20], rdi
mov esi, 1
mov dword [rbp + 0x2c0], esi
lea r15d, [rsi + 1]
jmp 0x14004a9de
sub r13, qword [r8 + 0x10]
sar r13, 1
lea r10d, [r13 - 1]
jmp 0x14004ae58
sub r13, qword [r8 + 0x10]
sar r13, 1
lea r10d, [r13 - 1]
mov r15d, 4
jmp 0x14004ae58
mov rdi, qword [rbp + 0x2b0]
sub r13, qword [rdi + 0x10]
sar r13, 1
lea r10d, [r13 - 1]
mov qword [rsp + 0x30], r10
cmp eax, 4
je 0x14004ae5f
cmp eax, 2
je 0x14004ae5f
bt ebx, 5
jb 0x14004af89
cmp eax, 0x40
je 0x14004af89
cmp eax, 1
jne 0x14004af52
lea rcx, str.Element_tag
jmp 0x14004af99
test eax, eax
jne 0x14004af5f
lea rcx, str.Element_end_tag
jmp 0x14004af99
cmp eax, 8
jne 0x14004af6d
lea rcx, str.CDATA_Section
jmp 0x14004af99
cmp eax, 0x10
jne 0x14004af7b
lea rcx, str.Processing_instruction
jmp 0x14004af99
cmp eax, 0x20
jne 0x14004af92
lea rcx, str.Comment
jmp 0x14004af99
lea rcx, str.Doctype
jmp 0x14004af99
lea rcx, [0x1400d01a0]
mov r15d, r12d
xor eax, eax
mov dword [rsp + 0x60], eax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rbp + 0x200], xmm0
mov dword [rsp + 0x60], eax
movaps xmm1, xmmword [rsp + 0x60]
movdqa xmmword [rbp + 0x250], xmm1
mov dword [rbp - 0x10], 4
mov rbx, qword [rbp + 0x2b8]
movsxd rax, dword [rbx + 4]
mov qword [rbp - 8], rax
movaps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp + 0x1e0], xmm0
mov dword [rbp], 2
mov qword [rbp + 8], rcx
movaps xmm0, xmmword [rbp]
movdqa xmmword [rbp + 0x1d0], xmm0
lea rax, [rbp + 0x1d0]
mov qword [rbp + 0x10], rax
lea rax, [rbp + 0x1e0]
mov qword [rbp + 0x18], rax
lea rax, [rbp + 0x250]
mov qword [rbp + 0x20], rax
lea rax, [rbp + 0x200]
mov qword [rbp + 0x28], rax
call fcn.140002000
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x30]
mov qword [rbp + 0x2b0], rax
lea r9, [rbp + 0x2b0]
mov r8d, 4
lea rdx, [rbp + 0x10]
lea rcx, str._s_at_offset__d_unterminated
call fcn.140044c50
lea rcx, [rbx + 0x10]
lea rdx, [rbp + 0x2b0]
call fcn.1400103b0
nop
mov rdx, qword [rbp + 0x2b0]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14004b09c
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x14004b091
lock xadd dword [rdx + 0x10], r12d
sub r12d, 1
jg 0x14004b09c
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
nop
mov r10, qword [rsp + 0x30]
jmp 0x14004ae5f