Function at 0x140063500
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 0x14006358a
mov dword [r9 + 8], r11d
mov dword [r9], r11d
lea eax, [r11 - 2]
jmp 0x140063e89
mov r14d, eax
lea rcx, [0x140136ab0]
test edx, edx
je 0x1400636b4
movzx edx, r14w
lea rcx, str.__t_n_r__
call fcn.1400e16d8
mov rdx, qword [rsp + 0x28]
test rax, rax
je 0x1400639e9
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 0x1400635ea
mov dword [r8], edx
dec eax
mov dword [r8 + 4], eax
xor r11d, r11d
jmp 0x140063693
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.140033580
mov rcx, rax
mov r8, qword [rbp + 0x2c8]
mov rdx, rdi
call fcn.1400e1d70
mov rdx, qword [rsi + 0x10]
cmp r12d, 0xffffffff
jne 0x14006365c
test rdx, rdx
jne 0x140063640
xor r11d, r11d
mov ecx, r11d
jmp 0x14006366e
mov rcx, rdx
movzx eax, word [rcx]
add rcx, 2
test ax, ax
jne 0x140063643
sub rcx, rdx
sar rcx, 1
dec ecx
xor r11d, r11d
jmp 0x14006366e
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 0x14006368c
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, [0x140136ab0]
test rdi, rdi
je 0x1400637b8
cmp r14d, 0x3e
jne 0x140063762
test bl, 0xc0
jne 0x14006377c
mov r10, r13
sub r10, qword [r8 + 0x10]
sar r10, 1
mov qword [rsp + 0x30], r10
cmp esi, 1
jne 0x140063700
mov qword [rsp + 0x20], r11
cmp r15d, esi
jne 0x140063748
cmp word [r13 - 2], 0x2f
jne 0x140063748
or dword [r9 + 0xc], 0x10000
jmp 0x140063748
cmp r10d, esi
jle 0x1400639ee
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 0x140063743
movzx ecx, word [rdx]
movzx eax, word [r9 + rdx]
add rdx, 2
cmp cx, ax
je 0x140063722
mov rdx, qword [rsp + 0x28]
jmp 0x1400639ee
mov qword [rsp + 0x20], r11
mov eax, ebx
and eax, 0x20
je 0x140063e68
mov rdi, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
jmp 0x1400639ee
cmp r14d, 0x3c
jne 0x14006377c
cmp r15d, 2
je 0x140063efa
cmp r15d, 0xffffffff
je 0x140063efa
cmp r15d, 1
jne 0x1400639ee
cmp r14d, 0x22
jne 0x14006379e
test bl, 0x40
jne 0x1400639ee
btc ebx, 7
jmp 0x1400639ee
cmp r14d, 0x27
jne 0x1400639ee
test bl, bl
js 0x1400639ee
xor ebx, 0x40
jmp 0x1400639ee
test ebx, ebx
je 0x140063e9d
test bl, 0x10
je 0x140063811
cmp r14d, 0x3c
je 0x140063f0a
movzx edx, r14w
lea rcx, str.__t_n_r
call fcn.1400e16d8
test rax, rax
jne 0x1400637ff
lea rdi, [0x140134300]
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 0x1400639e4
test bl, 1
je 0x140063a19
xor ebx, 1
cmp r14d, 0x39
jbe 0x14006386a
lea eax, [r14 - 0x3b]
cmp eax, 0x25
ja 0x14006383c
movabs rcx, 0x2f0000003f
bt rcx, rax
jb 0x14006386a
lea rdi, [0x1401342fc]
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 0x1400639ee
cmp r14d, 0x2f
jne 0x14006389f
lea rdi, [0x1401342fc]
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 0x1400639ee
cmp r14d, 0x21
jne 0x1400638ad
or ebx, 2
jmp 0x1400639ee
cmp r14d, 0x3f
jne 0x1400638c4
lea rdi, [0x1401368cc]
lea esi, [r14 - 0x3d]
lea r15d, [r14 - 0x2f]
jmp 0x14006387e
lea rdi, [0x1401342fc]
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.140008400
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.14005db80
mov rcx, qword [rbp + 0x2b8]
add rcx, 0x10
lea rdx, [rsp + 0x38]
call fcn.1400333a0
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400639e1
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400639d7
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, esi
jg 0x1400639e1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
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 0x140063f20
mov r8, qword [rbp + 0x2b0]
mov r9, qword [rbp + 0x2b8]
xor r11d, r11d
jmp 0x14006358d
test bl, 2
je 0x140063b8b
xor ebx, 2
cmp r14d, 0x2d
jne 0x140063a30
or ebx, 4
jmp 0x1400639ee
mov eax, ebx
and eax, 0x20
cmp r14d, 0x5b
jne 0x140063a44
test eax, eax
jne 0x140063a53
or ebx, 8
jmp 0x1400639ee
cmp r14d, 0x44
jne 0x140063a53
test eax, eax
jne 0x140063a53
or ebx, 0x20
jmp 0x1400639ee
movzx edx, r14w
lea rcx, [0x140136c10]
call fcn.1400e16d8
lea rdi, [0x1401342fc]
mov esi, 1
mov qword [rsp + 0x20], rdi
mov dword [rbp + 0x2c0], esi
test rax, rax
jne 0x1400639e1
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.140008400
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.14005db80
mov rcx, qword [rbp + 0x2b8]
add rcx, 0x10
lea rdx, [rsp + 0x40]
call fcn.1400333a0
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140063b86
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140063b7c
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, esi
jg 0x140063b86
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x1400639e1
test bl, 4
je 0x140063ce2
xor ebx, 4
cmp r14d, 0x2d
jne 0x140063bbd
lea rdi, [0x140136c28]
mov qword [rsp + 0x20], rdi
mov esi, 3
mov dword [rbp + 0x2c0], esi
lea r15d, [r14 - 0xd]
jmp 0x1400639ee
lea rdi, [0x1401342fc]
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.140008400
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.14005db80
mov rcx, qword [rbp + 0x2b8]
add rcx, 0x10
lea rdx, [rsp + 0x48]
call fcn.1400333a0
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140063cdd
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140063cd3
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, esi
jg 0x140063cdd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x1400639e1
test bl, 8
je 0x140063e37
xor ebx, 8
cmp r14d, 0x43
jne 0x140063d14
lea rdi, [0x140136c48]
mov qword [rsp + 0x20], rdi
mov esi, 3
mov dword [rbp + 0x2c0], esi
lea r15d, [r14 - 0x3b]
jmp 0x1400639ee
lea rdi, [0x1401342fc]
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.140008400
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.14005db80
mov rcx, qword [rbp + 0x2b8]
add rcx, 0x10
lea rdx, [rsp + 0x50]
call fcn.1400333a0
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140063e32
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140063e28
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, esi
jg 0x140063e32
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x1400639e1
mov eax, ebx
and eax, 0x20
je 0x1400639ee
cmp r14d, 0x3c
jne 0x140063e50
or ebx, 1
jmp 0x1400639ee
cmp r14d, 0x3e
jne 0x1400639ee
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 0x140063eac
lea ebx, [r14 - 0x3b]
jmp 0x1400639ee
mov r15d, 4
movzx edx, r14w
lea rcx, str.__t_n_r
call fcn.1400e16d8
mov rdx, qword [rsp + 0x28]
mov r10, qword [rsp + 0x30]
test rax, rax
je 0x140063eda
lea ebx, [r15 + 0xc]
jmp 0x1400639ee
lea rdi, [0x140134300]
mov qword [rsp + 0x20], rdi
mov esi, 1
mov dword [rbp + 0x2c0], esi
lea r15d, [rsi + 1]
jmp 0x1400639ee
sub r13, qword [r8 + 0x10]
sar r13, 1
lea r10d, [r13 - 1]
jmp 0x140063e68
sub r13, qword [r8 + 0x10]
sar r13, 1
lea r10d, [r13 - 1]
mov r15d, 4
jmp 0x140063e68
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 0x140063e6f
cmp eax, 2
je 0x140063e6f
bt ebx, 5
jb 0x140063f99
cmp eax, 0x40
je 0x140063f99
cmp eax, 1
jne 0x140063f62
lea rcx, str.Element_tag
jmp 0x140063fa9
test eax, eax
jne 0x140063f6f
lea rcx, str.Element_end_tag
jmp 0x140063fa9
cmp eax, 8
jne 0x140063f7d
lea rcx, str.CDATA_Section
jmp 0x140063fa9
cmp eax, 0x10
jne 0x140063f8b
lea rcx, str.Processing_instruction
jmp 0x140063fa9
cmp eax, 0x20
jne 0x140063fa2
lea rcx, str.Comment
jmp 0x140063fa9
lea rcx, str.Doctype
jmp 0x140063fa9
lea rcx, [0x140136ab0]
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.140008400
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.14005db80
lea rcx, [rbx + 0x10]
lea rdx, [rbp + 0x2b0]
call fcn.1400333a0
nop
mov rdx, qword [rbp + 0x2b0]
add rdx, 0xffffffffffffffe8
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x1400640ac
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x1400640a1
lock xadd dword [rdx + 0x10], r12d
sub r12d, 1
jg 0x1400640ac
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
mov r10, qword [rsp + 0x30]
jmp 0x140063e6f