Function at 0x14029edd0
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.1402ad4c0
test r12d, 0x40
lea ebx, [rax + 8]
mov ebp, eax
je 0x14029ee1e
cmp ebp, 4
jg 0x14029ee2d
jmp 0x14029f111
mov al, byte [0x1402e2b86]
test al, al
jne 0x14029ee14
jmp 0x14029f111
lea rdx, str.file:
mov r8d, 5
mov rcx, rsi
call sub.msvcrt.dll_memcmp
test eax, eax
mov edi, eax
jne 0x14029f111
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 0x14029ee55
call fcn.1402c5460
test rax, rax
mov r13, rax
jne 0x14029ee7f
mov esi, 7
jmp 0x14029f29a
lea rbx, [rax + 4]
xor r9d, r9d
mov ebp, 5
mov dword [rax], r9d
cmp byte [rsi + 5], 0x2f
je 0x14029eeac
xor r9d, r9d
mov r11d, 1
xor r14d, r14d
lea r10, [0x1403fd7a0]
jmp 0x14029ef80
cmp byte [rsi + 6], 0x2f
jne 0x14029ee94
mov eax, 7
mov dl, byte [rsi + rax]
mov r15, rax
inc rax
test dl, dl
je 0x14029eec9
cmp dl, 0x2f
jne 0x14029eeb7
cmp r15d, 7
mov ebp, r15d
je 0x14029ee94
lea r14, [rsi + 7]
cmp r15d, 0x10
jne 0x14029eef5
lea rcx, str.localhost
mov r8d, 9
mov rdx, r14
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x14029ee94
lea edx, [r15 - 7]
mov r8, r14
lea rcx, str.invalid_uri_authority:__.s
call fcn.1402c5500
jmp 0x14029f179
test r8b, r8b
je 0x14029f04c
lea edx, [rbp + 1]
cmp r8b, 0x25
jne 0x14029efbd
movsxd rax, edx
movzx r15d, byte [rsi + rax]
test byte [r10 + r15], 8
je 0x14029efbd
movzx eax, byte [rsi + rax + 1]
test byte [r10 + rax], 8
je 0x14029efbd
lea edx, [rbp + 3]
add ebp, 2
movsx ecx, r15b
call fcn.1402993f0
movsxd rbp, ebp
movsx ecx, byte [rsi + rbp]
movzx r8d, al
shl r8d, 4
call fcn.1402993f0
movzx eax, al
add eax, r8d
mov r8d, eax
jne 0x14029f034
movsxd rdx, edx
mov al, byte [rsi + rdx]
mov ebp, edx
cmp al, 0x23
jne 0x14029ef92
movsxd rax, ebp
mov r8b, byte [rsi + rax]
cmp r8b, 0x23
jne 0x14029ef0d
jmp 0x14029f04c
test al, al
je 0x14029ef80
test edi, edi
jne 0x14029efa2
cmp al, 0x3f
je 0x14029f045
cmp edi, 1
jne 0x14029efad
cmp al, 0x3d
jne 0x14029efb7
jmp 0x14029ef80
cmp edi, 2
je 0x14029efb7
inc rdx
jmp 0x14029ef77
cmp al, 0x26
jne 0x14029efb2
jmp 0x14029ef80
cmp edi, 1
jne 0x14029f003
cmp r8b, 0x26
je 0x14029efce
cmp r8b, 0x3d
jne 0x14029f034
movsxd rax, r9d
cmp byte [rbx + rax - 1], 0
jne 0x14029eff4
movsxd rdx, edx
mov al, byte [rsi + rdx]
mov ebp, edx
test al, al
je 0x14029ef80
cmp al, 0x23
je 0x14029ef80
inc rdx
cmp byte [rsi + rdx - 2], 0x26
jne 0x14029efdb
jmp 0x14029ef80
cmp r8b, 0x26
jne 0x14029f025
inc r9d
mov byte [rbx + rax], 0
jmp 0x14029f031
test edi, edi
jne 0x14029f00d
cmp r8b, 0x3f
je 0x14029f02c
cmp edi, 2
jne 0x14029f034
cmp r8b, 0x26
sete al
test al, al
cmovne edi, r11d
cmovne r8d, r14d
jmp 0x14029f034
mov edi, 2
jmp 0x14029f031
mov edi, 1
xor r8d, r8d
movsxd rax, r9d
mov ebp, edx
inc r9d
mov byte [rbx + rax], r8b
jmp 0x14029ef80
xor edi, edi
jmp 0x14029ef80
dec edi
jne 0x14029f05c
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.1402ad4c0
cdqe
lea rdx, [rbx + rax + 1]
cmp byte [rdx], 0
je 0x14029f142
mov rcx, rdx
mov qword [rsp + 0x20], rdx
call fcn.1402ad4c0
mov rdx, qword [rsp + 0x20]
mov ebp, eax
cdqe
lea rdi, [rdx + rax + 1]
mov rcx, rdi
call fcn.1402ad4c0
cmp ebp, 3
mov rdx, qword [rsp + 0x20]
movsxd rsi, eax
jne 0x14029f0d8
lea rcx, [0x1403ebe2f]
mov r8d, 3
call sub.msvcrt.dll_memcmp
test eax, eax
mov rax, rdi
cmovne rax, qword [rsp + 0x80]
mov qword [rsp + 0x80], rax
jmp 0x14029f107
cmp ebp, 5
jne 0x14029f218
lea rcx, str.cache
mov r8d, 5
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x14029f25a
jmp 0x14029f107
not ebp
and ebp, r12d
or eax, ebp
mov r12d, eax
lea rdx, [rdi + rsi + 1]
jmp 0x14029f075
movsxd rcx, ebx
call fcn.1402c5460
test rax, rax
je 0x14029ee75
lea rbx, [rax + 4]
xor ecx, ecx
test ebp, ebp
mov dword [rax], ecx
movsxd rax, ebp
je 0x14029f139
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.1402ca070
mov rdi, qword [rsp + 0x98]
test rax, rax
mov qword [rdi], rax
jne 0x14029f1fd
mov rdx, qword [rsp + 0x80]
lea rcx, str.no_such_vfs:__s
call fcn.1402c5500
mov esi, 1
jmp 0x14029f1e8
add r15, 0x10
mov rdx, qword [r15]
test rdx, rdx
je 0x14029f283
mov rcx, rdx
mov qword [rsp + 0x28], rdx
call fcn.1402ad4c0
mov rdx, qword [rsp + 0x28]
cmp esi, eax
jne 0x14029f180
mov r8, qword [rsp + 0x20]
mov rcx, rdi
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x14029f180
mov eax, dword [r15 + 8]
test eax, eax
je 0x14029f283
mov edx, eax
and dl, 0x7f
cmp edx, r13d
jle 0x14029f0fd
mov r8, rdi
mov rdx, r14
mov esi, 3
lea rcx, str._s_mode_not_allowed:__s
call fcn.1402c5500
mov rdx, qword [rsp + 0xa8]
mov rcx, rbx
xor ebx, ebx
mov qword [rdx], rax
call fcn.1402c4570
mov rax, qword [rsp + 0x90]
mov dword [rax], r12d
mov rax, qword [rsp + 0xa0]
mov qword [rax], rbx
jmp 0x14029f29a
cmp ebp, 4
jne 0x14029f107
lea rcx, str.mode
mov r8d, 4
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x14029f107
lea r14, str.access
mov r13d, r12d
mov ebp, 0x87
lea r9, [0x1402e1900]
and r13d, 0x87
jmp 0x14029f273
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 0x14029f184
lea rcx, str.no_such__s_mode:__s
mov r8, rdi
mov rdx, r14
call fcn.1402c5500
jmp 0x14029f179
mov eax, esi
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret