Function at 0x18014f2f0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x18014fb37
cmp ecx, 0x7c
je 0x18014fb37
lea r15, vtable._.13.0
xor r14d, r14d
lea r13, vtable._.16.0
mov r12d, 0xfffd
nop dword [rax]
cmp ecx, 0x29
jne 0x18014f364
cmp dword [rbx + 0x1c], r14d
jne 0x18014fb37
test dword [rbx + 0x80], 0x10000000
je 0x18014fb62
jmp 0x18014f9ea
cmp ecx, 0x2e
jne 0x18014f422
mov ecx, 0x20
call fcn.180197f40
test rax, rax
je 0x18014f391
mov qword [rax], r15
mov qword [rax + 8], 5
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
jmp 0x18014f394
mov rax, r14
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.180152530
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x18014fa44
cmp word [rax], 0x5c
jne 0x18014f416
lea r8, [rax + 2]
mov rcx, rax
cmp r8, rdx
je 0x18014f413
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x18014f3e5
movzx ecx, word [r8]
mov rdx, rax
cmp cx, 0x28
je 0x18014f403
cmp cx, 0x29
je 0x18014f403
mov rcx, rax
test r9b, 0x10
jne 0x18014f413
movzx r8d, word [r8]
mov rdx, rax
cmp r8w, 0x7b
je 0x18014f403
mov rdx, rcx
cmp r8w, 0x7d
jne 0x18014f413
lea rax, [rdx + 2]
add rax, 2
mov qword [rbx], rax
jmp 0x18014fa44
mov rax, rcx
add rax, 2
mov qword [rbx], rax
jmp 0x18014fa44
cmp ecx, 0x5c
jne 0x18014f6ec
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x18014f499
cmp word [rax], cx
jne 0x18014f492
lea r8, [rax + 2]
mov rcx, rax
cmp r8, rdx
je 0x18014f48f
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x18014f46b
movzx ecx, word [r8]
mov rdx, rax
cmp cx, 0x28
je 0x18014f489
cmp cx, 0x29
je 0x18014f489
mov rcx, rax
test r9b, 0x10
jne 0x18014f48f
movzx r8d, word [r8]
mov rdx, rax
cmp r8w, 0x7b
je 0x18014f489
mov rdx, rcx
cmp r8w, 0x7d
jne 0x18014f48f
lea rax, [rdx + 2]
jmp 0x18014f492
mov rax, rcx
add rax, 2
mov qword [rbx], rax
mov rcx, rbx
call fcn.1801531d0
mov ecx, dword [rbx + 0x80]
test cl, cl
jns 0x18014f5cc
movzx eax, word [rbx + 0x78]
cmp ax, 0x62
jne 0x18014f586
mov ecx, 0x20
call fcn.180197f40
test rax, rax
je 0x18014f4e1
mov qword [rax], r15
mov qword [rax + 8], 4
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
jmp 0x18014f4e4
mov rax, r14
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.180152530
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x18014f993
cmp word [rax], 0x5c
jne 0x18014f8f6
lea r8, [rax + 2]
mov rcx, rax
cmp r8, rdx
je 0x18014f56f
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x18014f539
movzx ecx, word [r8]
mov rdx, rax
cmp cx, 0x28
je 0x18014f557
cmp cx, 0x29
je 0x18014f557
mov rcx, rax
test r9b, 0x10
jne 0x18014f56f
movzx r8d, word [r8]
mov rdx, rax
cmp r8w, 0x7b
je 0x18014f557
mov rdx, rcx
cmp r8w, 0x7d
jne 0x18014f56f
lea rax, [rdx + 2]
mov rcx, rbx
add rax, 2
mov qword [rbx], rax
call fcn.1801531d0
jmp 0x18014fb24
mov rax, rcx
mov rcx, rbx
add rax, 2
mov qword [rbx], rax
call fcn.1801531d0
jmp 0x18014fb24
cmp ax, 0x42
jne 0x18014f5cc
mov ecx, 0x20
call fcn.180197f40
test rax, rax
je 0x18014f5b0
mov qword [rax], r15
mov qword [rax + 8], 4
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
jmp 0x18014f5b3
mov rax, r14
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.180152530
mov rax, qword [rbx + 0x48]
xor dword [rax + 0xc], 1
jmp 0x18014f89a
bt ecx, 8
jae 0x18014f6a7
mov edx, 3
mov rcx, rbx
call fcn.1801508b0
test al, al
je 0x18014f6a7
mov edi, dword [rbx + 0x74]
mov eax, dword [rbx + 0x80]
test edi, edi
jne 0x18014f613
bt eax, 0x14
jae 0x18014fb70
lea rcx, [rbx + 0x40]
movzx edx, di
call fcn.18014e860
jmp 0x18014fa4c
bt eax, 9
jae 0x18014f622
cmp edi, 9
ja 0x18014fb9a
mov eax, edi
movsxd rcx, eax
mov eax, dword [rbx + 0x18]
cmp rax, rcx
jb 0x18014fb9a
cmp qword [rbx + 0x38], rcx
jbe 0x18014fb9a
mov rdx, qword [rbx + 0x20]
movzx eax, cl
and al, 0x1f
mov r8, rcx
shr r8, 5
movzx ecx, al
mov eax, dword [rdx + r8*4]
bt eax, ecx
jae 0x18014fb9a
mov ecx, 0x28
call fcn.180197f40
test rax, rax
je 0x18014f693
mov rdx, rax
mov qword [rax + 8], 0xf
lea rcx, [rbx + 0x40]
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
mov qword [rax], r13
mov dword [rax + 0x20], edi
call fcn.180152530
jmp 0x18014fa4c
mov rax, r14
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.180152530
jmp 0x18014fa4c
mov rcx, rbx
call fcn.1801501e0
test al, al
je 0x18014f6c5
movzx edx, word [rbx + 0x74]
lea rcx, [rbx + 0x40]
call fcn.18014e860
jmp 0x18014fa4c
test dword [rbx + 0x80], 0x20000
je 0x18014fb70
mov dl, 1
mov rcx, rbx
call fcn.180150130
test al, al
je 0x18014fb70
jmp 0x18014fa4c
cmp ecx, 0x5b
jne 0x18014f7c3
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18014f754
cmp word [rax], 0x5c
jne 0x18014f74d
lea r8, [rax + 2]
cmp r8, rcx
je 0x18014f74d
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x18014f730
movzx edx, word [r8]
mov rcx, rax
cmp dx, 0x28
je 0x18014f749
cmp dx, 0x29
je 0x18014f749
test r9b, 0x10
jne 0x18014f74d
movzx edx, word [r8]
mov rcx, rax
cmp dx, 0x7b
je 0x18014f749
cmp dx, 0x7d
jne 0x18014f74d
lea rax, [rcx + 2]
add rax, 2
mov qword [rbx], rax
mov rcx, rbx
call fcn.1801531d0
lea rcx, [rbx + 0x40]
call fcn.18014eab0
mov eax, dword [rbx + 0x7c]
cmp eax, 0x5e
jne 0x18014f780
mov rax, qword [rbx + 0x48]
mov rcx, rbx
xor dword [rax + 0xc], 1
call fcn.180152c30
mov eax, dword [rbx + 0x7c]
test dword [rbx + 0x80], 0x20000000
je 0x18014f7a4
cmp eax, 0x5d
jne 0x18014f7a4
mov edx, eax
lea rcx, [rbx + 0x40]
call fcn.18014ea10
mov rcx, rbx
call fcn.180152c30
mov rcx, rbx
call fcn.180150730
cmp dword [rbx + 0x7c], 0x5d
jne 0x18014fba8
mov rcx, rbx
call fcn.180152c30
jmp 0x18014fa4c
cmp ecx, 0x28
jne 0x18014f85e
mov rax, qword [rbx]
mov rcx, qword [rbx + 0x10]
cmp rax, rcx
je 0x18014f82b
cmp word [rax], 0x5c
jne 0x18014f824
lea r8, [rax + 2]
cmp r8, rcx
je 0x18014f824
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x18014f807
movzx edx, word [r8]
mov rcx, rax
cmp dx, 0x28
je 0x18014f820
cmp dx, 0x29
je 0x18014f820
test r9b, 0x10
jne 0x18014f824
movzx edx, word [r8]
mov rcx, rax
cmp dx, 0x7b
je 0x18014f820
cmp dx, 0x7d
jne 0x18014f824
lea rax, [rcx + 2]
add rax, 2
mov qword [rbx], rax
mov rcx, rbx
call fcn.1801531d0
mov rcx, rbx
call fcn.180153450
cmp dword [rbx + 0x7c], 0x29
movzx edi, al
jne 0x18014fb62
mov rcx, rbx
call fcn.180152c30
test dil, dil
je 0x18014fb24
jmp 0x18014fa4c
cmp ecx, 0x5e
jne 0x18014f90a
mov ecx, 0x20
call fcn.180197f40
test rax, rax
je 0x18014f88b
mov qword [rax], r15
mov qword [rax + 8], 2
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
jmp 0x18014f88e
mov rax, r14
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.180152530
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx]
cmp rax, rcx
je 0x18014f993
cmp word [rax], 0x5c
jne 0x18014f8f6
lea r8, [rax + 2]
cmp r8, rcx
je 0x18014f8f6
mov r9d, dword [rbx + 0x80]
test r9b, 8
jne 0x18014f8d9
movzx edx, word [r8]
mov rcx, rax
cmp dx, 0x28
je 0x18014f8f2
cmp dx, 0x29
je 0x18014f8f2
test r9b, 0x10
jne 0x18014f8f6
movzx edx, word [r8]
mov rcx, rax
cmp dx, 0x7b
je 0x18014f8f2
cmp dx, 0x7d
jne 0x18014f8f6
lea rax, [rcx + 2]
add rax, 2
mov rcx, rbx
mov qword [rbx], rax
call fcn.1801531d0
jmp 0x18014fb24
cmp ecx, 0x24
jne 0x18014f9a0
mov ecx, 0x20
call fcn.180197f40
test rax, rax
je 0x18014f937
mov qword [rax], r15
mov qword [rax + 8], 3
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], r14
jmp 0x18014f93a
mov rax, r14
lea rcx, [rbx + 0x40]
mov rdx, rax
call fcn.180152530
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x18014f993
cmp word [rax], 0x5c
jne 0x18014f98f
lea rcx, [rax + 2]
cmp rcx, rdx
je 0x18014f98f
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18014f979
movzx eax, word [rcx]
sub ax, 0x28
cmp ax, 1
jbe 0x18014f98b
test dl, 0x10
jne 0x18014f98f
movzx eax, word [rcx]
sub ax, 0x7b
test r12w, ax
jne 0x18014f98f
add qword [rbx], 2
add qword [rbx], 2
mov rcx, rbx
call fcn.1801531d0
jmp 0x18014fb24
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x18014fb8c
cmp ecx, 0x3f
je 0x18014fb8c
cmp ecx, 0x7b
je 0x18014fb8c
cmp ecx, 0x7d
jne 0x18014f9d5
test dword [rbx + 0x80], 0x10000000
je 0x18014fb7e
jmp 0x18014f9ea
cmp ecx, 0x5d
jne 0x18014f9ea
test dword [rbx + 0x80], 0x10000000
je 0x18014fba8
movzx edx, word [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.18014e860
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x18014fa44
cmp word [rax], 0x5c
jne 0x18014fa40
lea rcx, [rax + 2]
cmp rcx, rdx
je 0x18014fa40
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x18014fa2a
movzx eax, word [rcx]
sub ax, 0x28
cmp ax, 1
jbe 0x18014fa3c
test dl, 0x10
jne 0x18014fa40
movzx eax, word [rcx]
sub ax, 0x7b
test r12w, ax
jne 0x18014fa40
add qword [rbx], 2
add qword [rbx], 2
mov rcx, rbx
call fcn.1801531d0
mov eax, dword [rbx + 0x7c]
mov ebp, r14d
mov edi, 0xffffffff
cmp eax, 0x2a
je 0x18014fae0
cmp eax, 0x2b
jne 0x18014fa6c
mov ebp, 1
jmp 0x18014fae0
cmp eax, 0x3f
jne 0x18014fa78
mov edi, 1
jmp 0x18014fae0
cmp eax, 0x7b
jne 0x18014fb24
mov rcx, rbx
call fcn.180152c30
mov edx, 7
mov rcx, rbx
call fcn.1801508b0
test al, al
je 0x18014fb54
cmp dword [rbx + 0x7c], 0x2c
mov ebp, dword [rbx + 0x74]
je 0x18014faab
mov edi, ebp
jmp 0x18014fad1
mov rcx, rbx
call fcn.180152c30
cmp dword [rbx + 0x7c], 0x7d
je 0x18014fad7
mov edx, 7
mov rcx, rbx
call fcn.1801508b0
test al, al
je 0x18014fb54
mov edi, dword [rbx + 0x74]
cmp dword [rbx + 0x7c], 0x7d
jne 0x18014fb54
cmp edi, 0xffffffff
je 0x18014fae0
cmp edi, ebp
jl 0x18014fb54
mov rax, qword [rbx + 0x48]
mov rcx, rbx
or dword [rax + 0xc], 4
call fcn.180152c30
test dword [rbx + 0x80], 0x400
je 0x18014fb0f
cmp dword [rbx + 0x7c], 0x3f
jne 0x18014fb0f
xor sil, sil
mov rcx, rbx
call fcn.180152c30
jmp 0x18014fb12
mov sil, 1
lea rcx, [rbx + 0x40]
movzx r9d, sil
mov r8d, edi
mov edx, ebp
call fcn.18014f030
mov ecx, dword [rbx + 0x7c]
mov al, 1
cmp ecx, 0xffffffff
je 0x18014fb37
cmp ecx, 0x7c
jne 0x18014f340
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov edx, 7
mov rcx, rbx
call fcn.180151e80
int3
mov edx, 5
mov rcx, rbx
call fcn.180151e80
int3
mov edx, 2
mov rcx, rbx
call fcn.180151e80
int3
mov edx, 6
mov rcx, rbx
call fcn.180151e80
int3
mov edx, 0xa
mov rcx, rbx
call fcn.180151e80
int3
mov edx, 3
mov rcx, rbx
call fcn.180151e80
int3
mov edx, 4
mov rcx, rbx
call fcn.180151e80
int3