Function at 0x1400a348c
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
xor r11d, r11d
mov r13d, r9d
mov rdi, rdx
mov r15, rcx
test rcx, rcx
je 0x1400a389b
test rdx, rdx
je 0x1400a38a6
cmp rcx, rdx
je 0x1400a38b1
mov bl, byte [r15]
lea esi, [r11 + 1]
mov r10, rdx
mov qword [rbp - 0x10], rdx
add rdx, r13
mov dword [rbp + 0x60], r11d
mov dword [rbp - 0x20], r11d
mov ecx, r11d
mov dword [rbp - 0x1c], ecx
mov r14d, r11d
mov qword [rbp - 0x18], rdx
mov r9d, r11d
lea r12d, [r11 + 0x40]
test bl, bl
je 0x1400a3891
mov eax, esi
add r15, rax
cmp r14d, r13d
mov qword [rbp + 0x40], r15
cmove esi, r11d
cmp bl, 0x3a
jne 0x1400a35d1
test r12b, r12b
jns 0x1400a36a3
test ecx, ecx
jne 0x1400a36a3
test esi, esi
je 0x1400a35c5
mov eax, r14d
mov rcx, rdi
sub rcx, rax
mov byte [rdi], r11b
cmp rcx, r10
jb 0x1400a38dd
cmp rcx, rdx
ja 0x1400a38dd
sub rdx, rcx
inc rdx
call qword [sym.imp.msvcrt.dll__strlwr_s]
xor r11d, r11d
test eax, eax
je 0x1400a3590
cmp eax, 0xc
je 0x1400a38d2
cmp eax, 0x16
je 0x1400a38c7
cmp eax, 0x22
je 0x1400a38c7
cmp eax, 0x50
jne 0x1400a38bc
cmp r14d, 4
jne 0x1400a35c1
lea rdx, [rdi - 4]
mov r8d, r14d
lea rcx, str.file
call qword [sym.imp.msvcrt.dll_strncmp]
mov r9d, dword [rbp - 0x20]
lea ecx, [r14 - 3]
xor r11d, r11d
test eax, eax
cmove r9d, ecx
mov dword [rbp - 0x20], r9d
jmp 0x1400a35c5
mov r9d, dword [rbp - 0x20]
lea ecx, [r14 + 1]
mov dword [rbp - 0x1c], ecx
jmp 0x1400a36a3
cmp bl, 0x25
jne 0x1400a368f
test r12b, 4
je 0x1400a36a3
mov cl, byte [r15]
test cl, cl
je 0x1400a3889
mov edx, 1
lea eax, [rcx - 0x30]
add r15, rdx
cmp al, 9
ja 0x1400a3607
movzx ebx, cl
sub bx, 0x30
jmp 0x1400a362a
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x1400a3617
movzx ebx, cl
sub bx, 0x37
jmp 0x1400a362a
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x1400a3627
movzx ebx, cl
sub bx, 0x57
jmp 0x1400a362a
or ebx, 0xffffffff
shl bl, 4
test bl, bl
js 0x1400a3851
mov cl, byte [r15]
test cl, cl
je 0x1400a3889
add r15, rdx
lea eax, [rcx - 0x30]
mov qword [rbp + 0x40], r15
cmp al, 9
ja 0x1400a3657
movzx eax, cl
sub ax, 0x30
jmp 0x1400a367a
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x1400a3667
movzx eax, cl
sub ax, 0x37
jmp 0x1400a367a
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x1400a3677
movzx eax, cl
sub ax, 0x57
jmp 0x1400a367a
or eax, 0xffffffff
test al, al
js 0x1400a3851
add bl, al
je 0x1400a3851
mov ecx, dword [rbp - 0x1c]
jmp 0x1400a36a3
cmp bl, 0x3f
je 0x1400a3699
cmp bl, 0x23
jne 0x1400a36a3
test r12b, 0x20
je 0x1400a36a3
or r12d, 2
mov eax, r12d
and al, 0x82
cmp al, 0x80
jne 0x1400a36cd
cmp bl, 0x5c
jne 0x1400a36f5
test ecx, ecx
jne 0x1400a36bc
bt r12d, 8
jae 0x1400a36cd
test esi, esi
je 0x1400a36cd
test r9d, r9d
je 0x1400a36cb
cmp r14d, 7
jae 0x1400a36cd
mov bl, 0x2f
movzx ecx, bl
cmp ecx, 0x40
jg 0x1400a3747
cmp ecx, 0x3b
jge 0x1400a3769
cmp ecx, 0x2c
ja 0x1400a375e
movabs rdx, 0x187d00000000
bt rdx, rcx
jb 0x1400a3769
jmp 0x1400a375e
cmp bl, 0x2e
jne 0x1400a36cd
test r14d, r14d
je 0x1400a36cd
test r12b, 8
jne 0x1400a36cd
mov dword [rsp + 0x30], ecx
lea rax, [rbp + 0x60]
mov dword [rsp + 0x28], r12d
lea rcx, [rbp + 0x48]
lea rdx, [rdi - 1]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x40]
mov r8d, r14d
call fcn.1400a335c
mov rdi, qword [rbp + 0x48]
xor r11d, r11d
mov r15, qword [rbp + 0x40]
mov r14d, dword [rbp + 0x60]
test eax, eax
je 0x1400a36cd
lea eax, [r11 + 1]
jmp 0x1400a3828
cmp ecx, 0x5b
jl 0x1400a375e
cmp ecx, 0x5e
jle 0x1400a3769
cmp ecx, 0x60
je 0x1400a3769
lea eax, [rcx - 0x7b]
cmp eax, 2
jbe 0x1400a3769
lea eax, [rbx - 0x20]
cmp al, 0x5e
jbe 0x1400a3843
test r12b, 2
jne 0x1400a3843
test r12b, 0x10
je 0x1400a377e
cmp bl, 0x20
jne 0x1400a3794
test r12b, 8
je 0x1400a3789
cmp bl, 0x2e
je 0x1400a3794
test r12b, 0x40
jne 0x1400a37ac
cmp bl, 0x25
jne 0x1400a37ac
mov eax, 1
test esi, esi
je 0x1400a3821
mov byte [rdi], bl
add rdi, rax
mov qword [rbp + 0x48], rdi
jmp 0x1400a3821
lea eax, [r13 - 3]
cmp r14d, eax
jae 0x1400a37b9
test bl, bl
jne 0x1400a37bc
mov esi, r11d
test esi, esi
je 0x1400a3818
mov byte [rdi], 0x25
lea rdx, [rdi + 1]
cmp bl, 0x10
jae 0x1400a37d2
mov byte [rdx], 0x30
inc rdx
mov r8, qword [rbp - 0x18]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
sub r8, rdx
call qword [sym.imp.msvcrt.dll__ultoa_s]
xor r11d, r11d
test eax, eax
je 0x1400a3810
cmp eax, 0xc
je 0x1400a38fe
cmp eax, 0x16
je 0x1400a38f3
cmp eax, 0x22
je 0x1400a38f3
cmp eax, 0x50
jne 0x1400a38e8
add rdi, 3
mov qword [rbp + 0x48], rdi
add r14d, 2
mov eax, 1
add r14d, eax
mov dword [rbp + 0x60], r14d
mov bl, byte [r15]
test bl, bl
je 0x1400a3889
mov ecx, dword [rbp - 0x1c]
mov rdx, qword [rbp - 0x18]
mov r9d, dword [rbp - 0x20]
mov r10, qword [rbp - 0x10]
jmp 0x1400a350b
test esi, esi
je 0x1400a381c
mov eax, 1
jmp 0x1400a37a1
mov esi, r11d
mov r8, qword [rbp + 0x50]
test r8, r8
je 0x1400a3864
lea ecx, [r14 + 1]
mov dword [r8], ecx
mov rbx, qword [rsp + 0xb8]
lea ecx, [r14 + 1]
cmp ecx, r13d
cmova esi, r11d
mov eax, esi
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
test esi, esi
je 0x1400a3854
mov r8, qword [rbp + 0x50]
cmp r14d, r13d
jae 0x1400a3858
mov byte [rdi], r11b
jmp 0x1400a3858
mov ecx, 0x80004005
call fcn.140005300
int3
mov ecx, 0x80004005
call fcn.140005300
int3
mov ecx, 0x80004005
call fcn.140005300
int3
mov ecx, 0x80004005
call fcn.140005300
int3
mov ecx, 0x80070057
call fcn.140005300
int3
mov ecx, 0x8007000e
call fcn.140005300
int3
mov ecx, 0x80004005
call fcn.140005300
int3
mov ecx, 0x80004005
call fcn.140005300
int3
mov ecx, 0x80070057
call fcn.140005300
int3
mov ecx, 0x8007000e
call fcn.140005300
int3