Function at 0x1400cba70
Capabilities:
Parse credit card information

Disassembly:
push rdi
push r15
sub rsp, 0x48
inc dword [rcx + 0x660]
mov r15, rdx
mov eax, dword [rcx + 0x660]
mov rdi, rcx
cmp eax, dword [rcx + 0x664]
jge 0x1400cbff6
mov qword [rsp + 0x68], rbx
xor eax, eax
mov qword [rsp + 0x40], rbp
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
mov dword [rdx + 0x10], eax
mov r8, qword [rcx]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r13
mov r9d, dword [r8]
mov edx, dword [r8 + 0x18]
mov qword [rsp + 0x20], r14
lea eax, [r9 + 1]
cmp eax, 0x7d
ja case.0x1400cbaf3.0
lea r10, [0x140000000]
cdqe
movzx eax, byte [r10 + rax + 0xcc094]
mov ecx, dword [r10 + rax*4 + 0xcc05c]
add rcx, r10
jmp rcx
mov esi, 0x1801
jmp 0x1400cbf8f
mov esi, 0x1803
jmp 0x1400cbf8f
mov esi, 0x1804
jmp 0x1400cbf8f
mov dword [r15 + 0x10], 1
xor r14d, r14d
mov esi, 0x3002
cmp edx, 0x3f
mov eax, 0x1802
setne r14b
cmovne esi, eax
mov dword [r15 + 4], r14d
jmp 0x1400cbf8f
mov dword [r15 + 0xc], 1
mov dword [r15 + 0x10], 0xffffffff
jmp 0x1400cbb1b
mov rax, qword [r8 + 8]
xor r14d, r14d
mov qword [rsp + 0x70], rax
mov r13d, 0xffffffff
mov eax, dword [r8 + 0x10]
mov dword [rsp + 0x60], eax
mov ebp, r14d
mov r12d, r14d
nop dword [rax]
lea rdx, [r8 + 0x18]
mov esi, edi
sub esi, edx
mov qword [rdi], rdx
add esi, 0x608
cmp esi, 0x90
jae 0x1400cbbac
lea rbx, [rdi + 8]
mov r8d, esi
mov rcx, rbx
call fcn.14018f070
mov edx, esi
mov qword [rdi], rbx
mov rcx, rdi
call fcn.1400ca050
lea r10, [0x140000000]
mov r8, qword [rdi]
movsxd rcx, dword [r8]
lea eax, [rcx - 0x30]
cmp eax, 9
ja 0x1400cbbe0
inc ebp
cmp ecx, 0xff
ja 0x1400cbbd1
movsx ecx, byte [rcx + r10 + 0x1c4db0]
test ecx, ecx
jns 0x1400cbbd6
mov ecx, 0xffffffff
lea eax, [r12 + r12*4]
lea r12d, [rcx + rax*2]
jmp 0x1400cbb70
cmp ecx, 0x2c
jne 0x1400cbc24
cmp ebp, 9
jg 0x1400cbce6
cmp r13d, 0xffffffff
jne 0x1400cbce6
cmp dword [r8 + 0x18], 0x7d
je 0x1400cbc07
mov r13d, r12d
jmp 0x1400cbb67
test ebp, ebp
je 0x1400cbce6
mov dword [r15 + 0xc], r12d
mov dword [r15 + 0x10], 0xffffffff
mov rdx, qword [rdi]
add rdx, 0x30
jmp 0x1400cbc55
cmp ecx, 0x7d
jne 0x1400cbce6
cmp ebp, 9
jg 0x1400cbce6
test ebp, ebp
je 0x1400cbce6
cmp r13d, 0xffffffff
cmove r13d, r12d
mov dword [r15 + 0xc], r13d
mov dword [r15 + 0x10], r12d
mov rdx, qword [rdi]
add rdx, 0x18
mov esi, edi
mov qword [rdi], rdx
sub esi, edx
add esi, 0x608
cmp esi, 0x90
jae 0x1400cbc86
lea rbx, [rdi + 8]
mov r8d, esi
mov rcx, rbx
call fcn.14018f070
mov edx, esi
mov qword [rdi], rbx
mov rcx, rdi
call fcn.1400ca050
mov rax, qword [rdi]
cmp dword [rax], 0x3f
jne 0x1400cbcd4
mov dword [r15 + 4], r14d
mov esi, edi
mov rdx, qword [rdi]
add rdx, 0x18
sub esi, edx
mov qword [rdi], rdx
add esi, 0x608
cmp esi, 0x90
jae 0x1400cbcdc
lea rbx, [rdi + 8]
mov r8d, esi
mov rcx, rbx
call fcn.14018f070
mov edx, esi
mov qword [rdi], rbx
mov rcx, rdi
call fcn.1400ca050
mov esi, 2
jmp 0x1400cbf8f
mov dword [r15 + 4], 1
mov esi, 2
jmp 0x1400cbf8f
mov rax, qword [rsp + 0x70]
xor edx, edx
mov qword [rdi + 0x620], rax
mov rcx, rdi
mov eax, dword [rsp + 0x60]
mov dword [rdi + 0x628], eax
lea rax, [rdi + 8]
mov qword [rdi], rax
call fcn.1400ca050
mov dword [r15 + 8], 0x7b
jmp 0x1400cbf8a
mov esi, 0x1809
jmp 0x1400cbf8f
mov esi, 0x300a
cmp edx, 0x62
jne 0x1400cbd38
mov esi, 0x3005
jmp 0x1400cbf8f
cmp edx, 0x42
jne 0x1400cbd47
mov esi, 0x3006
jmp 0x1400cbf8f
cmp edx, 0x66
jne 0x1400cbd59
mov dword [r15 + 8], 0xc
jmp 0x1400cbf8f
cmp edx, 0x6e
jne 0x1400cbd6b
mov dword [r15 + 8], 0xa
jmp 0x1400cbf8f
cmp edx, 0x74
jne 0x1400cbd7d
mov dword [r15 + 8], 9
jmp 0x1400cbf8f
cmp edx, 0x72
jne 0x1400cbd8f
mov dword [r15 + 8], 0xd
jmp 0x1400cbf8f
cmp edx, 0x76
jne 0x1400cbda1
mov dword [r15 + 8], 0xb
jmp 0x1400cbf8f
cmp edx, 0x63
jne 0x1400cbddb
mov ecx, dword [r8 + 0x30]
lea eax, [rcx - 0x61]
cmp eax, 0x19
jbe 0x1400cbdbe
lea eax, [rcx - 0x41]
cmp eax, 0x19
ja 0x1400cc017
and ecx, 0x8000001f
jge 0x1400cbdcd
dec ecx
or ecx, 0xffffffe0
inc ecx
mov dword [r15 + 8], ecx
mov esi, 0x480a
jmp 0x1400cbf8f
cmp edx, 0x78
je 0x1400cbf18
cmp edx, 0x75
je 0x1400cbf18
cmp edx, 0x64
jne 0x1400cbdfc
mov esi, 0x300b
jmp 0x1400cbf8f
cmp edx, 0x44
jne 0x1400cbe0b
mov esi, 0x300c
jmp 0x1400cbf8f
cmp edx, 0x73
jne 0x1400cbe1a
mov esi, 0x300d
jmp 0x1400cbf8f
cmp edx, 0x53
jne 0x1400cbe29
mov esi, 0x300e
jmp 0x1400cbf8f
cmp edx, 0x77
jne 0x1400cbe38
mov esi, 0x300f
jmp 0x1400cbf8f
cmp edx, 0x57
jne 0x1400cbe47
mov esi, 0x3010
jmp 0x1400cbf8f
lea eax, [rdx - 0x30]
cmp eax, 9
ja 0x1400cbf0a
cmp edx, 0x30
jne 0x1400cbe73
mov eax, dword [r8 + 0x30]
sub eax, edx
cmp eax, 9
jbe 0x1400cc017
xor r14d, r14d
mov dword [r15 + 8], r14d
jmp 0x1400cbf8f
xor r14d, r14d
mov ebp, r14d
nop dword [rax]
mov rdx, qword [rdi]
mov esi, edi
add rdx, 0x18
sub esi, edx
mov qword [rdi], rdx
add esi, 0x608
cmp esi, 0x90
jae 0x1400cbebf
lea rbx, [rdi + 8]
mov r8d, esi
mov rcx, rbx
call fcn.14018f070
mov edx, esi
mov qword [rdi], rbx
mov rcx, rdi
call fcn.1400ca050
lea r10, [0x140000000]
mov rax, qword [rdi]
movsxd rcx, dword [rax]
lea eax, [rcx - 0x30]
cmp eax, 9
ja 0x1400cbefc
cmp ecx, 0xff
ja 0x1400cbee2
movsx ecx, byte [rcx + r10 + 0x1c4db0]
test ecx, ecx
jns 0x1400cbee7
mov ecx, 0xffffffff
inc ebp
lea eax, [r14 + r14*4]
lea r14d, [rcx + rax*2]
cmp ebp, 9
jge 0x1400cc017
jmp 0x1400cbe80
mov esi, 0x11
mov dword [r15 + 8], r14d
jmp 0x1400cbf8f
test edx, edx
js 0x1400cc017
mov dword [r15 + 8], edx
jmp 0x1400cbf8f
xor edx, edx
mov rcx, rdi
call fcn.1400ca4b0
mov dword [r15 + 8], eax
mov esi, 0xa
jmp 0x1400cbf8f
cmp edx, 0x3f
jne 0x1400cbf5e
mov eax, dword [r8 + 0x30]
cmp eax, 0x3d
jne 0x1400cbf42
mov esi, 0x4807
jmp 0x1400cbf8f
cmp eax, 0x21
jne 0x1400cbf4e
mov esi, 0x4808
jmp 0x1400cbf8f
cmp eax, 0x3a
jne 0x1400cc038
mov esi, 0x4813
jmp 0x1400cbf8f
mov esi, 0x1812
jmp 0x1400cbf8f
mov esi, 0x1816
jmp 0x1400cbf8f
cmp edx, 0x5e
mov esi, 0x3015
mov eax, 0x1814
cmovne esi, eax
jmp 0x1400cbf8f
xor r14d, r14d
mov esi, r14d
jmp 0x1400cbf8f
mov dword [r15 + 8], r9d
mov esi, 0x180a
mov edx, esi
mov ebp, edi
shr rdx, 8
add rdx, qword [rdi]
sub ebp, edx
mov qword [rdi], rdx
add ebp, 0x608
cmp ebp, 0x90
jae 0x1400cbfc9
lea rbx, [rdi + 8]
mov r8d, ebp
mov rcx, rbx
call fcn.14018f070
mov edx, ebp
mov qword [rdi], rbx
mov rcx, rdi
call fcn.1400ca050
mov r13, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x68]
mov r14, qword [rsp + 0x20]
movzx eax, sil
mov rsi, qword [rsp + 0x38]
mov dword [r15], eax
add rsp, 0x48
pop r15
pop rdi
ret
mov rcx, qword [rcx + 0x608]
lea r9, str.token_limit
mov r8d, 0x871
lea rdx, str.D:_srcdivuscodesduk_lexer.c
call fcn.140086aa0
int3
mov rcx, qword [rdi + 0x608]
lea r9, str.invalid_regexp_escape
mov r8d, 0x5000875
lea rdx, str.D:_srcdivuscodesduk_lexer.c
call fcn.1400869b0
int3
mov rcx, qword [rdi + 0x608]
lea r9, str.invalid_regexp_group
mov r8d, 0x5000879
lea rdx, str.D:_srcdivuscodesduk_lexer.c
call fcn.1400869b0
int3