Function at 0x18006e4b8
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
and dword [rsp + 0x20], 0
mov r14d, dword [r8]
mov r15, rcx
mov qword [rsp + 0x28], rcx
mov rcx, rdx
mov rdi, rdx
call fcn.1800684b4
mov r12d, 1
movsxd rsi, eax
test r14b, 0x40
jne 0x18006e50d
cmp byte [0x180161866], 0
je 0x18006e984
cmp esi, 5
jl 0x18006e984
mov eax, dword [rdx]
cmp eax, dword [str.file:]
jne 0x18006e984
mov al, byte [rdx + 4]
cmp al, byte [0x180143fb8]
jne 0x18006e984
lea eax, [rsi + 2]
mov r8, rsi
or r14d, 0x40
xor ebp, ebp
xor edx, edx
mov sil, 0x26
movsxd rcx, eax
mov dword [rsp + 0x70], r14d
test r8, r8
jle 0x18006e565
xor eax, eax
cmp byte [rdx + rdi], sil
sete al
add rdx, r12
add rcx, rax
cmp rdx, r8
jl 0x18006e551
call fcn.180059b60
mov rbx, rax
test rax, rax
jne 0x18006e57c
mov eax, 7
jmp 0x18006e934
mov dl, 0x2f
mov r9d, 5
cmp byte [rdi + 5], dl
jne 0x18006e5eb
cmp byte [rdi + 6], dl
jne 0x18006e5eb
lea r8, [rdi + 7]
mov r9d, 7
mov al, byte [r8]
test al, al
je 0x18006e5eb
mov rcx, r8
cmp al, dl
je 0x18006e5b2
add rcx, r12
add r9d, r12d
mov al, byte [rcx]
test al, al
jne 0x18006e5a2
cmp r9d, 7
je 0x18006e5eb
cmp r9d, 0x10
jne 0x18006e5d6
mov rax, qword [str.localhost]
cmp rax, qword [r8]
jne 0x18006e5d6
mov al, byte [0x180143fc8]
cmp al, byte [r8 + 8]
je 0x18006e5eb
lea edx, [r9 - 7]
lea rcx, str.invalid_uri_authority:__.s
call fcn.180059a00
jmp 0x18006e8fa
movsxd rax, r9d
xor r10d, r10d
mov r8b, byte [rax + rdi]
test r8b, r8b
je 0x18006e767
xor r11d, r11d
mov r14b, Ordinal_36
lea r13, [0x18013d5f0]
cmp r8b, r14b
je 0x18006e758
add r9d, r12d
cmp r8b, 0x25
jne 0x18006e6d0
movsxd rax, r9d
movzx ecx, byte [rax + rdi]
test byte [rcx + r13], 8
je 0x18006e6d0
movzx eax, byte [rax + rdi + 1]
test byte [rax + r13], 8
je 0x18006e6d0
add r9d, r12d
movsx ecx, cl
movsxd rax, r9d
movsx edx, byte [rax + rdi]
call fcn.18007f3e0
mov ecx, edx
movzx r8d, al
shl r8d, 4
call fcn.18007f3e0
add r9d, r12d
movzx edx, al
add r8d, edx
jne 0x18006e73e
movsxd rax, r9d
lea rcx, [rax + rdi]
mov al, byte [rcx]
test al, al
je 0x18006e748
movsxd rdx, r10d
cmp al, r14b
je 0x18006e748
test r10d, r10d
jne 0x18006e69d
cmp al, 0x3f
je 0x18006e748
cmp rdx, r12
jne 0x18006e6b3
cmp al, 0x3d
je 0x18006e748
cmp al, sil
je 0x18006e748
cmp rdx, 2
jne 0x18006e6c2
cmp al, sil
je 0x18006e748
add rcx, r12
add r9d, r12d
mov al, byte [rcx]
test al, al
jne 0x18006e687
jmp 0x18006e748
cmp r10d, r12d
jne 0x18006e722
cmp r8b, sil
je 0x18006e6e0
cmp r8b, 0x3d
jne 0x18006e73e
cmp byte [r11 + rbx - 1], 0
jne 0x18006e708
movsxd rax, r9d
jmp 0x18006e6ff
cmp cl, r14b
je 0x18006e748
cmp byte [rax + rdi - 1], sil
je 0x18006e748
add r9d, r12d
add rax, r12
mov cl, byte [rax + rdi]
test cl, cl
jne 0x18006e6ed
jmp 0x18006e748
cmp r8b, sil
jne 0x18006e71a
mov byte [r11 + rbx], 0
add ebp, r12d
add r11, r12
jmp 0x18006e73b
mov r10d, 2
jmp 0x18006e73b
test r10d, r10d
jne 0x18006e72d
cmp r8b, 0x3f
je 0x18006e738
cmp r10d, 2
jne 0x18006e73e
cmp r8b, sil
jne 0x18006e73e
mov r10d, r12d
xor r8b, r8b
mov byte [r11 + rbx], r8b
add ebp, r12d
add r11, r12
movsxd rax, r9d
mov r8b, byte [rax + rdi]
test r8b, r8b
jne 0x18006e60b
cmp r10d, r12d
jne 0x18006e767
movsxd rax, ebp
add ebp, r12d
mov byte [rax + rbx], 0
movsxd rax, ebp
mov rcx, rbx
mov word [rax + rbx], 0
call fcn.1800684b4
add eax, r12d
movsxd rdx, eax
add rdx, rbx
cmp byte [rdx], 0
je 0x18006e8d3
mov r9d, dword [rsp + 0x70]
mov rcx, rdx
call fcn.1800684b4
mov r8d, eax
inc eax
movsxd rdi, eax
add rdi, rdx
mov rcx, rdi
call fcn.1800684b4
movsxd r13, eax
cmp r8d, 3
jne 0x18006e7d7
movzx eax, word [0x180143fec]
cmp ax, word [rdx]
jne 0x18006e7d7
mov al, byte [0x180143fee]
cmp al, byte [rdx + 2]
jne 0x18006e7d7
mov r15, rdi
mov qword [rsp + 0x28], rdi
jmp 0x18006e8ba
xor esi, esi
xor r15d, r15d
xor r14d, r14d
xor r12d, r12d
cmp r8d, 5
jne 0x18006e81c
mov eax, dword [str.cache]
cmp eax, dword [rdx]
jne 0x18006e8b5
mov al, byte [0x180143ff4]
cmp al, byte [rdx + 4]
jne 0x18006e8b5
mov r14d, 0x60000
lea rsi, str.shared
lea r15, str.cache
mov r12d, r14d
cmp r8d, 4
jne 0x18006e846
mov eax, dword [str.mode]
cmp eax, dword [rdx]
jne 0x18006e846
mov r14d, Ordinal_139
mov r12d, r9d
lea rsi, [0x180161790]
and r12d, r14d
lea r15, str.access
test rsi, rsi
je 0x18006e8b5
mov rcx, qword [rsi]
xor ebp, ebp
test rcx, rcx
je 0x18006e965
call fcn.1800684b4
cmp r13d, eax
jne 0x18006e875
mov rdx, rcx
mov r8, r13
mov rcx, rdi
call fcn.1800cad10
test eax, eax
je 0x18006e884
inc rbp
mov rax, rbp
add rax, rax
mov rcx, qword [rsi + rax*8]
jmp 0x18006e850
add rbp, rbp
mov ecx, dword [rsi + rbp*8 + 8]
test ecx, ecx
je 0x18006e965
mov eax, ecx
btr eax, 7
cmp eax, r12d
jg 0x18006e949
not r14d
and r14d, dword [rsp + 0x70]
or r14d, ecx
mov dword [rsp + 0x70], r14d
mov r9d, r14d
mov r15, qword [rsp + 0x28]
lea eax, [r13 + 1]
movsxd rdx, eax
add rdx, rdi
cmp byte [rdx], 0
jne 0x18006e78f
mov r12d, 1
mov rcx, r15
call fcn.18005cef4
mov rcx, qword [rsp + 0x88]
mov qword [rcx], rax
test rax, rax
jne 0x18006e917
lea rcx, str.no_such_vfs:__s
mov rdx, r15
call fcn.180059a00
mov dword [rsp + 0x20], r12d
mov rcx, rax
mov rax, qword [rsp + 0x98]
mov qword [rax], rcx
mov rcx, rbx
call fcn.180059c0c
xor ebx, ebx
mov rcx, qword [rsp + 0x80]
mov eax, dword [rsp + 0x70]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x90]
mov eax, dword [rsp + 0x20]
mov qword [rcx], rbx
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str._s_mode_not_allowed:__s
mov r8, rdi
mov rdx, r15
call fcn.180059a00
mov dword [rsp + 0x20], 3
jmp 0x18006e8ff
lea rcx, str.no_such__s_mode:__s
mov r8, rdi
mov rdx, r15
call fcn.180059a00
mov dword [rsp + 0x20], 1
jmp 0x18006e8ff
lea eax, [rsi + 2]
movsxd rcx, eax
call fcn.180059b60
mov rbx, rax
test rax, rax
je 0x18006e572
test esi, esi
je 0x18006e9ad
mov r8, rsi
mov rdx, rdi
mov rcx, rax
call fcn.1800ca790
and r14d, 0xffffffbf
mov word [rsi + rbx], 0
mov dword [rsp + 0x70], r14d
jmp 0x18006e8d3