Function at 0x14008802c
Capabilities:
Parse credit card information

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
xor ebx, ebx
mov rsi, rdx
mov r12, rcx
test rcx, rcx
je 0x14008842d
test rdx, rdx
je 0x14008842d
cmp rcx, rdx
je 0x14008842d
mov dil, byte [r12]
lea r15d, [rbx + 1]
mov r10, rdx
mov qword [rbp - 0x18], rdx
mov edx, r9d
lea r13d, [rbx + 0x40]
add rdx, r10
mov dword [rbp + 0x68], ebx
mov dword [rbp - 0x28], ebx
mov r14d, ebx
mov dword [rbp - 0x24], ebx
mov r11d, ebx
mov qword [rbp - 0x20], rdx
mov ecx, ebx
test dil, dil
je 0x1400883f6
inc r12
cmp r14d, r9d
mov qword [rbp + 0x48], r12
cmove r15d, ebx
cmp dil, 0x3a
jne 0x140088175
test r13b, r13b
jns 0x14008822e
test ecx, ecx
jne 0x14008822e
test r15d, r15d
je 0x140088169
mov eax, r14d
mov rcx, rsi
sub rcx, rax
mov byte [rsi], bl
cmp rcx, r10
jb 0x14008842d
cmp rcx, rdx
ja 0x14008842d
sub rdx, rcx
inc rdx
call qword [sym.imp.msvcrt.dll__strlwr_s]
nop dword [rax + rax]
test eax, eax
je 0x140088131
cmp eax, 0xc
je 0x140088443
cmp eax, 0x16
je 0x140088438
cmp eax, 0x22
je 0x140088438
cmp eax, 0x50
jne 0x14008842d
cmp r14d, 4
jne 0x140088165
lea rdx, [rsi - 4]
mov r8d, r14d
lea rcx, str.file
call qword [sym.imp.msvcrt.dll_strncmp]
nop dword [rax + rax]
mov r11d, dword [rbp - 0x28]
test eax, eax
lea eax, [r14 - 3]
cmove r11d, eax
mov dword [rbp - 0x28], r11d
jmp 0x140088169
mov r11d, dword [rbp - 0x28]
lea ecx, [r14 + 1]
mov dword [rbp - 0x24], ecx
jmp 0x14008822e
cmp dil, 0x25
jne 0x140088218
test r13b, 4
je 0x14008822e
mov dil, byte [r12]
test dil, dil
je 0x1400883f2
lea eax, [rdi - 0x30]
cmp al, 9
ja 0x1400881a3
shl dil, 4
jmp 0x1400881be
lea eax, [rdi - 0x41]
cmp al, 5
ja 0x1400881b4
shl dil, 4
sub dil, 0x70
jmp 0x1400881be
lea eax, [rdi - 0x61]
cmp al, 5
jbe 0x1400881aa
mov dil, 0xf0
test dil, dil
js 0x1400883e9
mov cl, byte [r12 + 1]
test cl, cl
je 0x1400883f2
add r12, 2
lea eax, [rcx - 0x30]
mov qword [rbp + 0x48], r12
cmp al, 9
ja 0x1400881e8
sub cl, 0x30
jmp 0x140088202
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x1400881f4
sub cl, 0x37
jmp 0x140088202
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x140088200
sub cl, 0x57
jmp 0x140088202
mov cl, 0xff
test cl, cl
js 0x1400883e9
add dil, cl
je 0x1400883e9
mov ecx, dword [rbp - 0x24]
jmp 0x14008822e
cmp dil, 0x3f
je 0x140088224
cmp dil, 0x23
jne 0x14008822e
test r13b, 0x20
je 0x14008822e
or r13d, 2
mov eax, r13d
and al, 0x82
cmp al, 0x80
jne 0x1400882a8
cmp dil, 0x5c
jne 0x14008825d
test ecx, ecx
jne 0x140088248
bt r13d, 8
jae 0x1400882a8
test r15d, r15d
je 0x1400882a8
test r11d, r11d
je 0x140088258
cmp r14d, 7
jae 0x1400882a8
mov dil, 0x2f
jmp 0x1400882a8
cmp dil, 0x2e
jne 0x1400882a8
test r14d, r14d
je 0x1400882a8
test r13b, 8
jne 0x1400882a8
mov dword [rsp + 0x30], ecx
lea rax, [rbp + 0x68]
mov dword [rsp + 0x28], r13d
lea rcx, [rbp + 0x50]
lea rdx, [rsi - 1]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x48]
mov r8d, r14d
call fcn.140087ef0
mov rsi, qword [rbp + 0x50]
mov r12, qword [rbp + 0x48]
mov r14d, dword [rbp + 0x68]
test eax, eax
jne 0x1400883b9
movzx ecx, dil
cmp ecx, 0x40
ja 0x1400882c8
cmp ecx, 0x3a
ja 0x1400882ed
movabs rdx, 0x7ffe782ffffffff
bt rdx, rcx
jae 0x1400882ed
jmp 0x1400882e2
cmp ecx, 0x5b
jb 0x1400882e2
cmp ecx, 0x5e
jbe 0x1400882ed
cmp ecx, 0x60
je 0x1400882ed
cmp ecx, 0x7a
jbe 0x1400882e2
cmp dil, 0x7d
jbe 0x1400882ed
lea eax, [rdi - 0x20]
cmp al, 0x5e
jbe 0x1400883da
test r13b, 2
jne 0x1400883da
test r13b, 0x10
je 0x140088303
cmp dil, 0x20
jne 0x14008831b
test r13b, 8
je 0x14008830f
cmp dil, 0x2e
je 0x14008831b
test r13b, 0x40
jne 0x140088335
cmp dil, 0x25
jne 0x140088335
mov eax, 1
test r15d, r15d
je 0x1400883b2
mov byte [rsi], dil
add rsi, rax
mov qword [rbp + 0x50], rsi
jmp 0x1400883b2
mov eax, dword [rbp + 0x60]
add eax, 0xfffffffd
cmp r14d, eax
jae 0x140088345
test dil, dil
jne 0x140088348
mov r15d, ebx
test r15d, r15d
je 0x1400883a9
mov byte [rsi], 0x25
lea rdx, [rsi + 1]
cmp dil, 0x10
jae 0x140088360
mov byte [rdx], 0x30
inc rdx
mov r8, qword [rbp - 0x20]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
sub r8, rdx
call qword [sym.imp.msvcrt.dll__ultoa_s]
nop dword [rax + rax]
test eax, eax
je 0x1400883a1
cmp eax, 0xc
je 0x140088443
cmp eax, 0x16
je 0x140088438
cmp eax, 0x22
je 0x140088438
cmp eax, 0x50
jne 0x14008842d
add rsi, 3
mov qword [rbp + 0x50], rsi
add r14d, 2
mov eax, 1
add r14d, eax
mov dword [rbp + 0x68], r14d
mov dil, byte [r12]
mov r9d, dword [rbp + 0x60]
test dil, dil
je 0x1400883f2
mov ecx, dword [rbp - 0x24]
mov rdx, qword [rbp - 0x20]
mov r10, qword [rbp - 0x18]
mov r11d, dword [rbp - 0x28]
jmp 0x1400880a8
test r15d, r15d
je 0x1400883ad
mov eax, 1
jmp 0x140088329
mov r8, qword [rbp + 0x58]
mov r15d, ebx
jmp 0x140088402
mov r8, qword [rbp + 0x58]
test r15d, r15d
je 0x140088402
cmp r14d, r9d
jae 0x140088402
mov byte [rsi], bl
test r8, r8
je 0x14008840e
lea ecx, [r14 + 1]
mov dword [r8], ecx
lea ecx, [r14 + 1]
cmp ecx, r9d
cmovbe ebx, r15d
mov eax, ebx
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.140005068
int3
mov ecx, 0x80070057
call fcn.140005068
int3
mov ecx, 0x8007000e
call fcn.140005068
int3