Function at 0x66fbd0
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov r13d, dword [r8]
mov r15, rcx
mov rcx, rdx
mov rsi, rdx
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x98], r9
call fcn.0067f830
test r13b, 0x40
mov edi, eax
lea ebx, [rax + 8]
jne 0x66fc19
cmp byte [0x006b54c6], 0
je 0x66ff9e
cmp edi, 4
jle 0x66ff9e
lea rdx, str.file:
mov r8d, 5
mov rcx, rsi
call sub.ntdll.dll_memcmp
test eax, eax
mov ebp, eax
jne 0x66ff9e
movsxd rcx, ebx
xor eax, eax
xor edx, edx
cmp byte [rsi + rax], 0x26
sete dl
inc rax
add rcx, rdx
cmp edi, eax
jg 0x66fc46
call fcn.00698860
test rax, rax
mov r14, rax
jne 0x66fc70
mov esi, 7
jmp 0x670076
or r13d, 0x40
mov dword [rax], 0
cmp byte [rsi + 5], 0x2f
lea rbx, [rax + 4]
mov edi, 5
je 0x66fc9b
xor r9d, r9d
xor r11d, r11d
lea r10, [0x007b1800]
jmp 0x66fd71
cmp byte [rsi + 6], 0x2f
jne 0x66fc89
mov eax, 7
mov dl, byte [rsi + rax]
mov edi, eax
inc rax
test dl, dl
je 0x66fcb7
cmp dl, 0x2f
jne 0x66fca6
cmp edi, 7
je 0x66fc89
cmp edi, 0x10
lea r12, [rsi + 7]
jne 0x66fcde
lea rcx, str.localhost
mov r8d, 9
mov rdx, r12
call sub.ntdll.dll_memcmp
test eax, eax
je 0x66fc89
lea edx, [rdi - 7]
lea rcx, str.invalid_uri_authority:__.s
mov r8, r12
call fcn.00698900
jmp 0x66fffc
test dl, dl
je 0x66fe40
cmp dl, 0x25
lea r8d, [rdi + 1]
jne 0x66fdb5
movsxd rax, r8d
movzx r12d, byte [rsi + rax]
test byte [r10 + r12], 8
je 0x66fdb5
movzx eax, byte [rsi + rax + 1]
test byte [r10 + rax], 8
je 0x66fdb5
movsx ecx, r12b
call fcn.0066a420
lea r8d, [rdi + 3]
add edi, 2
movzx r12d, al
movsxd rdi, edi
shl r12d, 4
movsx ecx, byte [rsi + rdi]
call fcn.0066a420
movzx eax, al
add r12d, eax
test r12d, r12d
mov dl, r12b
jne 0x66fe28
movsxd r8, r8d
mov al, byte [rsi + r8]
mov edi, r8d
cmp al, 0x23
jne 0x66fd85
movsxd rax, edi
mov dl, byte [rsi + rax]
cmp dl, 0x23
jne 0x66fcf5
jmp 0x66fe40
test al, al
je 0x66fd71
test ebp, ebp
jne 0x66fd95
cmp al, 0x3f
je 0x66fe39
cmp al, 0x26
setne dl
cmp ebp, 1
jne 0x66fda7
cmp al, 0x3d
je 0x66fd71
test dl, dl
je 0x66fd71
inc r8
cmp ebp, 2
jne 0x66fd66
test dl, dl
jne 0x66fd66
jmp 0x66fd71
cmp ebp, 1
jne 0x66fdfb
cmp dl, 0x26
je 0x66fdc4
cmp dl, 0x3d
jne 0x66fdfb
movsxd rax, r9d
cmp byte [rbx + rax - 1], 0
jne 0x66fded
movsxd r8, r8d
mov al, byte [rsi + r8]
mov edi, r8d
test al, al
je 0x66fd71
cmp al, 0x23
je 0x66fd71
inc r8
cmp byte [rsi + r8 - 2], 0x26
jne 0x66fdd1
jmp 0x66fd71
cmp dl, 0x26
jne 0x66fe1a
inc r9d
mov byte [rbx + rax], 0
jmp 0x66fe26
test ebp, ebp
jne 0x66fe04
cmp dl, 0x3f
je 0x66fe21
cmp ebp, 2
jne 0x66fe28
cmp dl, 0x26
mov eax, 1
cmove ebp, eax
cmove edx, r11d
jmp 0x66fe28
mov ebp, 2
jmp 0x66fe26
mov ebp, 1
xor edx, edx
movsxd rax, r9d
mov edi, r8d
inc r9d
mov byte [rbx + rax], dl
jmp 0x66fd71
xor ebp, ebp
jmp 0x66fd71
dec ebp
jne 0x66fe50
movsxd rax, r9d
inc r9d
mov byte [r14 + rax + 4], 0
movsxd r9, r9d
mov rcx, rbx
mov dword [rbx + r9], 0
call fcn.0067f830
cdqe
lea rdx, [rbx + rax + 1]
cmp byte [rdx], 0
je 0x66ffd3
mov rcx, rdx
call fcn.0067f830
cdqe
lea rsi, [rdx + rax + 1]
mov r8, rax
mov rcx, rsi
call fcn.0067f830
cmp r8d, 3
movsxd rbp, eax
jne 0x66feb3
lea rcx, [0x007a0f35]
mov r8d, 3
call sub.ntdll.dll_memcmp
test eax, eax
cmove r15, rsi
jmp 0x66ff94
cmp r8d, 5
jne 0x67002e
lea rcx, str.cache
mov r8d, 5
call sub.ntdll.dll_memcmp
test eax, eax
jne 0x66ff94
lea r12, str.cache
lea r9, str.shared
mov dword [rsp + 0x24], 0x60000
mov edi, 0x60000
movsxd rax, ebp
mov r14, r9
mov qword [rsp + 0x28], rax
mov rdx, qword [r14]
test rdx, rdx
je 0x66ff32
mov rcx, rdx
call fcn.0067f830
cmp eax, ebp
jne 0x66ff2c
mov r8, qword [rsp + 0x28]
mov rcx, rsi
call sub.ntdll.dll_memcmp
test eax, eax
jne 0x66ff2c
mov eax, dword [r14 + 8]
test eax, eax
jne 0x66ff54
jmp 0x66ff32
add r14, 0x10
jmp 0x66fefd
lea rcx, str.no_such__s_mode:__s
mov r8, rsi
mov rdx, r12
call fcn.00698900
mov rdi, qword [rsp + 0xa8]
mov qword [rdi], rax
jmp 0x670007
mov edx, eax
and dl, 0x7f
cmp edx, dword [rsp + 0x24]
jle 0x66ff86
lea rcx, str._s_mode_not_allowed:__s
mov r8, rsi
mov rdx, r12
call fcn.00698900
mov rsi, qword [rsp + 0xa8]
mov qword [rsi], rax
mov esi, 3
jmp 0x67000c
not edi
mov r12d, edi
and r12d, r13d
or eax, r12d
mov r13d, eax
lea rdx, [rsi + rbp + 1]
jmp 0x66fe6a
movsxd rcx, ebx
call fcn.00698860
test rax, rax
je 0x66fc66
test edi, edi
mov dword [rax], 0
lea rbx, [rax + 4]
movsxd rax, edi
je 0x66ffc8
mov rdi, rbx
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
mov dword [rbx + rax], 0
and r13d, 0xffffffbf
mov rcx, r15
xor esi, esi
call fcn.0069ccc0
mov rdi, qword [rsp + 0x98]
test rax, rax
mov qword [rdi], rax
jne 0x670016
lea rcx, str.no_such_vfs:__s
mov rdx, r15
call fcn.00698900
mov rsi, qword [rsp + 0xa8]
mov qword [rsi], rax
mov esi, 1
mov rcx, rbx
xor ebx, ebx
call fcn.006979f0
mov rax, qword [rsp + 0x90]
mov dword [rax], r13d
mov rax, qword [rsp + 0xa0]
mov qword [rax], rbx
jmp 0x670076
cmp r8d, 4
jne 0x66ff94
lea rcx, str.mode
mov r8d, 4
call sub.ntdll.dll_memcmp
test eax, eax
jne 0x66ff94
mov eax, r13d
mov edi, 0x87
lea r12, str.access
and eax, 0x87
lea r9, [0x006b42c0]
mov dword [rsp + 0x24], eax
jmp 0x66fef2
mov eax, esi
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret