Function at 0x462381
Capabilities:
Parse credit card information

Disassembly:
push rbp
mov rbp, rsp
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], r8
mov dword [0x00c5a970], 1
mov dword [0x00c5a958], 0
mov byte [0x00c5a964], 0
mov qword [0x00c5a968], 0
mov dword [0x00c5a960], 0
mov word [0x00c57f00], 0
mov qword [0x00c58020], 0
mov byte [0x00c58028], 0
mov byte [0x00c58029], 0
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
cmp qword [rbp + 0x20], rax
jg 0x4623fa
mov eax, 2
jmp 0x462d69
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rdx, rax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [0x00c5a95c], eax
mov eax, dword [0x00c5a95c]
cmp eax, 0x26
jne 0x46290a
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
lea rdx, [rax + 1]
mov rax, qword [rbp + 0x18]
mov qword [rax], rdx
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
cmp qword [rbp + 0x20], rax
jg 0x46244f
mov eax, 3
jmp 0x462d69
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rdx, rax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [0x00c5a95c], eax
mov eax, dword [0x00c5a95c]
cmp eax, 0x2c
jne 0x462493
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
lea rdx, [rax + 1]
mov rax, qword [rbp + 0x18]
mov qword [rax], rdx
mov eax, 3
jmp 0x462d69
mov eax, dword [0x00c5a95c]
cmp eax, 0x48
je 0x4624ad
mov eax, dword [0x00c5a95c]
cmp eax, 0x68
jne 0x46262a
nop
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
lea rdx, [rax + 1]
mov rax, qword [rbp + 0x18]
mov qword [rax], rdx
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
cmp qword [rbp + 0x20], rax
jle 0x462cfc
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rdx, rax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [0x00c5a95c], eax
mov eax, dword [0x00c5a95c]
cmp eax, 0x2c
jne 0x462510
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
lea rdx, [rax + 1]
mov rax, qword [rbp + 0x18]
mov qword [rax], rdx
jmp 0x462d06
mov eax, dword [0x00c5a95c]
cmp eax, 0x2f
jle 0x462526
mov eax, dword [0x00c5a95c]
cmp eax, 0x39
jle 0x462552
mov eax, dword [0x00c5a95c]
cmp eax, 0x40
jle 0x46253c
mov eax, dword [0x00c5a95c]
cmp eax, 0x46
jle 0x462552
mov eax, dword [0x00c5a95c]
cmp eax, 0x60
jle 0x4625b9
mov eax, dword [0x00c5a95c]
cmp eax, 0x66
jg 0x4625b9
mov eax, dword [0x00c5a958]
cmp eax, 5
jne 0x462567
mov eax, 3
jmp 0x462d69
movzx eax, word [0x00c57f00]
cmp ax, 0x100
jne 0x46257e
mov eax, 1
jmp 0x462d69
mov edx, dword [0x00c5a95c]
movzx eax, word [0x00c57f00]
movzx eax, ax
mov ecx, edx
cdqe
lea rdx, [0x00c57f20]
mov byte [rax + rdx], cl
movzx eax, word [0x00c57f00]
add eax, 1
mov word [0x00c57f00], ax
mov byte [0x00c58029], 1
jmp 0x4624ae
mov eax, dword [0x00c5a95c]
cmp eax, 0x21
je 0x462606
mov eax, dword [0x00c5a95c]
cmp eax, 0x23
je 0x462606
mov eax, dword [0x00c5a95c]
cmp eax, 0x24
je 0x462606
mov eax, dword [0x00c5a95c]
cmp eax, 0x25
je 0x462606
mov eax, dword [0x00c5a95c]
cmp eax, 0x26
je 0x462606
mov eax, dword [0x00c5a95c]
cmp eax, 0x60
je 0x462606
mov eax, dword [0x00c5a95c]
cmp eax, 0x7e
jne 0x462620
mov eax, dword [0x00c5a958]
cmp eax, 5
jg 0x462620
mov dword [0x00c5a958], 5
jmp 0x4624ae
mov eax, 3
jmp 0x462d69
mov eax, dword [0x00c5a95c]
cmp eax, 0x4f
je 0x462644
mov eax, dword [0x00c5a95c]
cmp eax, 0x6f
jne 0x462795
nop
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
lea rdx, [rax + 1]
mov rax, qword [rbp + 0x18]
mov qword [rax], rdx
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
cmp qword [rbp + 0x20], rax
jle 0x462cff
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rdx, rax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [0x00c5a95c], eax
mov eax, dword [0x00c5a95c]
cmp eax, 0x2c
jne 0x4626a7
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
lea rdx, [rax + 1]
mov rax, qword [rbp + 0x18]
mov qword [rax], rdx
jmp 0x462d06
mov eax, dword [0x00c5a95c]
cmp eax, 0x2f
jle 0x462724
mov eax, dword [0x00c5a95c]
cmp eax, 0x37
jg 0x462724
mov eax, dword [0x00c5a958]
cmp eax, 5
jne 0x4626d2
mov eax, 3
jmp 0x462d69
movzx eax, word [0x00c57f00]
cmp ax, 0x100
jne 0x4626e9
mov eax, 1
jmp 0x462d69
mov edx, dword [0x00c5a95c]
movzx eax, word [0x00c57f00]
movzx eax, ax
mov ecx, edx
cdqe
lea rdx, [0x00c57f20]
mov byte [rax + rdx], cl
movzx eax, word [0x00c57f00]
add eax, 1
mov word [0x00c57f00], ax
mov byte [0x00c58029], 2
jmp 0x462645
mov eax, dword [0x00c5a95c]
cmp eax, 0x21
je 0x462771
mov eax, dword [0x00c5a95c]
cmp eax, 0x23
je 0x462771
mov eax, dword [0x00c5a95c]
cmp eax, 0x24
je 0x462771
mov eax, dword [0x00c5a95c]
cmp eax, 0x25
je 0x462771
mov eax, dword [0x00c5a95c]
cmp eax, 0x26
je 0x462771
mov eax, dword [0x00c5a95c]
cmp eax, 0x60
je 0x462771
mov eax, dword [0x00c5a95c]
cmp eax, 0x7e
jne 0x46278b
mov eax, dword [0x00c5a958]
cmp eax, 5
jg 0x46278b
mov dword [0x00c5a958], 5
jmp 0x462645
mov eax, 3
jmp 0x462d69
mov eax, dword [0x00c5a95c]
cmp eax, 0x42
je 0x4627af
mov eax, dword [0x00c5a95c]
cmp eax, 0x62
jne 0x462900
nop
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
lea rdx, [rax + 1]
mov rax, qword [rbp + 0x18]
mov qword [rax], rdx
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
cmp qword [rbp + 0x20], rax
jle 0x462d02
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rdx, rax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [0x00c5a95c], eax
mov eax, dword [0x00c5a95c]
cmp eax, 0x2c
jne 0x462812
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
lea rdx, [rax + 1]
mov rax, qword [rbp + 0x18]
mov qword [rax], rdx
jmp 0x462d06
mov eax, dword [0x00c5a95c]
cmp eax, 0x2f
jle 0x46288f
mov eax, dword [0x00c5a95c]
cmp eax, 0x31
jg 0x46288f
mov eax, dword [0x00c5a958]
cmp eax, 5
jne 0x46283d
mov eax, 3
jmp 0x462d69
movzx eax, word [0x00c57f00]
cmp ax, 0x100
jne 0x462854
mov eax, 1
jmp 0x462d69
mov edx, dword [0x00c5a95c]
movzx eax, word [0x00c57f00]
movzx eax, ax
mov ecx, edx
cdqe
lea rdx, [0x00c57f20]
mov byte [rax + rdx], cl
movzx eax, word [0x00c57f00]
add eax, 1
mov word [0x00c57f00], ax
mov byte [0x00c58029], 3
jmp 0x4627b0
mov eax, dword [0x00c5a95c]
cmp eax, 0x21
je 0x4628dc
mov eax, dword [0x00c5a95c]
cmp eax, 0x23
je 0x4628dc
mov eax, dword [0x00c5a95c]
cmp eax, 0x24
je 0x4628dc
mov eax, dword [0x00c5a95c]
cmp eax, 0x25
je 0x4628dc
mov eax, dword [0x00c5a95c]
cmp eax, 0x26
je 0x4628dc
mov eax, dword [0x00c5a95c]
cmp eax, 0x60
je 0x4628dc
mov eax, dword [0x00c5a95c]
cmp eax, 0x7e
jne 0x4628f6
mov eax, dword [0x00c5a958]
cmp eax, 5
jg 0x4628f6
mov dword [0x00c5a958], 5
jmp 0x4627b0
mov eax, 3
jmp 0x462d69
mov eax, 3
jmp 0x462d69
nop
mov eax, dword [0x00c5a95c]
cmp eax, 0x2c
jne 0x46292d
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
lea rdx, [rax + 1]
mov rax, qword [rbp + 0x18]
mov qword [rax], rdx
jmp 0x462d06
mov eax, dword [0x00c5a95c]
cmp eax, 0x2d
jne 0x462983
mov eax, dword [0x00c5a958]
test eax, eax
jne 0x462958
mov byte [0x00c58028], 1
mov dword [0x00c5a958], 1
jmp 0x462cbb
mov eax, dword [0x00c5a958]
cmp eax, 3
jne 0x462979
mov byte [0x00c5a964], 1
mov dword [0x00c5a958], 4
jmp 0x462cbb
mov eax, 3
jmp 0x462d69
mov eax, dword [0x00c5a95c]
cmp eax, 0x2b
jne 0x4629cb
mov eax, dword [0x00c5a958]
test eax, eax
jne 0x4629a7
mov dword [0x00c5a958], 1
jmp 0x462cbb
mov eax, dword [0x00c5a958]
cmp eax, 3
jne 0x4629c1
mov dword [0x00c5a958], 4
jmp 0x462cbb
mov eax, 3
jmp 0x462d69
mov eax, dword [0x00c5a95c]
cmp eax, 0x2f
jle 0x462bb9
mov eax, dword [0x00c5a95c]
cmp eax, 0x39
jg 0x462bb9
mov eax, dword [0x00c5a958]
cmp eax, 5
jne 0x4629fe
mov eax, 3
jmp 0x462d69
mov eax, dword [0x00c5a958]
cmp eax, 1
jg 0x462a92
mov dword [0x00c5a958], 1
movzx eax, word [0x00c57f00]
test ax, ax
jne 0x462a2e
mov eax, dword [0x00c5a95c]
cmp eax, 0x30
jle 0x462a92
movzx eax, word [0x00c57f00]
test ax, ax
je 0x462a4c
mov rax, qword [0x00c58020]
add rax, 1
mov qword [0x00c58020], rax
movzx eax, word [0x00c57f00]
cmp ax, 0x100
jne 0x462a63
mov eax, 1
jmp 0x462d69
mov edx, dword [0x00c5a95c]
movzx eax, word [0x00c57f00]
movzx eax, ax
mov ecx, edx
cdqe
lea rdx, [0x00c57f20]
mov byte [rax + rdx], cl
movzx eax, word [0x00c57f00]
add eax, 1
mov word [0x00c57f00], ax
mov eax, dword [0x00c5a958]
cmp eax, 2
jne 0x462b27
movzx eax, word [0x00c57f00]
test ax, ax
jne 0x462aca
mov eax, dword [0x00c5a95c]
cmp eax, 0x30
jne 0x462aca
mov rax, qword [0x00c58020]
sub rax, 1
mov qword [0x00c58020], rax
movzx eax, word [0x00c57f00]
test ax, ax
jne 0x462ae1
mov eax, dword [0x00c5a95c]
cmp eax, 0x30
jle 0x462b27
movzx eax, word [0x00c57f00]
cmp ax, 0x100
jne 0x462af8
mov eax, 1
jmp 0x462d69
mov edx, dword [0x00c5a95c]
movzx eax, word [0x00c57f00]
movzx eax, ax
mov ecx, edx
cdqe
lea rdx, [0x00c57f20]
mov byte [rax + rdx], cl
movzx eax, word [0x00c57f00]
add eax, 1
mov word [0x00c57f00], ax
mov eax, dword [0x00c5a958]
cmp eax, 2
jle 0x462cba
mov dword [0x00c5a958], 4
mov eax, dword [0x00c5a960]
test eax, eax
jne 0x462b59
mov eax, dword [0x00c5a95c]
cmp eax, 0x30
jle 0x462cba
mov eax, dword [0x00c5a960]
cmp eax, 0x12
jne 0x462b6e
mov eax, 1
jmp 0x462d69
mov rdx, qword [0x00c5a968]
mov rax, rdx
shl rax, 2
add rax, rdx
add rax, rax
mov qword [0x00c5a968], rax
mov eax, dword [0x00c5a95c]
sub eax, 0x30
cdqe
mov rdx, qword [0x00c5a968]
add rax, rdx
mov qword [0x00c5a968], rax
mov eax, dword [0x00c5a960]
add eax, 1
mov dword [0x00c5a960], eax
jmp 0x462cba
mov eax, dword [0x00c5a95c]
cmp eax, 0x2e
jne 0x462bff
mov eax, dword [0x00c5a958]
cmp eax, 1
jle 0x462bd9
mov eax, 3
jmp 0x462d69
movzx eax, word [0x00c57f00]
test ax, ax
jne 0x462bf0
mov qword [0x00c58020], 0xffffffffffffffff
mov dword [0x00c5a958], 2
jmp 0x462cbb
mov eax, dword [0x00c5a95c]
cmp eax, 0x44
je 0x462c2b
mov eax, dword [0x00c5a95c]
cmp eax, 0x45
je 0x462c2b
mov eax, dword [0x00c5a95c]
cmp eax, 0x64
je 0x462c2b
mov eax, dword [0x00c5a95c]
cmp eax, 0x65
jne 0x462c4c
mov eax, dword [0x00c5a958]
cmp eax, 2
jle 0x462c40
mov eax, 3
jmp 0x462d69
mov dword [0x00c5a958], 3
jmp 0x462cbb
mov eax, dword [0x00c5a95c]
cmp eax, 0x21
je 0x462c99
mov eax, dword [0x00c5a95c]
cmp eax, 0x23
je 0x462c99
mov eax, dword [0x00c5a95c]
cmp eax, 0x24
je 0x462c99
mov eax, dword [0x00c5a95c]
cmp eax, 0x25
je 0x462c99
mov eax, dword [0x00c5a95c]
cmp eax, 0x26
je 0x462c99
mov eax, dword [0x00c5a95c]
cmp eax, 0x60
je 0x462c99
mov eax, dword [0x00c5a95c]
cmp eax, 0x7e
jne 0x462cb0
mov eax, dword [0x00c5a958]
cmp eax, 5
jg 0x462cb0
mov dword [0x00c5a958], 5
jmp 0x462cbb
mov eax, 3
jmp 0x462d69
nop
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
lea rdx, [rax + 1]
mov rax, qword [rbp + 0x18]
mov qword [rax], rdx
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
cmp qword [rbp + 0x20], rax
jle 0x462d05
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov rdx, rax
mov rax, qword [rbp + 0x10]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [0x00c5a95c], eax
jmp 0x46290b
nop
jmp 0x462d06
nop
jmp 0x462d06
nop
jmp 0x462d06
nop
movzx eax, byte [0x00c5a964]
test al, al
je 0x462d2e
mov rdx, qword [0x00c58020]
mov rax, qword [0x00c5a968]
sub rdx, rax
mov rax, rdx
mov qword [0x00c58020], rax
jmp 0x462d46
mov rdx, qword [0x00c58020]
mov rax, qword [0x00c5a968]
add rax, rdx
mov qword [0x00c58020], rax
movzx eax, word [0x00c57f00]
test ax, ax
jne 0x462d64
mov qword [0x00c58020], 0
mov byte [0x00c58028], 0
mov eax, 0
pop rbp
ret