Function at 0x5a7700
Capabilities:
Parse credit card information

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 8]
cmp rax, qword [rcx + 0x10]
jbe 0x5a7f0c
sub rsp, 0x88
mov qword [rsp + 0x80], rbp
lea rbp, [rsp + 0x80]
mov rax, qword [rsp + 0x98]
nop
test rax, rax
je 0x5a7ec5
lea rcx, [0x006b0d80]
mov qword [rsp], rcx
mov qword [rsp + 8], 0
shr rax, 1
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x10], rax
call fcn.0044dd40
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x90]
cmp byte [rcx], 0x22
nop
jne 0x5a7bc3
mov rdx, qword [rsp + 0x98]
dec rdx
mov rbx, rdx
neg rdx
sar rdx, 0x3f
and rdx, 1
add rcx, rdx
mov rdx, qword [rsp + 0x60]
xor esi, esi
jmp 0x5a77b4
mov rbx, rcx
mov rcx, r10
mov rsi, rdi
test rbx, rbx
je 0x5a7b88
movzx edi, byte [rcx]
lea r8, [rbx - 1]
mov r9, r8
neg r8
sar r8, 0x3f
and r8, 1
lea r10, [r8 + rcx]
nop word [rax + rax]
nop
cmp dil, 0x22
je 0x5a7a50
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x48], rsi
cmp dil, 0x5c
jne 0x5a7940
nop
cmp rbx, 1
je 0x5a7904
movzx ecx, byte [rcx + r8]
cmp cl, 0xb
jne 0x5a78a2
lea rdi, [rsi + 1]
nop dword [rax]
cmp rdx, rdi
jb 0x5a7845
mov byte [rax + rsi], cl
lea r8, [rbx - 2]
mov rcx, r8
neg r8
sar r8, 0x3f
and r8, 1
add r10, r8
nop dword [rax]
jmp 0x5a77ab
mov byte [rsp + 0x45], cl
mov qword [rsp + 0x98], rbx
lea rcx, [0x006b0d80]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rdi
call fcn.0044de40
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea rdi, [rcx + 1]
movzx ecx, byte [rsp + 0x45]
mov rbx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x48]
mov r10, qword [rsp + 0x78]
nop
jmp 0x5a7825
cmp cl, 0xc
je 0x5a7818
cmp cl, 1
jb 0x5a78b9
cmp cl, 9
jbe 0x5a7818
cmp cl, 0xe
jb 0x5a78c9
nop
cmp cl, 0x7f
jbe 0x5a7818
mov qword [rsp + 0xa0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xb8], 0
mov byte [rsp + 0xc0], 0
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov qword [rsp + 0xa0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xb8], 0
mov byte [rsp + 0xc0], 0
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
cmp dil, 0xb
jne 0x5a79b4
lea rcx, [rsi + 1]
cmp rdx, rcx
jb 0x5a795e
mov byte [rax + rsi], dil
mov rdi, rcx
mov rcx, r9
jmp 0x5a77ab
mov byte [rsp + 0x44], dil
mov qword [rsp + 0x60], r9
lea rbx, [0x006b0d80]
mov qword [rsp], rbx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rcx
call fcn.0044de40
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
inc rcx
mov rsi, qword [rsp + 0x48]
movzx edi, byte [rsp + 0x44]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x78]
jmp 0x5a794f
cmp dil, 0xc
je 0x5a7946
nop word [rax + rax]
cmp dil, 0x20
je 0x5a7946
cmp dil, 0x21
je 0x5a7946
cmp dil, 0x7f
je 0x5a7946
lea ecx, [rdi - 1]
nop dword [rax]
cmp cl, 7
jbe 0x5a7946
lea ecx, [rdi - 0xe]
cmp cl, 0x11
jbe 0x5a7946
lea ecx, [rdi - 0x23]
nop dword [rax + rax]
cmp cl, 0x38
jbe 0x5a7946
lea ecx, [rdi - 0x5d]
cmp cl, 0x21
jbe 0x5a7946
mov qword [rsp + 0xa0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xb8], 0
mov byte [rsp + 0xc0], 0
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
test r9, r9
jne 0x5a7a90
mov qword [rsp + 0xa0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xb8], 0
mov byte [rsp + 0xc0], 0
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
cmp byte [r10], 0x40
jne 0x5a7a55
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x68], rax
lea rax, [r9 - 1]
mov qword [rsp + 0x98], rax
mov rcx, rax
neg rax
sar rax, 0x3f
and rax, 1
add rax, r10
mov qword [rsp + 0x90], rax
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.005a7f20
cmp byte [rsp + 0x28], 0
je 0x5a7b4d
mov qword [rsp], 0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x10], rax
call fcn.004520e0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rcx
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xb8], rax
mov byte [rsp + 0xc0], 1
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov qword [rsp + 0xa0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xb8], 0
mov byte [rsp + 0xc0], 0
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov qword [rsp + 0xa0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xb8], 0
mov byte [rsp + 0xc0], 0
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x98]
xor esi, esi
jmp 0x5a7bf3
mov byte [rax + rsi], r9b
dec r8
mov r9, r8
neg r8
sar r8, 0x3f
and r8, 1
lea rcx, [rdi + r8]
mov rsi, rbx
mov rbx, r9
mov qword [rsp + 0x50], rsi
nop dword [rax + rax]
test rbx, rbx
jle 0x5a7dc0
movzx edi, byte [rcx]
cmp dil, 0x5c
jne 0x5a7cf3
lea rdi, [rbx - 1]
mov r8, rdi
neg rdi
sar rdi, 0x3f
and rdi, 1
add rdi, rcx
cmp rbx, 1
je 0x5a7cb8
test r8, r8
jbe 0x5a7f01
lea rbx, [rsi + 1]
movzx r9d, byte [rdi]
cmp rdx, rbx
jae 0x5a7bd4
mov byte [rsp + 0x45], r9b
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x90], rdi
lea rcx, [0x006b0d80]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rbx
nop
call fcn.0044de40
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea rbx, [rcx + 1]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x90]
mov r8, qword [rsp + 0x98]
movzx r9d, byte [rsp + 0x45]
jmp 0x5a7bd4
mov qword [rsp + 0xa0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xb8], 0
mov byte [rsp + 0xc0], 0
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
lea r8d, [rdi - 0x30]
cmp r8b, 9
ja 0x5a7d08
mov r8, rbx
mov rdi, rcx
jmp 0x5a7c35
lea r8d, [rdi - 0x61]
cmp r8b, 0x19
jbe 0x5a7cfd
lea r8d, [rdi - 0x41]
cmp r8b, 0x19
jbe 0x5a7cfd
nop dword [rax]
cmp dil, 0x21
je 0x5a7cfd
cmp dil, 0x23
je 0x5a7cfd
cmp dil, 0x24
je 0x5a7cfd
cmp dil, 0x25
je 0x5a7cfd
cmp dil, 0x26
je 0x5a7cfd
nop
cmp dil, 0x27
je 0x5a7cfd
cmp dil, 0x2a
je 0x5a7cfd
cmp dil, 0x2b
je 0x5a7cfd
cmp dil, 0x2d
je 0x5a7cfd
cmp dil, 0x2f
je 0x5a7cfd
nop
cmp dil, 0x3d
je 0x5a7cfd
cmp dil, 0x3f
je 0x5a7cfd
cmp dil, 0x5e
je 0x5a7cfd
cmp dil, 0x5f
je 0x5a7cfd
nop dword [rax + rax]
cmp dil, 0x60
je 0x5a7cfd
cmp dil, 0x7b
je 0x5a7cfd
cmp dil, 0x7c
je 0x5a7cfd
nop
cmp dil, 0x7d
je 0x5a7cfd
cmp dil, 0x7e
je 0x5a7cfd
cmp dil, 0x2e
je 0x5a7cfd
nop
test rsi, rsi
je 0x5a7e8a
mov word [rsp + 0x46], 0
mov word [rsp + 0x46], 0x2e2e
cmp byte [rax], 0x2e
jne 0x5a7e17
mov qword [rsp + 0xa0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xb8], 0
mov byte [rsp + 0xc0], 0
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
movzx edi, byte [rsi + rax - 1]
nop dword [rax]
cmp dil, 0x2e
je 0x5a7ddc
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x78], rcx
nop
mov qword [rsp], rax
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rdx
lea rcx, [rsp + 0x46]
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], 2
mov qword [rsp + 0x28], 2
call fcn.004e4f00
cmp qword [rsp + 0x30], 0xffffffffffffffff
jne 0x5a7ddc
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x70]
jmp 0x5a7a50
mov qword [rsp + 0xa0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xb8], 0
mov byte [rsp + 0xc0], 0
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov qword [rsp + 0xa0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xb8], 0
mov byte [rsp + 0xc0], 0
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
nop
ret
xor eax, eax
mov rcx, r8
call fcn.0046cde0
nop
call fcn.0046ac00
jmp fcn.005a7700