Function at 0x4acff5
Capabilities:
Parse credit card information

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x840
mov rax, qword [rbp + 0x40]
mov rax, qword [rax + 0x30]
lea rax, [rax + 0x308]
mov qword [rbp - 0x18], rax
push qword [rbp + 0x28]
push qword [rbp + 0x20]
push qword [rbp + 0x18]
push qword [rbp + 0x10]
call fcn.0040aecf
mov rax, qword [rbp - 0x18]
movzx eax, byte [rax]
cmp eax, 0x3f
je 0x4ad039
mov eax, 0xffffffff
leave
ret 0x38
mov dword [rbp - 4], 0
push rax
push 0x400
push qword [rbp - 0x18]
push 0x23
call fcn.0042583b
pop rcx
mov dword [rbp - 8], eax
cmp dword [rbp - 8], 0
jge 0x4ad06a
push 0x400
push qword [rbp - 0x18]
call fcn.00401d50
mov dword [rbp - 8], eax
jmp 0x4ad359
inc dword [rbp - 4]
lea rcx, [rbp - 0x418]
mov edx, 0x400
sub rsp, 0x20
call qword [sym.imp.KERNEL32.DLL_RtlZeroMemory]
add rsp, 0x20
mov dword [rbp - 0xc], 0
jmp 0x4ad168
mov eax, dword [rbp - 4]
cmp eax, 0x400
jae 0x4ad370
mov rbx, qword [rbp - 0x18]
movzx eax, byte [rbx + rax]
mov byte [rbp - 0x819], al
mov dword [rbp - 0x820], 0
inc dword [rbp - 4]
movzx eax, byte [rbp - 0x819]
cmp eax, 0x2b
jne 0x4ad0d5
mov byte [rbp - 0x819], 0x20
movzx eax, byte [rbp - 0x819]
cmp eax, 0x25
jne 0x4ad148
mov eax, dword [rbp - 4]
inc eax
cmp eax, dword [rbp - 8]
jge 0x4ad148
mov eax, dword [rbp - 4]
cmp eax, 0x3fe
ja 0x4ad372
mov rbx, qword [rbp - 0x18]
push 2
lea rax, [rbx + rax]
push rax
push 2
push 0x6fa5d9
mov dword [rbp - 0x830], 4
lea rax, [rbp - 0x820]
mov qword [rbp - 0x838], rax
push 1
lea rax, [rbp - 0x838]
push rax
call fcn.004023f2
cmp eax, 0
jne 0x4ad148
mov al, byte [rbp - 0x820]
mov byte [rbp - 0x819], al
add dword [rbp - 4], 2
mov eax, dword [rbp - 0xc]
inc dword [rbp - 0xc]
cmp eax, 0x400
jae 0x4ad374
movzx ebx, byte [rbp - 0x819]
mov byte [rbp + rax - 0x418], bl
mov eax, dword [rbp - 4]
cmp eax, dword [rbp - 8]
jge 0x4ad1ac
mov eax, dword [rbp - 4]
cmp eax, 0x400
jae 0x4ad36e
mov rbx, qword [rbp - 0x18]
movzx eax, byte [rbx + rax]
cmp eax, 0x3d
je 0x4ad1ac
mov eax, dword [rbp - 4]
cmp eax, 0x400
jae 0x4ad36e
mov rbx, qword [rbp - 0x18]
movzx eax, byte [rbx + rax]
cmp eax, 0x26
jne 0x4ad098
lea rcx, [rbp - 0x818]
mov edx, 0x400
sub rsp, 0x20
call qword [sym.imp.KERNEL32.DLL_RtlZeroMemory]
add rsp, 0x20
mov dword [rbp - 0x10], 0
mov eax, dword [rbp - 4]
cmp eax, dword [rbp - 8]
jge 0x4ad2f9
mov eax, dword [rbp - 4]
cmp eax, 0x400
jae 0x4ad376
mov rbx, qword [rbp - 0x18]
movzx eax, byte [rbx + rax]
cmp eax, 0x3d
jne 0x4ad2f9
inc dword [rbp - 4]
jmp 0x4ad2d1
mov eax, dword [rbp - 4]
cmp eax, 0x400
jae 0x4ad37a
mov rbx, qword [rbp - 0x18]
movzx eax, byte [rbx + rax]
mov byte [rbp - 0x819], al
mov dword [rbp - 0x820], 0
inc dword [rbp - 4]
movzx eax, byte [rbp - 0x819]
cmp eax, 0x2b
jne 0x4ad23e
mov byte [rbp - 0x819], 0x20
movzx eax, byte [rbp - 0x819]
cmp eax, 0x25
jne 0x4ad2b1
mov eax, dword [rbp - 4]
inc eax
cmp eax, dword [rbp - 8]
jge 0x4ad2b1
mov eax, dword [rbp - 4]
cmp eax, 0x3fe
ja 0x4ad37c
mov rbx, qword [rbp - 0x18]
push 2
lea rax, [rbx + rax]
push rax
push 2
push 0x6fa5d9
mov dword [rbp - 0x830], 4
lea rax, [rbp - 0x820]
mov qword [rbp - 0x838], rax
push 1
lea rax, [rbp - 0x838]
push rax
call fcn.004023f2
cmp eax, 0
jne 0x4ad2b1
mov al, byte [rbp - 0x820]
mov byte [rbp - 0x819], al
add dword [rbp - 4], 2
mov eax, dword [rbp - 0x10]
inc dword [rbp - 0x10]
cmp eax, 0x400
jae 0x4ad37e
movzx ebx, byte [rbp - 0x819]
mov byte [rbp + rax - 0x818], bl
mov eax, dword [rbp - 4]
cmp eax, dword [rbp - 8]
jge 0x4ad2f9
mov eax, dword [rbp - 4]
cmp eax, 0x400
jae 0x4ad378
mov rbx, qword [rbp - 0x18]
movzx eax, byte [rbx + rax]
cmp eax, 0x26
jne 0x4ad201
push 0x400
lea rax, [rbp - 0x418]
push rax
push qword [rbp + 0x38]
push qword [rbp + 0x30]
call fcn.004061ae
cmp eax, 0
jne 0x4ad339
push rax
push qword [rbp + 0x28]
push qword [rbp + 0x20]
push 0x400
lea rax, [rbp - 0x818]
push rax
push qword [rbp + 0x28]
call fcn.0040597f
pop rcx
xor eax, eax
leave
ret 0x38
mov eax, dword [rbp - 4]
cmp eax, dword [rbp - 8]
je 0x4ad365
mov eax, dword [rbp - 4]
cmp eax, 0x400
jae 0x4ad380
mov rbx, qword [rbp - 0x18]
movzx eax, byte [rbx + rax]
cmp eax, 0x26
jne 0x4ad365
mov eax, dword [rbp - 4]
cmp eax, dword [rbp - 8]
jl 0x4ad06f
mov eax, 0xffffffff
leave
ret 0x38
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5
int 5