Function at 0x140046b1c
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rbx, rcx
xor al, al
mov ecx, dword [rcx + 0x7c]
cmp ecx, 0xffffffff
je 0x140046f2d
mov ebp, 0x5c
lea esi, [rbp - 0x5b]
lea r14d, [rbp - 0x34]
lea r15d, [rbp + 0x1f]
mov edi, 0xfffd
mov edx, 0x10000000
cmp ecx, 0x7c
je 0x140046f2d
cmp ecx, 0x29
jne 0x140046b87
cmp dword [rbx + 0x1c], 0
jne 0x140046f2d
cmp ecx, ecx
jne 0x140046b87
test dword [rbx + 0x80], edx
je 0x140046f51
cmp ecx, 0x2e
jne 0x140046b9f
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.140039eb8
jmp 0x140046cbd
cmp ecx, ebp
jne 0x140046c4a
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x140046bf7
cmp word [rcx], bp
jne 0x140046bf0
lea rdx, [rcx + 2]
cmp rdx, qword [rbx + 0x10]
je 0x140046bf0
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x140046bd8
movzx eax, word [rdx]
sub ax, r14w
cmp ax, si
jbe 0x140046bea
test r8b, 0x10
jne 0x140046bf0
movzx eax, word [rdx]
sub ax, r15w
test di, ax
jne 0x140046bf0
mov qword [rbx], rdx
mov rcx, rdx
lea rax, [rcx + 2]
mov qword [rbx], rax
mov rcx, rbx
call fcn.1400466b0
test byte [rbx + 0x80], 0x80
je 0x140046c3d
cmp word [rbx + 0x78], 0x62
jne 0x140046c19
mov edx, 4
jmp 0x140046e02
cmp word [rbx + 0x78], 0x42
jne 0x140046c3d
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.140039eb8
mov rax, qword [rbx + 0x48]
add rax, 0xc
xor dword [rax], esi
jmp 0x140046e0b
mov rcx, rbx
call fcn.140047224
jmp 0x140046f16
cmp ecx, 0x5b
jne 0x140046d1a
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x140046ca3
cmp word [rcx], bp
jne 0x140046c9c
lea rdx, [rcx + 2]
cmp rdx, qword [rbx + 0x10]
je 0x140046c9c
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x140046c84
movzx eax, word [rdx]
sub ax, r14w
cmp ax, si
jbe 0x140046c96
test r8b, 0x10
jne 0x140046c9c
movzx eax, word [rdx]
sub ax, r15w
test di, ax
jne 0x140046c9c
mov qword [rbx], rdx
mov rcx, rdx
lea rax, [rcx + 2]
mov qword [rbx], rax
mov rcx, rbx
call fcn.1400466b0
mov rcx, rbx
call fcn.140046fb0
cmp dword [rbx + 0x7c], 0x5d
jne 0x140046f5c
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x140046d0d
cmp word [rcx], bp
jne 0x140046d06
lea rdx, [rcx + 2]
cmp rdx, qword [rbx + 0x10]
je 0x140046d06
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x140046cee
movzx eax, word [rdx]
sub ax, r14w
cmp ax, si
jbe 0x140046d00
test r8b, 0x10
jne 0x140046d06
movzx eax, word [rdx]
sub ax, r15w
test di, ax
jne 0x140046d06
mov rcx, rdx
mov qword [rbx], rdx
lea rax, [rcx + 2]
mov qword [rbx], rax
mov rcx, rbx
call fcn.1400466b0
jmp 0x140046f16
cmp ecx, r14d
jne 0x140046df0
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x140046d73
cmp word [rcx], bp
jne 0x140046d6c
lea rdx, [rcx + 2]
cmp rdx, qword [rbx + 0x10]
je 0x140046d6c
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x140046d54
movzx eax, word [rdx]
sub ax, r14w
cmp ax, si
jbe 0x140046d66
test r8b, 0x10
jne 0x140046d6c
movzx eax, word [rdx]
sub ax, r15w
test di, ax
jne 0x140046d6c
mov qword [rbx], rdx
mov rcx, rdx
lea rax, [rcx + 2]
mov qword [rbx], rax
mov rcx, rbx
call fcn.1400466b0
mov rcx, rbx
call fcn.140047394
cmp dword [rbx + 0x7c], 0x29
mov dil, al
jne 0x140046f67
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x140046f09
cmp word [rcx], bp
jne 0x140046de4
lea rdx, [rcx + 2]
cmp rdx, qword [rbx + 0x10]
je 0x140046de4
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x140046dc5
movzx eax, word [rdx]
sub ax, r14w
cmp ax, si
jbe 0x140046dde
test r8b, 0x10
jne 0x140046de4
movzx eax, word [rdx]
mov r8d, 0xfffd
sub ax, r15w
test r8w, ax
jne 0x140046de4
mov qword [rbx], rdx
mov rcx, rdx
lea rax, [rcx + 2]
mov qword [rbx], rax
jmp 0x140046f09
cmp ecx, 0x5e
jne 0x140046dfa
lea edx, [rcx - 0x5c]
jmp 0x140046e02
cmp ecx, 0x24
jne 0x140046e68
lea edx, [rcx - 0x21]
lea rcx, [rbx + 0x40]
call fcn.140039eb8
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x140046e5b
cmp word [rcx], bp
jne 0x140046e54
lea rdx, [rcx + 2]
cmp rdx, qword [rbx + 0x10]
je 0x140046e54
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x140046e3c
movzx eax, word [rdx]
sub ax, r14w
cmp ax, si
jbe 0x140046e4e
test r8b, 0x10
jne 0x140046e54
movzx eax, word [rdx]
sub ax, r15w
test di, ax
jne 0x140046e54
mov rcx, rdx
mov qword [rbx], rdx
lea rax, [rcx + 2]
mov qword [rbx], rax
mov rcx, rbx
call fcn.1400466b0
jmp 0x140046f1e
lea eax, [rcx - 0x2a]
cmp eax, esi
jbe 0x140046f46
cmp ecx, 0x3f
je 0x140046f46
cmp ecx, r15d
je 0x140046f46
cmp dword [rbx + 0x7c], 0x7d
jne 0x140046e97
test dword [rbx + 0x80], edx
je 0x140046f72
cmp dword [rbx + 0x7c], 0x5d
jne 0x140046ea9
test dword [rbx + 0x80], edx
je 0x140046f7d
movzx edx, word [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.14003af64
mov rcx, qword [rbx]
cmp rcx, qword [rbx + 0x10]
je 0x140046f06
cmp word [rcx], bp
jne 0x140046eff
lea rdx, [rcx + 2]
cmp rdx, qword [rbx + 0x10]
je 0x140046eff
mov r8d, dword [rbx + 0x80]
test r8b, 8
jne 0x140046ee7
movzx eax, word [rdx]
sub ax, r14w
cmp ax, si
jbe 0x140046ef9
test r8b, 0x10
jne 0x140046eff
movzx eax, word [rdx]
sub ax, r15w
test di, ax
jne 0x140046eff
mov qword [rbx], rdx
mov rcx, rdx
lea rax, [rcx + 2]
mov qword [rbx], rax
mov dil, sil
mov rcx, rbx
call fcn.1400466b0
test dil, dil
je 0x140046f1e
mov rcx, rbx
call fcn.140047638
mov ecx, dword [rbx + 0x7c]
mov al, sil
cmp ecx, 0xffffffff
jne 0x140046b55
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
mov edx, 0xa
call fcn.140038400
int3
mov edx, 5
call fcn.140038400
int3
mov edx, 4
call fcn.140038400
int3
mov edx, 5
call fcn.140038400
int3
mov edx, 6
call fcn.140038400
int3
mov edx, 4
call fcn.140038400
int3