Function at 0x14009d1c0
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 0x14009d200
xor edi, edi
jmp 0x14009d216
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rdx + rdi], 0
jne 0x14009d207
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 0x14009d23d
cmp dword [0x1400f8dfc], 0
je 0x14009d79d
cmp edi, 5
jb 0x14009d79d
mov eax, dword [rdx]
cmp eax, dword [str.file:]
jne 0x14009d79d
movzx eax, byte [rdx + 4]
cmp al, byte [0x1400dfdf0]
jne 0x14009d79d
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 0x14009d2b2
lea rdx, [rdi - 1]
nop word [rax + rax]
xor eax, eax
cmp byte [rbx + rcx], 0x26
sete al
add rsi, rax
xor eax, eax
cmp byte [rbx + rcx + 1], 0x26
sete al
add rcx, 2
add r14, rax
cmp rcx, rdx
jl 0x14009d290
cmp rcx, r8
jge 0x14009d2c3
xor eax, eax
cmp byte [rcx + rbx], 0x26
sete al
add rbp, rax
call fcn.140099ed0
test eax, eax
jne 0x14009d813
lea rcx, [r14 + rsi]
add rcx, rbp
call fcn.140014fd0
mov qword [rsp + 0x30], rax
mov rbp, rax
test rax, rax
je 0x14009d813
cmp byte [rbx + 5], 0x2f
mov ecx, 5
jne 0x14009d363
cmp byte [rbx + 6], 0x2f
jne 0x14009d363
movzx edx, byte [rbx + 7]
lea r8, [rbx + 7]
mov ecx, 7
test dl, dl
je 0x14009d363
mov rax, r8
cmp dl, 0x2f
je 0x14009d324
movzx edx, byte [rax + 1]
inc rax
inc ecx
test dl, dl
jne 0x14009d312
cmp ecx, 7
je 0x14009d363
cmp ecx, 0x10
jne 0x14009d347
mov rax, qword [str.localhost]
cmp rax, qword [r8]
jne 0x14009d347
movzx eax, byte [0x1400dfde8]
cmp al, byte [r8 + 8]
je 0x14009d363
lea edx, [rcx - 7]
mov dword [rsp + 0x20], 1
lea rcx, str.invalid_uri_authority:__.s
call fcn.140017640
jmp 0x14009d71d
movsxd rax, ecx
xor r9d, r9d
movzx edx, byte [rax + rbx]
test dl, dl
je 0x14009d4ef
xor esi, esi
lea r14, [0x1400e1030]
nop
movsxd rdi, ecx
cmp dl, 0x23
je 0x14009d4df
inc ecx
cmp dl, 0x25
jne 0x14009d451
movsxd rax, ecx
movzx r11d, byte [rax + rbx]
test byte [r11 + r14], 8
je 0x14009d451
movzx r10d, byte [rdi + rbx + 2]
test byte [r10 + r14], 8
je 0x14009d451
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 0x14009d4c7
movsxd rax, ecx
lea rdx, [rax + rbx]
movzx eax, byte [rax + rbx]
test al, al
je 0x14009d4d0
cmp al, 0x23
je 0x14009d4d0
test r9d, r9d
jne 0x14009d421
cmp al, 0x3f
jmp 0x14009d439
cmp r9d, 1
jne 0x14009d431
cmp al, 0x3d
je 0x14009d4d0
jmp 0x14009d437
cmp r9d, 2
jne 0x14009d43f
cmp al, 0x26
je 0x14009d4d0
movzx eax, byte [rdx + 1]
inc rdx
inc ecx
test al, al
jne 0x14009d410
jmp 0x14009d4d0
cmp r9d, 1
jne 0x14009d4a8
cmp dl, 0x26
je 0x14009d461
cmp dl, 0x3d
jne 0x14009d4c7
cmp byte [rsi + rbp - 1], 0
jne 0x14009d48f
movsxd rax, ecx
movzx edx, byte [rax + rbx]
test dl, dl
je 0x14009d4d0
cmp dl, 0x23
je 0x14009d4d0
cmp byte [rax + rbx - 1], 0x26
je 0x14009d4d0
movzx edx, byte [rax + rbx + 1]
inc rax
inc ecx
test dl, dl
jne 0x14009d473
jmp 0x14009d4d0
cmp dl, 0x26
jne 0x14009d4a0
inc r15d
mov byte [rsi + rbp], 0
inc rsi
jmp 0x14009d4c5
mov r9d, 2
jmp 0x14009d4c5
test r9d, r9d
jne 0x14009d4b4
cmp dl, 0x3f
je 0x14009d4bf
jmp 0x14009d4c7
cmp r9d, 2
jne 0x14009d4c7
cmp dl, 0x26
jne 0x14009d4c7
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 0x14009d380
cmp r9d, 1
jne 0x14009d4ef
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 0x14009d500
and eax, 0x3fffffff
lea r8, [rbp + 1]
add r8, rax
cmp byte [r8], 0
je 0x14009d6ea
mov ebx, dword [0x1400dfdf4]
nop word [rax + rax]
mov rdx, 0xffffffffffffffff
nop word [rax + rax]
inc rdx
cmp byte [r8 + rdx], 0
jne 0x14009d540
and edx, 0x3fffffff
lea r15d, [rdx + 1]
add r15, r8
jne 0x14009d55f
xor ebp, ebp
xor esi, esi
jmp 0x14009d57e
mov rsi, 0xffffffffffffffff
inc rsi
cmp byte [r15 + rsi], 0
jne 0x14009d566
mov ebp, esi
and ebp, 0x3fffffff
and esi, 0x3fffffff
cmp edx, 3
jne 0x14009d5a6
cmp bx, word [r8]
jne 0x14009d5a6
movzx eax, byte [0x1400dfdf6]
cmp al, byte [r8 + 2]
jne 0x14009d5a6
mov r12, r15
mov qword [rsp + 0x90], r15
jmp 0x14009d6d4
xor eax, eax
xor r14d, r14d
xor r12d, r12d
mov qword [rsp + 0x28], rax
cmp edx, 5
jne 0x14009d5e9
mov ecx, dword [str.cache]
cmp ecx, dword [r8]
jne 0x14009d5e9
movzx ecx, byte [0x1400dfe20]
cmp cl, byte [r8 + 4]
jne 0x14009d5e9
lea rax, str.cache
mov r12d, 0x60000
mov qword [rsp + 0x28], rax
lea r14, str.shared
cmp edx, 4
jne 0x14009d617
mov ecx, dword [str.mode]
cmp ecx, dword [r8]
jne 0x14009d617
mov r12d, 0x87
lea rax, str.access
and r13d, r12d
mov qword [rsp + 0x28], rax
lea r14, [0x1400f9930]
jmp 0x14009d623
mov r13d, r12d
test r14, r14
je 0x14009d6c4
mov rcx, qword [r14]
xor edi, edi
test rcx, rcx
je 0x14009d66f
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x14009d634
and eax, 0x3fffffff
cmp ebp, eax
jne 0x14009d658
mov rdx, rcx
mov r8d, ebp
mov rcx, r15
call fcn.1400a6ed0
test eax, eax
je 0x14009d68e
inc rdi
mov rax, rdi
add rax, rax
mov rcx, qword [r14 + rax*8]
test rcx, rcx
jne 0x14009d62d
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.140017640
jmp 0x14009d71d
add rdi, rdi
mov ecx, dword [r14 + rdi*8 + 8]
test ecx, ecx
je 0x14009d66a
mov eax, ecx
btr eax, 7
cmp eax, r13d
jg 0x14009d77f
mov r13d, dword [rsp + 0x98]
not r12d
and r13d, r12d
or r13d, ecx
mov dword [rsp + 0x98], r13d
jmp 0x14009d6cc
mov r13d, dword [rsp + 0x98]
mov r12, qword [rsp + 0x90]
lea r8, [r15 + 1]
add r8, rsi
cmp byte [r8], 0
jne 0x14009d530
mov rbp, qword [rsp + 0x30]
mov rcx, r12
call fcn.1400147e0
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
test rax, rax
jne 0x14009d7f1
mov rdx, r12
mov dword [rsp + 0x20], 1
lea rcx, str.no_such_vfs:__s
call fcn.140017640
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
cmp dword [0x1400f8df0], 0
je 0x14009d7e4
mov rcx, qword [0x1400fc068]
test rcx, rcx
je 0x14009d744
call qword [0x1400f8e78]
mov rcx, qword [rsp + 0x30]
call qword [0x1400f8e30]
dec qword [0x1400fbe38]
movsxd rcx, eax
sub qword [0x1400fbdf0], rcx
mov rcx, qword [rsp + 0x30]
call qword [0x1400f8e20]
mov rcx, qword [0x1400fc068]
test rcx, rcx
je 0x14009d7ef
call qword [0x1400f8e88]
jmp 0x14009d7ef
mov rdx, qword [rsp + 0x28]
lea rcx, str._s_mode_not_allowed:__s
mov r8, r15
mov dword [rsp + 0x20], 3
call fcn.140017640
jmp 0x14009d71d
call fcn.140099ed0
test eax, eax
jne 0x14009d813
lea ecx, [rdi + 2]
call fcn.140014fd0
mov qword [rsp + 0x30], rax
mov rbp, rax
test rax, rax
je 0x14009d813
test edi, edi
je 0x14009d7cd
mov r8d, edi
mov rdx, rbx
mov rcx, rax
call fcn.1400a6830
and r13d, 0xffffffbf
mov word [rdi + rbp], 0
mov dword [rsp + 0x98], r13d
jmp 0x14009d6ea
mov rcx, qword [rsp + 0x30]
call qword [0x1400f8e20]
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 0x14009d818
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