Function at 0x14012f690
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rdi
push r12
push r13
sub rsp, 0x68
mov r13d, dword [r8]
mov r12, rcx
mov rcx, qword [rsp + 0xb8]
mov rbx, rdx
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x20], 0
test rdx, rdx
jne 0x14012f6d0
xor edi, edi
jmp 0x14012f6e6
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rdx + rdi], 0
jne 0x14012f6d7
and edi, 0x3fffffff
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x48], r15
test r13b, 0x40
jne 0x14012f70d
cmp byte [0x1402972c6], 0
je 0x14012fc6d
cmp edi, 5
jb 0x14012fc6d
mov eax, dword [rdx]
cmp eax, dword [str.file:]
jne 0x14012fc6d
movzx eax, byte [rdx + 4]
cmp al, byte [0x140223d28]
jne 0x14012fc6d
or r13d, 0x40
mov r8d, edi
xor esi, esi
mov dword [rsp + 0x98], r13d
xor r14d, r14d
lea ebp, [rdi + 2]
xor r15d, r15d
xor ecx, ecx
cmp r8, 2
jb 0x14012f782
lea rdx, [rdi - 1]
nop word [rax + rax]
xor eax, eax
cmp byte [rcx + rbx], 0x26
sete al
add rsi, rax
xor eax, eax
cmp byte [rcx + rbx + 1], 0x26
sete al
add rcx, 2
add r14, rax
cmp rcx, rdx
jl 0x14012f760
cmp rcx, r8
jge 0x14012f793
xor eax, eax
cmp byte [rcx + rbx], 0x26
sete al
add rbp, rax
call fcn.1401563c0
test eax, eax
jne 0x14012fce3
lea rcx, [r14 + rsi]
add rcx, rbp
call fcn.14012cad0
mov qword [rsp + 0x30], rax
mov rbp, rax
test rax, rax
je 0x14012fce3
cmp byte [rbx + 5], 0x2f
mov ecx, 5
jne 0x14012f833
cmp byte [rbx + 6], 0x2f
jne 0x14012f833
movzx edx, byte [rbx + 7]
lea r8, [rbx + 7]
mov ecx, 7
test dl, dl
je 0x14012f833
mov rax, r8
cmp dl, 0x2f
je 0x14012f7f4
movzx edx, byte [rax + 1]
inc rax
inc ecx
test dl, dl
jne 0x14012f7e2
cmp ecx, 7
je 0x14012f833
cmp ecx, 0x10
jne 0x14012f817
mov rax, qword [str.localhost]
cmp rax, qword [r8]
jne 0x14012f817
movzx eax, byte [0x140223d38]
cmp al, byte [r8 + 8]
je 0x14012f833
lea edx, [rcx - 7]
mov dword [rsp + 0x20], 1
lea rcx, str.invalid_uri_authority:__.s
call fcn.1400d5350
jmp 0x14012fbed
movsxd rax, ecx
xor r9d, r9d
movzx edx, byte [rax + rbx]
test dl, dl
je 0x14012f9bf
xor esi, esi
lea r14, [0x140219c60]
nop
movsxd rdi, ecx
cmp dl, 0x23
je 0x14012f9af
inc ecx
cmp dl, 0x25
jne 0x14012f921
movsxd rax, ecx
movzx r11d, byte [rax + rbx]
test byte [r11 + r14], 8
je 0x14012f921
movzx r10d, byte [rdi + rbx + 2]
test byte [r10 + r14], 8
je 0x14012f921
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, [rdi + 3]
and eax, 0xf
add edx, eax
jne 0x14012f997
movsxd rax, ecx
lea rdx, [rax + rbx]
movzx eax, byte [rax + rbx]
test al, al
je 0x14012f9a0
cmp al, 0x23
je 0x14012f9a0
test r9d, r9d
jne 0x14012f8f1
cmp al, 0x3f
jmp 0x14012f909
cmp r9d, 1
jne 0x14012f901
cmp al, 0x3d
je 0x14012f9a0
jmp 0x14012f907
cmp r9d, 2
jne 0x14012f90f
cmp al, 0x26
je 0x14012f9a0
movzx eax, byte [rdx + 1]
inc rdx
inc ecx
test al, al
jne 0x14012f8e0
jmp 0x14012f9a0
cmp r9d, 1
jne 0x14012f978
cmp dl, 0x26
je 0x14012f931
cmp dl, 0x3d
jne 0x14012f997
cmp byte [rsi + rbp - 1], 0
jne 0x14012f95f
movsxd rax, ecx
movzx edx, byte [rax + rbx]
test dl, dl
je 0x14012f9a0
cmp dl, 0x23
je 0x14012f9a0
cmp byte [rax + rbx - 1], 0x26
je 0x14012f9a0
movzx edx, byte [rax + rbx + 1]
inc rax
inc ecx
test dl, dl
jne 0x14012f943
jmp 0x14012f9a0
cmp dl, 0x26
jne 0x14012f970
inc r15d
mov byte [rsi + rbp], 0
inc rsi
jmp 0x14012f995
mov r9d, 2
jmp 0x14012f995
test r9d, r9d
jne 0x14012f984
cmp dl, 0x3f
je 0x14012f98f
jmp 0x14012f997
cmp r9d, 2
jne 0x14012f997
cmp dl, 0x26
jne 0x14012f997
mov r9d, 1
xor dl, dl
inc r15d
mov byte [rsi + rbp], dl
inc rsi
movsxd rax, ecx
movzx edx, byte [rax + rbx]
test dl, dl
jne 0x14012f850
cmp r9d, 1
jne 0x14012f9bf
movsxd rax, r15d
inc r15d
mov byte [rax + rbp], 0
movsxd rax, r15d
mov word [rax + rbp], 0
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rax + rbp], 0
jne 0x14012f9d0
and eax, 0x3fffffff
lea r8, [rbp + 1]
add r8, rax
cmp byte [r8], 0
je 0x14012fbba
mov ebx, dword [0x140223d5c]
nop word [rax + rax]
mov rdx, 0xffffffffffffffff
nop word [rax + rax]
inc rdx
cmp byte [r8 + rdx], 0
jne 0x14012fa10
and edx, 0x3fffffff
lea r15d, [rdx + 1]
add r15, r8
jne 0x14012fa2f
xor ebp, ebp
xor esi, esi
jmp 0x14012fa4e
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [r15 + rsi], 0
jne 0x14012fa36
mov ebp, esi
and ebp, 0x3fffffff
and esi, 0x3fffffff
cmp edx, 3
jne 0x14012fa76
cmp bx, word [r8]
jne 0x14012fa76
movzx eax, byte [0x140223d5e]
cmp al, byte [r8 + 2]
jne 0x14012fa76
mov r12, r15
mov qword [rsp + 0x90], r15
jmp 0x14012fba4
xor eax, eax
xor r14d, r14d
xor r12d, r12d
mov qword [rsp + 0x28], rax
cmp edx, 5
jne 0x14012fab9
mov ecx, dword [str.cache]
cmp ecx, dword [r8]
jne 0x14012fab9
movzx ecx, byte [0x140223d64]
cmp cl, byte [r8 + 4]
jne 0x14012fab9
lea rax, str.cache
mov r12d, 0x60000
mov qword [rsp + 0x28], rax
lea r14, str.shared
cmp edx, 4
jne 0x14012fae7
mov ecx, dword [str.mode]
cmp ecx, dword [r8]
jne 0x14012fae7
mov r12d, 0x87
lea rax, str.access
and r13d, r12d
mov qword [rsp + 0x28], rax
lea r14, [0x1402999f0]
jmp 0x14012faf3
mov r13d, r12d
test r14, r14
je 0x14012fb94
mov rcx, qword [r14]
xor edi, edi
test rcx, rcx
je 0x14012fb3f
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x14012fb04
and eax, 0x3fffffff
cmp ebp, eax
jne 0x14012fb28
mov rdx, rcx
mov r8d, ebp
mov rcx, r15
call fcn.140198c80
test eax, eax
je 0x14012fb5e
inc rdi
mov rax, rdi
add rax, rax
mov rcx, qword [r14 + rax*8]
test rcx, rcx
jne 0x14012fafd
mov rax, qword [rsp + 0x28]
mov r8, r15
mov dword [rsp + 0x20], 1
mov rdx, rax
lea rcx, str.no_such__s_mode:__s
call fcn.1400d5350
jmp 0x14012fbed
add rdi, rdi
mov ecx, dword [r14 + rdi*8 + 8]
test ecx, ecx
je 0x14012fb3a
mov eax, ecx
btr eax, 7
cmp eax, r13d
jg 0x14012fc4f
mov r13d, dword [rsp + 0x98]
not r12d
and r13d, r12d
or r13d, ecx
mov dword [rsp + 0x98], r13d
jmp 0x14012fb9c
mov r13d, dword [rsp + 0x98]
mov r12, qword [rsp + 0x90]
lea r8, [r15 + 1]
add r8, rsi
cmp byte [r8], 0
jne 0x14012fa00
mov rbp, qword [rsp + 0x30]
mov rcx, r12
call fcn.1400dbb00
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
test rax, rax
jne 0x14012fcc1
mov rdx, r12
mov dword [rsp + 0x20], 1
lea rcx, str.no_such_vfs:__s
call fcn.1400d5350
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
cmp dword [0x1402972c0], 0
je 0x14012fcb4
mov rcx, qword [0x1402a0968]
test rcx, rcx
je 0x14012fc14
call qword [0x140297340]
mov rcx, qword [rsp + 0x30]
call qword [0x1402972f8]
dec qword [0x1402a08f8]
movsxd rcx, eax
sub qword [0x1402a08b0], rcx
mov rcx, qword [rsp + 0x30]
call qword [0x1402972e8]
mov rcx, qword [0x1402a0968]
test rcx, rcx
je 0x14012fcbf
call qword [0x140297350]
jmp 0x14012fcbf
mov rdx, qword [rsp + 0x28]
lea rcx, str._s_mode_not_allowed:__s
mov r8, r15
mov dword [rsp + 0x20], 3
call fcn.1400d5350
jmp 0x14012fbed
call fcn.1401563c0
test eax, eax
jne 0x14012fce3
lea ecx, [rdi + 2]
call fcn.14012cad0
mov qword [rsp + 0x30], rax
mov rbp, rax
test rax, rax
je 0x14012fce3
test edi, edi
je 0x14012fc9d
mov r8d, edi
mov rdx, rbx
mov rcx, rax
call fcn.140195e50
and r13d, 0xffffffbf
mov word [rdi + rbp], 0
mov dword [rsp + 0x98], r13d
jmp 0x14012fbba
mov rcx, qword [rsp + 0x30]
call qword [0x1402972e8]
xor ebp, ebp
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x98]
mov dword [rcx], eax
mov rcx, qword [rsp + 0xb0]
mov eax, dword [rsp + 0x20]
mov qword [rcx], rbp
jmp 0x14012fce8
mov eax, 7
mov r15, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x68
pop r13
pop r12
pop rdi
pop rbx
ret