Function at 0x1401df180
Capabilities:
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov r14, r9
mov rsi, r8
mov r15, rdx
mov rbx, rcx
mov r13d, dword [r8]
test rdx, rdx
je 0x1401df56d
mov rcx, r15
call fcn.1402bd870
mov r12d, eax
and r12d, 0x3fffffff
test r13b, 0x40
jne 0x1401df2d9
mov cl, byte [0x140527a9e]
test cl, cl
setne cl
cmp r12d, 5
setae dl
test cl, dl
jne 0x1401df2e3
lea ecx, [r12 + 8]
call fcn.14025c810
test rax, rax
je 0x1401df55b
mov rdi, rax
mov dword [rax], 0
add rdi, 4
test r12d, r12d
je 0x1401df565
mov r12d, r12d
mov rcx, rdi
mov rdx, r15
mov r8, r12
call fcn.1402d94c0
mov dword [rdi + r12], 0
and r13d, 0xffffffbf
mov bpl, 1
cmp byte [0x140527a9c], 0
je 0x1401df553
mov rax, qword [0x140527b08]
mov ecx, 2
call qword [0x140505c38]
test rax, rax
je 0x1401df553
mov r15, rax
mov rax, qword [0x140527b18]
mov rcx, r15
call qword [0x140505c38]
xor ebp, ebp
mov r12, qword [0x140536810]
test rbx, rbx
je 0x1401df286
test r12, r12
je 0x1401df286
mov rdx, qword [r12 + 0x18]
mov rcx, rbx
call fcn.1402bd1e0
test eax, eax
jne 0x1401df2ca
test bpl, bpl
jne 0x1401df29b
mov rax, qword [0x140527b28]
mov rcx, r15
call qword [0x140505c38]
mov qword [r14], r12
xor ebp, ebp
test r12, r12
je 0x1401df6dc
mov rax, qword [rsp + 0xb0]
mov dword [rsi], r13d
mov qword [rax], rdi
mov eax, ebp
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r12, qword [r12 + 0x10]
test r12, r12
jne 0x1401df275
xor r12d, r12d
jmp 0x1401df286
cmp r12d, 5
jb 0x1401df1de
mov ecx, dword [r15]
xor ecx, dword [str.file:]
mov dl, byte [r15 + 4]
xor dl, byte [0x140491d5e]
movzx edx, dl
or edx, ecx
jne 0x1401df1de
add r12d, 8
or r13d, 0x40
and eax, 0x3fffffff
xor ecx, ecx
xor edx, edx
cmp byte [r15 + rcx], 0x26
sete dl
add r12, rdx
inc rcx
cmp rax, rcx
jne 0x1401df310
mov rcx, r12
call fcn.14025c810
test rax, rax
je 0x1401df55b
mov rdi, rax
mov dword [rax], 0
add rdi, 4
mov r8d, 5
cmp byte [r15 + 5], 0x2f
je 0x1401df718
xor edx, edx
xor ecx, ecx
lea rbp, [0x1404f32b0]
jmp 0x1401df39e
cmp byte [rdi + rax - 1], 0
je 0x1401df585
cmp r10b, 0x26
je 0x1401df78d
mov edx, 2
jmp 0x1401df382
mov edx, 1
xor r10d, r10d
jmp 0x1401df398
mov edx, 1
cmp r10d, 0x3d
je 0x1401df361
cmp r10d, 0x26
je 0x1401df361
inc ecx
mov byte [rdi + rax], r10b
movsxd rax, ecx
mov r9d, r8d
movsxd r11, r9d
movzx r10d, byte [r15 + r11]
test r10d, r10d
je 0x1401df3e1
cmp r10d, 0x23
je 0x1401df3e1
lea r8d, [r9 + 1]
cmp r10b, 0x25
je 0x1401df49c
cmp edx, 1
je 0x1401df387
test edx, edx
jne 0x1401df3d4
cmp r10b, 0x3f
je 0x1401df37d
cmp edx, 2
jne 0x1401df398
cmp r10b, 0x26
jne 0x1401df398
jmp 0x1401df37d
cmp edx, 1
je 0x1401df79c
mov dword [rdi + rax], 0
mov rcx, rdi
call fcn.1402bd870
and eax, 0x3fffffff
cmp byte [rdi + rax + 1], 0
je 0x1401df224
lea rbp, [rdi + rax]
inc rbp
mov r12d, 0
test rbp, rbp
je 0x1401df42d
mov rcx, rbp
call fcn.1402bd870
mov r12, rax
and r12d, 0x3fffffff
mov r15d, r12d
add r15, rbp
inc r15
mov eax, 0
je 0x1401df44a
mov rcx, r15
call fcn.1402bd870
and eax, 0x3fffffff
mov edx, eax
cmp r12d, 5
je 0x1401df5f8
cmp r12d, 4
je 0x1401df5ba
cmp r12d, 3
je 0x1401df7ab
lea rbp, [r15 + rdx]
inc rbp
cmp byte [rbp], 0
je 0x1401df224
jmp 0x1401df410
dec rdi
cmp byte [rdi + 3], 0
jne 0x1401df47d
cmp byte [rdi + 2], 0
jne 0x1401df47d
cmp byte [rdi + 1], 0
jne 0x1401df47d
cmp byte [rdi], 0
jne 0x1401df47d
jmp 0x1401df709
movsxd r12, r8d
movzx r12d, byte [r15 + r12]
test byte [r12 + rbp], 8
je 0x1401df3c5
movzx r11d, byte [r15 + r11 + 2]
test byte [r11 + rbp], 8
je 0x1401df3c5
lea r8d, [r12 + r12]
sar r8b, 7
and r8b, 9
add r8b, r12b
shl r8b, 4
add r9d, 3
lea r10d, [r11 + r11]
sar r10b, 7
and r10b, 9
add r10b, r11b
and r10b, 0xf
or r10b, r8b
jne 0x1401df54b
movsxd r8, r9d
add r8, r15
jmp 0x1401df511
cmp r10d, 0x26
je 0x1401df3a4
cmp r10d, 0x3d
je 0x1401df3a4
inc r9d
inc r8
movzx r10d, byte [r8]
test r10d, r10d
je 0x1401df3a4
cmp r10d, 0x23
je 0x1401df3a4
test edx, edx
jne 0x1401df536
cmp r10b, 0x3f
je 0x1401df3a4
cmp edx, 1
je 0x1401df4f7
cmp edx, 2
jne 0x1401df50b
cmp r10b, 0x26
jne 0x1401df50b
jmp 0x1401df3a4
mov r8d, r9d
jmp 0x1401df398
xor r15d, r15d
jmp 0x1401df264
mov ebp, 7
jmp 0x1401df2b7
xor r12d, r12d
jmp 0x1401df218
xor r12d, r12d
test r13b, 0x40
jne 0x1401df1de
mov al, byte [0x140527a9e]
jmp 0x1401df1de
movsxd r9, r8d
add r9, r15
movzx r10d, byte [r9]
mov edx, 1
test r10d, r10d
je 0x1401df3a1
cmp r10d, 0x23
je 0x1401df3a1
cmp byte [r9 - 1], 0x26
je 0x1401df3a1
inc r8d
inc r9
jmp 0x1401df58b
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x28], rdx
mov eax, dword [str.mode]
cmp eax, dword [rbp]
jne 0x1401df615
mov eax, r13d
and eax, 0x87
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x30], 0xffffff78
lea rax, str.access
mov qword [rsp + 0x38], rax
lea rbp, [0x1404fa6c0]
jmp 0x1401df642
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x28], rdx
mov eax, 0x68636163
xor eax, dword [rbp]
movzx ecx, byte [rbp + 4]
xor ecx, 0x65
or ecx, eax
je 0x1401df61f
mov rdx, qword [rsp + 0x28]
jmp 0x1401df46a
mov dword [rsp + 0x34], 0x60000
mov dword [rsp + 0x30], 0xfff9ffff
lea rax, str.cache
mov qword [rsp + 0x38], rax
lea rbp, str.shared
mov r12, qword [rbp]
test r12, r12
je 0x1401df6c6
add rbp, 0x10
jmp 0x1401df65e
mov r12, qword [rbp]
add rbp, 0x10
test r12, r12
je 0x1401df6c6
mov rcx, r12
call fcn.1402bd870
and eax, 0x3fffffff
cmp dword [rsp + 0x40], eax
jne 0x1401df651
mov rcx, r15
mov rdx, r12
mov r8, qword [rsp + 0x28]
call fcn.1402d93c0
test eax, eax
jne 0x1401df651
mov eax, dword [rbp - 8]
test eax, eax
je 0x1401df6c6
mov ecx, eax
and ecx, 0xffffff7f
cmp ecx, dword [rsp + 0x34]
jg 0x1401df6ab
mov ecx, dword [rsp + 0x30]
and ecx, r13d
or eax, ecx
mov r13d, eax
jmp 0x1401df615
lea rcx, str._s_mode_not_allowed:__s
mov rdx, qword [rsp + 0x38]
mov r8, r15
call fcn.14019ae00
mov ebp, 3
jmp 0x1401df6f0
lea rcx, str.no_such__s_mode:__s
mov rdx, qword [rsp + 0x38]
mov r8, r15
call fcn.14019ae00
jmp 0x1401df6eb
lea rcx, str.no_such_vfs:__s
mov rdx, rbx
call fcn.14019ae00
mov ebp, 1
mov rcx, qword [rsp + 0xb8]
mov qword [rcx], rax
test rdi, rdi
je 0x1401df711
add rdi, 0xfffffffffffffffc
jmp 0x1401df480
mov rcx, rdi
call fcn.14019a6e0
xor edi, edi
jmp 0x1401df2a9
cmp byte [r15 + 6], 0x2f
jne 0x1401df354
xor edx, edx
jmp 0x1401df72a
inc rdx
movzx eax, byte [r15 + rdx + 7]
test eax, eax
je 0x1401df739
cmp eax, 0x2f
jne 0x1401df727
lea r8d, [rdx + 7]
cmp r8d, 7
je 0x1401df354
cmp r8d, 0x10
jne 0x1401df76a
mov rax, qword [str.localhost]
xor rax, qword [r15 + 7]
mov cl, byte [0x140494d36]
xor cl, byte [r15 + 0xf]
movzx ecx, cl
or rcx, rax
je 0x1401df782
add r15, 7
lea rcx, str.invalid_uri_authority:__.s
mov r8, r15
call fcn.14019ae00
jmp 0x1401df6eb
mov r8d, 0x10
jmp 0x1401df354
lea ecx, [rax + 1]
mov byte [rdi + rax], 0
movsxd rax, ecx
jmp 0x1401df382
lea ecx, [rax + 1]
mov byte [rdi + rax], 0
movsxd rax, ecx
jmp 0x1401df3ea
movzx eax, word [rbp]
xor eax, 0x6676
movzx ecx, byte [rbp + 2]
xor ecx, 0x73
or cx, ax
jne 0x1401df46a
mov rbx, r15
jmp 0x1401df46a