Function at 0x1401f34b0
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 0x1401f389d
mov rcx, r15
call fcn.14029c0d0
mov r12d, eax
and r12d, 0x3fffffff
test r13b, 0x40
jne 0x1401f3609
mov cl, byte [0x14043f4b6]
test cl, cl
setne cl
cmp r12d, 5
setae dl
test cl, dl
jne 0x1401f3613
lea ecx, [r12 + 8]
call fcn.140239530
test rax, rax
je 0x1401f388b
mov rdi, rax
mov dword [rax], 0
add rdi, 4
test r12d, r12d
je 0x1401f3895
mov r12d, r12d
mov rcx, rdi
mov rdx, r15
mov r8, r12
call fcn.1402b6370
mov dword [rdi + r12], 0
and r13d, 0xffffffbf
mov bpl, 1
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1401f3883
mov rax, qword [0x14043f520]
mov ecx, 2
call qword [str._a_]
test rax, rax
je 0x1401f3883
mov r15, rax
mov rax, qword [0x14043f530]
mov rcx, r15
call qword [str._a_]
xor ebp, ebp
mov r12, qword [0x14044c750]
test rbx, rbx
je 0x1401f35b6
test r12, r12
je 0x1401f35b6
mov rdx, qword [r12 + 0x18]
mov rcx, rbx
call fcn.14029ba40
test eax, eax
jne 0x1401f35fa
test bpl, bpl
jne 0x1401f35cb
mov rax, qword [0x14043f540]
mov rcx, r15
call qword [str._a_]
mov qword [r14], r12
xor ebp, ebp
test r12, r12
je 0x1401f3a0c
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 0x1401f35a5
xor r12d, r12d
jmp 0x1401f35b6
cmp r12d, 5
jb 0x1401f350e
mov ecx, dword [r15]
xor ecx, dword [str.file:]
mov dl, byte [r15 + 4]
xor dl, byte [0x1403dbf6f]
movzx edx, dl
or edx, ecx
jne 0x1401f350e
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 0x1401f3640
mov rcx, r12
call fcn.140239530
test rax, rax
je 0x1401f388b
mov rdi, rax
mov dword [rax], 0
add rdi, 4
mov r8d, 5
cmp byte [r15 + 5], 0x2f
je 0x1401f3a48
xor edx, edx
xor ecx, ecx
lea rbp, [0x14040f2f0]
jmp 0x1401f36ce
cmp byte [rdi + rax - 1], 0
je 0x1401f38b5
cmp r10b, 0x26
je 0x1401f3abd
mov edx, 2
jmp 0x1401f36b2
mov edx, 1
xor r10d, r10d
jmp 0x1401f36c8
mov edx, 1
cmp r10d, 0x3d
je 0x1401f3691
cmp r10d, 0x26
je 0x1401f3691
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 0x1401f3711
cmp r10d, 0x23
je 0x1401f3711
lea r8d, [r9 + 1]
cmp r10b, 0x25
je 0x1401f37cc
cmp edx, 1
je 0x1401f36b7
test edx, edx
jne 0x1401f3704
cmp r10b, 0x3f
je 0x1401f36ad
cmp edx, 2
jne 0x1401f36c8
cmp r10b, 0x26
jne 0x1401f36c8
jmp 0x1401f36ad
cmp edx, 1
je 0x1401f3acc
mov dword [rdi + rax], 0
mov rcx, rdi
call fcn.14029c0d0
and eax, 0x3fffffff
cmp byte [rdi + rax + 1], 0
je 0x1401f3554
lea rbp, [rdi + rax]
inc rbp
mov r12d, 0
test rbp, rbp
je 0x1401f375d
mov rcx, rbp
call fcn.14029c0d0
mov r12, rax
and r12d, 0x3fffffff
mov r15d, r12d
add r15, rbp
inc r15
mov eax, 0
je 0x1401f377a
mov rcx, r15
call fcn.14029c0d0
and eax, 0x3fffffff
mov edx, eax
cmp r12d, 5
je 0x1401f3928
cmp r12d, 4
je 0x1401f38ea
cmp r12d, 3
je 0x1401f3adb
lea rbp, [r15 + rdx]
inc rbp
cmp byte [rbp], 0
je 0x1401f3554
jmp 0x1401f3740
dec rdi
cmp byte [rdi + 3], 0
jne 0x1401f37ad
cmp byte [rdi + 2], 0
jne 0x1401f37ad
cmp byte [rdi + 1], 0
jne 0x1401f37ad
cmp byte [rdi], 0
jne 0x1401f37ad
jmp 0x1401f3a39
movsxd r12, r8d
movzx r12d, byte [r15 + r12]
test byte [r12 + rbp], 8
je 0x1401f36f5
movzx r11d, byte [r15 + r11 + 2]
test byte [r11 + rbp], 8
je 0x1401f36f5
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 0x1401f387b
movsxd r8, r9d
add r8, r15
jmp 0x1401f3841
cmp r10d, 0x26
je 0x1401f36d4
cmp r10d, 0x3d
je 0x1401f36d4
inc r9d
inc r8
movzx r10d, byte [r8]
test r10d, r10d
je 0x1401f36d4
cmp r10d, 0x23
je 0x1401f36d4
test edx, edx
jne 0x1401f3866
cmp r10b, 0x3f
je 0x1401f36d4
cmp edx, 1
je 0x1401f3827
cmp edx, 2
jne 0x1401f383b
cmp r10b, 0x26
jne 0x1401f383b
jmp 0x1401f36d4
mov r8d, r9d
jmp 0x1401f36c8
xor r15d, r15d
jmp 0x1401f3594
mov ebp, 7
jmp 0x1401f35e7
xor r12d, r12d
jmp 0x1401f3548
xor r12d, r12d
test r13b, 0x40
jne 0x1401f350e
mov al, byte [0x14043f4b6]
jmp 0x1401f350e
movsxd r9, r8d
add r9, r15
movzx r10d, byte [r9]
mov edx, 1
test r10d, r10d
je 0x1401f36d1
cmp r10d, 0x23
je 0x1401f36d1
cmp byte [r9 - 1], 0x26
je 0x1401f36d1
inc r8d
inc r9
jmp 0x1401f38bb
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x28], rdx
mov eax, dword [str.mode]
cmp eax, dword [rbp]
jne 0x1401f3945
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, [0x1404166f0]
jmp 0x1401f3972
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 0x1401f394f
mov rdx, qword [rsp + 0x28]
jmp 0x1401f379a
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 0x1401f39f6
add rbp, 0x10
jmp 0x1401f398e
mov r12, qword [rbp]
add rbp, 0x10
test r12, r12
je 0x1401f39f6
mov rcx, r12
call fcn.14029c0d0
and eax, 0x3fffffff
cmp dword [rsp + 0x40], eax
jne 0x1401f3981
mov rcx, r15
mov rdx, r12
mov r8, qword [rsp + 0x28]
call fcn.1402b6270
test eax, eax
jne 0x1401f3981
mov eax, dword [rbp - 8]
test eax, eax
je 0x1401f39f6
mov ecx, eax
and ecx, 0xffffff7f
cmp ecx, dword [rsp + 0x34]
jg 0x1401f39db
mov ecx, dword [rsp + 0x30]
and ecx, r13d
or eax, ecx
mov r13d, eax
jmp 0x1401f3945
lea rcx, str._s_mode_not_allowed:__s
mov rdx, qword [rsp + 0x38]
mov r8, r15
call fcn.1401aea00
mov ebp, 3
jmp 0x1401f3a20
lea rcx, str.no_such__s_mode:__s
mov rdx, qword [rsp + 0x38]
mov r8, r15
call fcn.1401aea00
jmp 0x1401f3a1b
lea rcx, str.no_such_vfs:__s
mov rdx, rbx
call fcn.1401aea00
mov ebp, 1
mov rcx, qword [rsp + 0xb8]
mov qword [rcx], rax
test rdi, rdi
je 0x1401f3a41
add rdi, 0xfffffffffffffffc
jmp 0x1401f37b0
mov rcx, rdi
call fcn.1401ae2f0
xor edi, edi
jmp 0x1401f35d9
cmp byte [r15 + 6], 0x2f
jne 0x1401f3684
xor edx, edx
jmp 0x1401f3a5a
inc rdx
movzx eax, byte [r15 + rdx + 7]
test eax, eax
je 0x1401f3a69
cmp eax, 0x2f
jne 0x1401f3a57
lea r8d, [rdx + 7]
cmp r8d, 7
je 0x1401f3684
cmp r8d, 0x10
jne 0x1401f3a9a
mov rax, qword [str.localhost]
xor rax, qword [r15 + 7]
mov cl, byte [reloc.WS2_32.dll_WSACleanup]
xor cl, byte [r15 + 0xf]
movzx ecx, cl
or rcx, rax
je 0x1401f3ab2
add r15, 7
lea rcx, str.invalid_uri_authority:__.s
mov r8, r15
call fcn.1401aea00
jmp 0x1401f3a1b
mov r8d, reloc.WS2_32.dll_recv
jmp 0x1401f3684
lea ecx, [rax + 1]
mov byte [rdi + rax], 0
movsxd rax, ecx
jmp 0x1401f36b2
lea ecx, [rax + 1]
mov byte [rdi + rax], 0
movsxd rax, ecx
jmp 0x1401f371a
movzx eax, word [rbp]
xor eax, 0x6676
movzx ecx, byte [rbp + 2]
xor ecx, 0x73
or cx, ax
jne 0x1401f379a
mov rbx, r15
jmp 0x1401f379a