Function at 0x14004c3e0
Capabilities:
Parse credit card information

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0x98
mov rax, qword [0x14017b278]
xor rax, rsp
mov qword [rbp - 1], rax
xor ebx, ebx
mov qword [rbp - 0x19], r8
mov dword [rbp - 0x39], r9d
mov r8, rdx
mov qword [rbp - 0x21], rdx
mov r15, rdx
mov qword [rbp - 0x11], rdx
test rcx, rcx
je 0x14004c7f8
test rdx, rdx
je 0x14004c7f8
cmp rcx, rdx
je 0x14004c7f8
mov dil, byte [rcx]
lea r14d, [rbx + 1]
mov r11d, r9d
lea r12, [rcx + 1]
add r11, rdx
mov dword [rbp - 0x41], ebx
mov dword [rbp - 0x3d], ebx
mov esi, ebx
mov dword [rbp - 0x31], ebx
mov r10d, ebx
mov qword [rbp - 0x29], r11
lea r13d, [r14 + 0x7f]
mov qword [rbp - 9], r12
test dil, dil
je 0x14004c7a6
mov rdx, r12
cmp esi, r9d
cmove r14d, ebx
cmp dil, 0x3a
jne 0x14004c51f
test r13b, r13b
jns 0x14004c5e9
test r10d, r10d
jne 0x14004c5e9
test r14d, r14d
je 0x14004c512
mov eax, esi
mov rcx, r15
sub rcx, rax
mov byte [r15], bl
cmp rcx, r8
jb 0x14004c7f8
cmp rcx, r11
ja 0x14004c7f8
mov rdx, r11
sub rdx, rcx
inc rdx
call fcn.1400e05e8
test eax, eax
je 0x14004c4ec
cmp eax, 0xc
je 0x14004c7ed
cmp eax, 0x16
je 0x14004c803
cmp eax, 0x22
je 0x14004c803
cmp eax, 0x50
jne 0x14004c7f8
cmp esi, 4
jne 0x14004c512
lea rdx, [r15 - 4]
mov r8d, esi
lea rcx, str.file
call fcn.1400b9f60
mov ecx, dword [rbp - 0x3d]
test eax, eax
lea eax, [rsi - 3]
cmove ecx, eax
mov dword [rbp - 0x3d], ecx
lea r10d, [rsi + 1]
mov dword [rbp - 0x31], r10d
jmp 0x14004c5e9
cmp dil, 0x25
jne 0x14004c5d3
test r13b, 4
je 0x14004c5e9
cmp byte [r12], bl
je 0x14004c7a6
mov al, byte [r12]
sub al, 0x30
cmp al, 9
ja 0x14004c552
movzx edi, byte [r12]
sub di, 0x30
jmp 0x14004c57e
mov al, byte [r12]
sub al, 0x41
cmp al, 5
ja 0x14004c567
movzx edi, byte [r12]
sub di, 0x37
jmp 0x14004c57e
mov al, byte [r12]
sub al, 0x61
cmp al, 5
ja 0x14004c7a1
movzx edi, byte [r12]
sub di, 0x57
test di, di
js 0x14004c7a1
movzx ecx, byte [rdx + 1]
shl dil, 4
test cl, cl
je 0x14004c7a6
lea eax, [rcx - 0x30]
lea r12, [rdx + 2]
mov qword [rbp - 9], r12
cmp al, 9
ja 0x14004c5ab
lea eax, [rcx - 0x30]
jmp 0x14004c5c5
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x14004c5b7
lea eax, [rcx - 0x37]
jmp 0x14004c5c5
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x14004c7a1
lea eax, [rcx - 0x57]
test ax, ax
js 0x14004c7a1
add dil, al
jmp 0x14004c5e9
cmp dil, 0x3f
je 0x14004c5df
cmp dil, 0x23
jne 0x14004c5e9
test r13b, 0x20
je 0x14004c5e9
or r13d, 2
mov eax, r13d
and al, 0x82
cmp al, 0x80
jne 0x14004c662
cmp dil, 0x5c
jne 0x14004c618
test r10d, r10d
jne 0x14004c604
bt r13d, 8
jae 0x14004c662
test r14d, r14d
je 0x14004c662
cmp dword [rbp - 0x3d], ebx
je 0x14004c613
cmp esi, 7
jae 0x14004c662
mov dil, 0x2f
jmp 0x14004c662
cmp dil, 0x2e
jne 0x14004c662
test esi, esi
je 0x14004c662
test r13b, 8
jne 0x14004c662
mov dword [rsp + 0x30], r10d
lea rax, [rbp - 0x41]
mov dword [rsp + 0x28], r13d
lea rdx, [r15 - 1]
lea r9, [rbp - 9]
mov qword [rsp + 0x20], rax
mov r8d, esi
lea rcx, [rbp - 0x11]
call fcn.14004c2ac
mov esi, dword [rbp - 0x41]
mov r12, qword [rbp - 9]
mov r15, qword [rbp - 0x11]
test eax, eax
jne 0x14004c768
movzx ecx, dil
cmp ecx, 0x40
ja 0x14004c682
cmp ecx, 0x3a
ja 0x14004c6a7
movabs rdx, 0x7ffe782ffffffff
bt rdx, rcx
jae 0x14004c6a7
jmp 0x14004c69c
cmp ecx, 0x5b
jb 0x14004c69c
cmp ecx, 0x5e
jbe 0x14004c6a7
cmp ecx, 0x60
je 0x14004c6a7
cmp ecx, 0x7a
jbe 0x14004c69c
cmp dil, 0x7d
jbe 0x14004c6a7
lea eax, [rdi - 0x20]
cmp al, 0x5e
jbe 0x14004c792
test r13b, 2
jne 0x14004c792
test r13b, 0x10
je 0x14004c6bd
cmp dil, 0x20
jne 0x14004c6d5
test r13b, 8
je 0x14004c6c9
cmp dil, 0x2e
je 0x14004c6d5
test r13b, 0x40
jne 0x14004c6ef
cmp dil, 0x25
jne 0x14004c6ef
mov eax, 1
test r14d, r14d
je 0x14004c763
mov byte [r15], dil
add r15, rax
mov qword [rbp - 0x11], r15
jmp 0x14004c763
mov eax, dword [rbp - 0x39]
add eax, 0xfffffffd
cmp esi, eax
jb 0x14004c6fe
mov r14d, ebx
jmp 0x14004c75b
mov eax, r14d
test eax, eax
je 0x14004c75b
mov byte [r15], 0x25
lea rdx, [r15 + 1]
cmp dil, 0x10
jae 0x14004c719
mov byte [rdx], 0x30
inc rdx
mov r8, qword [rbp - 0x29]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
sub r8, rdx
call fcn.1400ac4e8
test eax, eax
je 0x14004c753
cmp eax, 0xc
je 0x14004c7ed
cmp eax, 0x16
je 0x14004c803
cmp eax, 0x22
je 0x14004c803
cmp eax, 0x50
jne 0x14004c7f8
add r15, 3
mov qword [rbp - 0x11], r15
add esi, 2
mov eax, 1
add esi, eax
mov dword [rbp - 0x41], esi
mov al, byte [r12]
inc r12
mov r9d, dword [rbp - 0x39]
mov rdx, r12
mov qword [rbp - 9], r12
mov dil, al
test al, al
je 0x14004c7a6
mov r8, qword [rbp - 0x21]
mov r10d, dword [rbp - 0x31]
mov r11, qword [rbp - 0x29]
jmp 0x14004c471
test r14d, r14d
je 0x14004c75e
mov eax, 1
jmp 0x14004c6e3
mov r14d, ebx
jmp 0x14004c7b3
test r14d, r14d
je 0x14004c7b3
cmp esi, r9d
jae 0x14004c7b3
mov byte [r15], bl
mov rax, qword [rbp - 0x19]
test rax, rax
je 0x14004c7c1
lea ecx, [rsi + 1]
mov dword [rax], ecx
lea ecx, [rsi + 1]
cmp ecx, r9d
cmovbe ebx, r14d
mov eax, ebx
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.140086e90
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x8007000e
call fcn.1400268b0
int3
mov ecx, 0x80004005
call fcn.1400268b0
int3
mov ecx, 0x80070057
call fcn.1400268b0
int3