Function at 0x140086520
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r15d, dword [r8]
mov r12, rcx
mov rcx, qword [rsp + 0x98]
mov rdi, rdx
mov qword [rsp + 0x28], rcx
mov rcx, rdx
mov dword [rsp + 0x20], 0
call fcn.14010c3c0
movsxd rbx, eax
test r15b, 0x40
jne 0x14008657f
cmp byte [0x14015fd66], 0
je 0x1400869a2
cmp ebx, 5
jl 0x1400869a2
cmp dword [rdx], 0x656c6966
jne 0x1400869a2
cmp byte [rdx + 4], 0x3a
jne 0x1400869a2
or r15d, 0x40
lea eax, [rbx + 8]
xor edx, edx
movsxd r11, eax
xor r8d, r8d
mov dword [rsp + 0x24], r15d
xor esi, esi
xor ecx, ecx
cmp rbx, 2
jl 0x1400865e2
lea r9, [rbx - 1]
xor eax, eax
cmp byte [rcx + rdi], 0x26
sete al
add rdx, rax
xor eax, eax
cmp byte [rcx + rdi + 1], 0x26
sete al
add rcx, 2
add r8, rax
cmp rcx, r9
jl 0x1400865c0
cmp rcx, rbx
jge 0x1400865f3
xor eax, eax
cmp byte [rcx + rdi], 0x26
sete al
add r11, rax
lea rcx, [r8 + rdx]
add rcx, r11
call fcn.14010fbe0
mov r13, rax
test rax, rax
je 0x1400869b5
xor eax, eax
mov dword [r13], eax
add r13, 4
cmp byte [rdi + 5], 0x2f
lea ecx, [rax + 5]
jne 0x140086687
cmp byte [rdi + 6], 0x2f
jne 0x140086687
lea r8, [rdi + 7]
lea ecx, [rax + 7]
movzx eax, byte [r8]
test al, al
je 0x140086687
mov rdx, r8
cmp al, 0x2f
je 0x140086647
movzx eax, byte [rdx + 1]
inc rdx
inc ecx
test al, al
jne 0x140086636
cmp ecx, 7
je 0x140086687
cmp ecx, 0x10
jne 0x14008666b
movabs rax, 0x736f686c61636f6c
cmp rax, qword [r8]
jne 0x14008666b
mov eax, 0x74
cmp al, byte [r8 + 8]
je 0x140086687
lea edx, [rcx - 7]
mov dword [rsp + 0x20], 1
lea rcx, str.invalid_uri_authority:__.s
call fcn.14010d620
jmp 0x140086a19
movsxd rax, ecx
xor r10d, r10d
movzx edx, byte [rax + rdi]
test dl, dl
je 0x1400867fb
mov rbx, r13
lea rbp, [0x140138190]
movsxd r11, ecx
cmp dl, 0x23
je 0x1400867eb
inc ecx
cmp dl, 0x25
jne 0x140086759
movsxd rax, ecx
movzx r9d, byte [rax + rdi]
test byte [r9 + rbp], 8
je 0x140086759
movzx r8d, byte [r11 + rdi + 2]
test byte [r8 + rbp], 8
je 0x140086759
movsx ecx, r9b
movsx r8d, r8b
call fcn.14010a2e0
movzx r9d, al
mov ecx, r8d
shl r9d, 4
call fcn.14010a2e0
movzx edx, al
lea ecx, [r11 + 3]
add edx, r9d
jne 0x1400867d5
movsxd rdx, ecx
add rdx, rdi
movzx eax, byte [rdx]
test al, al
je 0x1400867dc
cmp al, 0x23
je 0x1400867dc
test r10d, r10d
jne 0x140086729
cmp al, 0x3f
jmp 0x140086741
cmp r10d, 1
jne 0x140086739
cmp al, 0x3d
je 0x1400867dc
jmp 0x14008673f
cmp r10d, 2
jne 0x140086747
cmp al, 0x26
je 0x1400867dc
movzx eax, byte [rdx + 1]
inc rdx
inc ecx
test al, al
jne 0x140086718
jmp 0x1400867dc
cmp r10d, 1
jne 0x1400867b6
cmp dl, 0x26
je 0x140086769
cmp dl, 0x3d
jne 0x1400867d5
cmp byte [rbx - 1], 0
jne 0x14008679f
movsxd rdx, ecx
add rdx, rdi
movzx r8d, byte [rdx]
test r8b, r8b
je 0x1400867dc
nop
cmp r8b, 0x23
je 0x1400867dc
cmp byte [rdx - 1], 0x26
je 0x1400867dc
movzx eax, byte [rdx + 1]
inc rdx
inc ecx
movzx r8d, al
test al, al
jne 0x140086780
jmp 0x1400867dc
cmp dl, 0x26
jne 0x1400867ae
inc esi
mov byte [rbx], 0
inc rbx
jmp 0x1400867d3
mov r10d, 2
jmp 0x1400867d3
test r10d, r10d
jne 0x1400867c2
cmp dl, 0x3f
je 0x1400867cd
jmp 0x1400867d5
cmp r10d, 2
jne 0x1400867d5
cmp dl, 0x26
jne 0x1400867d5
mov r10d, 1
xor dl, dl
inc esi
mov byte [rbx], dl
inc rbx
movsxd rax, ecx
movzx edx, byte [rax + rdi]
test dl, dl
jne 0x1400866a3
cmp r10d, 1
jne 0x1400867fb
movsxd rax, esi
inc esi
mov byte [rax + r13], 0
movsxd rax, esi
xor ecx, ecx
mov dword [rax + r13], ecx
mov rcx, r13
call fcn.14010c3c0
inc eax
movsxd rdx, eax
add rdx, r13
cmp byte [rdx], 0
je 0x1400869ea
mov r9d, 0x73
mov ebx, 0x68636163
mov edi, 0x65646f6d
mov r10d, 0x6676
lea r11d, [r9 - 0xe]
mov rcx, rdx
call fcn.14010c3c0
mov r8d, eax
inc eax
movsxd rbp, eax
add rbp, rdx
mov rcx, rbp
call fcn.14010c3c0
movsxd r14, eax
cmp r8d, 3
jne 0x14008687c
cmp r10w, word [rdx]
jne 0x14008696f
cmp r9b, byte [rdx + 2]
jne 0x14008696f
mov r12, rbp
mov qword [rsp + 0x70], rbp
jmp 0x140086974
cmp r8d, 5
jne 0x1400868ac
cmp ebx, dword [rdx]
jne 0x14008696f
cmp r11b, byte [rdx + 4]
jne 0x14008696f
mov esi, 0x60000
lea rdi, str.shared
mov r15d, esi
lea r12, str.cache
jmp 0x1400868d4
cmp r8d, 4
jne 0x14008696f
cmp edi, dword [rdx]
jne 0x14008696f
mov esi, 0x87
lea rdi, [0x140162b60]
and r15d, esi
lea r12, str.access
mov rcx, qword [rdi]
xor ebx, ebx
test rcx, rcx
je 0x14008690e
nop
call fcn.14010c3c0
cmp r14d, eax
jne 0x1400868fc
mov rdx, rcx
mov r8, r14
mov rcx, rbp
call fcn.14004e2f0
test eax, eax
je 0x14008692d
inc rbx
mov rax, rbx
add rax, rax
mov rcx, qword [rdi + rax*8]
test rcx, rcx
jne 0x1400868e0
mov r8, rbp
mov dword [rsp + 0x20], 1
mov rdx, r12
lea rcx, str.no_such__s_mode:__s
call fcn.14010d620
jmp 0x140086a19
add rbx, rbx
mov ecx, dword [rdi + rbx*8 + 8]
test ecx, ecx
je 0x14008690e
mov eax, ecx
btr eax, 7
cmp eax, r15d
jg 0x140086986
mov r15d, dword [rsp + 0x24]
not esi
mov r9d, 0x73
and r15d, esi
or r15d, ecx
mov ebx, 0x68636163
mov dword [rsp + 0x24], r15d
mov edi, 0x65646f6d
mov r10d, 0x6676
lea r11d, [r9 - 0xe]
mov r12, qword [rsp + 0x70]
lea rdx, [r14 + 1]
add rdx, rbp
cmp byte [rdx], 0
jne 0x140086837
jmp 0x1400869ea
mov r8, rbp
mov dword [rsp + 0x20], 3
mov rdx, r12
lea rcx, str._s_mode_not_allowed:__s
call fcn.14010d620
jmp 0x140086a19
lea eax, [rbx + 8]
movsxd rcx, eax
call fcn.14010fbe0
mov r13, rax
test rax, rax
jne 0x1400869bf
mov eax, 7
jmp 0x140086a49
xor eax, eax
mov dword [r13], eax
add r13, 4
test ebx, ebx
je 0x1400869db
mov r8, rbx
mov rdx, rdi
mov rcx, r13
call fcn.14004da00
xor ecx, ecx
and r15d, 0xffffffbf
mov dword [rbx + r13], ecx
mov dword [rsp + 0x24], r15d
mov rcx, r12
call fcn.140110750
mov rcx, qword [rsp + 0x88]
mov qword [rcx], rax
test rax, rax
jne 0x140086a2c
mov rdx, r12
mov dword [rsp + 0x20], 1
lea rcx, str.no_such_vfs:__s
call fcn.14010d620
mov rcx, qword [rsp + 0x28]
mov qword [rcx], rax
mov rcx, r13
call fcn.140084fa0
xor r13d, r13d
mov rcx, qword [rsp + 0x80]
mov eax, dword [rsp + 0x24]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x90]
mov eax, dword [rsp + 0x20]
mov qword [rcx], r13
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret