Function at 0x140082560
Capabilities:
Parse credit card information

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x60], rcx
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov rcx, qword [rax + 0xb0]
mov rdx, rcx
add rdx, 1
mov qword [rax + 0xb0], rdx
mov cl, byte [rcx]
mov byte [rsp + 0x5f], cl
mov rcx, qword [rax + 0xa0]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rax + 0xc0]
mov dl, byte [rsp + 0x5f]
mov r8d, 0x20
call fcn.140062b20
mov rcx, qword [rsp + 0x40]
movsx edx, al
call sub.msvcrt.dll_strchr
cmp rax, 0
jne 0x1400825f1
mov rcx, qword [rsp + 0x38]
mov dword [rcx + 0x90], 1
add rcx, 0xc8
mov r8b, byte [rsp + 0x5f]
mov edx, 1
call fcn.140002b78
jmp 0x140082ada
movsx eax, byte [rsp + 0x5f]
cmp eax, 0x5c
jne 0x140082710
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 0xb0]
cmp rax, qword [rcx + 0xb8]
jne 0x140082629
mov ecx, 2
lea rdx, str.Invalid_escape_at_end_of_regular_expression
call fcn.140090f90
mov rcx, qword [rsp + 0x38]
call fcn.140065bd0
test al, 1
jne 0x140082640
jmp 0x140082688
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0xb0]
movsx eax, byte [rax]
cmp eax, 0x28
je 0x1400826f0
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0xb0]
movsx eax, byte [rax]
cmp eax, 0x29
je 0x1400826f0
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0xb0]
movsx eax, byte [rax]
cmp eax, 0x7b
je 0x1400826f0
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 0xe8]
mov qword [rsp + 0x28], rax
mov rdx, qword [rcx + 0xf0]
add rcx, rdx
mov qword [rsp + 0x30], rcx
and rax, 1
cmp rax, 0
je 0x1400826d5
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
sub rcx, 1
mov rax, qword [rax + rcx]
mov qword [rsp + 0x20], rax
jmp 0x1400826df
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x20]
call rax
jmp 0x140082ada
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 0xb0]
mov rdx, rax
add rdx, 1
mov qword [rcx + 0xb0], rdx
mov al, byte [rax]
mov byte [rsp + 0x5f], al
movsx eax, byte [rsp + 0x5f]
cmp eax, 0x28
jne 0x1400828ce
mov rcx, qword [rsp + 0x38]
call fcn.140065ba0
test al, 1
jne 0x140082735
jmp 0x140082883
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0xb0]
movsx eax, byte [rax]
cmp eax, 0x3f
jne 0x140082883
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 0xb0]
add rax, 1
mov qword [rcx + 0xb0], rax
cmp rax, qword [rcx + 0xb8]
jne 0x14008277b
mov ecx, 5
call fcn.140002a38
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0xb0]
movsx eax, byte [rax]
cmp eax, 0x3a
jne 0x1400827b9
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax + 0xb0]
add rcx, 1
mov qword [rax + 0xb0], rcx
mov dword [rax + 0x90], 6
jmp 0x14008287e
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0xb0]
movsx eax, byte [rax]
cmp eax, 0x3d
jne 0x14008280e
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 0xb0]
add rax, 1
mov qword [rcx + 0xb0], rax
mov dword [rcx + 0x90], 7
add rcx, 0xc8
mov edx, 1
mov r8d, 0x70
call fcn.140002b78
jmp 0x140082879
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0xb0]
movsx eax, byte [rax]
cmp eax, 0x21
jne 0x140082863
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx + 0xb0]
add rax, 1
mov qword [rcx + 0xb0], rax
mov dword [rcx + 0x90], 7
add rcx, 0xc8
mov edx, 1
mov r8d, 0x6e
call fcn.140002b78
jmp 0x140082874
mov ecx, 5
lea rdx, str.Invalid___...__zero_width_assertion_in_regular_expression
call fcn.140090f90
jmp 0x140082879
jmp 0x14008287e
jmp 0x1400828c9
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 0x8c]
mov edx, 2
call fcn.1400713a0
cmp eax, 0
je 0x1400828b5
mov rax, qword [rsp + 0x38]
mov dword [rax + 0x90], 6
jmp 0x1400828c4
mov rax, qword [rsp + 0x38]
mov dword [rax + 0x90], 5
jmp 0x1400828c9
jmp 0x140082ada
movsx eax, byte [rsp + 0x5f]
cmp eax, 0x29
jne 0x1400828f0
mov rax, qword [rsp + 0x38]
mov dword [rax + 0x90], 8
jmp 0x140082ad5
movsx eax, byte [rsp + 0x5f]
cmp eax, 0x5b
jne 0x14008297a
mov rcx, qword [rsp + 0x38]
mov dword [rcx + 0x88], 2
mov byte [rcx + 0xa8], 1
mov rax, qword [rcx + 0xb0]
cmp rax, qword [rcx + 0xb8]
je 0x140082966
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0xb0]
movsx eax, byte [rax]
cmp eax, 0x5e
jne 0x140082966
mov rax, qword [rsp + 0x38]
mov dword [rax + 0x90], 0xa
mov rcx, qword [rax + 0xb0]
add rcx, 1
mov qword [rax + 0xb0], rcx
jmp 0x140082975
mov rax, qword [rsp + 0x38]
mov dword [rax + 0x90], 9
jmp 0x140082ad0
movsx eax, byte [rsp + 0x5f]
cmp eax, 0x7b
jne 0x1400829a6
mov rax, qword [rsp + 0x38]
mov dword [rax + 0x88], 1
mov dword [rax + 0x90], 0xc
jmp 0x140082acb
movsx eax, byte [rsp + 0x5f]
cmp eax, 0
jne 0x1400829fa
mov rcx, qword [rsp + 0x38]
call fcn.140065ba0
test al, 1
jne 0x1400829d0
mov ecx, 0xd
call fcn.140002a38
mov rcx, qword [rsp + 0x38]
mov dword [rcx + 0x90], 1
add rcx, 0xc8
mov r8b, byte [rsp + 0x5f]
mov edx, 1
call fcn.140002b78
jmp 0x140082ac6
movsx eax, byte [rsp + 0x5f]
cmp eax, 0x5d
je 0x140082a9c
movsx eax, byte [rsp + 0x5f]
cmp eax, 0x7d
je 0x140082a9c
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x50], rax
mov rcx, qword [rax + 0xc0]
mov dl, byte [rsp + 0x5f]
xor r8d, r8d
call fcn.140062b20
mov byte [rsp + 0x4f], al
mov rax, qword [rsp + 0x50]
movsx eax, byte [rax]
cmp eax, 0
je 0x140082a8d
mov rax, qword [rsp + 0x50]
movsx eax, byte [rax]
movsx ecx, byte [rsp + 0x4f]
cmp eax, ecx
jne 0x140082a75
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x50]
mov ecx, dword [rcx + 4]
mov dword [rax + 0x90], ecx
jmp 0x140082ada
jmp 0x140082a7a
mov rax, qword [rsp + 0x50]
add rax, 8
mov qword [rsp + 0x50], rax
jmp 0x140082a37
jmp 0x140082a92
jmp 0x140082a97
jmp 0x140082ac1
mov rcx, qword [rsp + 0x38]
mov dword [rcx + 0x90], 1
add rcx, 0xc8
mov r8b, byte [rsp + 0x5f]
mov edx, 1
call fcn.140002b78
jmp 0x140082ac6
jmp 0x140082acb
jmp 0x140082ad0
jmp 0x140082ad5
jmp 0x140082ada
add rsp, 0x68
ret