Function at 0x14002c0e0
Capabilities:
Parse credit card information

Disassembly:
mov rax, qword [rcx + 0xb8]
cmp qword [rcx + 0xb0], rax
je 0x14002c118
mov eax, dword [rcx + 0x88]
test eax, eax
je 0x14002c108
cmp eax, 2
je 0x14002c110
cmp eax, 1
je 0x14002c128
ret
jmp 0x1400d1680
jmp 0x14009adc0
mov dword [rcx + 0x90], 0x1b
ret
jmp 0x140094390
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [rcx + 0xb0]
cmp rax, qword [rcx + 0xb8]
je 0x140094591
lea rdx, [rax + 2]
mov rbx, rcx
movzx edi, word [rax]
mov qword [rcx + 0xb0], rdx
mov rcx, qword [rcx + 0xc0]
mov edx, 8
mov r8d, edi
mov rax, qword [rcx]
call qword [rax + 0x10]
test al, al
jne 0x140094470
cmp di, 0x2c
je 0x140094450
test dword [rbx + 0x8c], 0x120
je 0x140094560
cmp di, 0x5c
jne 0x140094587
mov rax, qword [rbx + 0xb0]
cmp rax, qword [rbx + 0xb8]
je 0x140094587
cmp word [rax], 0x7d
jne 0x140094587
mov dword [rbx + 0x88], 0
add rax, 2
mov dword [rbx + 0x90], 0xd
mov qword [rbx + 0xb0], rax
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov dword [rbx + 0x90], 0x19
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov dword [rbx + 0x90], 0x1a
mov rdx, qword [rbx + 0xd0]
lea rbp, [rbx + 0xc8]
mov r8d, edi
mov rcx, rbp
call fcn.1400a5280
mov rax, qword [rbx + 0xb0]
cmp qword [rbx + 0xb8], rax
je 0x14009443b
lea rdi, [rbx + 0xd8]
jmp 0x1400944d0
xor ecx, ecx
mov word [rdx + rsi*2], r13w
mov qword [rbx + 0xd0], r12
mov word [rdx + rsi*2 + 2], cx
cmp rax, qword [rbx + 0xb8]
je 0x14009443b
mov rcx, qword [rbx + 0xc0]
movzx r8d, word [rax]
mov edx, 8
mov r9, qword [rcx]
call qword [r9 + 0x10]
test al, al
je 0x14009443b
mov rdx, qword [rbx + 0xb0]
mov rsi, qword [rbx + 0xd0]
lea rax, [rdx + 2]
movzx r13d, word [rdx]
mov rdx, qword [rbx + 0xc8]
lea r12, [rsi + 1]
mov qword [rbx + 0xb0], rax
cmp rdx, rdi
je 0x140094558
mov rcx, qword [rbx + 0xd8]
cmp rcx, r12
jae 0x1400944b0
mov rdx, rsi
xor r9d, r9d
xor r8d, r8d
mov rcx, rbp
mov qword [rsp + 0x20], 1
call fcn.14000d7e0
mov rax, qword [rbx + 0xb0]
mov rdx, qword [rbx + 0xc8]
jmp 0x1400944b0
mov ecx, 7
jmp 0x140094523
cmp di, 0x7d
jne 0x140094587
mov dword [rbx + 0x88], 0
mov dword [rbx + 0x90], 0xd
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov ecx, 7
call fcn.14005cd00
mov ecx, 6
call fcn.14005cd00
nop
nop
nop
nop
nop
mov rax, rcx
ret
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0xb0]
mov rdx, qword [rcx + 0xb8]
cmp rax, rdx
je 0x14009afa7
movzx r8d, word [rax]
mov rbx, rcx
lea rcx, [rax + 2]
mov qword [rbx + 0xb0], rcx
cmp r8w, 0x2d
je 0x14009aee8
cmp r8w, 0x5b
je 0x14009ae50
cmp r8w, 0x5d
je 0x14009aea0
cmp r8w, 0x5c
jne 0x14009aeb8
test byte [rbx + 0x8c], 0x90
je 0x14009aeb8
mov rcx, qword [rbx + 0xf0]
mov rax, qword [rbx + 0xe8]
add rcx, rbx
test al, 1
je 0x14009ae40
mov rdx, qword [rcx]
mov rax, qword [rdx + rax - 1]
call rax
mov byte [rbx + 0xa8], 0
add rsp, 0x20
pop rbx
ret
cmp rdx, rcx
je 0x14009afb1
movzx edx, word [rax + 2]
cmp dx, 0x2e
je 0x14009af28
cmp dx, 0x3a
je 0x14009af80
cmp dx, 0x3d
je 0x14009af50
mov dword [rbx + 0x90], 1
mov rdx, qword [rbx + 0xd0]
lea rcx, [rbx + 0xc8]
mov r8d, 0x5b
call fcn.1400a5280
jmp 0x14009aed5
test byte [rbx + 0x8c], 0x10
jne 0x14009af00
cmp byte [rbx + 0xa8], 0
je 0x14009af00
nop word [rax + rax]
mov rdx, qword [rbx + 0xd0]
lea rcx, [rbx + 0xc8]
mov dword [rbx + 0x90], 1
call fcn.1400a5280
mov byte [rbx + 0xa8], 0
add rsp, 0x20
pop rbx
ret
mov dword [rbx + 0x90], 0x1c
mov byte [rbx + 0xa8], 0
add rsp, 0x20
pop rbx
ret
mov dword [rbx + 0x90], 0xb
mov dword [rbx + 0x88], 0
mov byte [rbx + 0xa8], 0
add rsp, 0x20
pop rbx
ret
add rax, 4
mov edx, 0x2e
mov rcx, rbx
mov dword [rbx + 0x90], 0x10
mov qword [rbx + 0xb0], rax
call fcn.1400a9ab0
jmp 0x14009aed5
add rax, 4
mov edx, 0x3d
mov rcx, rbx
mov dword [rbx + 0x90], 0x11
mov qword [rbx + 0xb0], rax
call fcn.1400a9ab0
jmp 0x14009aed5
add rax, 4
mov edx, 0x3a
mov rcx, rbx
mov dword [rbx + 0x90], 0xf
mov qword [rbx + 0xb0], rax
call fcn.1400a9ab0
jmp 0x14009aed5
mov ecx, 4
call fcn.14005cd00
call sub.msvcrt.dll_abort
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push rbx
sub rsp, 0x20
lea rax, [0x14009afcd]
mov rbx, rcx
mov qword [rcx], rax
test dl, 1
je 0x14009afdd
call 0x14009afdd
mov rax, rbx
add rsp, 0x20
pop rbx
ret
push rdi
mov r8d, 0x20
push rsi
push rbx
mov rbx, rcx
sub rsp, 0x20
mov rax, qword [rcx + 0xb0]
lea rdx, [rax + 2]
movzx edi, word [rax]
mov qword [rcx + 0xb0], rdx
mov rcx, qword [rcx + 0xc0]
mov edx, edi
mov rax, qword [rcx]
call qword [rax + 0x60]
mov rcx, qword [rbx + 0xa0]
movsx edx, al
call sub.msvcrt.dll_strchr
test rax, rax
je 0x1400d18f8
mov esi, edi
cmp di, 0x5c
je 0x1400d1780
cmp di, 0x28
je 0x1400d1750
cmp di, 0x29
je 0x1400d18e0
cmp di, 0x5b
je 0x1400d1870
cmp di, 0x7b
je 0x1400d17d8
test di, di
je 0x1400d1960
and esi, 0xffffffdf
cmp si, 0x5d
je 0x1400d18f8
mov rcx, qword [rbx + 0xc0]
mov edx, edi
xor r8d, r8d
mov rsi, rbx
mov rax, qword [rcx]
call qword [rax + 0x60]
movzx edx, byte [rbx]
test dl, dl
jne 0x1400d173c
jmp 0x1400d176f
movzx edx, byte [rsi + 8]
add rsi, 8
test dl, dl
je 0x1400d176f
cmp dl, al
jne 0x1400d1730
mov eax, dword [rsi + 4]
mov dword [rbx + 0x90], eax
jmp 0x1400d176f
mov eax, dword [rbx + 0x8c]
test al, 0x10
jne 0x1400d17f0
test al, 2
setne al
movzx eax, al
add eax, 5
mov dword [rbx + 0x90], eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov rdx, qword [rbx + 0xb0]
cmp rdx, qword [rbx + 0xb8]
je 0x1400d19c8
mov eax, dword [rbx + 0x8c]
test eax, 0x120
je 0x1400d18b0
movzx ecx, word [rdx]
lea r8d, [rcx - 0x28]
cmp r8w, 1
jbe 0x1400d17bd
cmp cx, 0x7b
jne 0x1400d18b0
add rdx, 2
mov qword [rbx + 0xb0], rdx
cmp cx, 0x28
je 0x1400d1756
cmp cx, 0x29
je 0x1400d18e0
mov dword [rbx + 0x88], 1
mov dword [rbx + 0x90], 0xc
jmp 0x1400d176f
mov rdx, qword [rbx + 0xb0]
cmp word [rdx], 0x3f
jne 0x1400d175e
lea rax, [rdx + 2]
mov qword [rbx + 0xb0], rax
cmp rax, qword [rbx + 0xb8]
je 0x1400d19be
movzx eax, word [rdx + 2]
cmp ax, 0x3a
je 0x1400d1940
cmp ax, 0x3d
je 0x1400d1986
cmp ax, 0x21
jne 0x1400d19c8
add rdx, 4
lea rcx, [rbx + 0xc8]
mov dword [rbx + 0x90], 7
mov r8d, 0x6e
mov qword [rbx + 0xb0], rdx
mov rdx, qword [rbx + 0xd0]
jmp 0x1400d1913
mov byte [rbx + 0xa8], 1
mov rax, qword [rbx + 0xb0]
mov dword [rbx + 0x88], 2
cmp rax, qword [rbx + 0xb8]
je 0x1400d189b
cmp word [rax], 0x5e
je 0x1400d1920
mov dword [rbx + 0x90], 9
jmp 0x1400d176f
mov rax, qword [rbx + 0xe8]
add rbx, qword [rbx + 0xf0]
mov rcx, rbx
test al, 1
je 0x1400d18cd
mov rdx, qword [rbx]
mov rax, qword [rdx + rax - 1]
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp rax
mov dword [rbx + 0x90], 8
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov dword [rbx + 0x90], 1
mov rdx, qword [rbx + 0xd0]
lea rcx, [rbx + 0xc8]
mov r8d, edi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp fcn.1400a5280
mov dword [rbx + 0x90], 0xa
add rax, 2
mov qword [rbx + 0xb0], rax
jmp 0x1400d176f
mov dword [rbx + 0x90], 6
add rdx, 4
mov qword [rbx + 0xb0], rdx
jmp 0x1400d176f
test byte [rbx + 0x8c], 0x10
je 0x1400d19b4
mov dword [rbx + 0x90], 1
mov rdx, qword [rbx + 0xd0]
lea rcx, [rbx + 0xc8]
xor r8d, r8d
jmp 0x1400d1913
add rdx, 4
lea rcx, [rbx + 0xc8]
mov dword [rbx + 0x90], 7
mov r8d, 0x70
mov qword [rbx + 0xb0], rdx
mov rdx, qword [rbx + 0xd0]
jmp 0x1400d1913
mov ecx, 0xd
call fcn.14005cd00
mov ecx, 5
call fcn.14005cd00
call sub.msvcrt.dll_abort
nop
nop
nop
push rbx
sub rsp, 0x20
lea rax, [0x14015d780]
mov qword [rcx], rax
mov rbx, rcx
call fcn.14004b6b0
mov rcx, rbx
add rsp, 0x20
pop rbx
jmp fcn.1400f5f20