Function at 0x1401d2090
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 ebx, dword [r8]
mov r13, rcx
mov rcx, rdx
mov qword [rsp + 0xa0], r8
mov rsi, rdx
mov qword [rsp + 0xa8], r9
call fcn.1401e2280
test bl, 0x40
mov ebp, eax
lea r12d, [rax + 8]
jne 0x1401d20d9
cmp byte [0x140217446], 0
je 0x1401d245d
cmp ebp, 4
jle 0x1401d245d
mov r8d, 5
lea rdx, str.file:
mov rcx, rsi
call sub.msvcrt.dll_memcmp
mov edi, eax
test eax, eax
jne 0x1401d245d
or ebx, 0x40
movsxd rcx, r12d
xor eax, eax
mov dword [rsp + 0x24], ebx
xor edx, edx
cmp byte [rsi + rax], 0x26
sete dl
inc rax
add rcx, rdx
cmp ebp, eax
jg 0x1401d210d
call fcn.1401fae60
mov rbp, rax
test rax, rax
jne 0x1401d2138
mov r14d, 7
jmp 0x1401d253f
mov dword [rax], 0
cmp byte [rsi + 5], 0x2f
lea r12, [rax + 4]
mov ebx, 5
je 0x1401d2165
xor r9d, r9d
mov r15d, 1
xor r11d, r11d
lea r10, [0x1402a15a0]
jmp 0x1401d2233
cmp byte [rsi + 6], 0x2f
jne 0x1401d214d
mov eax, 7
mov dl, byte [rsi + rax]
mov ebx, eax
inc rax
test dl, dl
je 0x1401d2181
cmp dl, 0x2f
jne 0x1401d2170
cmp ebx, 7
je 0x1401d214d
lea r14, [rsi + 7]
cmp ebx, 0x10
jne 0x1401d21a8
mov r8d, 9
mov rdx, r14
lea rcx, str.localhost
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1401d214d
lea edx, [rbx - 7]
mov r8, r14
lea rcx, str.invalid_uri_authority:__.s
call fcn.1401faf00
jmp 0x1401d24c0
test al, al
je 0x1401d22f7
lea r8d, [rbx + 1]
cmp al, 0x25
jne 0x1401d226d
movsxd rdx, r8d
movzx r14d, byte [rsi + rdx]
test byte [r10 + r14], 8
je 0x1401d226d
movzx edx, byte [rsi + rdx + 1]
test byte [r10 + rdx], 8
je 0x1401d226d
lea r8d, [rbx + 3]
add ebx, 2
movsx ecx, r14b
call fcn.1401cc520
movsxd rbx, ebx
movsx ecx, byte [rsi + rbx]
movzx r14d, al
shl r14d, 4
call fcn.1401cc520
movzx eax, al
add r14d, eax
mov eax, r14d
jne 0x1401d22de
movsxd r8, r8d
mov al, byte [rsi + r8]
mov ebx, r8d
cmp al, 0x23
jne 0x1401d2242
movsxd rax, ebx
mov al, byte [rsi + rax]
cmp al, 0x23
jne 0x1401d21bf
jmp 0x1401d22f7
test al, al
je 0x1401d2233
test edi, edi
jne 0x1401d2252
cmp al, 0x3f
je 0x1401d22f0
cmp edi, 1
jne 0x1401d225d
cmp al, 0x3d
jne 0x1401d2267
jmp 0x1401d2233
cmp edi, 2
je 0x1401d2267
inc r8
jmp 0x1401d2228
cmp al, 0x26
jne 0x1401d2262
jmp 0x1401d2233
cmp edi, 1
jne 0x1401d22b2
cmp al, 0x26
je 0x1401d227a
cmp al, 0x3d
jne 0x1401d22de
movsxd rdx, r9d
cmp byte [r12 + rdx - 1], 0
jne 0x1401d22a4
movsxd r8, r8d
mov al, byte [rsi + r8]
mov ebx, r8d
test al, al
je 0x1401d2233
cmp al, 0x23
je 0x1401d2233
inc r8
cmp byte [rsi + r8 - 2], 0x26
jne 0x1401d2288
jmp 0x1401d2233
cmp al, 0x26
jne 0x1401d22d0
mov byte [r12 + rdx], 0
inc r9d
jmp 0x1401d22dc
test edi, edi
jne 0x1401d22ba
cmp al, 0x3f
je 0x1401d22d7
cmp edi, 2
jne 0x1401d22de
cmp al, 0x26
sete dl
test dl, dl
cmovne edi, r15d
cmovne eax, r11d
jmp 0x1401d22de
mov edi, 2
jmp 0x1401d22dc
mov edi, 1
xor eax, eax
movsxd rdx, r9d
mov ebx, r8d
inc r9d
mov byte [r12 + rdx], al
jmp 0x1401d2233
xor edi, edi
jmp 0x1401d2233
dec edi
jne 0x1401d2306
movsxd rax, r9d
inc r9d
mov byte [rbp + rax + 4], 0
movsxd r9, r9d
mov rcx, r12
lea rbp, str.cache
mov dword [r12 + r9], 0
call fcn.1401e2280
cdqe
lea rdx, [r12 + rax + 1]
cmp byte [rdx], 0
je 0x1401d2496
mov rcx, rdx
mov qword [rsp + 0x28], rdx
call fcn.1401e2280
mov rdx, qword [rsp + 0x28]
mov edi, eax
cdqe
lea rsi, [rdx + rax + 1]
mov rcx, rsi
call fcn.1401e2280
cmp edi, 3
mov rdx, qword [rsp + 0x28]
movsxd rbx, eax
jne 0x1401d237d
mov r8d, 3
lea rcx, [0x140290d45]
call sub.msvcrt.dll_memcmp
test eax, eax
cmove r13, rsi
jmp 0x1401d2453
cmp edi, 5
jne 0x1401d24f7
mov r8d, 5
mov rcx, rbp
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401d2453
mov dword [rsp + 0x28], 0x60000
mov edi, 0x60000
mov r14, rbp
lea r9, str.shared
movsxd rax, ebx
mov r15, r9
mov qword [rsp + 0x30], rax
mov rdx, qword [r15]
test rdx, rdx
je 0x1401d23fd
mov rcx, rdx
mov qword [rsp + 0x38], rdx
call fcn.1401e2280
mov rdx, qword [rsp + 0x38]
cmp eax, ebx
jne 0x1401d23f7
mov r8, qword [rsp + 0x30]
mov rcx, rsi
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401d23f7
mov eax, dword [r15 + 8]
test eax, eax
jne 0x1401d2414
jmp 0x1401d23fd
add r15, 0x10
jmp 0x1401d23be
mov r8, rsi
mov rdx, r14
lea rcx, str.no_such__s_mode:__s
call fcn.1401faf00
jmp 0x1401d24c0
mov edx, eax
and dl, 0x7f
cmp edx, dword [rsp + 0x28]
jle 0x1401d2447
mov r8, rsi
mov rdx, r14
lea rcx, str._s_mode_not_allowed:__s
mov r14d, 3
call fcn.1401faf00
mov rsi, qword [rsp + 0xb8]
mov qword [rsi], rax
jmp 0x1401d24d1
not edi
and edi, dword [rsp + 0x24]
or eax, edi
mov dword [rsp + 0x24], eax
lea rdx, [rsi + rbx + 1]
jmp 0x1401d2327
movsxd rcx, r12d
call fcn.1401fae60
test rax, rax
je 0x1401d212d
mov dword [rax], 0
lea r12, [rax + 4]
movsxd rax, ebp
test ebp, ebp
je 0x1401d2487
mov rdi, r12
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
and ebx, 0xffffffbf
mov dword [r12 + rax], 0
mov dword [rsp + 0x24], ebx
mov rcx, r13
xor r14d, r14d
call fcn.1401ff5e0
mov rdi, qword [rsp + 0xa8]
mov qword [rdi], rax
test rax, rax
jne 0x1401d24dc
mov rdx, r13
lea rcx, str.no_such_vfs:__s
call fcn.1401faf00
mov rsi, qword [rsp + 0xb8]
mov r14d, 1
mov qword [rsi], rax
mov rcx, r12
xor r12d, r12d
call fcn.1401f9fb0
mov rax, qword [rsp + 0xa0]
mov edi, dword [rsp + 0x24]
mov dword [rax], edi
mov rax, qword [rsp + 0xb0]
mov qword [rax], r12
jmp 0x1401d253f
cmp edi, 4
jne 0x1401d2453
mov r8d, 4
lea rcx, str.mode
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1401d2453
mov eax, dword [rsp + 0x24]
mov edi, 0x87
lea r14, str.access
lea r9, [0x140216240]
and eax, 0x87
mov dword [rsp + 0x28], eax
jmp 0x1401d23b3
mov eax, r14d
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret