Function at 0x1402fc010
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rbp, r9
mov rbx, r8
mov r15, rdx
mov r13, rcx
mov esi, dword [r8]
test rdx, rdx
je 0x1402fc048
mov rcx, r15
call fcn.14035a9d0
mov r12, rax
and r12d, 0x3fffffff
jmp 0x1402fc04b
xor r12d, r12d
mov eax, esi
and eax, 0x40
shr eax, 6
cmp byte [0x14041af7e], 0
setne cl
or cl, al
cmp cl, 1
jne 0x1402fc088
cmp r12d, 5
jb 0x1402fc088
mov eax, dword [r15]
xor eax, dword [str.file:]
mov cl, byte [r15 + 4]
xor cl, byte [0x1403e050c]
movzx ecx, cl
or ecx, eax
je 0x1402fc1b4
lea ecx, [r12 + 8]
call fcn.140247f50
test rax, rax
je 0x1402fc229
mov rdi, rax
mov dword [rax], 0
add rdi, 4
test r12d, r12d
je 0x1402fc0c0
mov r14d, r12d
mov rcx, rdi
mov rdx, r15
mov r8, r14
call fcn.140336540
jmp 0x1402fc0c3
xor r14d, r14d
mov qword [rsp + 0x50], rbp
mov dword [rdi + r14], 0
and esi, 0xffffffbf
mov bpl, 1
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x1402fc69c
mov rax, qword [0x14041afe8]
mov ecx, 2
call qword [case.0x1403339d6.0]
test rax, rax
je 0x1402fc69c
mov r15, rax
mov rax, qword [0x14041aff8]
mov rcx, r15
call qword [case.0x1403339d6.0]
xor ebp, ebp
mov r14, qword [0x1404679b0]
test r13, r13
je 0x1402fc140
test r14, r14
je 0x1402fc140
mov rdx, qword [r14 + 0x18]
mov rcx, r13
call fcn.14035a2e0
test eax, eax
je 0x1402fc140
mov r14, qword [r14 + 0x10]
test r14, r14
jne 0x1402fc124
xor r14d, r14d
test bpl, bpl
jne 0x1402fc155
mov rax, qword [0x14041b008]
mov rcx, r15
call qword [case.0x1403339d6.0]
mov rax, qword [rsp + 0x50]
mov qword [rax], r14
xor ebp, ebp
test r14, r14
jne 0x1402fc2af
lea rcx, str.no_such_vfs:__s
mov rdx, r13
call fcn.140248630
mov ebp, 1
mov rcx, qword [rsp + 0xc8]
mov qword [rcx], rax
test rdi, rdi
je 0x1402fc2ad
add rdi, 0xfffffffffffffffc
cmp byte [rdi + 3], 0
jne 0x1402fc1af
cmp byte [rdi + 2], 0
jne 0x1402fc1af
cmp byte [rdi + 1], 0
jne 0x1402fc1af
cmp byte [rdi], 0
je 0x1402fc233
dec rdi
jmp 0x1402fc194
or esi, 0x40
lea ecx, [r12 + 8]
mov eax, r12d
xor edx, edx
xor r8d, r8d
cmp byte [r15 + rdx], 0x26
sete r8b
add rcx, r8
inc rdx
cmp rax, rdx
jne 0x1402fc1c1
call fcn.140247f50
test rax, rax
je 0x1402fc229
mov rdi, rax
mov dword [rax], 0
add rdi, 4
mov r10d, 5
cmp byte [r15 + 5], 0x2f
jne 0x1402fc31a
cmp byte [r15 + 6], 0x2f
jne 0x1402fc31a
xor edx, edx
movzx eax, byte [r15 + rdx + 7]
test eax, eax
je 0x1402fc2cf
cmp eax, 0x2f
je 0x1402fc2cf
inc rdx
jmp 0x1402fc20d
mov ebp, 7
jmp 0x1402fc2bc
test rdi, rdi
je 0x1402fc2ad
cmp dword [reloc.WS2_32.dll_accept], 0
je 0x1402fc6bf
mov rcx, qword [0x1404679b8]
test rcx, rcx
je 0x1402fc25e
mov rax, qword [0x14041aff8]
call qword [case.0x1403339d6.0]
mov rax, qword [0x14041afb0]
mov rcx, rdi
call qword [case.0x1403339d6.0]
cdqe
sub qword [0x140467910], rax
dec qword [0x140467958]
mov rax, qword [0x14041afa0]
mov rcx, rdi
call qword [case.0x1403339d6.0]
mov rdi, qword [0x1404679b8]
test rdi, rdi
je 0x1402fc2ad
lea rax, [0x14041b008]
mov rax, qword [rax]
mov rcx, rdi
call qword [case.0x1403339d6.0]
xor edi, edi
mov rax, qword [rsp + 0xc0]
mov dword [rbx], esi
mov qword [rax], rdi
mov eax, ebp
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r10d, [rdx + 7]
cmp r10d, 7
je 0x1402fc31a
cmp r10d, 0x10
jne 0x1402fc2fc
mov rax, qword [str.localhost]
xor rax, qword [r15 + 7]
mov cl, byte [0x1403e1423]
xor cl, byte [r15 + 0xf]
movzx ecx, cl
or rcx, rax
je 0x1402fc314
add r15, 7
lea rcx, str.invalid_uri_authority:__.s
mov r8, r15
call fcn.140248630
jmp 0x1402fc177
mov r10d, reloc.WS2_32.dll_recv
xor edx, edx
lea rcx, [0x1403f1680]
xor eax, eax
mov qword [rsp + 0x38], rbx
movsxd r8, eax
mov r9d, r10d
movsxd rbx, r9d
movzx r11d, byte [r15 + rbx]
test r11d, r11d
je 0x1402fc4a8
cmp r11d, 0x23
je 0x1402fc4a8
lea r10, [rbx + 1]
cmp r11b, 0x25
jne 0x1402fc408
movzx r14d, byte [r15 + r10]
test byte [r14 + rcx], 8
je 0x1402fc408
movzx ebx, byte [rbx + r15 + 2]
test byte [rbx + rcx], 8
je 0x1402fc408
lea r10d, [r14 + r14]
sar r10b, 7
and r10b, 9
add r10b, r14b
shl r10b, 4
add r9d, 3
lea r11d, [rbx + rbx]
sar r11b, 7
and r11b, 9
add r11b, bl
and r11b, 0xf
or r11b, r10b
jne 0x1402fc459
movsxd r10, r9d
add r10, r15
movzx r11d, byte [r10]
test r11d, r11d
je 0x1402fc330
cmp r11d, 0x23
je 0x1402fc330
test edx, edx
jne 0x1402fc3d7
cmp r11b, 0x3f
je 0x1402fc330
cmp edx, 1
jne 0x1402fc3f1
cmp r11d, 0x26
je 0x1402fc330
cmp r11d, 0x3d
jne 0x1402fc400
jmp 0x1402fc330
cmp edx, 2
jne 0x1402fc400
cmp r11b, 0x26
je 0x1402fc330
inc r9d
inc r10
jmp 0x1402fc3b2
cmp edx, 1
jne 0x1402fc46a
cmp r11d, 0x3d
je 0x1402fc419
cmp r11d, 0x26
jne 0x1402fc497
cmp byte [rdi + r8 - 1], 0
jne 0x1402fc481
movsxd r10, r10d
inc r9d
add r10, r15
movzx r11d, byte [r10]
mov edx, 1
test r11d, r11d
je 0x1402fc330
cmp r11d, 0x23
je 0x1402fc330
cmp byte [r10 - 1], 0x26
je 0x1402fc330
inc r9d
inc r10
jmp 0x1402fc42a
mov r10d, r9d
movsxd r8, eax
inc eax
mov byte [rdi + r8], r11b
jmp 0x1402fc32a
test edx, edx
jne 0x1402fc474
cmp r11b, 0x3f
je 0x1402fc490
cmp edx, 2
jne 0x1402fc45c
cmp r11b, 0x26
je 0x1402fc490
jmp 0x1402fc45c
cmp r11b, 0x26
jne 0x1402fc49e
lea eax, [r8 + 1]
mov byte [rdi + r8], 0
mov edx, 1
jmp 0x1402fc4a3
mov edx, 1
jmp 0x1402fc45c
mov edx, 2
xor r11d, r11d
jmp 0x1402fc45c
mov qword [rsp + 0x50], rbp
cmp edx, 1
jne 0x1402fc4bb
lea eax, [r8 + 1]
mov byte [rdi + r8], 0
cdqe
mov dword [rdi + rax], 0
mov rcx, rdi
call fcn.14035a9d0
and eax, 0x3fffffff
cmp byte [rax + rdi + 1], 0
mov rbx, qword [rsp + 0x38]
je 0x1402fc0d3
lea rbp, [rax + rdi]
inc rbp
mov dword [rsp + 0x2c], esi
mov r14d, 0
test rbp, rbp
je 0x1402fc509
mov rcx, rbp
call fcn.14035a9d0
mov r14, rax
and r14d, 0x3fffffff
mov rsi, r13
mov r15d, r14d
add r15, rbp
inc r15
je 0x1402fc52b
mov rcx, r15
call fcn.14035a9d0
mov r13, rax
and r13d, 0x3fffffff
jmp 0x1402fc52e
xor r13d, r13d
mov r12d, r13d
cmp r14d, 5
je 0x1402fc594
cmp r14d, 4
je 0x1402fc564
cmp r14d, 3
mov r13, rsi
jne 0x1402fc5b0
movzx eax, word [rbp]
xor eax, 0x6676
movzx ecx, byte [rbp + 2]
xor ecx, 0x73
or cx, ax
mov esi, dword [rsp + 0x2c]
jne 0x1402fc5b4
mov r13, r15
jmp 0x1402fc5b4
mov eax, dword [0x1403e13e8]
cmp eax, dword [rbp]
jne 0x1402fc5ad
mov eax, dword [rsp + 0x2c]
and eax, 0x87
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x30], 0xffffff78
lea rcx, [0x1403f88f0]
lea rax, str.access
jmp 0x1402fc5e8
mov eax, dword [str.cache]
xor eax, dword [rbp]
mov cl, byte [0x1403e74f8]
xor cl, byte [rbp + 4]
movzx ecx, cl
or ecx, eax
je 0x1402fc5ca
mov r13, rsi
mov esi, dword [rsp + 0x2c]
lea rbp, [r12 + r15]
inc rbp
cmp byte [rbp], 0
jne 0x1402fc4e8
jmp 0x1402fc0d3
mov dword [rsp + 0x34], 0x60000
mov dword [rsp + 0x30], 0xfff9ffff
lea rcx, str.shared
lea rax, str.cache
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rcx
mov r14, qword [rcx]
test r14, r14
je 0x1402fc675
mov rax, qword [rsp + 0x48]
lea rbp, [rax + 0x10]
xor ebx, ebx
mov rcx, r14
call fcn.14035a9d0
and eax, 0x3fffffff
cmp r13d, eax
jne 0x1402fc629
mov rcx, r15
mov rdx, r14
mov r8, r12
call fcn.140336440
test eax, eax
je 0x1402fc63b
inc rbx
mov r14, qword [rbp]
add rbp, 0x10
test r14, r14
jne 0x1402fc605
jmp 0x1402fc675
mov eax, ebx
shl rax, 4
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx + rax + 8]
test eax, eax
je 0x1402fc675
mov ecx, eax
and ecx, 0xffffff7f
cmp ecx, dword [rsp + 0x34]
jg 0x1402fc6a4
mov ecx, dword [rsp + 0x30]
and ecx, dword [rsp + 0x2c]
or eax, ecx
mov rbx, qword [rsp + 0x38]
mov r13, rsi
mov esi, eax
jmp 0x1402fc5b4
lea rcx, str.no_such__s_mode:__s
mov rdx, qword [rsp + 0x40]
mov r8, r15
call fcn.140248630
mov ebp, 1
mov rbx, qword [rsp + 0x38]
mov esi, dword [rsp + 0x2c]
jmp 0x1402fc17c
xor r15d, r15d
jmp 0x1402fc113
lea rcx, str._s_mode_not_allowed:__s
mov rdx, qword [rsp + 0x40]
mov r8, r15
call fcn.140248630
mov ebp, 3
jmp 0x1402fc68e
lea rax, [0x14041afa0]
jmp 0x1402fc2a1