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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
movaps xmmword [rsp + 0x30], xmm6
movaps xmmword [rsp + 0x40], xmm7
movaps xmmword [rsp + 0x50], xmm8
movaps xmmword [rsp + 0x60], xmm9
movaps xmmword [rsp + 0x70], xmm10
mov edi, dword [r8]
mov r12, rcx
mov rsi, rdx
mov rbp, r8
mov r15, r9
test rdx, rdx
je 0x140075a00
mov rcx, rdx
call sub.msvcrt.dll_strlen
mov r14d, eax
mov rdx, rax
and r14d, 0x3fffffff
lea ebx, [r14 + 8]
movsxd r13, ebx
test dil, 0x40
je 0x140075510
cmp r14d, 4
jle 0x14007549f
cmp dword [rsi], 0x656c6966
je 0x14007558f
call fcn.14006ac10
test eax, eax
jne 0x140075530
mov eax, dword [0x1401b01c0]
test eax, eax
jne 0x140075570
mov ecx, ebx
call qword [0x1401b01e0]
test rax, rax
je 0x140075530
mov dword [rax], 0
lea rbx, [rax + 4]
movsxd r13, r14d
test r14d, r14d
jne 0x140075a18
mov dword [rbx + r13], 0
and edi, 0xffffffbf
mov rcx, r12
xor esi, esi
call fcn.14006ad40
mov qword [r15], rax
test rax, rax
je 0x140075a2b
mov rax, qword [rsp + 0xf0]
mov dword [rbp], edi
mov qword [rax], rbx
jmp 0x140075535
cmp byte [0x1401b01c6], 0
je 0x14007549f
cmp r14d, 4
jg 0x140075493
jmp 0x14007549f
mov esi, 7
movaps xmm6, xmmword [rsp + 0x30]
movaps xmm7, xmmword [rsp + 0x40]
mov eax, esi
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [0x1401f5360]
test rcx, rcx
je 0x140075582
call qword [0x1401b0240]
mov rcx, r13
call fcn.14000bed0
jmp 0x1400754c2
cmp byte [rsi + 4], 0x3a
jne 0x14007549f
lea ecx, [r14 - 1]
xor eax, eax
cmp ecx, 0xe
jbe 0x140075e57
mov ecx, r14d
pxor xmm1, xmm1
pxor xmm6, xmm6
mov rax, rsi
shr ecx, 4
movdqa xmm7, xmmword [0x1401c04e0]
pxor xmm5, xmm5
pxor xmm4, xmm4
movdqa xmm8, xmmword [0x1401c04d0]
shl rcx, 4
add rcx, rsi
nop dword [rax]
movdqu xmm0, xmmword [rax]
add rax, 0x10
pcmpeqb xmm0, xmm8
pand xmm0, xmm7
movdqa xmm3, xmm0
punpckhbw xmm0, xmm6
punpcklbw xmm3, xmm6
movdqa xmm9, xmm0
punpckhwd xmm0, xmm5
movdqa xmm2, xmm3
punpckhwd xmm3, xmm5
punpcklwd xmm9, xmm5
punpcklwd xmm2, xmm5
movdqa xmm10, xmm2
punpckldq xmm2, xmm4
punpckhdq xmm10, xmm4
paddq xmm2, xmm10
movdqa xmm10, xmm3
punpckldq xmm3, xmm4
punpckhdq xmm10, xmm4
paddq xmm3, xmm10
paddq xmm2, xmm3
movdqa xmm3, xmm9
punpckldq xmm9, xmm4
punpckhdq xmm3, xmm4
paddq xmm9, xmm3
movdqa xmm3, xmm0
punpckhdq xmm0, xmm4
punpckldq xmm3, xmm4
paddq xmm1, xmm0
paddq xmm9, xmm3
paddq xmm2, xmm9
paddq xmm1, xmm2
cmp rcx, rax
jne 0x1400755e0
movdqa xmm0, xmm1
mov eax, edx
psrldq xmm0, 8
and eax, 0x3ffffff0
paddq xmm1, xmm0
movq rbx, xmm1
add rbx, r13
cmp r14d, eax
je 0x140075828
movsxd rdx, eax
cmp byte [rsi + rdx], 0x26
sete dl
movzx edx, dl
add rbx, rdx
lea edx, [rax + 1]
cmp r14d, edx
jle 0x140075828
movsxd rdx, edx
cmp byte [rsi + rdx], 0x26
sete dl
movzx edx, dl
add rbx, rdx
lea edx, [rax + 2]
cmp r14d, edx
jle 0x140075828
movsxd rdx, edx
cmp byte [rsi + rdx], 0x26
sete dl
movzx edx, dl
add rbx, rdx
lea edx, [rax + 3]
cmp r14d, edx
jle 0x140075828
movsxd rdx, edx
cmp byte [rsi + rdx], 0x26
sete dl
movzx edx, dl
add rbx, rdx
lea edx, [rax + 4]
cmp r14d, edx
jle 0x140075828
movsxd rdx, edx
cmp byte [rsi + rdx], 0x26
sete dl
movzx edx, dl
add rbx, rdx
lea edx, [rax + 5]
cmp r14d, edx
jle 0x140075828
movsxd rdx, edx
cmp byte [rsi + rdx], 0x26
sete dl
movzx edx, dl
add rbx, rdx
lea edx, [rax + 6]
cmp r14d, edx
jle 0x140075828
movsxd rdx, edx
cmp byte [rsi + rdx], 0x26
sete dl
movzx edx, dl
add rbx, rdx
lea edx, [rax + 7]
cmp r14d, edx
jle 0x140075828
movsxd rdx, edx
cmp byte [rsi + rdx], 0x26
sete dl
movzx edx, dl
add rbx, rdx
lea edx, [rax + 8]
cmp r14d, edx
jle 0x140075828
movsxd rdx, edx
cmp byte [rsi + rdx], 0x26
sete dl
movzx edx, dl
add rbx, rdx
lea edx, [rax + 9]
cmp r14d, edx
jle 0x140075828
movsxd rdx, edx
cmp byte [rsi + rdx], 0x26
sete dl
movzx edx, dl
add rbx, rdx
lea edx, [rax + 0xa]
cmp r14d, edx
jle 0x140075828
movsxd rdx, edx
cmp byte [rsi + rdx], 0x26
sete dl
movzx edx, dl
add rbx, rdx
lea edx, [rax + 0xb]
cmp r14d, edx
jle 0x140075828
movsxd rdx, edx
cmp byte [rsi + rdx], 0x26
sete dl
movzx edx, dl
add rbx, rdx
lea edx, [rax + 0xc]
cmp r14d, edx
jle 0x140075828
movsxd rdx, edx
cmp byte [rsi + rdx], 0x26
sete dl
movzx edx, dl
add rbx, rdx
lea edx, [rax + 0xd]
cmp r14d, edx
jle 0x140075828
movsxd rdx, edx
cmp byte [rsi + rdx], 0x26
sete dl
add eax, 0xe
movzx edx, dl
add rbx, rdx
cmp r14d, eax
jle 0x140075828
cdqe
cmp byte [rsi + rax], 0x26
sete al
movzx eax, al
add rbx, rax
nop dword [rax + rax]
call fcn.14006ac10
mov r13d, eax
test eax, eax
jne 0x140075530
lea rax, [rbx - 1]
cmp rax, 0x7ffffefe
ja 0x140075530
mov edx, dword [0x1401b01c0]
test edx, edx
je 0x140075dcb
mov rcx, qword [0x1401f5360]
test rcx, rcx
je 0x140075868
call qword [0x1401b0240]
mov rcx, rbx
call fcn.14000bed0
test rax, rax
je 0x140075530
mov dword [rax], 0
lea rbx, [rax + 4]
movzx eax, byte [rsi + 5]
or edi, 0x40
cmp al, 0x2f
je 0x140075cf9
test al, al
mov r11d, 5
setne dl
cmp al, 0x23
je 0x140075e6c
test dl, dl
je 0x140075e6c
mov dword [rsp + 0x20], edi
xor r10d, r10d
xor edx, edx
mov qword [rsp + 0xe0], rbp
jmp 0x140075908
cmp r13d, 1
je 0x140075a80
test r13d, r13d
jne 0x140075aaf
cmp al, 0x3f
jne 0x140075aaf
mov r13d, 1
xor eax, eax
movsxd r9, r8d
mov byte [rbx + rcx], al
movzx eax, byte [rsi + r9]
add r10d, 1
cmp al, 0x23
je 0x140075ad0
test al, al
je 0x140075ad0
movsxd rdx, r10d
mov r11d, r8d
lea r8d, [r11 + 1]
mov rcx, rdx
cmp al, 0x25
jne 0x1400758c0
movsxd r9, r8d
lea rbp, [0x1401bfbc0]
movzx r14d, byte [rsi + r9]
mov rdi, r14
test byte [rbp + r14], 8
je 0x1400758e6
movzx r14d, byte [rsi + r9 + 1]
test byte [rbp + r14], 8
je 0x1400758e6
movsx edi, dil
lea r9d, [r11 + 2]
lea r8d, [r11 + 3]
mov eax, edi
movsxd r9, r9d
sar eax, 6
and eax, 1
lea eax, [rax + rax*8]
add eax, edi
movsx edi, byte [rsi + r9]
and eax, 0xf
mov r9d, edi
shl eax, 4
sar r9d, 6
and r9d, 1
lea r11d, [r9 + r9*8]
movsxd r9, r8d
add r11d, edi
and r11d, 0xf
add r11d, eax
mov eax, r11d
jne 0x1400758e6
movzx eax, byte [rsi + r9]
test al, al
je 0x140075eda
cmp al, 0x23
je 0x140075eda
cmp r13d, 1
je 0x140075d7e
test r13d, r13d
mov rbp, qword [rsp + 0xe0]
setne cl
jmp 0x1400759da
movzx eax, byte [rsi + r9 + 1]
add r9, 1
cmp al, 0x23
je 0x140075e74
test al, al
je 0x140075e74
mov r8d, r9d
cmp al, 0x3f
jne 0x1400759e9
test cl, cl
je 0x140075e80
cmp r13d, 2
jne 0x1400759c0
cmp al, 0x26
jne 0x1400759c0
mov qword [rsp + 0xe0], rbp
jmp 0x140075905
mov r13d, 8
mov ebx, 8
xor r14d, r14d
jmp 0x14007549f
mov r8, r13
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll_memcpy
jmp 0x1400754dd
mov rdx, r12
lea rcx, str.no_such_vfs:__s
mov esi, 1
call fcn.140070550
nop
mov rdx, qword [rsp + 0xf8]
mov qword [rdx], rax
jmp 0x140075a54
sub rbx, 1
cmp byte [rbx - 1], 0
jne 0x140075a50
cmp byte [rbx - 2], 0
jne 0x140075a50
cmp byte [rbx - 3], 0
jne 0x140075a50
cmp byte [rbx - 4], 0
jne 0x140075a50
lea rcx, [rbx - 4]
xor ebx, ebx
call fcn.140007bf0
jmp 0x1400754fe
cmp al, 0x26
je 0x140075a8c
cmp al, 0x3d
jne 0x1400758e3
cmp byte [rbx + rdx - 1], 0
je 0x140075e03
cmp al, 0x26
je 0x140075ce4
mov r13d, 2
xor eax, eax
movsxd r9, r8d
jmp 0x1400758e6
cmp r13d, 2
jne 0x1400758e3
cmp al, 0x26
je 0x1400758db
jmp 0x1400758e3
mov edi, dword [rsp + 0x20]
mov rbp, qword [rsp + 0xe0]
movsxd rcx, r10d
lea rdx, [rbx + rcx]
cmp r13d, 1
je 0x140075db9
mov dword [rdx], 0
mov rcx, rbx
call sub.msvcrt.dll_strlen
and eax, 0x3fffffff
lea r13, [rbx + rax + 1]
cmp byte [r13], 0
je 0x1400754e8
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0xe0], rbp
mov qword [rsp + 0xe8], r15
nop dword [rax]
mov rcx, r13
call sub.msvcrt.dll_strlen
mov r14d, eax
and r14d, 0x3fffffff
lea esi, [r14 + 1]
movsxd rsi, esi
add rsi, r13
mov rcx, rsi
call sub.msvcrt.dll_strlen
mov r15d, eax
and r15d, 0x3fffffff
cmp r14d, 3
je 0x140075c50
cmp r14d, 5
je 0x140075ca8
cmp r14d, 4
jne 0x140075c13
cmp dword [r13], 0x65646f6d
jne 0x140075c13
lea rax, str.access
mov ebx, edi
mov r12d, 0xffffff78
mov qword [rsp + 0x28], rax
and ebx, 0x87
lea rbp, [0x1401af160]
mov r14, qword [rbp]
test r14, r14
je 0x140075c78
movsxd r13, r15d
jmp 0x140075bd1
mov r14, qword [rbp + 0x10]
add rbp, 0x10
test r14, r14
je 0x140075c78
mov rcx, r14
call sub.msvcrt.dll_strlen
and eax, 0x3fffffff
cmp r15d, eax
jne 0x140075bc0
mov r8, r13
mov rdx, r14
mov rcx, rsi
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x140075bc0
mov eax, dword [rbp + 8]
test eax, eax
je 0x140075c78
mov r9d, eax
and r9b, 0x7f
cmp r9d, ebx
jg 0x140075dd8
and edi, r12d
or eax, edi
mov edi, eax
lea edx, [r15 + 1]
movsxd rdx, edx
lea r13, [rsi + rdx]
cmp byte [r13], 0
jne 0x140075b30
mov rbx, qword [rsp + 0x20]
mov r12, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xe0]
mov r15, qword [rsp + 0xe8]
jmp 0x1400754e8
cmp word [r13], 0x6676
jne 0x140075c13
cmp byte [r13 + 2], 0x73
mov rax, rsi
cmovne rax, qword [rsp + 0xd0]
mov qword [rsp + 0xd0], rax
jmp 0x140075c13
mov rdx, qword [rsp + 0x28]
mov r8, rsi
lea rcx, str.no_such__s_mode:__s
mov rbx, qword [rsp + 0x20]
mov rbp, qword [rsp + 0xe0]
mov esi, 1
call fcn.140070550
jmp 0x140075a40
cmp dword [r13], 0x68636163
jne 0x140075c13
cmp byte [r13 + 4], 0x65
jne 0x140075c13
lea rax, str.cache
mov r12d, 0xfff9ffff
mov ebx, 0x60000
mov qword [rsp + 0x28], rax
lea rbp, str.shared
jmp 0x140075bab
add r10d, 1
mov byte [rbx + rdx], 0
xor eax, eax
movsxd r9, r8d
movsxd rcx, r10d
jmp 0x1400758e6
cmp byte [rsi + 6], 0x2f
mov r11d, 5
jne 0x1400758ad
movzx eax, byte [rsi + 7]
lea r8, [rsi + 7]
test al, al
setne cl
mov edx, ecx
cmp al, 0x2f
je 0x140075eb6
test cl, cl
je 0x140075eb6
lea rax, [rsi + 8]
mov r11d, 7
jmp 0x140075d39
cmp dl, 0x2f
je 0x140075d4b
movzx edx, byte [rax]
mov ecx, r11d
add rax, 1
add r11d, 1
test dl, dl
jne 0x140075d34
cmp r11d, 0x10
jne 0x140075d65
movabs rax, 0x736f686c61636f6c
cmp qword [rsi + 7], rax
je 0x140075ec1
lea edx, [rcx - 6]
lea rcx, str.invalid_uri_authority:__.s
mov esi, 1
call fcn.140070550
jmp 0x140075a40
mov rbp, qword [rsp + 0xe0]
jmp 0x140075d94
cmp al, 0x23
je 0x140075db2
cmp al, 0x26
je 0x140075e95
cmp al, 0x3d
je 0x140075e95
movzx eax, byte [rsi + r9 + 1]
add r9, 1
test al, al
jne 0x140075d90
mov edi, dword [rsp + 0x20]
add rdx, rbx
mov byte [rdx], 0
lea edx, [r10 + 1]
movsxd rdx, edx
add rdx, rbx
jmp 0x140075aed
mov ecx, ebx
call qword [0x1401b01e0]
jmp 0x140075870
mov rdx, qword [rsp + 0x28]
mov r8, rsi
lea rcx, str._s_mode_not_allowed:__s
mov rbx, qword [rsp + 0x20]
mov rbp, qword [rsp + 0xe0]
mov esi, 3
call fcn.140070550
jmp 0x140075a40
movsxd rcx, r8d
add rcx, rsi
movzx eax, byte [rcx]
test al, al
je 0x140075ea5
cmp al, 0x23
je 0x140075ea5
mov rbp, qword [rsp + 0xe0]
jmp 0x140075e4c
movzx eax, byte [rcx + 1]
add r8d, 1
add rcx, 1
test al, al
je 0x140075db2
cmp al, 0x23
je 0x140075db2
cmp byte [rcx - 1], 0x26
jne 0x140075e30
jmp 0x1400759f3
xor ebx, ebx
cmp byte [rsi], 0x26
mov edx, 1
sete bl
add rbx, r13
jmp 0x1400756bc
mov rdx, rbx
jmp 0x140075aed
mov edi, dword [rsp + 0x20]
add rdx, rbx
jmp 0x140075aed
mov qword [rsp + 0xe0], rbp
xor r13d, r13d
mov eax, 0x3f
jmp 0x140075905
mov qword [rsp + 0xe0], rbp
mov r8d, r9d
jmp 0x140075905
mov edi, dword [rsp + 0x20]
mov rbp, qword [rsp + 0xe0]
jmp 0x140075db6
mov r11d, 7
jmp 0x14007589d
cmp byte [r8 + 8], 0x74
jne 0x140075d65
movzx eax, byte [rsi + 0x10]
test al, al
setne dl
jmp 0x14007589d
mov edi, dword [rsp + 0x20]
mov rbp, qword [rsp + 0xe0]
jmp 0x140075adf