Function at 0x14003a518
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov r15d, 1
mov rdi, rdx
add dword [rcx + 0x660], r15d
mov rsi, rcx
mov eax, dword [rcx + 0x660]
cmp eax, dword [rcx + 0x664]
jge 0x14003a9d0
xor eax, eax
mov qword [rdx], rax
mov qword [rdx + 8], rax
mov dword [rdx + 0x10], eax
mov r9, qword [rcx]
mov r8d, dword [r9]
mov ecx, dword [r9 + 0x18]
cmp r8d, 0x2e
jg 0x14003a63e
je 0x14003a634
cmp r8d, 0xffffffff
je 0x14003a62d
cmp r8d, 0x24
je 0x14003a623
cmp r8d, 0x28
je 0x14003a5dd
cmp r8d, 0x29
je 0x14003a5d3
cmp r8d, 0x2a
je 0x14003a5ce
cmp r8d, 0x2b
jne 0x14003a673
mov dword [rdx + 0xc], r15d
or ebp, 0xffffffff
mov dword [rdx + 0x10], ebp
cmp ecx, 0x3f
jne 0x14003a5c5
and dword [rdx + 4], eax
mov ebx, 0x3002
jmp 0x14003a9a7
mov dword [rdx + 4], r15d
jmp 0x14003a9a2
and dword [rdx + 0xc], eax
jmp 0x14003a5ad
mov ebx, 0x1816
jmp 0x14003a9a7
cmp ecx, 0x3f
jne 0x14003a619
cmp dword [r9 + 0x30], 0x3d
jne 0x14003a5f3
mov ebx, 0x4807
jmp 0x14003a9a7
cmp dword [r9 + 0x30], 0x21
jne 0x14003a604
mov ebx, 0x4808
jmp 0x14003a9a7
cmp dword [r9 + 0x30], 0x3a
jne 0x14003a9f8
mov ebx, 0x4813
jmp 0x14003a9a7
mov ebx, 0x1812
jmp 0x14003a9a7
mov ebx, 0x1804
jmp 0x14003a9a7
xor ebx, ebx
jmp 0x14003a9a7
mov ebx, 0x1809
jmp 0x14003a9a7
mov edx, r8d
sub edx, 0x3f
je 0x14003a988
sub edx, 0x1c
je 0x14003a976
sub edx, r15d
je 0x14003a7b7
mov ebx, 2
sub edx, ebx
je 0x14003a7ad
sub edx, 0x1d
je 0x14003a68b
cmp edx, r15d
je 0x14003a681
mov ebx, 0x180a
mov dword [rdi + 8], r8d
jmp 0x14003a9a7
mov ebx, 0x1801
jmp 0x14003a9a7
mov rax, qword [r9 + 8]
or ebp, 0xffffffff
mov qword [rsp + 0x70], rax
mov r12d, ebp
mov eax, dword [r9 + 0x10]
mov dword [rsp + 0x60], eax
xor r14d, r14d
xor r15d, r15d
mov edx, 0x18
mov rcx, rsi
call fcn.1400394b4
mov rdx, qword [rsi]
movsxd rcx, dword [rdx]
lea eax, [rcx - 0x30]
cmp eax, 9
ja 0x14003a6ed
inc r15d
cmp ecx, 0xff
ja 0x14003a6e0
mov rax, rcx
lea rcx, [0x1401e3580]
movsx ecx, byte [rax + rcx]
test ecx, ecx
jns 0x14003a6e3
or ecx, 0xffffffff
lea eax, [r14 + r14*4]
lea r14d, [rcx + rax*2]
jmp 0x14003a6a8
cmp ecx, 0x2c
jne 0x14003a71b
cmp r15d, 9
jg 0x14003a775
cmp r12d, ebp
jne 0x14003a775
cmp dword [rdx + 0x18], 0x7d
je 0x14003a708
mov r12d, r14d
jmp 0x14003a6a2
test r15d, r15d
je 0x14003a775
mov dword [rdi + 0xc], r14d
mov edx, 0x30
mov dword [rdi + 0x10], ebp
jmp 0x14003a743
cmp ecx, 0x7d
jne 0x14003a775
cmp r15d, 9
jg 0x14003a775
test r15d, r15d
je 0x14003a775
mov dword [rdi + 0x10], r14d
cmp r12d, ebp
je 0x14003a73a
mov dword [rdi + 0xc], r12d
jmp 0x14003a73e
mov dword [rdi + 0xc], r14d
mov edx, 0x18
mov rcx, rsi
call fcn.1400394b4
mov rax, qword [rsi]
cmp dword [rax], 0x3f
jne 0x14003a769
and dword [rdi + 4], 0
mov edx, 0x18
mov rcx, rsi
call fcn.1400394b4
jmp 0x14003a9a7
mov dword [rdi + 4], 1
jmp 0x14003a9a7
mov rax, qword [rsp + 0x70]
xor edx, edx
mov qword [rsi + 0x620], rax
mov rcx, rsi
mov eax, dword [rsp + 0x60]
mov dword [rsi + 0x628], eax
lea rax, [rsi + 8]
mov qword [rsi], rax
call fcn.14003930c
mov ebx, 0x180a
mov dword [rdi + 8], 0x7b
jmp 0x14003a9a7
mov ebx, 0x1803
jmp 0x14003a9a7
mov ebx, 0x300a
cmp ecx, 0x62
jne 0x14003a7cb
mov ebx, 0x3005
jmp 0x14003a9a7
cmp ecx, 0x42
jne 0x14003a7da
mov ebx, 0x3006
jmp 0x14003a9a7
cmp ecx, 0x66
jne 0x14003a7eb
mov dword [rdi + 8], listen
jmp 0x14003a9a7
cmp ecx, 0x6e
jne 0x14003a7fc
mov dword [rdi + 8], 0xa
jmp 0x14003a9a7
cmp ecx, 0x74
jne 0x14003a80d
mov dword [rdi + 8], 9
jmp 0x14003a9a7
cmp ecx, 0x72
jne 0x14003a81e
mov dword [rdi + 8], reloc.WS2_32.dll_listen
jmp 0x14003a9a7
cmp ecx, 0x76
jne 0x14003a82f
mov dword [rdi + 8], listen
jmp 0x14003a9a7
cmp ecx, 0x63
jne 0x14003a86a
mov ecx, dword [r9 + 0x30]
lea eax, [rcx - 0x61]
cmp eax, 0x19
jbe 0x14003a84c
lea eax, [rcx - 0x41]
cmp eax, 0x19
ja 0x14003aa20
and ecx, 0x8000001f
jge 0x14003a85d
sub ecx, r15d
or ecx, 0xffffffe0
add ecx, r15d
mov dword [rdi + 8], ecx
mov ebx, 0x480a
jmp 0x14003a9a7
cmp ecx, 0x78
je 0x14003a962
cmp ecx, 0x75
je 0x14003a962
cmp ecx, 0x64
jne 0x14003a88b
mov ebx, 0x300b
jmp 0x14003a9a7
cmp ecx, 0x44
jne 0x14003a89a
mov ebx, 0x300c
jmp 0x14003a9a7
cmp ecx, 0x73
jne 0x14003a8a9
mov ebx, 0x300d
jmp 0x14003a9a7
cmp ecx, 0x53
jne 0x14003a8b8
mov ebx, 0x300e
jmp 0x14003a9a7
cmp ecx, 0x77
jne 0x14003a8c7
mov ebx, 0x300f
jmp 0x14003a9a7
cmp ecx, 0x57
jne 0x14003a8d6
mov ebx, 0x3010
jmp 0x14003a9a7
lea eax, [rcx - 0x30]
cmp eax, 9
ja 0x14003a955
cmp ecx, 0x30
jne 0x14003a8fb
mov eax, dword [r9 + 0x30]
sub eax, ecx
cmp eax, 9
jbe 0x14003aa20
and dword [rdi + 8], 0
jmp 0x14003a9a7
xor r14d, r14d
lea rbp, [0x1401e3580]
xor ebx, ebx
mov edx, 0x18
mov rcx, rsi
call fcn.1400394b4
mov rax, qword [rsi]
movsxd rcx, dword [rax]
lea eax, [rcx - 0x30]
cmp eax, 9
ja 0x14003a94a
cmp ecx, 0xff
ja 0x14003a932
movsx ecx, byte [rcx + rbp]
test ecx, ecx
jns 0x14003a935
or ecx, 0xffffffff
add ebx, r15d
lea eax, [r14 + r14*4]
lea r14d, [rcx + rax*2]
cmp ebx, 9
jl 0x14003a907
jmp 0x14003aa20
mov ebx, reloc.WS2_32.dll_recvfrom
mov dword [rdi + 8], r14d
jmp 0x14003a9a7
test ecx, ecx
js 0x14003aa20
mov dword [rdi + 8], ecx
jmp 0x14003a9a7
xor edx, edx
mov rcx, rsi
call fcn.140039624
mov dword [rdi + 8], eax
mov ebx, 0xa
jmp 0x14003a9a7
cmp ecx, 0x5e
mov ebx, 0x3015
mov eax, 0x1814
cmovne ebx, eax
jmp 0x14003a9a7
and dword [rdi + 0xc], eax
mov dword [rdi + 0x10], r15d
cmp ecx, 0x3f
jne 0x14003a99e
and dword [rdi + 4], eax
mov ebx, 0x3002
jmp 0x14003a9a7
mov dword [rdi + 4], r15d
mov ebx, 0x1802
mov edx, ebx
mov rcx, rsi
shr edx, 8
call fcn.1400394b4
mov rbp, qword [rsp + 0x78]
movzx eax, bl
mov rbx, qword [rsp + 0x68]
mov dword [rdi], eax
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov rcx, qword [rcx + 0x608]
lea r9, str.duk_lexer.c
lea r8, str.token_limit
mov dword [rsp + 0x20], 0x86f
mov edx, 3
call fcn.140022428
int3
mov rcx, qword [rsi + 0x608]
lea r9, str.duk_lexer.c
lea r8, str.invalid_regexp_group
mov dword [rsp + 0x20], 0x877
mov edx, 5
call fcn.140022428
int3
mov rcx, qword [rsi + 0x608]
lea r9, str.duk_lexer.c
lea r8, str.invalid_regexp_escape
mov dword [rsp + 0x20], 0x873
mov edx, 5
call fcn.140022428
int3