Function at 0x140080964
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 r12
push r13
push r14
push r15
sub rsp, 0x48
mov r12d, dword [r8]
xor edi, edi
mov rsi, rdx
mov r13, rcx
mov r14d, edi
test rdx, rdx
jne 0x14008099a
mov ebx, edi
jmp 0x1400809ad
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdx + rbx], dil
jne 0x14008099e
and ebx, 0x3fffffff
test r12b, 0x40
jne 0x1400809c0
cmp byte [0x140133b56], dil
je 0x140080eb3
cmp ebx, 5
jb 0x140080eb3
mov eax, dword [rdx]
cmp eax, dword [str.file:]
jne 0x140080eb3
mov al, byte [rdx + 4]
cmp al, byte [0x1401083c8]
jne 0x140080eb3
or r12d, 0x40
mov r8d, ebx
mov dword [rsp + 0x98], r12d
lea ecx, [rbx + 2]
test ebx, ebx
je 0x140080a14
mov rdx, rdi
cmp byte [rdx + rsi], 0x26
mov rax, rdi
sete al
inc rdx
add rcx, rax
cmp rdx, r8
jl 0x1400809ff
call fcn.1400158cc
mov rbp, rax
test rax, rax
je 0x140080ec3
mov r9b, 0x2f
mov ecx, 5
cmp byte [rsi + 5], r9b
jne 0x140080aa6
cmp byte [rsi + 6], r9b
jne 0x140080aa6
lea r8, [rsi + 7]
mov ecx, 7
mov al, byte [r8]
test al, al
je 0x140080aa6
mov rdx, r8
cmp al, r9b
je 0x140080a5c
inc rdx
inc ecx
mov al, byte [rdx]
test al, al
jne 0x140080a4c
cmp ecx, 7
je 0x140080aa6
cmp ecx, 0x10
jne 0x140080a7e
mov rax, qword [str.localhost]
cmp rax, qword [r8]
jne 0x140080a7e
mov al, byte [0x1401083d8]
cmp al, byte [r8 + 8]
je 0x140080aa6
lea edx, [rcx - 7]
lea rcx, str.invalid_uri_authority:__.s
call fcn.14001772c
mov rcx, rax
mov r14d, 1
mov rax, qword [rsp + 0xb8]
mov qword [rax], rcx
jmp 0x140080e31
movsxd rax, ecx
mov r9d, edi
mov dl, byte [rax + rsi]
test dl, dl
je 0x140080c26
mov r10, rdi
lea r13, [0x1400f0290]
movsxd r15, ecx
cmp dl, 0x23
je 0x140080c0e
inc ecx
cmp dl, 0x25
jne 0x140080b89
movsxd rax, ecx
movzx ebx, byte [rax + rsi]
test byte [rbx + r13], 8
je 0x140080b89
movzx r11d, byte [r15 + rsi + 2]
test byte [r11 + r13], 8
je 0x140080b89
mov dl, bl
movsx eax, bl
sar eax, 6
and al, 1
movsx r8d, r11b
movzx eax, al
imul ecx, eax, 7
sar r8d, 6
and r8b, 1
movzx eax, r8b
sub dl, cl
imul ecx, eax, 7
mov al, r11b
and edx, 0xf
shl edx, 4
sub al, cl
lea ecx, [r15 + 3]
and eax, 0xf
add edx, eax
jne 0x140080bf6
movsxd rax, ecx
lea rdx, [rax + rsi]
jmp 0x140080b81
cmp al, 0x23
je 0x140080c00
test r9d, r9d
jne 0x140080b58
cmp al, 0x3f
je 0x140080c00
cmp r9d, 1
jne 0x140080b6e
cmp al, 0x3d
je 0x140080c00
cmp al, 0x26
je 0x140080c00
cmp r9d, 2
jne 0x140080b7c
cmp al, 0x26
je 0x140080c00
inc ecx
inc rdx
mov al, byte [rdx]
test al, al
jne 0x140080b43
jmp 0x140080c00
cmp r9d, 1
jne 0x140080bd8
cmp dl, 0x26
je 0x140080b99
cmp dl, 0x3d
jne 0x140080bf6
cmp byte [r10 + rbp - 1], dil
jne 0x140080bbf
movsxd rax, ecx
jmp 0x140080bb6
cmp dl, 0x23
je 0x140080c00
cmp byte [rax + rsi - 1], 0x26
je 0x140080c00
inc ecx
inc rax
mov dl, byte [rax + rsi]
test dl, dl
jne 0x140080ba5
jmp 0x140080c00
cmp dl, 0x26
jne 0x140080bd0
inc r14d
mov byte [r10 + rbp], dil
inc r10
jmp 0x140080bf3
mov r9d, 2
jmp 0x140080bf3
test r9d, r9d
jne 0x140080be2
cmp dl, 0x3f
je 0x140080bed
cmp r9d, 2
jne 0x140080bf6
cmp dl, 0x26
jne 0x140080bf6
mov r9d, 1
mov dl, dil
inc r14d
mov byte [r10 + rbp], dl
inc r10
movsxd rax, ecx
mov dl, byte [rax + rsi]
test dl, dl
jne 0x140080ac1
mov r13, qword [rsp + 0x90]
cmp r9d, 1
jne 0x140080c26
movsxd rax, r14d
inc r14d
mov byte [rax + rbp], dil
movsxd rax, r14d
or r11, 0xffffffffffffffff
mov word [rax + rbp], di
mov rax, r11
inc rax
cmp byte [rax + rbp], dil
jne 0x140080c34
mov r10d, 0x3fffffff
lea rdx, [rbp + 1]
and rax, r10
add rdx, rax
cmp byte [rdx], dil
je 0x140080dee
mov ebx, dword [0x1401083fc]
mov r8, r11
inc r8
cmp byte [rdx + r8], dil
jne 0x140080c5f
and r8d, r10d
lea r15d, [r8 + 1]
add r15, rdx
jne 0x140080c80
mov r9d, edi
mov dword [rsp + 0x24], edi
mov r14, rdi
jmp 0x140080c9a
mov r14, r11
inc r14
cmp byte [r15 + r14], dil
jne 0x140080c83
mov r9d, r14d
and r9d, r10d
mov dword [rsp + 0x24], r9d
and r14, r10
cmp r8d, 3
jne 0x140080cc0
cmp bx, word [rdx]
jne 0x140080cc0
mov al, byte [0x1401083fe]
cmp al, byte [rdx + 2]
jne 0x140080cc0
mov r13, r15
mov qword [rsp + 0x90], r15
jmp 0x140080dde
mov qword [rsp + 0x30], rdi
mov r13, rdi
mov esi, edi
cmp r8d, 5
jne 0x140080cfd
mov eax, dword [0x140108400]
cmp eax, dword [rdx]
jne 0x140080cfd
mov al, byte [0x140108404]
cmp al, byte [rdx + 4]
jne 0x140080cfd
lea rcx, [0x140108400]
mov esi, 0x60000
mov qword [rsp + 0x30], rcx
lea r13, str.shared
mov dword [rsp + 0x20], esi
cmp r8d, 4
jne 0x140080d36
mov eax, dword [str.mode]
mov dword [rsp + 0x20], esi
cmp eax, dword [rdx]
jne 0x140080d36
mov eax, r12d
lea r13, [0x1401394f0]
mov esi, Ordinal_139
and eax, esi
mov dword [rsp + 0x20], eax
lea rax, str.access
mov qword [rsp + 0x30], rax
test r13, r13
je 0x140080dd6
mov rcx, qword [r13]
mov r12, rdi
test rcx, rcx
je 0x140080e9a
mov rax, r11
inc rax
cmp byte [rcx + rax], dil
jne 0x140080d52
and eax, r10d
cmp r9d, eax
jne 0x140080d84
mov rdx, rcx
mov r8d, r9d
mov rcx, r15
call fcn.1400df7f0
test eax, eax
je 0x140080d94
mov r9d, dword [rsp + 0x24]
mov r10d, 0x3fffffff
or r11, 0xffffffffffffffff
inc r12
mov rax, r12
add rax, rax
mov rcx, qword [r13 + rax*8]
jmp 0x140080d46
add r12, r12
mov ecx, dword [r13 + r12*8 + 8]
test ecx, ecx
je 0x140080e9a
mov eax, ecx
btr eax, 7
cmp eax, dword [rsp + 0x20]
jg 0x140080e70
mov r12d, dword [rsp + 0x98]
not esi
and r12d, esi
mov r10d, 0x3fffffff
or r12d, ecx
mov dword [rsp + 0x98], r12d
or r11, 0xffffffffffffffff
mov r13, qword [rsp + 0x90]
lea rdx, [r14 + 1]
add rdx, r15
cmp byte [rdx], dil
jne 0x140080c5c
mov r14d, edi
mov rcx, r13
call fcn.140015544
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
test rax, rax
jne 0x140080e2c
mov rdx, r13
lea rcx, str.no_such_vfs:__s
call fcn.14001772c
mov rcx, rax
mov r14d, 1
mov rax, qword [rsp + 0xb8]
mov qword [rax], rcx
test r14d, r14d
je 0x140080e39
mov rcx, rbp
call fcn.140015940
mov rcx, qword [rsp + 0xa0]
test r14d, r14d
mov eax, dword [rsp + 0x98]
cmove rdi, rbp
mov dword [rcx], eax
mov eax, r14d
mov rcx, qword [rsp + 0xb0]
mov qword [rcx], rdi
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rdx, qword [rsp + 0x30]
lea rcx, str._s_mode_not_allowed:__s
mov r8, r15
call fcn.14001772c
mov rcx, rax
mov r14d, 3
mov rax, qword [rsp + 0xb8]
mov qword [rax], rcx
jmp 0x140080e31
mov rdx, qword [rsp + 0x30]
lea rcx, str.no_such__s_mode:__s
mov r8, r15
call fcn.14001772c
jmp 0x140080a8d
lea ecx, [rbx + 2]
call fcn.1400158cc
mov rbp, rax
test rax, rax
jne 0x140080eca
mov eax, 7
jmp 0x140080e5f
test ebx, ebx
je 0x140080edc
mov r8d, ebx
mov rdx, rsi
mov rcx, rbp
call fcn.1400c2660
mov eax, ebx
and r12d, 0xffffffbf
mov dword [rsp + 0x98], r12d
mov word [rax + rbp], di
jmp 0x140080df1