Function at 0x180048d14
Capabilities:
Parse credit card information

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
and dword [rsp + 0x20], 0
mov r12d, dword [rdx]
xor r13d, r13d
mov qword [rsp + 0x28], r13
mov rsi, rcx
call fcn.1800117e4
lea r14d, [r13 + 1]
movsxd rbx, eax
test r12b, 0x40
jne 0x180048d68
cmp dword [0x1800d455c], r13d
je 0x180049222
cmp ebx, 5
jl 0x180049222
mov edx, dword [rsi]
lea r15, [0x180000000]
cmp edx, dword [r15 + 0xa4074]
jne 0x180048d93
mov dl, byte [rsi + 4]
cmp dl, byte [r15 + 0xa4078]
jne 0x180048d93
xor eax, eax
jmp 0x180048d98
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x180049222
lea eax, [rbx + 2]
mov r8, rbx
or r12d, 0x40
xor ebp, ebp
xor edx, edx
mov bl, 0x26
movsxd rcx, eax
mov dword [rsp + 0x24], r12d
test r8, r8
jle 0x180048dd0
xor eax, eax
cmp byte [rdx + rsi], bl
sete al
add rdx, r14
add rcx, rax
cmp rdx, r8
jl 0x180048dbd
call fcn.180010034
mov rdi, rax
test rax, rax
jne 0x180048de7
mov eax, 7
jmp 0x1800491d5
mov dl, 0x2f
mov r9d, 5
cmp byte [rsi + 5], dl
jne 0x180048e69
cmp byte [rsi + 6], dl
jne 0x180048e69
lea r8, [rsi + 7]
mov r9d, 7
mov al, byte [r8]
test al, al
je 0x180048e69
mov rcx, r8
cmp al, dl
je 0x180048e1d
add rcx, r14
add r9d, r14d
mov al, byte [rcx]
test al, al
jne 0x180048e0d
cmp r9d, 7
je 0x180048e69
cmp r9d, 0x10
jne 0x180048e54
mov rdx, qword [r15 + 0xa4080]
mov rcx, r8
cmp rdx, qword [r8]
jne 0x180048e4b
mov dl, byte [r15 + 0xa4088]
add rcx, 8
cmp dl, byte [rcx]
jne 0x180048e4b
xor eax, eax
jmp 0x180048e50
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x180048e69
lea edx, [r9 - 7]
lea rcx, str.invalid_uri_authority:__.s
call fcn.180011454
jmp 0x18004919e
movsxd rax, r9d
xor r10d, r10d
xor r11d, r11d
mov dl, byte [rax + rsi]
test dl, dl
je 0x180048feb
mov r15b, Ordinal_36
lea r13, [0x180000000]
cmp dl, r15b
je 0x180048fd6
add r9d, r14d
cmp dl, 0x25
jne 0x180048f57
movsxd rax, r9d
movzx ecx, byte [rax + rsi]
test byte [rcx + r13 + 0x8ff50], 8
je 0x180048f57
movzx eax, byte [rax + rsi + 1]
test byte [rax + r13 + 0x8ff50], 8
je 0x180048f57
movsx edx, cl
add r9d, r14d
mov ecx, edx
movsxd rax, r9d
add r9d, r14d
movsx r8d, byte [rax + rsi]
sar ecx, 6
mov al, 7
and cl, r14b
imul cl
mov ecx, r8d
sar ecx, 6
sub dl, al
and cl, r14b
mov al, 7
and edx, 0xf
shl edx, 4
imul cl
mov cl, r8b
sub cl, al
and ecx, 0xf
add edx, ecx
jne 0x180048fbe
movsxd rax, r9d
movsxd rdx, r10d
lea rcx, [rax + rsi]
jmp 0x180048f4f
cmp al, r15b
je 0x180048fc8
test r10d, r10d
jne 0x180048f2a
cmp al, 0x3f
je 0x180048fc8
cmp rdx, r14
jne 0x180048f3f
cmp al, 0x3d
je 0x180048fc8
cmp al, bl
je 0x180048fc8
cmp rdx, 2
jne 0x180048f49
cmp al, bl
je 0x180048fc8
add r9d, r14d
add rcx, r14
mov al, byte [rcx]
test al, al
jne 0x180048f14
jmp 0x180048fc8
cmp r10d, r14d
jne 0x180048fa5
cmp dl, bl
je 0x180048f65
cmp dl, 0x3d
jne 0x180048fbe
cmp byte [r11 + rdi - 1], 0
jne 0x180048f8c
movsxd rax, r9d
jmp 0x180048f83
cmp cl, r15b
je 0x180048fc8
cmp byte [rax + rsi - 1], bl
je 0x180048fc8
add r9d, r14d
add rax, r14
mov cl, byte [rax + rsi]
test cl, cl
jne 0x180048f72
jmp 0x180048fc8
cmp dl, bl
jne 0x180048f9d
mov byte [r11 + rdi], 0
add ebp, r14d
add r11, r14
jmp 0x180048fbc
mov r10d, 2
jmp 0x180048fbc
test r10d, r10d
jne 0x180048faf
cmp dl, 0x3f
je 0x180048fb9
cmp r10d, 2
jne 0x180048fbe
cmp dl, bl
jne 0x180048fbe
mov r10d, r14d
xor dl, dl
mov byte [r11 + rdi], dl
add ebp, r14d
add r11, r14
movsxd rax, r9d
mov dl, byte [rax + rsi]
test dl, dl
jne 0x180048e87
mov r13d, 0
cmp r10d, r14d
jne 0x180048feb
movsxd rax, ebp
add ebp, r14d
mov byte [rax + rdi], r13b
movsxd rax, ebp
mov rcx, rdi
mov word [rax + rdi], 0
call fcn.1800117e4
add eax, r14d
movsxd rdx, eax
add rdx, rdi
cmp byte [rdx], 0
je 0x180049177
mov rcx, rdx
call fcn.1800117e4
mov r10d, eax
inc eax
movsxd rsi, eax
add rsi, rdx
mov rcx, rsi
call fcn.1800117e4
movsxd r15, eax
cmp r10d, 3
jne 0x18004906e
lea rax, [0x180000000]
movzx r9d, word [rax + 0xa40ac]
cmp r9w, word [rdx]
jne 0x180049058
mov r9b, byte [rax + 0xa40ae]
cmp r9b, byte [rdx + 2]
jne 0x180049058
xor eax, eax
jmp 0x18004905d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x18004906e
mov r13, rsi
mov qword [rsp + 0x28], rsi
jmp 0x18004915e
xor ebp, ebp
xor r14d, r14d
xor ebx, ebx
xor r13d, r13d
cmp r10d, 5
jne 0x1800490be
lea rax, [0x1800a40b0]
mov r8d, dword [rax]
cmp r8d, dword [rdx]
jne 0x18004909b
mov r8b, byte [rax + 4]
cmp r8b, byte [rdx + 4]
jne 0x18004909b
xor eax, eax
jmp 0x1800490a0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x180049159
mov ebx, 0x60000
lea rbp, str.shared
lea r14, [0x1800a40b0]
mov r13d, ebx
cmp r10d, 4
jne 0x1800490e7
mov eax, dword [str.mode]
cmp eax, dword [rdx]
jne 0x1800490e7
mov ebx, Ordinal_139
mov r13d, r12d
lea rbp, [0x1800d5cf0]
and r13d, ebx
lea r14, str.access
test rbp, rbp
je 0x180049159
mov rdx, qword [rbp]
xor r12d, r12d
test rdx, rdx
je 0x180049206
mov rcx, rdx
call fcn.1800117e4
cmp r15d, eax
jne 0x180049118
mov r8, r15
mov rcx, rsi
call fcn.180083860
test eax, eax
je 0x180049128
inc r12
mov rax, r12
add rax, rax
mov rdx, qword [rbp + rax*8]
jmp 0x1800490f3
add r12, r12
mov ecx, dword [rbp + r12*8 + 8]
test ecx, ecx
je 0x180049206
mov eax, ecx
btr eax, 7
cmp eax, r13d
jg 0x1800491ea
mov r12d, dword [rsp + 0x24]
not ebx
and r12d, ebx
or r12d, ecx
mov dword [rsp + 0x24], r12d
mov r13, qword [rsp + 0x28]
lea eax, [r15 + 1]
movsxd rdx, eax
add rdx, rsi
cmp byte [rdx], 0
jne 0x18004900e
mov r14d, 1
mov rcx, r13
call fcn.18000fa08
mov rcx, qword [rsp + 0x80]
mov qword [rcx], rax
test rax, rax
jne 0x1800491bb
lea rcx, str.no_such_vfs:__s
mov rdx, r13
call fcn.180011454
mov dword [rsp + 0x20], r14d
mov r11, rax
mov rax, qword [rsp + 0x90]
mov rcx, rdi
mov qword [rax], r11
call fcn.1800101d8
xor edi, edi
mov eax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x78]
mov dword [rcx], eax
mov rax, qword [rsp + 0x88]
mov qword [rax], rdi
mov eax, dword [rsp + 0x20]
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str._s_mode_not_allowed:__s
mov r8, rsi
mov rdx, r14
call fcn.180011454
mov dword [rsp + 0x20], 3
jmp 0x1800491a3
lea rcx, str.no_such__s_mode:__s
mov r8, rsi
mov rdx, r14
call fcn.180011454
mov dword [rsp + 0x20], 1
jmp 0x1800491a3
lea eax, [rbx + 2]
movsxd rcx, eax
call fcn.180010034
mov rdi, rax
test rax, rax
je 0x180048ddd
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call fcn.180076230
and r12d, 0xffffffbf
mov word [rbx + rdi], r13w
mov dword [rsp + 0x24], r12d
jmp 0x180049177