Function at 0x140227890
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov r12d, dword [r8]
mov rbp, rcx
mov rcx, rdx
mov qword [rsp + 0xa0], r8
mov rsi, rdx
mov qword [rsp + 0xa8], r9
call fcn.1402358d0
test r12b, 0x40
mov r13d, eax
lea ebx, [rax + 8]
jne 0x1402278da
cmp byte [0x140268866], 0
je 0x140227cc1
cmp r13d, 4
jle 0x140227cc1
mov r8d, 5
lea rdx, str.file:
mov rcx, rsi
call sub.msvcrt.dll_memcmp
mov edi, eax
test eax, eax
jne 0x140227cc1
movsxd rcx, ebx
or r12d, 0x40
xor eax, eax
xor edx, edx
cmp byte [rsi + rax], 0x26
sete dl
inc rax
add rcx, rdx
cmp r13d, eax
jg 0x14022790c
call fcn.14024d6d0
test rax, rax
jne 0x140227934
mov esi, 7
jmp 0x140227d4c
xor r9d, r9d
lea rbx, [rax + 4]
mov r13d, 5
mov dword [rax], r9d
cmp byte [rsi + 5], 0x2f
je 0x140227962
xor r9d, r9d
mov r11d, 1
xor r14d, r14d
lea r10, [0x14035bc60]
jmp 0x140227a3f
cmp byte [rsi + 6], 0x2f
jne 0x14022794a
mov eax, 7
mov dl, byte [rsi + rax]
mov r15, rax
inc rax
test dl, dl
je 0x14022797f
cmp dl, 0x2f
jne 0x14022796d
mov r13d, r15d
cmp r15d, 7
je 0x14022794a
lea r14, [rsi + 7]
cmp r15d, 0x10
jne 0x1402279ab
mov r8d, 9
mov rdx, r14
lea rcx, str.localhost
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x14022794a
lea edx, [r15 - 7]
mov r8, r14
lea rcx, str.invalid_uri_authority:__.s
call fcn.14024d770
jmp 0x140227d1c
test r8b, r8b
je 0x140227b20
lea edx, [r13 + 1]
cmp r8b, 0x25
jne 0x140227a8c
movsxd rax, edx
movzx r15d, byte [rsi + rax]
test byte [r10 + r15], 8
je 0x140227b07
movzx eax, byte [rsi + rax + 1]
test byte [r10 + rax], 8
je 0x140227b07
lea edx, [r13 + 3]
add r13d, 2
movsx ecx, r15b
call fcn.140221cd0
movsxd r13, r13d
movsx ecx, byte [rsi + r13]
movzx r8d, al
shl r8d, 4
call fcn.140221cd0
movzx eax, al
add eax, r8d
mov r8d, eax
jne 0x140227b07
movsxd rdx, edx
mov al, byte [rsi + rdx]
mov r13d, edx
cmp al, 0x23
jne 0x140227a5c
movsxd rax, r13d
movsxd rcx, edi
mov r8b, byte [rsi + rax]
lea rax, [rbx + rcx]
cmp r8b, 0x23
jne 0x1402279c3
jmp 0x140227b20
test al, al
je 0x140227a3f
test r9d, r9d
jne 0x140227a6d
cmp al, 0x3f
je 0x140227b18
cmp r9d, 1
jne 0x140227a7b
cmp al, 0x26
je 0x140227a3f
cmp al, 0x3d
jmp 0x140227a88
cmp r9d, 2
je 0x140227a86
inc rdx
jmp 0x140227a35
cmp al, 0x26
jne 0x140227a81
jmp 0x140227a3f
cmp r9d, 1
jne 0x140227ad2
cmp r8b, 0x26
je 0x140227a9e
cmp r8b, 0x3d
jne 0x140227b07
cmp byte [rbx + rcx - 1], 0
jne 0x140227ac5
movsxd rdx, edx
mov al, byte [rsi + rdx]
mov r13d, edx
test al, al
je 0x140227a3f
cmp al, 0x23
je 0x140227a3f
inc rdx
cmp byte [rsi + rdx - 2], 0x26
jne 0x140227aa8
jmp 0x140227a3f
cmp r8b, 0x26
jne 0x140227af6
mov byte [rax], 0
inc edi
jmp 0x140227b04
test r9d, r9d
jne 0x140227add
cmp r8b, 0x3f
je 0x140227afe
cmp r9d, 2
jne 0x140227b07
cmp r8b, 0x26
sete al
test al, al
cmovne r9d, r11d
cmovne r8d, r14d
jmp 0x140227b07
mov r9d, 2
jmp 0x140227b04
mov r9d, 1
xor r8d, r8d
movsxd rax, edi
mov r13d, edx
inc edi
mov byte [rbx + rax], r8b
jmp 0x140227a3f
xor r9d, r9d
jmp 0x140227a3f
dec r9d
jne 0x140227b2a
mov byte [rax], 0
inc edi
xor r8d, r8d
movsxd rdi, edi
mov rcx, rbx
mov dword [rbx + rdi], r8d
call fcn.1402358d0
cdqe
lea rdx, [rbx + rax + 1]
cmp byte [rdx], 0
je 0x140227cf3
mov rcx, rdx
mov qword [rsp + 0x28], rdx
call fcn.1402358d0
mov rdx, qword [rsp + 0x28]
mov r13d, eax
cdqe
lea rdi, [rdx + rax + 1]
mov rcx, rdi
call fcn.1402358d0
cmp r13d, 3
mov rdx, qword [rsp + 0x28]
movsxd rsi, eax
jne 0x140227b9b
mov r8d, 3
lea rcx, [0x14034d7e4]
call sub.msvcrt.dll_memcmp
test eax, eax
cmove rbp, rdi
jmp 0x140227cb7
cmp r13d, 5
jne 0x140227bdc
mov r8d, 5
lea rcx, str.cache
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140227cb7
lea rax, str.cache
mov r13d, 0x60000
mov r14d, 0x60000
mov qword [rsp + 0x28], rax
lea r9, str.shared
jmp 0x140227c23
cmp r13d, 4
jne 0x140227cb7
mov r8d, 4
lea rcx, str.mode
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140227cb7
lea rax, str.access
mov r14d, r12d
mov r13d, 0x87
mov qword [rsp + 0x28], rax
and r14d, 0x87
lea r9, [0x140267660]
movsxd rax, esi
mov r15, r9
mov qword [rsp + 0x30], rax
mov rdx, qword [r15]
test rdx, rdx
je 0x140227c6d
mov rcx, rdx
mov qword [rsp + 0x38], rdx
call fcn.1402358d0
mov rdx, qword [rsp + 0x38]
cmp esi, eax
jne 0x140227c67
mov r8, qword [rsp + 0x30]
mov rcx, rdi
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140227c67
mov eax, dword [r15 + 8]
test eax, eax
jne 0x140227c86
jmp 0x140227c6d
add r15, 0x10
jmp 0x140227c2e
mov rdx, qword [rsp + 0x28]
mov r8, rdi
lea rcx, str.no_such__s_mode:__s
call fcn.14024d770
jmp 0x140227d1c
mov edx, eax
and dl, 0x7f
cmp edx, r14d
jle 0x140227cab
mov rdx, qword [rsp + 0x28]
mov r8, rdi
mov esi, 3
lea rcx, str._s_mode_not_allowed:__s
call fcn.14024d770
jmp 0x140227d21
not r13d
and r13d, r12d
or eax, r13d
mov r12d, eax
lea rdx, [rdi + rsi + 1]
jmp 0x140227b43
movsxd rcx, ebx
call fcn.14024d6d0
test rax, rax
je 0x14022792a
xor ecx, ecx
lea rbx, [rax + 4]
mov dword [rax], ecx
movsxd rax, r13d
test r13d, r13d
je 0x140227cea
mov rdi, rbx
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
xor edx, edx
and r12d, 0xffffffbf
mov dword [rbx + rax], edx
mov rcx, rbp
xor esi, esi
call fcn.140251df0
mov rdi, qword [rsp + 0xa8]
mov qword [rdi], rax
test rax, rax
jne 0x140227d36
mov rdx, rbp
lea rcx, str.no_such_vfs:__s
call fcn.14024d770
mov esi, 1
mov rdx, qword [rsp + 0xb8]
mov rcx, rbx
xor ebx, ebx
mov qword [rdx], rax
call fcn.14024c840
mov rax, qword [rsp + 0xa0]
mov dword [rax], r12d
mov rax, qword [rsp + 0xb0]
mov qword [rax], rbx
mov eax, esi
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret