Function at 0x6c0440
Capabilities:
Parse credit card information

Disassembly:
lea r12, [rsp - 0x30]
cmp r12, qword [r14 + 0x10]
jbe 0x6c0ab1
sub rsp, 0xb0
mov qword [rsp + 0xa8], rbp
lea rbp, [rsp + 0xa8]
mov qword [rsp + 0xb8], rax
mov rdx, qword [rdi]
test rdx, rdx
je 0x6c0485
cmp rdi, rdx
je 0x6c049b
nop dword [rax + rax]
jmp 0x6c0a9d
cmp dword [0x00b217f0], 0
jne 0x6c0493
mov qword [rdi], rdi
jmp 0x6c049b
mov rdx, rdi
call fcn.00466900
lea rdx, [rbx + 0x10]
nop
test rdx, rdx
jl 0x6c0a8a
mov byte [rsp + 0xc8], cl
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xd0], rdi
lea r8, [rdi + 8]
mov qword [rsp + 0x90], r8
mov r9, qword [rdi + 0x10]
mov r10, qword [rdi + 0x18]
mov r11, r10
sub r10, r9
cmp r10, rdx
jge 0x6c05b2
mov qword [rsp + 0x48], r9
nop
lea rcx, [rbx + r11*2]
lea rcx, [rcx + 0x10]
mov qword [rsp + 0x50], rcx
lea rax, [0x0070a420]
mov rbx, r9
call fcn.0044b460
mov rdi, qword [rsp + 0xd0]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rsp + 0x48]
cmp rdx, rcx
mov rsi, rcx
cmovl rcx, rdx
mov rbx, qword [rdi + 8]
cmp rax, rbx
je 0x6c0553
mov qword [rsp + 0x88], rax
call fcn.00467660
mov rax, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0xd0]
mov qword [rdi + 0x10], rsi
mov rdx, qword [rsp + 0x50]
mov qword [rdi + 0x18], rdx
cmp dword [0x00b217f0], 0
jne 0x6c057a
mov qword [rdi + 8], rax
mov rcx, rdi
mov rdi, qword [rsp + 0x90]
jmp 0x6c058a
mov rcx, rdi
mov rdi, qword [rsp + 0x90]
call fcn.004667e0
mov rax, qword [rsp + 0xb8]
movzx ecx, byte [rsp + 0xc8]
mov rbx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x90]
xor edx, edx
xor esi, esi
jmp 0x6c05c0
inc rdx
nop dword [rax + rax]
cmp rbx, rdx
jle 0x6c0920
movzx r9d, byte [rax + rdx]
cmp r9b, 0x2f
ja 0x6c06e0
nop dword [rax + rax]
cmp r9b, 0x25
ja 0x6c06af
cmp r9b, 0x21
je 0x6c0712
lea r10d, [r9 - 0x23]
nop dword [rax + rax]
cmp r10b, 1
jbe 0x6c0712
cmp r9b, 0x25
jne 0x6c0734
test cl, cl
je 0x6c076a
lea r10, [rdx + 2]
cmp rbx, r10
jle 0x6c076a
lea r11, [rdx + 1]
cmp rbx, r11
jbe 0x6c0a7f
movzx r11d, byte [rdx + rax + 1]
lea r12d, [r11 - 0x30]
cmp r12b, 9
ja 0x6c064b
cmp rbx, r10
jmp 0x6c066d
lea r12d, [r11 - 0x61]
cmp r12b, 5
ja 0x6c065a
cmp rbx, r10
jmp 0x6c066d
add r11d, 0xffffffbf
nop
cmp r11b, 5
ja 0x6c076a
cmp rbx, r10
jbe 0x6c0a74
movzx r10d, byte [rdx + rax + 2]
lea r11d, [r10 - 0x30]
nop dword [rax]
cmp r11b, 9
jbe 0x6c05b8
lea r11d, [r10 - 0x61]
cmp r11b, 5
jbe 0x6c05b8
add r10d, 0xffffffbf
nop dword [rax]
cmp r10b, 5
jbe 0x6c05b8
jmp 0x6c076a
cmp r9b, 0x2c
ja 0x6c06c8
cmp r9b, 0x26
je 0x6c0712
nop dword [rax + rax]
cmp r9b, 0x2a
jae 0x6c0712
jmp 0x6c0734
cmp r9b, 0x2e
jbe 0x6c05b8
cmp r9b, 0x2f
je 0x6c0712
jmp 0x6c0734
cmp r9b, 0x40
ja 0x6c0700
lea r10d, [r9 - 0x3a]
cmp r10b, 1
jbe 0x6c0712
cmp r9b, 0x3d
je 0x6c0712
cmp r9b, 0x3f
jae 0x6c0712
jmp 0x6c0734
cmp r9b, 0x5d
ja 0x6c0720
cmp r9b, 0x5b
je 0x6c0712
cmp r9b, 0x5d
jne 0x6c0734
test cl, cl
jne 0x6c05b8
jmp 0x6c076a
cmp r9b, 0x5f
je 0x6c05b8
cmp r9b, 0x7e
je 0x6c05b8
lea r10d, [r9 - 0x61]
nop dword [rax + rax]
cmp r10b, 0x19
jbe 0x6c05b8
lea r10d, [r9 - 0x41]
cmp r10b, 0x19
jbe 0x6c05b8
lea r10d, [r9 - 0x30]
nop dword [rax]
cmp r10b, 9
jbe 0x6c05b8
cmp rsi, rdx
ja 0x6c0a69
mov r10, rdx
sub rdx, rsi
mov r11, rdx
neg rdx
sar rdx, 0x3f
and rsi, rdx
lea rdx, [rax + rsi]
nop
mov r12, qword [rdi]
test r12, r12
je 0x6c079d
cmp rdi, r12
je 0x6c07b9
jmp 0x6c0a56
cmp dword [0x00b217f0], 0
jne 0x6c07ab
mov qword [rdi], rdi
jmp 0x6c07b9
mov rsi, r8
mov r8, rdi
call fcn.00466960
mov r8, rsi
mov qword [rsp + 0x68], r10
mov byte [rsp + 0x3f], r9b
mov r12, qword [rdi + 0x10]
lea r13, [r11 + r12]
mov r15, qword [rdi + 0x18]
mov r10, qword [rdi + 8]
cmp r15, r13
jae 0x6c0817
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x78], rdx
mov rax, r10
mov rbx, r13
mov rcx, r15
mov rdi, r11
lea rsi, [0x0070a420]
call fcn.0044b540
mov rdx, qword [rsp + 0x78]
mov r11, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov r10, rax
mov r13, rbx
mov r15, rcx
mov qword [rsp + 0x80], r10
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], r15
lea rax, [r10 + r12]
mov rbx, rdx
mov rcx, r11
call fcn.00467660
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0xd0]
mov qword [rbx + 0x10], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rbx + 0x18], rdx
cmp dword [0x00b217f0], 0
jne 0x6c0869
mov rdx, qword [rsp + 0x80]
mov qword [rbx + 8], rdx
jmp 0x6c087e
mov rdi, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x80]
call fcn.00466900
movups xmmword [rsp + 0x98], xmm15
lea rdx, [0x0070a420]
mov qword [rsp + 0x98], rdx
movzx r10d, byte [rsp + 0x3f]
lea r11, [0x00a00a20]
lea r10, [r11 + r10*8]
mov qword [rsp + 0xa0], r10
lea rax, [0x00809f40]
lea rcx, [0x0077047d]
mov edi, 6
lea rsi, [rsp + 0x98]
mov r8d, 1
mov r9, r8
call fcn.00505040
mov rsi, qword [rsp + 0x68]
lea rdx, [rsi + 1]
mov rax, qword [rsp + 0xb8]
movzx ecx, byte [rsp + 0xc8]
mov rbx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x90]
mov r9, rdx
mov rdx, rsi
mov rsi, r9
jmp 0x6c05b8
cmp rbx, rsi
jb 0x6c0a4b
sub rbx, rsi
mov rcx, rbx
neg rbx
sar rbx, 0x3f
and rbx, rsi
add rbx, rax
nop
mov rdx, qword [rdi]
test rdx, rdx
je 0x6c094f
cmp rdi, rdx
je 0x6c0965
jmp 0x6c0a38
cmp dword [0x00b217f0], 0
jne 0x6c095d
mov qword [rdi], rdi
jmp 0x6c0965
mov rdx, rdi
call fcn.00466900
mov qword [rsp + 0x40], rsi
mov rdx, qword [rdi + 0x10]
lea r9, [rcx + rdx]
mov r10, qword [rdi + 0x18]
mov rax, qword [rdi + 8]
cmp r10, r9
jae 0x6c09ba
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x70], rbx
mov rbx, r9
mov rdi, rcx
lea rsi, [0x0070a420]
mov rcx, r10
nop
call fcn.0044b540
mov rdx, qword [rsp + 0x68]
mov r9, rbx
mov r10, rcx
mov rcx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x80], rax
add rdx, rax
mov rax, rdx
call fcn.00467660
mov rdx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0xd0]
mov qword [rsi + 0x10], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsi + 0x18], rdx
cmp dword [0x00b217f0], 0
jne 0x6c0a08
mov rcx, qword [rsp + 0x80]
mov qword [rsi + 8], rcx
jmp 0x6c0a1d
mov rdi, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
call fcn.004668e0
mov rcx, qword [rsp + 0x40]
test rcx, rcx
setne al
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
lea rax, [0x0070a1e0]
lea rbx, [0x008092a0]
call fcn.00437040
mov rax, rsi
mov rcx, rbx
call fcn.00466d40
lea rax, [0x0070a1e0]
lea rbx, [0x008092a0]
call fcn.00437040
mov rax, rsi
mov rcx, rdx
call fcn.00466d40
mov rax, r10
mov rcx, rbx
call fcn.00466c80
mov rax, r11
mov rcx, rbx
call fcn.00466c80
lea rax, [0x0070a1e0]
lea rbx, [0x00809350]
call fcn.00437040
lea rax, [0x0070a1e0]
lea rbx, [0x008092a0]
call fcn.00437040
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], cl
mov qword [rsp + 0x20], rdi
call fcn.00464620
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, byte [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
nop dword [rax]
jmp fcn.006c0440