Function at 0x68632a10
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov r12, qword [rsp + 0xe0]
xor r14d, r14d
mov r13d, dword [rsp + 0xd0]
mov qword [rsp + 0xc0], r8
mov r8, qword [rcx]
mov rbx, rdx
mov qword [rsp + 0xb0], rcx
mov dword [rsp + 0xc8], r9d
mov eax, dword [r12]
mov ebp, dword [rsp + 0xd8]
mov qword [rsp + 0x58], r8
cmp byte [r8], 0x28
mov dword [rsp + 0x4c], eax
je 0x68632e20
cmp qword [rbx + 0x38], r8
jbe 0x68632c1f
mov eax, dword [rsp + 0x4c]
mov r15d, 3
mov dword [rsp + 0x48], eax
lea rax, [rbx + 0x90]
mov qword [rsp + 0x40], rax
jmp 0x68632ade
cmp al, 0x5b
je 0x68632b40
test r13d, r13d
je 0x68632aaa
cmp al, 0x23
je 0x68632c60
cmp al, 0x28
nop dword [rax]
je 0x68632dd0
cmp al, 0x29
je 0x68632f34
cmp al, 0x7c
je 0x68632c30
mov rcx, qword [rsp + 0x58]
lea r8, [rcx + 1]
cmp qword [rbx + 0x38], r8
mov qword [rsp + 0x58], r8
jbe 0x68632c1f
movzx eax, byte [r8]
cmp al, 0x5c
jne 0x68632a95
lea rcx, [r8 + 1]
mov qword [rsp + 0x58], rcx
movzx eax, byte [r8 + 1]
test al, al
je 0x68632b18
cmp al, 0x51
jne 0x68632acb
nop dword [rax]
mov rax, rcx
add rcx, 1
mov qword [rsp + 0x58], rcx
movzx edx, byte [rax + 1]
test dl, dl
jne 0x68632bf0
mov rax, qword [rsp + 0xb0]
mov esi, 0xffffffff
mov qword [rax], rcx
mov eax, esi
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x58]
xor r8d, r8d
nop dword [rax + rax]
movzx edx, byte [rax + 1]
cmp dl, 0x5c
je 0x68632b78
test r8d, r8d
jne 0x68632ba0
cmp dl, 0x5e
jne 0x68632ba0
add rax, 1
mov r8b, 1
mov qword [rsp + 0x58], rax
movzx edx, byte [rax + 1]
cmp dl, 0x5c
jne 0x68632b59
cmp byte [rax + 2], 0x45
je 0x68632be2
lea rsi, [rax + 2]
lea rdi, [0x686bb174]
mov rcx, r15
repe cmpsb byte [rsi], byte [rdi]
jne 0x68632bb5
add rax, 4
mov qword [rsp + 0x58], rax
jmp 0x68632b50
cmp dl, 0x5d
jne 0x68632bb5
mov edx, dword [rbx + 0x78]
and edx, 0x2000000
cmp edx, 1
adc rax, 0
lea rcx, [rax + 1]
mov qword [rsp + 0x58], rcx
movzx edx, byte [rax + 1]
cmp dl, 0x5d
je 0x68632acb
test dl, dl
je 0x68632e5d
cmp dl, 0x5c
je 0x68632d70
mov rax, rcx
nop
jmp 0x68632bb5
add rax, 2
mov qword [rsp + 0x58], rax
jmp 0x68632b50
cmp dl, 0x5c
jne 0x68632b00
lea rcx, [rax + 2]
mov qword [rsp + 0x58], rcx
cmp byte [rax + 2], 0x45
jne 0x68632b00
lea r8, [rcx + 1]
cmp qword [rbx + 0x38], r8
mov qword [rsp + 0x58], r8
ja 0x68632ade
mov rcx, r8
jmp 0x68632b18
test r14d, r14d
je 0x68632ac6
mov eax, dword [r12]
cmp dword [rsp + 0x48], eax
cmovge eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x4c]
mov dword [r12], eax
jmp 0x68632ac6
lea rcx, [r8 + 1]
mov qword [rsp + 0x58], rcx
movzx eax, byte [r8 + 1]
jmp 0x68632c9d
mov r8, qword [rbx + 0x38]
xor r9d, r9d
cmp r8, rcx
ja 0x68632d10
test r9b, r9b
mov rdx, rcx
jne 0x68632cf0
add rcx, 1
test ebp, ebp
mov qword [rsp + 0x58], rcx
jne 0x68632d30
movzx eax, byte [rdx + 1]
test al, al
je 0x68632b18
mov edx, dword [rbx + 0x8c]
test edx, edx
jne 0x68632c70
mov r8d, dword [rbx + 0x90]
mov rdx, qword [rbx + 0x38]
movsxd r9, r8d
sub rdx, r9
xor r9d, r9d
cmp rcx, rdx
ja 0x68632c80
cmp byte [rbx + 0x94], al
jne 0x68632c80
cmp r8d, 1
je 0x68632ce2
movzx eax, byte [rbx + 0x95]
cmp byte [rcx + 1], al
jne 0x68632c80
mov r9d, 1
mov rdx, rcx
test r9b, r9b
je 0x68632c88
movsxd rax, dword [rbx + 0x90]
lea rcx, [rcx + rax - 1]
mov qword [rsp + 0x58], rcx
cmp byte [rcx], 0
jne 0x68632acb
jmp 0x68632b18
mov r9, qword [rsp + 0x40]
mov dword [rsp + 0x20], ebp
call fcn.68654520
test eax, eax
mov rcx, qword [rsp + 0x58]
setne r9b
jmp 0x68632c80
movzx eax, byte [rcx]
mov r8d, 0xffffffc0
and r8d, eax
cmp r8b, 0x80
jne 0x68632c9d
add rdx, 2
mov qword [rsp + 0x58], rdx
movzx eax, byte [rdx]
mov r8d, 0xffffffc0
mov rcx, rdx
add rdx, 1
and r8d, eax
cmp r8b, 0x80
jne 0x68632c9d
jmp 0x68632d4a
mov rdx, rax
add rax, 2
mov qword [rsp + 0x58], rax
movzx edx, byte [rdx + 2]
test dl, dl
je 0x68632f90
cmp dl, 0x51
jne 0x68632bb5
lea rcx, [rax + 1]
mov qword [rsp + 0x58], rcx
movzx edx, byte [rax + 1]
test dl, dl
je 0x68632b18
cmp dl, 0x5c
je 0x68632db0
mov rax, rcx
jmp 0x68632d91
lea rcx, [rax + 2]
mov qword [rsp + 0x58], rcx
cmp byte [rax + 2], 0x45
je 0x68632bdc
mov rax, rcx
jmp 0x68632d91
mov r9d, dword [rsp + 0xc8]
mov r8, qword [rsp + 0xc0]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], ebp
mov rdx, rbx
mov dword [rsp + 0x20], r13d
call fcn.68632a10
test eax, eax
jg 0x68632f89
mov rcx, qword [rsp + 0x58]
cmp byte [rcx], 0
jne 0x68632acb
jmp 0x68632b18
movzx eax, byte [r8 + 1]
cmp al, 0x2a
je 0x68632f55
cmp al, 0x3f
nop
je 0x68632e67
mov esi, dword [rsp + 0x4c]
add esi, 1
cmp qword [rsp + 0xc0], 0
mov dword [r12], esi
je 0x68632f77
add r8, 1
xor r14d, r14d
mov qword [rsp + 0x58], r8
jmp 0x68632a6f
mov esi, 0xffffffff
jmp 0x68632b28
movzx eax, byte [r8 + 2]
cmp al, 0x7c
je 0x68632f63
cmp al, 0x23
je 0x6863304e
lea rdx, [r8 + 2]
cmp al, 0x28
mov qword [rsp + 0x58], rdx
je 0x68632f98
movzx eax, byte [r8 + 2]
cmp al, 0x50
je 0x68633004
mov r8, rdx
cmp al, 0x3c
je 0x68632feb
xor r14d, r14d
cmp al, 0x27
jne 0x68632a6f
mov esi, dword [rsp + 0x4c]
add esi, 1
cmp qword [rsp + 0xc0], 0
mov dword [r12], esi
je 0x68633022
movzx eax, byte [r8]
lea rdx, [r8 + 1]
mov ecx, 0x3e
mov qword [rsp + 0x58], rdx
cmp eax, 0x3c
cmove eax, ecx
movzx ecx, byte [r8 + 1]
cmp ecx, eax
je 0x6863301a
add r8, 2
mov rcx, r8
mov qword [rsp + 0x58], r8
add r8, 1
movzx r9d, byte [rcx]
cmp r9d, eax
jne 0x68632ef3
cmp qword [rsp + 0xc0], 0
je 0x68632f27
movsxd r8, dword [rsp + 0xc8]
sub rcx, rdx
cmp r8, rcx
je 0x68633034
mov r8, qword [rsp + 0x58]
xor r14d, r14d
jmp 0x68632a6f
test r14d, r14d
je 0x68632f4b
mov eax, dword [rsp + 0x48]
cmp dword [r12], eax
jge 0x68632f4b
mov eax, dword [rsp + 0x48]
mov dword [r12], eax
mov rcx, qword [rsp + 0x58]
jmp 0x68632b18
add r8, 2
mov qword [rsp + 0x58], r8
jmp 0x68632a6f
add r8, 3
mov r14d, 1
mov qword [rsp + 0x58], r8
jmp 0x68632a6f
cmp esi, dword [rsp + 0xc8]
jne 0x68632e4c
jmp 0x68632b28
mov esi, eax
jmp 0x68632b28
mov rcx, rax
jmp 0x68632b18
cmp byte [r8 + 3], 0x3f
je 0x68632fe3
movzx eax, byte [r8 + 2]
cmp al, 0x29
je 0x68632fca
test al, al
je 0x68632fca
add r8, 3
jmp 0x68632fb6
test al, al
je 0x68632fca
mov qword [rsp + 0x58], r8
movzx eax, byte [r8]
mov rdx, r8
add r8, 1
cmp al, 0x29
jne 0x68632fb2
test al, al
je 0x68632f27
lea r8, [rdx + 1]
xor r14d, r14d
mov qword [rsp + 0x58], r8
jmp 0x68632a6f
mov r8, rdx
jmp 0x68632a6f
movzx eax, byte [r8 + 1]
cmp al, 0x21
je 0x68632ffc
cmp al, 0x3d
jne 0x68632eb0
xor r14d, r14d
jmp 0x68632a6f
lea rdx, [r8 + 3]
mov qword [rsp + 0x58], rdx
movzx eax, byte [r8 + 3]
mov r8, rdx
jmp 0x68632e9d
mov rcx, rdx
jmp 0x68632f08
cmp dword [rsp + 0xc8], esi
jne 0x68632eca
jmp 0x68632b28
mov rcx, qword [rsp + 0xc0]
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x68632f27
jmp 0x68632b28
lea rcx, [r8 + 3]
mov qword [rsp + 0x58], rcx
movzx eax, byte [r8 + 3]
test al, al
je 0x68632b18
cmp al, 0x29
je 0x68632b18
add r8, 4
jmp 0x6863307e
add r8, 1
cmp al, 0x29
je 0x68632b18
mov qword [rsp + 0x58], r8
movzx eax, byte [r8]
mov rcx, r8
test al, al
jne 0x68633072
jmp 0x68632b18