Function at 0x1400bf790
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rsi
push r13
push r14
sub rsp, 0x58
mov r14d, dword [r8]
mov rsi, rdx
mov dword [rsp + 0x20], 0
mov r13, rcx
mov rbx, rdx
test rdx, rdx
je 0x1400bf7d2
cmp byte [rdx], 0
je 0x1400bf7ca
inc rbx
cmp byte [rbx], 0
jne 0x1400bf7c2
sub ebx, esi
and ebx, 0x3fffffff
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x38], r15
test r14b, 0x40
jne 0x1400bf7f9
cmp dword [0x1400e53ec], 0
je 0x1400bfd32
cmp ebx, 5
jb 0x1400bfd32
cmp dword [rdx], 0x656c6966
jne 0x1400bfd32
cmp byte [rdx + 4], 0x3a
jne 0x1400bfd32
or r14d, 0x40
mov r10d, ebx
xor edx, edx
mov dword [rsp + 0x88], r14d
xor r8d, r8d
lea edi, [rbx + 2]
xor ebp, ebp
xor ecx, ecx
cmp r10, 2
jb 0x1400bf861
lea r9, [rbx - 1]
nop dword [rax]
xor eax, eax
cmp byte [rsi + rcx], 0x26
sete al
add edx, eax
xor eax, eax
cmp byte [rsi + rcx + 1], 0x26
sete al
add rcx, 2
add r8d, eax
cmp rcx, r9
jl 0x1400bf840
cmp rcx, r10
jge 0x1400bf871
xor eax, eax
cmp byte [rcx + rsi], 0x26
sete al
add edi, eax
lea eax, [r8 + rdx]
add edi, eax
call fcn.1400bc3f0
test eax, eax
jne 0x1400bfe57
test edi, edi
jle 0x1400bfe57
movsxd rcx, edi
call fcn.14002cbc0
mov rdx, rax
test rax, rax
je 0x1400bfe57
cmp byte [rsi + 5], 0x2f
mov r9d, 5
mov r12, rax
jne 0x1400bf925
cmp byte [rsi + 6], 0x2f
jne 0x1400bf925
movzx eax, byte [rsi + 7]
lea r8, [rsi + 7]
mov r9d, 7
test al, al
je 0x1400bf925
mov rcx, r8
nop word [rax + rax]
cmp al, 0x2f
je 0x1400bf8e2
movzx eax, byte [rcx + 1]
inc rcx
inc r9d
test al, al
jne 0x1400bf8d0
cmp r9d, 7
je 0x1400bf925
cmp r9d, 0x10
jne 0x1400bf908
movabs rax, 0x736f686c61636f6c
cmp rax, qword [r8]
jne 0x1400bf908
mov eax, 0x74
cmp al, byte [r8 + 8]
je 0x1400bf925
lea edx, [r9 - 7]
mov dword [rsp + 0x20], 1
lea rcx, str.invalid_uri_authority:__.s
call fcn.14002f480
jmp 0x1400bfda9
movsxd rax, r9d
xor r10d, r10d
movzx ecx, byte [rax + rsi]
test cl, cl
je 0x1400bfaad
mov rbx, r12
lea rdi, [0x1400cfac0]
movsxd r8, r9d
cmp cl, 0x23
je 0x1400bfa9d
inc r9d
cmp cl, 0x25
jne 0x1400bfa0f
movsxd rax, r9d
movzx edx, byte [rax + rsi]
test byte [rdx + rdi], 8
je 0x1400bfa0f
movsxd rax, r9d
movzx r11d, byte [rax + rsi + 1]
test byte [r11 + rdi], 8
je 0x1400bfa0f
movsx eax, dl
add r9d, 2
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
movzx eax, r11b
and edx, 0xf
add edx, edx
sub al, cl
and eax, 0xf
lea ecx, [rax + rdx*8]
test ecx, ecx
jne 0x1400bfa87
movsxd rcx, r9d
add rcx, rsi
movzx eax, byte [rcx]
test al, al
je 0x1400bfa8e
nop
cmp al, 0x23
je 0x1400bfa8e
test r10d, r10d
jne 0x1400bf9e1
cmp al, 0x3f
jmp 0x1400bf9f9
cmp r10d, 1
jne 0x1400bf9f1
cmp al, 0x3d
je 0x1400bfa8e
jmp 0x1400bf9f7
cmp r10d, 2
jne 0x1400bf9ff
cmp al, 0x26
je 0x1400bfa8e
movzx eax, byte [rcx + 1]
inc rcx
inc r9d
test al, al
jne 0x1400bf9d0
jmp 0x1400bfa8e
cmp r10d, 1
jne 0x1400bfa68
cmp cl, 0x26
je 0x1400bfa1f
cmp cl, 0x3d
jne 0x1400bfa87
cmp byte [rbx - 1], 0
jne 0x1400bfa51
lea rcx, [rsi + 1]
add rcx, r8
movzx edx, byte [rcx]
test dl, dl
je 0x1400bfa8e
cmp dl, 0x23
je 0x1400bfa8e
cmp byte [rcx - 1], 0x26
je 0x1400bfa8e
movzx eax, byte [rcx + 1]
inc rcx
inc r9d
movzx edx, al
test al, al
jne 0x1400bfa33
jmp 0x1400bfa8e
cmp cl, 0x26
jne 0x1400bfa60
inc ebp
mov byte [rbx], 0
inc rbx
jmp 0x1400bfa85
mov r10d, 2
jmp 0x1400bfa85
test r10d, r10d
jne 0x1400bfa74
cmp cl, 0x3f
je 0x1400bfa7f
jmp 0x1400bfa87
cmp r10d, 2
jne 0x1400bfa87
cmp cl, 0x26
jne 0x1400bfa87
mov r10d, 1
xor cl, cl
inc ebp
mov byte [rbx], cl
inc rbx
movsxd rax, r9d
movzx ecx, byte [rax + rsi]
test cl, cl
jne 0x1400bf941
cmp r10d, 1
jne 0x1400bfaad
movsxd rax, ebp
inc ebp
mov byte [rax + r12], 0
movsxd rax, ebp
mov word [rax + r12], 0
mov rax, r12
cmp byte [r12], 0
je 0x1400bfac9
inc rax
cmp byte [rax], 0
jne 0x1400bfac1
sub eax, r12d
and eax, 0x3fffffff
lea r8d, [rax + 1]
add r8, r12
cmp byte [r8], 0
je 0x1400bfd76
mov esi, 0x73
mov rdx, r8
mov r14d, 0x6676
lea ebp, [rsi - 0xe]
nop dword [rax]
nop word [rax + rax]
mov r10d, dword [rsp + 0x88]
inc rdx
cmp byte [rdx], 0
jne 0x1400bfb00
sub edx, r8d
mov dword [rsp + 0x88], r10d
and edx, 0x3fffffff
mov rdi, r13
lea r15d, [rdx + 1]
add r15, r8
mov rbx, r15
jne 0x1400bfb3c
xor ebx, ebx
mov qword [rsp + 0x80], r13
jmp 0x1400bfb81
cmp byte [r15], 0
mov qword [rsp + 0x80], rdi
je 0x1400bfb6a
mov dword [rsp + 0x88], r10d
mov qword [rsp + 0x80], rdi
nop word [rax + rax]
inc rbx
cmp byte [rbx], 0
jne 0x1400bfb60
jmp 0x1400bfb72
mov r10d, dword [rsp + 0x88]
sub ebx, r15d
mov r14d, 0x6676
and ebx, 0x3fffffff
cmp edx, 3
jne 0x1400bfba2
cmp r14w, word [r8]
jne 0x1400bfcc2
cmp sil, byte [r8 + 2]
jne 0x1400bfcc2
mov r13, r15
jmp 0x1400bfcca
cmp edx, 5
jne 0x1400bfbdd
mov eax, 0x68636163
cmp eax, dword [r8]
jne 0x1400bfcc2
cmp bpl, byte [r8 + 4]
jne 0x1400bfcc2
mov dword [rsp + 0x24], 0x60000
lea r14, str.shared
lea rax, str.cache
mov r13d, 0x60000
jmp 0x1400bfc14
cmp edx, 4
jne 0x1400bfcc2
mov eax, 0x65646f6d
cmp eax, dword [r8]
jne 0x1400bfcc2
mov r13d, r10d
mov dword [rsp + 0x24], 0x87
and r13d, 0x87
lea r14, [0x1400e6e50]
lea rax, str.access
mov rcx, qword [r14]
xor ebp, ebp
mov qword [rsp + 0x28], rax
test rcx, rcx
je 0x1400bfd0c
cmp byte [rcx], 0
mov rax, rcx
je 0x1400bfc38
nop
inc rax
cmp byte [rax], 0
jne 0x1400bfc30
sub eax, ecx
mov qword [rsp + 0x80], rdi
and eax, 0x3fffffff
mov edi, r10d
cmp ebx, eax
jne 0x1400bfc60
mov rdx, rcx
mov r8d, ebx
mov rcx, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400bfc8a
inc rbp
mov dword [rsp + 0x88], edi
mov rax, rbp
add rax, rax
mov rcx, qword [r14 + rax*8]
test rcx, rcx
je 0x1400bfd0c
mov r10d, edi
mov rdi, qword [rsp + 0x80]
jmp 0x1400bfc27
add rbp, rbp
mov ecx, dword [r14 + rbp*8 + 8]
mov r14d, edi
test ecx, ecx
je 0x1400bfd14
mov eax, ecx
btr eax, 7
cmp eax, r13d
jg 0x1400bfceb
mov r10d, dword [rsp + 0x24]
mov esi, 0x73
not r10d
and r10d, edi
or r10d, ecx
mov dword [rsp + 0x88], r10d
lea ebp, [rsi - 0xe]
mov r13, qword [rsp + 0x80]
mov r8d, ebx
inc r8
add r8, r15
mov rdx, r8
cmp byte [r8], 0
je 0x1400bfd6e
mov r14d, 0x6676
jmp 0x1400bfb08
mov rdx, qword [rsp + 0x28]
lea rcx, str._s_mode_not_allowed:__s
mov r8, r15
mov dword [rsp + 0x20], 3
call fcn.14002f480
jmp 0x1400bfda9
mov r14d, dword [rsp + 0x88]
mov rdx, qword [rsp + 0x28]
lea rcx, str.no_such__s_mode:__s
mov r8, r15
mov dword [rsp + 0x20], 1
call fcn.14002f480
jmp 0x1400bfda9
call fcn.1400bc3f0
test eax, eax
jne 0x1400bfe57
lea ecx, [rbx + 2]
call fcn.14002cbc0
mov r12, rax
test rax, rax
je 0x1400bfe57
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
and r14d, 0xffffffbf
mov word [rbx + r12], 0
jmp 0x1400bfd76
mov r14d, dword [rsp + 0x88]
mov rcx, r13
call fcn.14002c480
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
test rax, rax
jne 0x1400bfe3b
mov rdx, r13
mov dword [rsp + 0x20], 1
lea rcx, str.no_such_vfs:__s
call fcn.14002f480
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
cmp dword [0x1400e53e0], 0
je 0x1400bfe2f
mov rcx, qword [0x1400e8508]
test rcx, rcx
je 0x1400bfdcf
call qword [0x1400e5468]
mov rcx, r12
call qword [0x1400e5420]
mov edx, dword [0x1400e8380]
neg eax
add edx, eax
cmp edx, dword [0x1400e83a8]
mov dword [0x1400e8380], edx
jle 0x1400bfdf6
mov dword [0x1400e83a8], edx
mov eax, dword [0x1400e83a4]
dec eax
cmp eax, dword [0x1400e83cc]
mov dword [0x1400e83a4], eax
jle 0x1400bfe12
mov dword [0x1400e83cc], eax
mov rcx, r12
call qword [0x1400e5410]
mov rcx, qword [0x1400e8508]
test rcx, rcx
je 0x1400bfe38
call qword [0x1400e5478]
jmp 0x1400bfe38
mov rcx, r12
call qword [0x1400e5410]
xor r12d, r12d
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa0]
mov dword [rax], r14d
mov eax, dword [rsp + 0x20]
mov qword [rcx], r12
jmp 0x1400bfe5c
mov eax, 7
mov r15, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
pop r14
pop r13
pop rsi
pop rbx
ret