Function at 0x140174500
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rdi
push r12
push r14
sub rsp, 0x58
mov r14d, dword [r8]
mov rdi, rdx
mov r12, rcx
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x80], 0
mov rbx, rdx
mov dword [rsp + 0x88], r14d
test rdx, rdx
je 0x140174552
cmp byte [rdx], 0
je 0x14017454a
inc rbx
cmp byte [rbx], 0
jne 0x140174542
sub ebx, edx
and ebx, 0x3fffffff
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r15
test r14b, 0x40
jne 0x140174579
cmp dword [0x140470e7c], 0
je 0x140174aa4
cmp ebx, 5
jl 0x140174aa4
mov edx, dword [rdx]
lea rcx, [0x140000000]
cmp edx, dword [rcx + 0x3822c4]
lea rcx, [rcx + 0x3822c4]
jne 0x1401745a7
movzx edx, byte [rdi + 4]
cmp dl, byte [rcx + 4]
jne 0x1401745a7
xor eax, eax
jmp 0x1401745ac
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x140174aa4
or r14d, 0x40
movsxd r8, ebx
xor esi, esi
xor ebp, ebp
xor r13d, r13d
xor ecx, ecx
lea r12d, [rbx + 2]
mov dword [rsp + 0x88], r14d
cmp r8, 2
jl 0x140174600
lea rdx, [r8 - 1]
nop word [rax + rax]
xor eax, eax
cmp byte [rdi + rcx], 0x26
sete al
add esi, eax
xor eax, eax
cmp byte [rdi + rcx + 1], 0x26
sete al
add rcx, 2
add ebp, eax
cmp rcx, rdx
jl 0x1401745e0
cmp rcx, r8
jge 0x140174611
xor eax, eax
cmp byte [rcx + rdi], 0x26
sete al
add r12d, eax
call fcn.1401734c0
test eax, eax
jne 0x140174b5d
lea ecx, [rsi + rbp]
add ecx, r12d
call fcn.140143ba0
mov rsi, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x140174b5d
cmp byte [rdi + 5], 0x2f
jne 0x1401746de
cmp byte [rdi + 6], 0x2f
jne 0x1401746de
movzx ecx, byte [rdi + 7]
lea r8, [rdi + 7]
mov r9d, 7
test cl, cl
je 0x1401746e4
mov rax, r8
cmp cl, 0x2f
je 0x14017467a
movzx ecx, byte [rax + 1]
inc rax
inc r9d
test cl, cl
jne 0x140174667
cmp r9d, 7
je 0x1401746e4
cmp r9d, 0x10
jne 0x1401746bb
lea r12, [0x140000000]
mov rcx, r8
mov rdx, qword [r12 + 0x3822d0]
cmp rdx, qword [r8]
jne 0x1401746b2
movzx edx, byte [r12 + 0x3822d8]
add rcx, 8
cmp dl, byte [rcx]
jne 0x1401746b2
xor eax, eax
jmp 0x1401746b7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1401746eb
lea edx, [r9 - 7]
lea rcx, str.invalid_uri_authority:__.s
call fcn.1401541f0
mov r11, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], r11
jmp 0x140174b21
mov r9d, 5
lea r12, [0x140000000]
movsxd rax, r9d
xor r11d, r11d
xor r10d, r10d
movzx edx, byte [rax + rdi]
test dl, dl
je 0x14017487f
cmp dl, 0x23
je 0x14017486f
inc r9d
cmp dl, 0x25
jne 0x1401747da
movsxd rax, r9d
movzx ecx, byte [rax + rdi]
test byte [rcx + r12 + 0x333160], 8
je 0x1401747da
movzx eax, byte [rax + rdi + 1]
test byte [rax + r12 + 0x333160], 8
je 0x1401747da
movsx edx, cl
inc r9d
mov ecx, edx
movsxd rax, r9d
inc r9d
movsx r8d, byte [rax + rdi]
sar ecx, 6
mov al, 7
and cl, 1
imul cl
mov ecx, r8d
sar ecx, 6
sub dl, al
and cl, 1
mov al, 7
and edx, 0xf
shl edx, 4
imul cl
movzx ecx, r8b
sub cl, al
and ecx, 0xf
add edx, ecx
jne 0x140174856
movsxd rax, r9d
movsxd rcx, r11d
lea rdx, [rax + rdi]
movzx eax, byte [rax + rdi]
test al, al
je 0x140174860
cmp al, 0x23
je 0x140174860
test r11d, r11d
jne 0x1401747a9
cmp al, 0x3f
jmp 0x1401747c1
cmp rcx, 1
jne 0x1401747b9
cmp al, 0x3d
je 0x140174860
jmp 0x1401747bf
cmp rcx, 2
jne 0x1401747c7
cmp al, 0x26
je 0x140174860
movzx eax, byte [rdx + 1]
inc rdx
inc r9d
test al, al
jne 0x140174798
jmp 0x140174860
cmp r11d, 1
jne 0x140174837
cmp dl, 0x26
je 0x1401747ea
cmp dl, 0x3d
jne 0x140174856
cmp byte [r10 + rsi - 1], 0
jne 0x14017481d
movsxd rax, r9d
cmp byte [rax + rdi], 0
je 0x140174860
movzx ecx, byte [rax + rdi]
nop
cmp cl, 0x23
je 0x140174860
cmp byte [rax + rdi - 1], 0x26
je 0x140174860
movzx ecx, byte [rax + rdi + 1]
inc rax
inc r9d
test cl, cl
jne 0x140174800
jmp 0x140174860
cmp dl, 0x26
jne 0x14017482f
mov byte [r10 + rsi], 0
inc r13d
inc r10
jmp 0x140174854
mov r11d, 2
jmp 0x140174854
test r11d, r11d
jne 0x140174843
cmp dl, 0x3f
je 0x14017484e
jmp 0x140174856
cmp r11d, 2
jne 0x140174856
cmp dl, 0x26
jne 0x140174856
mov r11d, 1
xor dl, dl
mov byte [r10 + rsi], dl
inc r13d
inc r10
movsxd rax, r9d
movzx edx, byte [rax + rdi]
test dl, dl
jne 0x140174700
cmp r11d, 1
jne 0x14017487f
movsxd rax, r13d
inc r13d
mov byte [rax + rsi], 0
movsxd rax, r13d
mov word [rax + rsi], 0
cmp byte [rsi], 0
mov rax, rsi
je 0x140174898
inc rax
cmp byte [rax], 0
jne 0x140174890
sub eax, esi
and eax, 0x3fffffff
inc eax
movsxd rdx, eax
add rdx, rsi
cmp byte [rdx], 0
je 0x140174aea
mov r15d, dword [str.mode]
nop word [rax + rax]
mov rcx, rdx
inc rcx
cmp byte [rcx], 0
jne 0x1401748c3
sub ecx, edx
and ecx, 0x3fffffff
lea eax, [rcx + 1]
movsxd rbp, eax
add rbp, rdx
mov rbx, rbp
jne 0x1401748e5
xor ebx, ebx
jmp 0x140174900
cmp byte [rbp], 0
je 0x1401748f8
nop dword [rax + rax]
inc rbx
cmp byte [rbx], 0
jne 0x1401748f0
sub ebx, ebp
and ebx, 0x3fffffff
cmp ecx, 3
jne 0x14017493f
movzx ecx, word [r12 + 0x3822fc]
cmp cx, word [rdx]
jne 0x140174925
movzx ecx, byte [r12 + 0x3822fe]
cmp cl, byte [rdx + 2]
jne 0x140174925
xor eax, eax
jmp 0x14017492a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x140174a55
mov r12, rbp
mov qword [rsp + 0x20], rbp
jmp 0x140174a5a
cmp ecx, 5
jne 0x140174984
lea rax, str.cache
mov ecx, dword [rax]
cmp ecx, dword [rdx]
jne 0x14017495e
movzx ecx, byte [rax + 4]
cmp cl, byte [rdx + 4]
jne 0x14017495e
xor eax, eax
jmp 0x140174963
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x140174a55
mov r12d, 0x60000
lea rsi, str.shared
lea r14, str.cache
mov r13d, r12d
jmp 0x1401749b0
cmp ecx, 4
jne 0x140174a55
cmp r15d, dword [rdx]
jne 0x140174a55
mov r13d, r14d
mov r12d, 7
lea rsi, [0x1404722d0]
and r13d, r12d
lea r14, str.access
mov rcx, qword [rsi]
xor edi, edi
test rcx, rcx
je 0x140174a07
nop word [rax + rax]
mov rax, rcx
test rcx, rcx
je 0x1401749df
cmp byte [rcx], 0
je 0x1401749d8
nop dword [rax]
inc rax
cmp byte [rax], 0
jne 0x1401749d0
sub eax, ecx
and eax, 0x3fffffff
cmp ebx, eax
jne 0x1401749f5
mov rdx, rcx
movsxd r8, ebx
mov rcx, rbp
call fcn.1400d4220
test eax, eax
je 0x140174a2c
inc rdi
mov rax, rdi
add rax, rax
mov rcx, qword [rsi + rax*8]
test rcx, rcx
jne 0x1401749c0
lea rcx, str.no_such__s_mode:__s
mov r8, rbp
mov rdx, r14
call fcn.1401541f0
mov r11, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], r11
jmp 0x140174b21
add rdi, rdi
mov eax, dword [rsi + rdi*8 + 8]
test eax, eax
je 0x140174a07
cmp eax, r13d
jg 0x140174a74
mov r14d, dword [rsp + 0x88]
not r12d
and r14d, r12d
or r14d, eax
mov dword [rsp + 0x88], r14d
mov r12, qword [rsp + 0x20]
lea eax, [rbx + 1]
movsxd rdx, eax
add rdx, rbp
cmp byte [rdx], 0
je 0x140174ae3
lea r12, [0x140000000]
jmp 0x1401748c0
lea rcx, str._s_mode_not_allowed:__s
mov r8, rbp
mov rdx, r14
call fcn.1401541f0
mov dword [rsp + 0x80], 3
mov r11, rax
mov rax, qword [rsp + 0xa8]
mov qword [rax], r11
jmp 0x140174b2c
call fcn.1401734c0
test eax, eax
jne 0x140174b5d
lea ecx, [rbx + 2]
call fcn.140143ba0
mov rsi, rax
mov qword [rsp + 0x28], rax
test rax, rax
je 0x140174b5d
movsxd rbx, ebx
mov rdx, rdi
mov rcx, rax
mov r8, rbx
call fcn.1400be580
mov word [rbx + rsi], 0
jmp 0x140174aef
mov rsi, qword [rsp + 0x28]
jmp 0x140174aef
mov r12, qword [rsp + 0x20]
mov rcx, r12
call fcn.140136e40
mov rcx, qword [rsp + 0x98]
mov qword [rcx], rax
test rax, rax
jne 0x140174b38
lea rcx, str.no_such_vfs:__s
mov rdx, r12
call fcn.1401541f0
mov rcx, qword [rsp + 0xa8]
mov qword [rcx], rax
mov dword [rsp + 0x80], 1
mov rcx, qword [rsp + 0x28]
call fcn.14013d030
xor esi, esi
mov rax, qword [rsp + 0x90]
mov ecx, dword [rsp + 0x88]
mov dword [rax], ecx
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x80]
mov qword [rcx], rsi
jmp 0x140174b62
mov eax, 7
mov r15, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
pop r14
pop r12
pop rdi
pop rbx
ret