Function at 0x1400e03f0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x50
mov edi, dword [r8]
mov rbp, rdx
mov r14, qword [rsp + 0xa8]
mov rsi, rcx
mov dword [rsp + 0x88], edi
mov rbx, rdx
mov dword [rsp + 0x20], 0
test rdx, rdx
je 0x1400e0446
cmp byte [rdx], 0
je 0x1400e043e
inc rbx
cmp byte [rbx], 0
jne 0x1400e0436
sub ebx, ebp
and ebx, 0x3fffffff
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r15
test dil, 0x40
jne 0x1400e0468
cmp dword [0x14011943c], 0
je 0x1400e0a6c
cmp ebx, 5
jb 0x1400e0a6c
cmp dword [rdx], 0x656c6966
jne 0x1400e0a6c
cmp byte [rdx + 4], 0x3a
jne 0x1400e0a6c
mov r13d, dword [rsp + 0x88]
lea r14d, [rbx + 2]
or r13d, 0x40
mov r8d, ebx
xor edi, edi
mov dword [rsp + 0x88], r13d
xor esi, esi
xor r15d, r15d
xor ecx, ecx
cmp r8, 2
jb 0x1400e04e0
lea rdx, [rbx - 1]
nop word [rax + rax]
xor eax, eax
cmp byte [rcx + rbp], 0x26
sete al
add edi, eax
xor eax, eax
cmp byte [rcx + rbp + 1], 0x26
sete al
add rcx, 2
add esi, eax
cmp rcx, rdx
jl 0x1400e04c0
cmp rcx, r8
jge 0x1400e04f1
xor eax, eax
cmp byte [rcx + rbp], 0x26
sete al
add r14d, eax
call fcn.1400dd520
test eax, eax
jne 0x1400e0ad4
lea ecx, [rsi + rdi]
add ecx, r14d
call fcn.140060ca0
mov r12, rax
test rax, rax
je 0x1400e0ad4
cmp byte [rbp + 5], 0x2f
jne 0x1400e058e
cmp byte [rbp + 6], 0x2f
jne 0x1400e058e
movzx eax, byte [rbp + 7]
lea r8, [rbp + 7]
mov ecx, 7
test al, al
je 0x1400e0593
mov rdx, r8
cmp al, 0x2f
je 0x1400e0546
movzx eax, byte [rdx + 1]
inc rdx
inc ecx
test al, al
jne 0x1400e0535
cmp ecx, 7
je 0x1400e0593
cmp ecx, 0x10
jne 0x1400e056a
movabs rax, 0x736f686c61636f6c
cmp rax, qword [r8]
jne 0x1400e056a
mov eax, 0x74
cmp al, byte [r8 + 8]
je 0x1400e0593
lea edx, [rcx - 7]
mov dword [rsp + 0x20], 1
lea rcx, str.invalid_uri_authority:__.s
call fcn.140063230
mov r14, qword [rsp + 0xa8]
jmp 0x1400e0980
mov ecx, 5
movsxd rax, ecx
xor r9d, r9d
movzx edx, byte [rax + rbp]
test dl, dl
je 0x1400e0724
mov rdi, r12
lea rsi, [0x1400f8430]
nop
movsxd rbx, ecx
cmp dl, 0x23
je 0x1400e0713
inc ecx
cmp dl, 0x25
jne 0x1400e0681
movsxd rax, ecx
movzx r11d, byte [rax + rbp]
test byte [r11 + rsi], 8
je 0x1400e0681
movzx r10d, byte [rbx + rbp + 2]
test byte [r10 + rsi], 8
je 0x1400e0681
movzx edx, r11b
movsx eax, r11b
sar eax, 6
and al, 1
movsx r8d, r10b
movzx eax, al
imul ecx, eax, 7
sar r8d, 6
and r8b, 1
movzx eax, r8b
sub dl, cl
imul ecx, eax, 7
movzx eax, r10b
and edx, 0xf
shl edx, 4
sub al, cl
lea ecx, [rbx + 3]
and eax, 0xf
add edx, eax
jne 0x1400e06fc
movsxd rdx, ecx
add rdx, rbp
movzx eax, byte [rdx]
test al, al
je 0x1400e0704
nop
cmp al, 0x23
je 0x1400e0704
test r9d, r9d
jne 0x1400e0651
cmp al, 0x3f
jmp 0x1400e0669
cmp r9d, 1
jne 0x1400e0661
cmp al, 0x3d
je 0x1400e0704
jmp 0x1400e0667
cmp r9d, 2
jne 0x1400e066f
cmp al, 0x26
je 0x1400e0704
movzx eax, byte [rdx + 1]
inc rdx
inc ecx
test al, al
jne 0x1400e0640
jmp 0x1400e0704
cmp r9d, 1
jne 0x1400e06dd
cmp dl, 0x26
je 0x1400e0691
cmp dl, 0x3d
jne 0x1400e06fc
cmp byte [rdi - 1], 0
jne 0x1400e06c5
movsxd rdx, ecx
add rdx, rbp
movzx r8d, byte [rdx]
test r8b, r8b
je 0x1400e0704
cmp r8b, 0x23
je 0x1400e0704
cmp byte [rdx - 1], 0x26
je 0x1400e0704
movzx eax, byte [rdx + 1]
inc rdx
inc ecx
movzx r8d, al
test al, al
jne 0x1400e06a6
jmp 0x1400e0704
cmp dl, 0x26
jne 0x1400e06d5
inc r15d
mov byte [rdi], 0
inc rdi
jmp 0x1400e06fa
mov r9d, 2
jmp 0x1400e06fa
test r9d, r9d
jne 0x1400e06e9
cmp dl, 0x3f
je 0x1400e06f4
jmp 0x1400e06fc
cmp r9d, 2
jne 0x1400e06fc
cmp dl, 0x26
jne 0x1400e06fc
mov r9d, 1
xor dl, dl
inc r15d
mov byte [rdi], dl
inc rdi
movsxd rax, ecx
movzx edx, byte [rax + rbp]
test dl, dl
jne 0x1400e05b0
cmp r9d, 1
jne 0x1400e0724
movsxd rax, r15d
inc r15d
mov byte [rax + r12], 0
movsxd rax, r15d
mov word [rax + r12], 0
mov rax, r12
cmp byte [r12], 0
je 0x1400e0740
inc rax
cmp byte [rax], 0
jne 0x1400e0738
mov rsi, qword [rsp + 0x80]
sub eax, r12d
and eax, 0x3fffffff
lea r8d, [rax + 1]
add r8, r12
cmp byte [r8], 0
je 0x1400e0945
mov edi, dword [rsp + 0x88]
mov ebp, 0x73
mov rdx, r8
mov r13d, 0x6676
lea r14d, [rbp - 0xe]
nop word [rax + rax]
inc rdx
cmp byte [rdx], 0
jne 0x1400e0780
sub edx, r8d
mov dword [rsp + 0x88], edi
and edx, 0x3fffffff
mov qword [rsp + 0x80], rsi
lea r15d, [rdx + 1]
add r15, r8
mov rbx, r15
jne 0x1400e07b0
xor ebx, ebx
jmp 0x1400e07d6
cmp byte [r15], 0
je 0x1400e07cd
mov dword [rsp + 0x88], edi
mov qword [rsp + 0x80], rsi
inc rbx
cmp byte [rbx], 0
jne 0x1400e07c5
sub ebx, r15d
and ebx, 0x3fffffff
cmp edx, 3
jne 0x1400e07f7
cmp r13w, word [r8]
jne 0x1400e091f
cmp bpl, byte [r8 + 2]
jne 0x1400e091f
mov rsi, r15
jmp 0x1400e0927
cmp edx, 5
jne 0x1400e0832
mov eax, 0x68636163
cmp eax, dword [r8]
jne 0x1400e091f
cmp r14b, byte [r8 + 4]
jne 0x1400e091f
mov dword [rsp + 0x24], 0x60000
lea r14, str.shared
lea rax, str.cache
mov r13d, 0x60000
jmp 0x1400e0869
cmp edx, 4
jne 0x1400e091f
mov eax, 0x65646f6d
cmp eax, dword [r8]
jne 0x1400e091f
mov r13d, edi
mov dword [rsp + 0x24], 0x87
and r13d, 0x87
lea r14, [0x140119ca0]
lea rax, str.access
mov rcx, qword [r14]
xor ebp, ebp
mov qword [rsp + 0x28], rax
test rcx, rcx
je 0x1400e0a3b
cmp byte [rcx], 0
mov rax, rcx
je 0x1400e088c
inc rax
cmp byte [rax], 0
jne 0x1400e0884
sub eax, ecx
mov qword [rsp + 0x80], rsi
and eax, 0x3fffffff
cmp ebx, eax
jne 0x1400e08b1
mov rdx, rcx
mov r8d, ebx
mov rcx, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400e08d8
inc rbp
mov dword [rsp + 0x88], edi
mov rax, rbp
add rax, rax
mov rcx, qword [r14 + rax*8]
test rcx, rcx
je 0x1400e0a3b
mov rsi, qword [rsp + 0x80]
jmp 0x1400e087c
add rbp, rbp
mov dword [rsp + 0x88], edi
mov ecx, dword [r14 + rbp*8 + 8]
test ecx, ecx
je 0x1400e0a3b
mov eax, ecx
btr eax, 7
cmp eax, r13d
jg 0x1400e0a0f
mov eax, dword [rsp + 0x24]
mov ebp, 0x73
andn edi, eax, edi
or edi, ecx
mov r13d, 0x6676
mov dword [rsp + 0x88], edi
lea r14d, [rbp - 0xe]
mov rsi, qword [rsp + 0x80]
mov r8d, ebx
inc r8
add r8, r15
mov rdx, r8
cmp byte [r8], 0
jne 0x1400e0780
mov r13d, dword [rsp + 0x88]
mov r14, qword [rsp + 0xa8]
mov rcx, rsi
call fcn.140060370
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
test rax, rax
jne 0x1400e0ab8
mov rdx, rsi
mov dword [rsp + 0x20], 1
lea rcx, str.no_such_vfs:__s
call fcn.140063230
mov qword [r14], rax
cmp dword [0x140119430], 0
je 0x1400e0aac
mov rcx, qword [0x14011cde8]
test rcx, rcx
je 0x1400e09a2
call qword [0x1401194b0]
mov rcx, r12
call qword [0x140119468]
mov edx, dword [0x14011cc60]
mov rcx, r12
neg eax
add edx, eax
mov eax, dword [0x14011cc88]
cmp edx, eax
mov dword [0x14011cc60], edx
cmovg eax, edx
mov edx, dword [0x14011cc84]
dec edx
mov dword [0x14011cc88], eax
mov eax, dword [0x14011ccac]
cmp edx, eax
mov dword [0x14011cc84], edx
cmovg eax, edx
mov dword [0x14011ccac], eax
call qword [0x140119458]
mov rcx, qword [0x14011cde8]
test rcx, rcx
je 0x1400e0ab5
call qword [0x1401194c0]
jmp 0x1400e0ab5
mov rdx, qword [rsp + 0x28]
lea rcx, str._s_mode_not_allowed:__s
mov r8, r15
mov dword [rsp + 0x20], 3
mov r13d, edi
call fcn.140063230
mov r14, qword [rsp + 0xa8]
jmp 0x1400e0980
mov rdx, qword [rsp + 0x28]
lea rcx, str.no_such__s_mode:__s
mov r8, r15
mov dword [rsp + 0x20], 1
call fcn.140063230
mov r14, qword [rsp + 0xa8]
mov r13d, dword [rsp + 0x88]
jmp 0x1400e0980
call fcn.1400dd520
test eax, eax
jne 0x1400e0ad4
lea ecx, [rbx + 2]
call fcn.140060ca0
mov r12, rax
test rax, rax
je 0x1400e0ad4
mov r8, rbx
mov rdx, rbp
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
and edi, 0xffffffbf
mov word [r12 + rbx], 0
mov dword [rsp + 0x88], edi
mov r13d, edi
jmp 0x1400e094d
mov rcx, r12
call qword [0x140119458]
xor r12d, r12d
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa0]
mov dword [rax], r13d
mov eax, dword [rsp + 0x20]
mov qword [rcx], r12
jmp 0x1400e0ad9
mov eax, 7
mov r15, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret