Function at 0x1800d3d00
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 + 0x28], r11
mov r12d, 0xffffffff
mov r15d, r12d
mov esi, r11d
mov dword [rbp + 0x2c0], r11d
mov edx, r11d
mov qword [rsp + 0x20], 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 0x1800d3d8a
mov dword [r9 + 8], r11d
mov dword [r9], r11d
lea eax, [r11 - 2]
jmp 0x1800d3f75
mov r14d, eax
lea rcx, [0x18034ed88]
test edx, edx
je 0x1800d3eb4
movzx edx, r14w
lea rcx, str.__t_n_r__
call fcn.180298978
mov rdx, qword [rsp + 0x20]
test rax, rax
je 0x1800d46f0
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 0x1800d3dea
mov dword [r8], edx
dec eax
mov dword [r8 + 4], eax
xor r11d, r11d
jmp 0x1800d3e93
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.1800a0830
mov rcx, rax
mov r8, qword [rbp + 0x2c8]
mov rdx, rdi
call fcn.180298b10
mov rdx, qword [rsi + 0x10]
cmp r12d, 0xffffffff
jne 0x1800d3e5c
test rdx, rdx
jne 0x1800d3e40
xor r11d, r11d
mov ecx, r11d
jmp 0x1800d3e6e
mov rcx, rdx
movzx eax, word [rcx]
add rcx, 2
test ax, ax
jne 0x1800d3e43
sub rcx, rdx
sar rcx, 1
dec ecx
xor r11d, r11d
jmp 0x1800d3e6e
mov rax, qword [rbp + 0x2c8]
xor r11d, r11d
mov word [rax + rdx], r11w
mov ecx, r12d
mov dword [rdx - 0x10], ecx
mov eax, dword [rdx - 8]
mov rdi, qword [rsp + 0x28]
mov esi, dword [rbp + 0x2c0]
cmp eax, 0xffffffff
jne 0x1800d3e8c
mov eax, 1
xchg dword [rdx - 8], eax
mov r8, qword [rbp + 0x2b0]
mov edx, r11d
mov qword [rsp + 0x20], rdx
mov r12d, 0xffffffff
mov r10, qword [rsp + 0x30]
mov r9, qword [rbp + 0x2b8]
lea rcx, [0x18034ed88]
test rdi, rdi
je 0x1800d3fdf
cmp r14d, 0x3e
jne 0x1800d3f89
test bl, 0xc0
jne 0x1800d3fa3
mov r10, r13
sub r10, qword [r8 + 0x10]
sar r10, 1
mov qword [rsp + 0x30], r10
cmp esi, 1
jne 0x1800d3f03
mov rdi, r11
mov qword [rsp + 0x28], r11
cmp r15d, esi
jne 0x1800d3f49
cmp word [r13 - 2], 0x2f
jne 0x1800d3f49
or dword [r9 + 0xc], 0x10000
jmp 0x1800d3f49
cmp r10d, esi
jle 0x1800d4214
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 0x1800d3f41
movzx ecx, word [rdx]
movzx eax, word [r9 + rdx]
add rdx, 2
cmp cx, ax
je 0x1800d3f25
jmp 0x1800d420f
mov rdi, r11
mov qword [rsp + 0x28], r11
mov eax, ebx
and eax, 0x20
jne 0x1800d420f
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 0x1800d3fa3
cmp r15d, 2
je 0x1800d46fa
cmp r15d, 0xffffffff
je 0x1800d46fa
cmp r15d, 1
jne 0x1800d4214
cmp r14d, 0x22
jne 0x1800d3fc5
test bl, 0x40
jne 0x1800d4214
btc ebx, 7
jmp 0x1800d4214
cmp r14d, 0x27
jne 0x1800d4214
test bl, bl
js 0x1800d4214
xor ebx, 0x40
jmp 0x1800d4214
test ebx, ebx
je 0x1800d4693
test bl, 0x10
je 0x1800d4037
cmp r14d, 0x3c
je 0x1800d470a
movzx edx, r14w
lea rcx, str.__t_n_r
call fcn.180298978
mov r10, qword [rsp + 0x30]
test rax, rax
jne 0x1800d420f
xor ebx, 0x10
lea rdi, [0x1803478c8]
mov qword [rsp + 0x28], rdi
mov esi, 1
mov dword [rbp + 0x2c0], esi
lea r15d, [rax + 2]
jmp 0x1800d420f
test bl, 1
je 0x1800d423f
xor ebx, 1
cmp r14d, 0x39
jbe 0x1800d4090
lea eax, [r14 - 0x3b]
cmp eax, 0x25
ja 0x1800d4062
movabs rcx, 0x2f0000003f
bt rcx, rax
jb 0x1800d4090
lea rdi, [0x180321bc0]
mov esi, 1
mov r15d, esi
mov rdx, r13
sub rdx, qword [r8 + 0x10]
sar rdx, 1
mov qword [rsp + 0x28], rdi
mov dword [rbp + 0x2c0], esi
mov qword [rsp + 0x20], rdx
jmp 0x1800d4214
cmp r14d, 0x2f
jne 0x1800d40c5
lea rdi, [0x180321bc0]
lea esi, [r14 - 0x2e]
mov r15d, r11d
mov rdx, r13
sub rdx, qword [r8 + 0x10]
sar rdx, 1
inc edx
mov qword [rsp + 0x28], rdi
mov dword [rbp + 0x2c0], esi
mov qword [rsp + 0x20], rdx
jmp 0x1800d4214
cmp r14d, 0x21
jne 0x1800d40d3
or ebx, 2
jmp 0x1800d4214
cmp r14d, 0x3f
jne 0x1800d40ea
lea rdi, [0x18034eb5c]
lea esi, [r14 - 0x3d]
lea r15d, [r14 - 0x2f]
jmp 0x1800d40a4
lea rdi, [0x180321bc0]
mov qword [rsp + 0x28], 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.180001e40
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.1800eb870
mov rcx, qword [rbp + 0x2b8]
add rcx, 0x10
lea rdx, [rsp + 0x38]
call fcn.1800a0610
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1800d4207
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1800d41fd
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, esi
jg 0x1800d4207
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov r10, qword [rsp + 0x30]
mov r15d, r12d
mov rdx, qword [rsp + 0x20]
mov eax, r15d
add r13, 2
movzx r14d, word [r13]
test r14d, r14d
je 0x1800d4720
mov r8, qword [rbp + 0x2b0]
mov r9, qword [rbp + 0x2b8]
xor r11d, r11d
jmp 0x1800d3d8d
test bl, 2
je 0x1800d43b1
xor ebx, 2
cmp r14d, 0x2d
jne 0x1800d4256
or ebx, 4
jmp 0x1800d4214
mov eax, ebx
and eax, 0x20
cmp r14d, 0x5b
jne 0x1800d426a
test eax, eax
jne 0x1800d4279
or ebx, 8
jmp 0x1800d4214
cmp r14d, 0x44
jne 0x1800d4279
test eax, eax
jne 0x1800d4279
or ebx, 0x20
jmp 0x1800d4214
movzx edx, r14w
lea rcx, [0x18034eea0]
call fcn.180298978
lea rdi, [0x180321bc0]
mov esi, 1
mov qword [rsp + 0x28], rdi
mov dword [rbp + 0x2c0], esi
test rax, rax
jne 0x1800d4207
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.180001e40
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.1800eb870
mov rcx, qword [rbp + 0x2b8]
add rcx, 0x10
lea rdx, [rsp + 0x40]
call fcn.1800a0610
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1800d43ac
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1800d43a2
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, esi
jg 0x1800d43ac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1800d4207
test bl, 4
je 0x1800d4508
xor ebx, 4
cmp r14d, 0x2d
jne 0x1800d43e3
lea rdi, [0x18034eee0]
mov qword [rsp + 0x28], rdi
mov esi, 3
mov dword [rbp + 0x2c0], esi
lea r15d, [r14 - 0xd]
jmp 0x1800d4214
lea rdi, [0x180321bc0]
mov qword [rsp + 0x28], 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.180001e40
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.1800eb870
mov rcx, qword [rbp + 0x2b8]
add rcx, 0x10
lea rdx, [rsp + 0x48]
call fcn.1800a0610
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1800d4503
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1800d44f9
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, esi
jg 0x1800d4503
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1800d4207
test bl, 8
je 0x1800d465d
xor ebx, 8
cmp r14d, 0x43
jne 0x1800d453a
lea rdi, [0x18034eef8]
mov qword [rsp + 0x28], rdi
mov esi, 3
mov dword [rbp + 0x2c0], esi
lea r15d, [r14 - 0x3b]
jmp 0x1800d4214
lea rdi, [0x180321bc0]
mov qword [rsp + 0x28], 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.180001e40
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.1800eb870
mov rcx, qword [rbp + 0x2b8]
add rcx, 0x10
lea rdx, [rsp + 0x50]
call fcn.1800a0610
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1800d4658
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1800d464e
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, esi
jg 0x1800d4658
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x1800d4207
mov eax, ebx
and eax, 0x20
je 0x1800d4214
cmp r14d, 0x3c
jne 0x1800d4676
or ebx, 1
jmp 0x1800d4214
cmp r14d, 0x3e
jne 0x1800d4214
sub r13, qword [r8 + 0x10]
sar r13, 1
mov r10d, r13d
lea r15d, [r14 + 2]
jmp 0x1800d3f54
cmp r14d, 0x3c
jne 0x1800d46a2
lea ebx, [r14 - 0x3b]
jmp 0x1800d4214
mov r15d, 4
movzx edx, r14w
lea rcx, str.__t_n_r
call fcn.180298978
mov rdx, qword [rsp + 0x20]
mov r10, qword [rsp + 0x30]
test rax, rax
je 0x1800d46d0
lea ebx, [r15 + 0xc]
jmp 0x1800d4214
lea rdi, [0x1803478c8]
mov qword [rsp + 0x28], rdi
mov esi, 1
mov dword [rbp + 0x2c0], esi
lea r15d, [rsi + 1]
jmp 0x1800d4214
mov r10, qword [rsp + 0x30]
jmp 0x1800d4214
sub r13, qword [r8 + 0x10]
sar r13, 1
lea r10d, [r13 - 1]
jmp 0x1800d3f54
sub r13, qword [r8 + 0x10]
sar r13, 1
lea r10d, [r13 - 1]
mov r15d, 4
jmp 0x1800d3f54
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 0x1800d3f5b
cmp eax, 2
je 0x1800d3f5b
bt ebx, 5
jb 0x1800d4799
cmp eax, 0x40
je 0x1800d4799
cmp eax, 1
jne 0x1800d4762
lea rcx, str.Element_tag
jmp 0x1800d47a9
test eax, eax
jne 0x1800d476f
lea rcx, str.Element_end_tag
jmp 0x1800d47a9
cmp eax, 8
jne 0x1800d477d
lea rcx, str.CDATA_Section
jmp 0x1800d47a9
cmp eax, 0x10
jne 0x1800d478b
lea rcx, str.Processing_instruction
jmp 0x1800d47a9
cmp eax, 0x20
jne 0x1800d47a2
lea rcx, str.Comment
jmp 0x1800d47a9
lea rcx, str.Doctype
jmp 0x1800d47a9
lea rcx, [0x18034ed88]
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.180001e40
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.1800eb870
lea rcx, [rbx + 0x10]
lea rdx, [rbp + 0x2b0]
call fcn.1800a0610
nop
mov rdx, qword [rbp + 0x2b0]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1800d48ac
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1800d48a1
lock xadd dword [rdx + 0x10], r12d
sub r12d, 1
jg 0x1800d48ac
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
nop
mov r10, qword [rsp + 0x30]
jmp 0x1800d3f5b