Function at 0x14012b360
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov r12d, dword [r8]
mov qword [rsp + 0x80], rcx
mov rcx, rdx
mov rsi, rdx
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x98], r9
call fcn.140139cc0
test r12d, 0x40
lea ebx, [rax + 8]
mov ebp, eax
je 0x14012b3ae
cmp ebp, 4
jg 0x14012b3bd
jmp 0x14012b6a1
mov al, byte [0x14016f1a6]
test al, al
jne 0x14012b3a4
jmp 0x14012b6a1
lea rdx, str.file:
mov r8d, 5
mov rcx, rsi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
test eax, eax
mov edi, eax
jne 0x14012b6a1
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 ebp, eax
jg 0x14012b3e5
call fcn.140151e80
test rax, rax
mov r13, rax
jne 0x14012b40f
mov esi, 7
jmp 0x14012b82a
lea rbx, [rax + 4]
xor r9d, r9d
mov ebp, 5
mov dword [rax], r9d
cmp byte [rsi + 5], 0x2f
je 0x14012b43c
xor r9d, r9d
mov r11d, 1
xor r14d, r14d
lea r10, [0x1401a73a0]
jmp 0x14012b510
cmp byte [rsi + 6], 0x2f
jne 0x14012b424
mov eax, 7
mov dl, byte [rsi + rax]
mov r15, rax
inc rax
test dl, dl
je 0x14012b459
cmp dl, 0x2f
jne 0x14012b447
cmp r15d, 7
mov ebp, r15d
je 0x14012b424
lea r14, [rsi + 7]
cmp r15d, 0x10
jne 0x14012b485
lea rcx, str.localhost
mov r8d, 9
mov rdx, r14
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
test eax, eax
je 0x14012b424
lea edx, [r15 - 7]
mov r8, r14
lea rcx, str.invalid_uri_authority:__.s
call fcn.140151f20
jmp 0x14012b709
test r8b, r8b
je 0x14012b5dc
lea edx, [rbp + 1]
cmp r8b, 0x25
jne 0x14012b54d
movsxd rax, edx
movzx r15d, byte [rsi + rax]
test byte [r10 + r15], 8
je 0x14012b54d
movzx eax, byte [rsi + rax + 1]
test byte [r10 + rax], 8
je 0x14012b54d
lea edx, [rbp + 3]
add ebp, 2
movsx ecx, r15b
call fcn.1401257c0
movsxd rbp, ebp
movsx ecx, byte [rsi + rbp]
movzx r8d, al
shl r8d, 4
call fcn.1401257c0
movzx eax, al
add eax, r8d
mov r8d, eax
jne 0x14012b5c4
movsxd rdx, edx
mov al, byte [rsi + rdx]
mov ebp, edx
cmp al, 0x23
jne 0x14012b522
movsxd rax, ebp
mov r8b, byte [rsi + rax]
cmp r8b, 0x23
jne 0x14012b49d
jmp 0x14012b5dc
test al, al
je 0x14012b510
test edi, edi
jne 0x14012b532
cmp al, 0x3f
je 0x14012b5d5
cmp edi, 1
jne 0x14012b53d
cmp al, 0x3d
jne 0x14012b547
jmp 0x14012b510
cmp edi, 2
je 0x14012b547
inc rdx
jmp 0x14012b507
cmp al, 0x26
jne 0x14012b542
jmp 0x14012b510
cmp edi, 1
jne 0x14012b593
cmp r8b, 0x26
je 0x14012b55e
cmp r8b, 0x3d
jne 0x14012b5c4
movsxd rax, r9d
cmp byte [rbx + rax - 1], 0
jne 0x14012b584
movsxd rdx, edx
mov al, byte [rsi + rdx]
mov ebp, edx
test al, al
je 0x14012b510
cmp al, 0x23
je 0x14012b510
inc rdx
cmp byte [rsi + rdx - 2], 0x26
jne 0x14012b56b
jmp 0x14012b510
cmp r8b, 0x26
jne 0x14012b5b5
inc r9d
mov byte [rbx + rax], 0
jmp 0x14012b5c1
test edi, edi
jne 0x14012b59d
cmp r8b, 0x3f
je 0x14012b5bc
cmp edi, 2
jne 0x14012b5c4
cmp r8b, 0x26
sete al
test al, al
cmovne edi, r11d
cmovne r8d, r14d
jmp 0x14012b5c4
mov edi, 2
jmp 0x14012b5c1
mov edi, 1
xor r8d, r8d
movsxd rax, r9d
mov ebp, edx
inc r9d
mov byte [rbx + rax], r8b
jmp 0x14012b510
xor edi, edi
jmp 0x14012b510
dec edi
jne 0x14012b5ec
movsxd rax, r9d
inc r9d
mov byte [r13 + rax + 4], 0
movsxd r9, r9d
xor r8d, r8d
mov rcx, rbx
mov dword [rbx + r9], r8d
call fcn.140139cc0
cdqe
lea rdx, [rbx + rax + 1]
cmp byte [rdx], 0
je 0x14012b6d2
mov rcx, rdx
mov qword [rsp + 0x20], rdx
call fcn.140139cc0
mov rdx, qword [rsp + 0x20]
mov ebp, eax
cdqe
lea rdi, [rdx + rax + 1]
mov rcx, rdi
call fcn.140139cc0
cmp ebp, 3
mov rdx, qword [rsp + 0x20]
movsxd rsi, eax
jne 0x14012b668
lea rcx, [0x1401983b3]
mov r8d, 3
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
test eax, eax
mov rax, rdi
cmovne rax, qword [rsp + 0x80]
mov qword [rsp + 0x80], rax
jmp 0x14012b697
cmp ebp, 5
jne 0x14012b7a8
lea rcx, str.cache
mov r8d, 5
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
test eax, eax
je 0x14012b7ea
jmp 0x14012b697
not ebp
and ebp, r12d
or eax, ebp
mov r12d, eax
lea rdx, [rdi + rsi + 1]
jmp 0x14012b605
movsxd rcx, ebx
call fcn.140151e80
test rax, rax
je 0x14012b405
lea rbx, [rax + 4]
xor ecx, ecx
test ebp, ebp
mov dword [rax], ecx
movsxd rax, ebp
je 0x14012b6c9
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, qword [rsp + 0x80]
xor esi, esi
call fcn.140156ac0
mov rdi, qword [rsp + 0x98]
test rax, rax
mov qword [rdi], rax
jne 0x14012b78d
mov rdx, qword [rsp + 0x80]
lea rcx, str.no_such_vfs:__s
call fcn.140151f20
mov esi, 1
jmp 0x14012b778
add r15, 0x10
mov rdx, qword [r15]
test rdx, rdx
je 0x14012b813
mov rcx, rdx
mov qword [rsp + 0x28], rdx
call fcn.140139cc0
mov rdx, qword [rsp + 0x28]
cmp esi, eax
jne 0x14012b710
mov r8, qword [rsp + 0x20]
mov rcx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
test eax, eax
jne 0x14012b710
mov eax, dword [r15 + 8]
test eax, eax
je 0x14012b813
mov edx, eax
and dl, 0x7f
cmp edx, r13d
jle 0x14012b68d
mov r8, rdi
mov rdx, r14
mov esi, 3
lea rcx, str._s_mode_not_allowed:__s
call fcn.140151f20
mov rdx, qword [rsp + 0xa8]
mov rcx, rbx
xor ebx, ebx
mov qword [rdx], rax
call fcn.140150f90
mov rax, qword [rsp + 0x90]
mov dword [rax], r12d
mov rax, qword [rsp + 0xa0]
mov qword [rax], rbx
jmp 0x14012b82a
cmp ebp, 4
jne 0x14012b697
lea rcx, str.mode
mov r8d, 4
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
test eax, eax
jne 0x14012b697
lea r14, str.access
mov r13d, r12d
mov ebp, 0x87
lea r9, [0x14016df20]
and r13d, 0x87
jmp 0x14012b803
mov r13d, 0x60000
mov ebp, 0x60000
lea r14, str.cache
lea r9, str.shared
movsxd rax, esi
mov r15, r9
mov qword [rsp + 0x20], rax
jmp 0x14012b714
lea rcx, str.no_such__s_mode:__s
mov r8, rdi
mov rdx, r14
call fcn.140151f20
jmp 0x14012b709
mov eax, esi
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret