Function at 0x140017410
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
xor al, al
mov rbx, rcx
cmp dword [rcx + 0x7c], 0xffffffff
je 0x14001777e
mov esi, 0xfffd
mov ecx, dword [rbx + 0x7c]
cmp ecx, 0x7c
je 0x14001777e
cmp ecx, 0x29
jne 0x14001745e
cmp dword [rbx + 0x1c], 0
jne 0x14001777e
test dword [rbx + 0x80], 0x10000000
je 0x14001778e
cmp ecx, 0x2e
jne 0x1400174c9
lea rcx, [rbx + 0x40]
mov edx, 5
call fcn.1400179d0
mov rcx, qword [rbx]
mov rax, qword [rbx + 0x10]
cmp rcx, rax
je 0x1400174bc
cmp word [rcx], 0x5c
jne 0x1400174b8
add rcx, 2
cmp rcx, rax
je 0x1400174b8
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1400174a4
movzx eax, word [rcx]
sub ax, 0x28
cmp ax, 1
jbe 0x1400174b5
test dl, 0x10
jne 0x1400174b8
movzx eax, word [rcx]
sub ax, 0x7b
test si, ax
jne 0x1400174b8
mov qword [rbx], rcx
add qword [rbx], 2
mov rcx, rbx
call fcn.140015830
jmp 0x14001776a
cmp ecx, 0x5c
jne 0x140017592
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x14001751c
cmp word [rax], cx
jne 0x140017518
lea rcx, [rax + 2]
cmp rcx, rdx
je 0x140017518
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140017504
movzx eax, word [rcx]
sub ax, 0x28
cmp ax, 1
jbe 0x140017515
test dl, 0x10
jne 0x140017518
movzx eax, word [rcx]
sub ax, 0x7b
test si, ax
jne 0x140017518
mov qword [rbx], rcx
add qword [rbx], 2
mov rcx, rbx
call fcn.140015830
mov eax, dword [rbx + 0x80]
and eax, 0x80
je 0x140017553
cmp word [rbx + 0x78], 0x62
jne 0x140017553
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.1400179d0
mov rcx, rbx
call fcn.1400173b0
jmp 0x140017772
test eax, eax
je 0x140017585
cmp word [rbx + 0x78], 0x42
jne 0x140017585
lea rcx, [rbx + 0x40]
mov edx, 4
call fcn.1400179d0
mov rax, qword [rbx + 0x48]
mov rcx, rbx
xor dword [rax + 0xc], 1
add rax, 0xc
call fcn.1400173b0
jmp 0x140017772
mov rcx, rbx
call fcn.140018900
jmp 0x14001776a
cmp ecx, 0x5b
jne 0x140017609
mov rcx, rbx
call fcn.1400173b0
mov rcx, rbx
call fcn.1400187d0
cmp dword [rbx + 0x7c], 0x5d
jne 0x14001779a
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x1400175fc
cmp word [rax], 0x5c
jne 0x1400175f8
lea rcx, [rax + 2]
cmp rcx, rdx
je 0x1400175f8
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1400175e4
movzx eax, word [rcx]
sub ax, 0x28
cmp ax, 1
jbe 0x1400175f5
test dl, 0x10
jne 0x1400175f8
movzx eax, word [rcx]
sub ax, 0x7b
test si, ax
jne 0x1400175f8
mov qword [rbx], rcx
add qword [rbx], 2
mov rcx, rbx
call fcn.140015830
jmp 0x14001776a
cmp ecx, 0x28
jne 0x1400176db
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x14001765d
cmp word [rax], 0x5c
jne 0x140017659
lea rcx, [rax + 2]
cmp rcx, rdx
je 0x140017659
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x140017645
movzx eax, word [rcx]
sub ax, 0x28
cmp ax, 1
jbe 0x140017656
test dl, 0x10
jne 0x140017659
movzx eax, word [rcx]
sub ax, 0x7b
test si, ax
jne 0x140017659
mov qword [rbx], rcx
add qword [rbx], 2
mov rcx, rbx
call fcn.140015830
mov rcx, rbx
call fcn.140018af0
cmp dword [rbx + 0x7c], 0x29
movzx edi, al
jne 0x1400177a6
mov rax, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rax, rdx
je 0x1400176c5
cmp word [rax], 0x5c
jne 0x1400176c1
lea rcx, [rax + 2]
cmp rcx, rdx
je 0x1400176c1
mov edx, dword [rbx + 0x80]
test dl, 8
jne 0x1400176ad
movzx eax, word [rcx]
sub ax, 0x28
cmp ax, 1
jbe 0x1400176be
test dl, 0x10
jne 0x1400176c1
movzx eax, word [rcx]
sub ax, 0x7b
test si, ax
jne 0x1400176c1
mov qword [rbx], rcx
add qword [rbx], 2
mov rcx, rbx
call fcn.140015830
test dil, dil
je 0x140017772
jmp 0x14001776a
cmp ecx, 0x5e
jne 0x1400176f8
lea rcx, [rbx + 0x40]
mov edx, 2
call fcn.1400179d0
mov rcx, rbx
call fcn.1400173b0
jmp 0x140017772
cmp ecx, 0x24
jne 0x140017715
lea rcx, [rbx + 0x40]
mov edx, 3
call fcn.1400179d0
mov rcx, rbx
call fcn.1400173b0
jmp 0x140017772
lea eax, [rcx - 0x2a]
cmp eax, 1
jbe 0x1400177ca
cmp ecx, 0x3f
je 0x1400177ca
cmp ecx, 0x7b
je 0x1400177ca
cmp ecx, 0x7d
jne 0x140017744
test dword [rbx + 0x80], 0x10000000
je 0x1400177b2
cmp ecx, 0x5d
jne 0x140017755
test dword [rbx + 0x80], 0x10000000
je 0x1400177be
movzx edx, word [rbx + 0x78]
lea rcx, [rbx + 0x40]
call fcn.140018dc0
mov rcx, rbx
call fcn.1400173b0
mov rcx, rbx
call fcn.140018c00
cmp dword [rbx + 0x7c], 0xffffffff
mov al, 1
jne 0x140017433
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3
mov ecx, 4
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3
mov ecx, 4
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3
mov ecx, 0xa
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_]
int3