Function at 0x18006da70
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rsi
push rdi
push r12
push r14
sub rsp, 0x58
mov r12d, dword [r8]
mov rdi, rdx
mov dword [rsp + 0x80], r12d
mov r14, rcx
mov qword [rsp + 0x20], rcx
mov rsi, rdx
mov dword [rsp + 0x88], 0
test rdx, rdx
je 0x18006dac2
cmp byte [rdx], 0
je 0x18006daba
inc rsi
cmp byte [rsi], 0
jne 0x18006dab2
sub esi, edi
and esi, 0x3fffffff
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r15
test r12b, 0x40
jne 0x18006dae9
cmp dword [0x1800fe17c], 0
je 0x18006dfc0
cmp esi, 5
jb 0x18006dfc0
mov eax, dword [rdx]
cmp eax, dword [str.file:]
jne 0x18006dfc0
movzx eax, byte [rdx + 4]
cmp al, byte [0x1800d1558]
jne 0x18006dfc0
or r12d, 0x40
mov r8d, esi
xor ebx, ebx
mov dword [rsp + 0x80], r12d
xor r14d, r14d
lea ebp, [rsi + 2]
xor r15d, r15d
xor ecx, ecx
cmp r8, 2
jb 0x18006db61
lea rdx, [rsi - 1]
nop word [rax + rax]
xor eax, eax
cmp byte [rdi + rcx], 0x26
sete al
add ebx, eax
xor eax, eax
cmp byte [rdi + rcx + 1], 0x26
sete al
add rcx, 2
add r14d, eax
cmp rcx, rdx
jl 0x18006db40
cmp rcx, r8
jge 0x18006db71
xor eax, eax
cmp byte [rcx + rdi], 0x26
sete al
add ebp, eax
call fcn.180089870
test eax, eax
jne 0x18006e074
lea ecx, [r14 + rbx]
add ecx, ebp
call fcn.18006aa70
mov qword [rsp + 0x28], rax
mov rbp, rax
test rax, rax
je 0x18006e074
cmp byte [rdi + 5], 0x2f
jne 0x18006dc1b
cmp byte [rdi + 6], 0x2f
jne 0x18006dc1b
movzx ecx, byte [rdi + 7]
lea r8, [rdi + 7]
mov r9d, 7
test cl, cl
je 0x18006dc21
mov rax, r8
nop dword [rax + rax]
cmp cl, 0x2f
je 0x18006dbd3
movzx ecx, byte [rax + 1]
inc rax
inc r9d
test cl, cl
jne 0x18006dbc0
cmp r9d, 7
je 0x18006dc21
cmp r9d, 0x10
jne 0x18006dbf8
mov rax, qword [str.localhost]
cmp rax, qword [r8]
jne 0x18006dbf8
movzx eax, byte [0x1800d1568]
cmp al, byte [r8 + 8]
je 0x18006dc21
lea edx, [r9 - 7]
lea rcx, str.invalid_uri_authority:__.s
call fcn.18002a700
mov rcx, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
jmp 0x18006e038
mov r9d, 5
movsxd rax, r9d
xor ebx, ebx
movzx edx, byte [rax + rdi]
test dl, dl
je 0x18006ddb0
xor r11d, r11d
lea rsi, [0x1800ca230]
nop dword [rax]
cmp dl, 0x23
je 0x18006dda1
inc r9d
cmp dl, 0x25
jne 0x18006dd14
movsxd rax, r9d
movzx r10d, byte [rax + rdi]
test byte [r10 + rsi], 8
je 0x18006dd14
lea r8d, [r9 + 1]
movsxd rax, r8d
movzx ecx, byte [rax + rdi]
test byte [rcx + rsi], 8
je 0x18006dd14
movsx edx, r10b
mov eax, edx
movsxd r9, r8d
sar eax, 6
and al, 1
movzx eax, al
movsx r8d, byte [r9 + rdi]
inc r9d
imul ecx, eax, 7
mov eax, r8d
sar eax, 6
and al, 1
movzx eax, al
sub dl, cl
imul ecx, eax, 7
movzx eax, r8b
and edx, 0xf
shl edx, 4
sub al, cl
and eax, 0xf
add edx, eax
jne 0x18006dd88
movsxd rax, r9d
lea rcx, [rax + rdi]
movzx eax, byte [rax + rdi]
test al, al
je 0x18006dd92
movsxd rdx, ebx
cmp al, 0x23
je 0x18006dd92
test ebx, ebx
jne 0x18006dce6
cmp al, 0x3f
jmp 0x18006dcfe
cmp rdx, 1
jne 0x18006dcf6
cmp al, 0x3d
je 0x18006dd92
jmp 0x18006dcfc
cmp rdx, 2
jne 0x18006dd04
cmp al, 0x26
je 0x18006dd92
movzx eax, byte [rcx + 1]
inc rcx
inc r9d
test al, al
jne 0x18006dcd6
jmp 0x18006dd92
cmp ebx, 1
jne 0x18006dd6c
cmp dl, 0x26
je 0x18006dd23
cmp dl, 0x3d
jne 0x18006dd88
cmp byte [r11 + rbp - 1], 0
jne 0x18006dd53
movsxd rax, r9d
movzx ecx, byte [rax + rdi]
test cl, cl
je 0x18006dd92
cmp cl, 0x23
je 0x18006dd92
cmp byte [rax + rdi - 1], 0x26
je 0x18006dd92
movzx ecx, byte [rax + rdi + 1]
inc rax
inc r9d
test cl, cl
jne 0x18006dd36
jmp 0x18006dd92
cmp dl, 0x26
jne 0x18006dd65
inc r15d
mov byte [r11 + rbp], 0
inc r11
jmp 0x18006dd86
mov ebx, 2
jmp 0x18006dd86
test ebx, ebx
jne 0x18006dd77
cmp dl, 0x3f
je 0x18006dd81
jmp 0x18006dd88
cmp ebx, 2
jne 0x18006dd88
cmp dl, 0x26
jne 0x18006dd88
mov ebx, 1
xor dl, dl
inc r15d
mov byte [r11 + rbp], dl
inc r11
movsxd rax, r9d
movzx edx, byte [rax + rdi]
test dl, dl
jne 0x18006dc40
cmp ebx, 1
jne 0x18006ddb0
movsxd rax, r15d
inc r15d
mov byte [rax + rbp], 0
movsxd rax, r15d
mov byte [rax + rbp], 0
lea eax, [r15 + 1]
movsxd rcx, eax
mov rax, rbp
mov byte [rcx + rbp], 0
cmp byte [rbp], 0
je 0x18006ddd8
nop dword [rax + rax]
inc rax
cmp byte [rax], 0
jne 0x18006ddd0
sub eax, ebp
and eax, 0x3fffffff
lea edx, [rax + 1]
add rdx, rbp
cmp byte [rdx], 0
je 0x18006e001
movzx r13d, byte [0x1800d158e]
nop word [rax + rax]
mov rcx, rdx
inc rcx
cmp byte [rcx], 0
jne 0x18006de03
sub ecx, edx
and ecx, 0x3fffffff
lea ebp, [rcx + 1]
add rbp, rdx
mov rbx, rbp
jne 0x18006de22
xor ebx, ebx
jmp 0x18006de38
cmp byte [rbp], 0
je 0x18006de30
inc rbx
cmp byte [rbx], 0
jne 0x18006de28
sub ebx, ebp
and ebx, 0x3fffffff
cmp ecx, 3
jne 0x18006de5c
movzx eax, word [0x1800d158c]
cmp ax, word [rdx]
jne 0x18006de5c
cmp r13b, byte [rdx + 2]
jne 0x18006de5c
mov r14, rbp
mov qword [rsp + 0x20], rbp
jmp 0x18006df7a
xor esi, esi
xor r12d, r12d
xor r14d, r14d
cmp ecx, 5
jne 0x18006de93
mov eax, dword [str.cache]
cmp eax, dword [rdx]
jne 0x18006de93
movzx eax, byte [0x1800d1594]
cmp al, byte [rdx + 4]
jne 0x18006de93
mov r14d, 0x60000
lea rsi, str.shared
lea r12, str.cache
mov r15d, r14d
cmp ecx, 4
jne 0x18006dec6
mov eax, dword [str.mode]
cmp eax, dword [rdx]
jne 0x18006dec6
mov r15d, dword [rsp + 0x80]
lea rsi, [0x1800fe320]
mov r14d, 7
lea r12, str.access
and r15d, r14d
jmp 0x18006decf
test rsi, rsi
je 0x18006df75
mov rcx, qword [rsi]
xor edi, edi
test rcx, rcx
je 0x18006df27
nop dword [rax]
mov rax, rcx
test rcx, rcx
je 0x18006deff
cmp byte [rcx], 0
je 0x18006def8
nop dword [rax]
inc rax
cmp byte [rax], 0
jne 0x18006def0
sub eax, ecx
and eax, 0x3fffffff
cmp ebx, eax
jne 0x18006df15
mov rdx, rcx
mov r8d, ebx
mov rcx, rbp
call fcn.18009c110
test eax, eax
je 0x18006df4c
inc rdi
mov rax, rdi
add rax, rax
mov rcx, qword [rsi + rax*8]
test rcx, rcx
jne 0x18006dee0
mov r8, rbp
lea rcx, str.no_such__s_mode:__s
mov rdx, r12
call fcn.18002a700
mov rcx, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
jmp 0x18006e038
add rdi, rdi
mov eax, dword [rsi + rdi*8 + 8]
test eax, eax
je 0x18006df27
cmp eax, r15d
jg 0x18006df90
not r14d
and r14d, dword [rsp + 0x80]
mov r12d, r14d
or r12d, eax
mov dword [rsp + 0x80], r12d
mov r14, qword [rsp + 0x20]
lea edx, [rbx + 1]
add rdx, rbp
cmp byte [rdx], 0
jne 0x18006de00
mov rbp, qword [rsp + 0x28]
jmp 0x18006e006
mov r8, rbp
lea rcx, str._s_mode_not_allowed:__s
mov rdx, r12
call fcn.18002a700
mov rcx, rax
mov dword [rsp + 0x88], 3
mov rax, qword [rsp + 0xa8]
mov qword [rax], rcx
jmp 0x18006e043
call fcn.180089870
test eax, eax
jne 0x18006e074
lea ecx, [rsi + 2]
call fcn.18006aa70
mov qword [rsp + 0x28], rax
mov rbp, rax
test rax, rax
je 0x18006e074
mov r8d, esi
mov rdx, rdi
mov rcx, rax
call fcn.18009b430
lea eax, [rsi + 1]
mov byte [rsi + rbp], 0
mov byte [rax + rbp], 0
jmp 0x18006e006
mov r14, qword [rsp + 0x20]
mov rcx, r14
call fcn.180026ea0
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
test rax, rax
jne 0x18006e04f
mov rdx, r14
lea rcx, str.no_such_vfs:__s
call fcn.18002a700
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
mov dword [rsp + 0x88], 1
mov rcx, qword [rsp + 0x28]
call fcn.18002ab40
xor ebp, ebp
mov rcx, qword [rsp + 0x90]
mov eax, dword [rsp + 0x80]
mov dword [rcx], eax
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x88]
mov qword [rcx], rbp
jmp 0x18006e079
mov eax, 7
mov r15, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
add rsp, 0x58
pop r14
pop r12
pop rdi
pop rsi
ret