Function at 0x1400da8b0
Capabilities:
Parse credit card information

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x238
lea rbp, [rsp + 0x80]
mov rdi, qword [0x140235650]
mov rax, qword [rdi]
mov qword [rbp + 0x1a8], rax
xor eax, eax
cmp byte [rcx], 0x5f
mov qword [rbp - 0x58], r8
mov rbx, rcx
mov r15, rdx
je 0x1400dacff
mov r8d, 8
lea rdx, str._GLOBAL_
mov rcx, rbx
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x1400dac44
xor r11d, r11d
xor r13d, r13d
shl r11d, 0x1f
lea rax, [rbx + 1]
mov qword [rbp - 0x60], r15
lea edi, [r13 - 2]
sar r11d, 0x1f
mov qword [rbp - 0x50], rax
lea rax, [rbp - 0x30]
add r11d, 0x47
mov dword [rbp + 0x24], 1
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x44], r11d
jmp 0x1400daa0b
cmp edi, 1
ja 0x1400dabfe
lea r12, [rbx + 0xb]
cmp byte [rbx + 0xb], 0x5f
mov qword [rbp - 0x18], r12
jne 0x1400da971
cmp byte [rbx + 0xc], 0x5a
je 0x1400dac16
mov rcx, r12
mov qword [rbp - 0x40], r8
call sub.msvcrt.dll_strlen
test r15d, r15d
je 0x1400dacbf
test eax, eax
mov dword [rbp - 8], 1
mov r8, qword [rbp - 0x40]
mov qword [r14*8 + 4], 0
jle 0x1400dacbf
mov dword [r14*8], 0
mov qword [r14*8 + 0x10], r12
mov dword [r14*8 + 0x18], eax
mov r14, qword [rbp - 0x38]
mov edx, dword [rbp - 0x44]
xor r9d, r9d
mov rcx, r14
call fcn.1400cfdc0
mov rcx, r12
mov r15, rax
call sub.msvcrt.dll_strlen
lea r11, [r12 + rax]
mov qword [rbp - 0x18], r11
movzx eax, byte [r11]
test al, al
jne 0x1400da9f7
test r15, r15
jne 0x1400dad17
cmp dword [rbp + 0x24], 0xffffffff
jne 0x1400dacf8
mov dword [rbp + 0x24], 0
mov rsp, rsi
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov qword [rbp - 0x30], rbx
mov rcx, rax
lea rax, [rbx + rax]
mov dword [rbp - 0x20], 0x11
lea r15d, [rcx + rcx]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x18], rbx
mov dword [rbp - 4], r15d
mov dword [rbp - 8], 0
mov dword [rbp + 0xc], ecx
mov dword [rbp + 8], 0
mov qword [rbp + 0x10], 0
mov qword [rbp + 0x18], 0
mov dword [rbp + 0x20], 0
mov dword [rbp + 0x28], 0
cmp r15d, 0x800
ja 0x1400daccb
mov eax, r15d
mov rsi, rsp
shl rax, 5
call fcn.1400db950
sub rsp, rax
movsxd rcx, ecx
lea r8, [rsp + 0x27]
lea rax, [rcx*8 + 0xf]
mov r14, r8
and rax, 0xfffffffffffffff0
and r8, 0xfffffffffffffff8
shr r14, 3
call fcn.1400db950
sub rsp, rax
mov qword [rbp - 0x10], r8
lea rax, [rsp + 0x20]
mov qword [rbp], rax
cmp r13d, 1
jne 0x1400da950
cmp byte [rbx], 0x5f
jne 0x1400da9f7
mov rax, qword [rbp - 0x50]
cmp byte [rbx + 1], 0x5a
mov qword [rbp - 0x18], rax
jne 0x1400da9f7
lea rax, [rbx + 2]
lea r14, [rbp - 0x30]
mov qword [rbp - 0x18], rax
movzx eax, byte [rbx + 2]
cmp al, 0x47
je 0x1400dacaf
cmp al, 0x54
je 0x1400dacaf
mov edx, 1
mov rcx, r14
call fcn.1400d41c0
mov r15, rax
mov rdx, qword [rbp - 0x18]
movzx eax, byte [rdx]
test byte [rbp - 0x20], 1
je 0x1400da9ea
cmp al, 0x2e
jne 0x1400da9ea
nop dword [rax]
movzx eax, byte [rdx + 1]
lea ecx, [rax - 0x61]
cmp cl, 0x19
jbe 0x1400dab43
cmp al, 0x5f
je 0x1400dab43
sub eax, 0x30
cmp al, 9
ja 0x1400dae5f
movzx eax, byte [rdx + 2]
lea r11, [rdx + 2]
jmp 0x1400dab59
movzx eax, byte [r11 + 1]
add r11, 1
lea ecx, [rax - 0x61]
lea r8d, [rax - 0x30]
cmp cl, 0x19
setbe cl
cmp r8b, 9
setbe r8b
or cl, r8b
jne 0x1400dab50
cmp al, 0x5f
je 0x1400dab50
nop word [rax + rax]
cmp al, 0x2e
jne 0x1400dabc5
movzx eax, byte [r11 + 1]
sub eax, 0x30
cmp al, 9
ja 0x1400dabc5
movzx eax, byte [r11 + 2]
lea rcx, [r11 + 2]
mov r11, rcx
lea r8d, [rax - 0x30]
cmp r8b, 9
ja 0x1400dab80
nop word cs:[rax + rax]
movzx eax, byte [r11 + 1]
add r11, 1
lea ecx, [rax - 0x30]
cmp cl, 9
jbe 0x1400dabb0
cmp al, 0x2e
je 0x1400dab84
mov r8d, r11d
mov rcx, r14
mov qword [rbp - 0x18], r11
sub r8d, edx
call fcn.1400cfec0
mov r8, r15
mov edx, 0x50
mov r9, rax
call fcn.1400cfdc0
mov r15, rax
movzx eax, byte [r11]
cmp al, 0x2e
jne 0x1400da9ea
mov rdx, r11
jmp 0x1400dab28
mov rcx, qword [rbp - 0x38]
call fcn.1400d0ea0
mov r15, rax
mov rax, qword [rbp - 0x18]
movzx eax, byte [rax]
jmp 0x1400da9ea
lea rax, [rbx + 0xd]
lea r14, [rbp - 0x30]
mov qword [rbp - 0x18], rax
movzx eax, byte [rbx + 0xd]
cmp al, 0x47
je 0x1400dac9b
cmp al, 0x54
je 0x1400dac9b
xor edx, edx
mov rcx, r14
call fcn.1400d41c0
mov r12, qword [rbp - 0x18]
mov r8, rax
jmp 0x1400da9c5
movzx eax, byte [rbx + 8]
sub eax, 0x24
cmp al, 0x3b
ja 0x1400da90e
movabs rdx, 0x800000000000401
bt rdx, rax
setb r11b
xor r13d, r13d
test r11b, r11b
je 0x1400da914
movzx eax, byte [rbx + 9]
cmp al, 0x44
sete r11b
cmp al, 0x49
sete dl
or r11b, dl
je 0x1400da914
cmp byte [rbx + 0xa], 0x5f
je 0x1400dae6b
xor r11d, r11d
jmp 0x1400da914
mov rcx, r14
call fcn.1400d3590
mov r12, qword [rbp - 0x18]
mov r8, rax
jmp 0x1400da9c5
mov rcx, r14
call fcn.1400d3590
mov r15, rax
jmp 0x1400dab0c
xor r8d, r8d
lea r14, [rbp - 0x30]
jmp 0x1400da9c5
xor eax, eax
mov rdi, qword [0x140235650]
mov rdx, qword [rbp + 0x1a8]
sub rdx, qword [rdi]
jne 0x1400dae87
lea rsp, [rbp + 0x1b8]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor eax, eax
mov rsp, rsi
jmp 0x1400daccd
cmp byte [rcx + 1], 0x5a
jne 0x1400da8f1
xor r11d, r11d
mov r13d, 1
jmp 0x1400da914
mov rax, qword [rbp - 0x58]
mov r14, r15
lea rbx, [rbp + 0x30]
mov r15, qword [rbp - 0x60]
pxor xmm0, xmm0
mov rdx, r14
mov rcx, rbx
mov qword [rbp + 0x130], 0
mov byte [rbp + 0x138], 0
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x158], 0
mov dword [rbp + 0x170], 0
mov qword [rbp + 0x140], r15
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x178], 0
mov qword [rbp + 0x188], 0
mov qword [rbp + 0x198], 0
movups xmmword [rbp + 0x160], xmm0
call fcn.1400d0120
cmp dword [rbp + 0x164], 0x7ff
jg 0x1400dadb3
mov dword [rbp + 0x164], 0
movsxd rax, dword [rbp + 0x18c]
mov edx, dword [rbp + 0x19c]
mov ecx, 1
mov rdi, rsp
mov qword [rbp + 0x1a0], 0
imul edx, eax
test eax, eax
cmovle rax, rcx
shl rax, 4
mov dword [rbp + 0x19c], edx
call fcn.1400db950
sub rsp, rax
test edx, edx
mov eax, 1
cmovg eax, edx
lea rcx, [rsp + 0x20]
cdqe
shl rax, 4
call fcn.1400db950
mov edx, 0x11
sub rsp, rax
mov r8, r14
mov qword [rbp + 0x180], rcx
mov rcx, rbx
lea rax, [rsp + 0x20]
mov qword [rbp + 0x190], rax
call fcn.1400d9100
mov rdx, qword [rbp + 0x130]
mov rsp, rdi
mov r8, qword [rbp + 0x148]
mov rcx, rbx
mov byte [rbp + rdx + 0x30], 0
call qword [rbp + 0x140]
mov edx, dword [rbp + 0x160]
xor eax, eax
test edx, edx
sete al
jmp 0x1400dacfa
mov rax, qword [rbp - 0x18]
movzx eax, byte [rax]
jmp 0x1400da9ea
mov r13d, 2
cmp al, 0x49
je 0x1400da914
xor r11d, r11d
mov r13d, 3
jmp 0x1400da914
call fcn.1400dc370
nop
nop dword [rax]