Function at 0x14011f9f0
Capabilities:
Encode data using xor
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x140596558]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r15, qword [0x1405a6b78]
add r15, r8
sub r15, rdx
sar r15, 3
lea r14, [rdx + r15*4]
add r8, 0xfffffffffffffffc
mov rcx, rdx
mov rdx, r14
call fcn.140120090
mov ecx, 0x5204c8ba
nop word cs:[rax + rax]
mov rax, r14
cmp r14, rbx
jbe 0x14011fa8f
mov edx, dword [0x1405a6cb4]
mov r8d, dword [0x140537b14]
add r8d, ecx
cmp edx, r8d
mov edx, dword [rax - 4]
mov r8d, dword [rax]
mov r9d, dword [0x1405a6cb0]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
jne 0x14011fa6b
lea r14, [rax - 4]
cmp r8d, edx
je 0x14011fa50
lea r8, [rbx + r15*4]
add r8, 4
cmp r8, rdi
jae 0x14011fab0
nop dword [rax]
mov ecx, dword [rax]
cmp ecx, dword [r8]
jne 0x14011fab0
add r8, 4
cmp r8, rdi
jb 0x14011faa0
mov ecx, dword [0x1405a6cb0]
nop word cs:[rax + rax]
mov ecx, dword [0x1405a6cb4]
cmp ecx, 0x36
jg 0x14011fac0
mov ecx, 0x5204c8e8
lea r10, [rsp + 0x28]
mov r9d, 0x5204c8f7
mov r11d, 0x5204c8ae
lea r14, [fcn.14011f9f0]
mov r12b, 1
mov r13, r8
mov rbp, rax
jmp 0x14011fb17
add r15, 4
add r10, 4
add r13, 4
mov rax, r10
mov r8, r15
lea r10, [rsp + 0x28]
mov r15, r8
jmp 0x14011fb28
add r15, 4
add r13, 4
cmp r13, rdi
jae 0x14011fc60
mov edx, dword [rax]
mov r8d, dword [r13]
cmp edx, r8d
jb 0x14011fb24
ja 0x14011fc60
nop word cs:[rax + rax]
mov edx, dword [0x1405a6cb4]
cmp edx, 0x3d
jg 0x14011fb70
mov edx, dword [0x1405a6cb4]
mov r8d, dword [0x140537b14]
add r8d, ecx
cmp edx, r8d
jl 0x14011fb80
mov edx, dword [0x1405a6cb4]
cmp edx, 0x3e
jge 0x14011fb50
jmp 0x14011fb5b
cmp r15, r13
je 0x14011fb20
nop word cs:[rax + rax]
cmp byte [0x1405a6c4c], 0
jne 0x14011fbad
mov edx, dword [0x1405a6cb0]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x14011fbd0
mov edx, dword [0x1405a6cb4]
mov r8d, dword [0x140537b14]
add r8d, r9d
cmp edx, r8d
jge 0x14011fb90
jmp 0x14011fb99
cmp r10, r15
je 0x14011fbdc
mov edx, dword [r15]
mov dword [rsp + 0x28], edx
mov edx, dword [r13]
mov dword [r15], edx
cmp r10, r13
je 0x14011fb20
mov edx, dword [rsp + 0x28]
mov dword [r13], edx
jmp 0x14011fb20
lea rax, [r10 - 4]
cmp r10, rdx
je 0x14011fc60
lea r8, [rsp + 0x28]
cmp r8, rax
je 0x14011fc19
mov edx, dword [rax]
mov dword [rsp + 0x28], edx
mov edx, dword [rbp]
mov dword [rax], edx
cmp r8, rbp
je 0x14011fc2a
mov edx, dword [rsp + 0x28]
mov dword [rbp], edx
xor edx, edx
test dl, dl
jne 0x14011fc50
mov edx, dword [0x140537b14]
add edx, r11d
lea r8d, [r14 + r14]
add r8d, 0x1f20
test r8d, edx
je 0x14011fc60
nop dword [rax]
mov edx, dword [0x1405a6cb4]
cmp edx, 0x25
jge 0x14011fc50
jmp 0x14011fc30
mov r10, rax
cmp rbp, rbx
jbe 0x14011fc80
mov rdx, rbp
add rbp, 0xfffffffffffffffc
mov eax, dword [rdx - 4]
mov r8d, dword [r10]
cmp eax, r8d
jb 0x14011fc63
jbe 0x14011fc00
mov rbp, rdx
nop
mov eax, dword [0x1405a6cb4]
mov edx, dword [0x140537b14]
mov r8d, 0x5204c8ec
add edx, r8d
cmp eax, edx
mov rax, rbp
xor rax, rbx
mov rdx, r13
xor rdx, rdi
or rdx, rax
sete al
mov edx, dword [0x1405a6cb4]
cmp edx, 0x55
jg 0x14011fc97
test al, al
jne 0x14012000a
cmp rbp, rbx
je 0x14011fcf0
lea rdx, [rbp - 4]
cmp r13, rdi
je 0x14011fd70
mov eax, dword [0x1405a6cb0]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x14011ffb0
jmp 0x14011ff70
cmp byte [0x1405a6c4c], 0
jne 0x14011fe99
cmp r15, r13
je 0x14011fe99
nop word cs:[rax + rax]
mov eax, dword [0x1405a6cb4]
cmp eax, 0x3c
jg 0x14011fd4e
mov edx, dword [0x1405a6cb0]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x140537b14]
mov r8d, edx
xor r8d, 0x5204c8af
and edx, 0x5204c8af
lea r8d, [r8 + rdx*2]
xor edx, edx
div r8d
test edx, edx
je 0x14011fdea
mov eax, dword [0x140537b14]
add eax, r11d
lea edx, [r14 + r14]
add edx, 0x1dc0
xor edx, eax
not edx
test edx, eax
jne 0x14011fd10
jmp 0x14011fd1b
lea rax, [r10 - 4]
cmp rbp, r10
je 0x14011fda8
lea r8, [rsp + 0x28]
cmp r8, rdx
je 0x14011fd8b
mov r8d, dword [rdx]
mov dword [rsp + 0x28], r8d
cmp rbp, r10
je 0x14011fd96
mov r8d, dword [rax]
mov dword [rdx], r8d
lea r8, [rsp + 0x28]
cmp r8, rax
je 0x14011fda8
mov r8d, dword [rsp + 0x28]
mov dword [rax], r8d
mov qword [rsp + 0x20], rdx
lea r8, [rsp + 0x28]
cmp r8, rax
je 0x14011fef5
mov r8d, dword [0x1405a6cb0]
lea ebp, [r8 + 1]
imul ebp, r8d
and ebp, 1
mov r8d, dword [0x140537b14]
mov edx, 0x5204c8ad
add r8d, edx
cmp ebp, r8d
jne 0x14011ff50
jmp 0x14011fee0
lea rax, [rsp + 0x28]
cmp rax, r10
je 0x14011fe27
mov eax, dword [0x1405a6cb0]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
jne 0x14011fed1
nop dword [rax]
mov eax, dword [r10]
mov dword [rsp + 0x28], eax
cmp dword [0x140537b14], 0xadfb3753
jne 0x14011fed1
cmp r10, r15
je 0x14011fe40
mov eax, dword [r15]
mov dword [r10], eax
nop word cs:[rax + rax]
mov eax, dword [0x1405a6cb4]
cmp eax, 0x42
jg 0x14011fe5c
mov eax, dword [0x1405a6cb0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x14011fe88
mov eax, dword [0x140537b14]
lea edx, [r14 + r14]
add edx, 0x20
mov r8d, 0xadfb3751
sub r8d, eax
add eax, 0x5204c8ae
xor eax, edx
not edx
and r8d, edx
or eax, r8d
cmp eax, 0xffffffff
jne 0x14011fe40
jmp 0x14011fe4b
lea rax, [rsp + 0x28]
cmp rax, r15
je 0x14011fe99
mov eax, dword [rsp + 0x28]
mov dword [r15], eax
lea rax, [rsp + 0x28]
cmp rax, r10
je 0x14011feaa
mov eax, dword [r10]
mov dword [rsp + 0x28], eax
cmp r10, r13
je 0x14011feb6
mov eax, dword [r13]
mov dword [r10], eax
lea rax, [rsp + 0x28]
cmp rax, r13
je 0x14011fb00
mov eax, dword [rsp + 0x28]
mov dword [r13], eax
jmp 0x14011fb00
mov eax, dword [r10]
mov dword [rsp + 0x28], eax
jmp 0x14011fe10
mov r8d, dword [rax]
mov dword [rsp + 0x28], r8d
mov r8d, dword [0x1405a6cb4]
cmp r8d, 0x2e
jge 0x14011ff50
lea r8, [r15 - 4]
cmp r10, r15
je 0x14011ff04
mov r10d, dword [r8]
mov dword [rax], r10d
mov r10d, dword [0x140537b14]
mov ebp, r10d
xor ebp, 0x5204c8ad
and r10d, 0x5204c8ad
add r10d, r10d
add r10d, ebp
mov rbp, qword [rsp + 0x20]
xor r10d, r10d
test r10b, r10b
jne 0x14011ff26
lea r10, [rsp + 0x28]
cmp r10, r8
je 0x14011fb17
mov r10d, dword [rsp + 0x28]
mov dword [r8], r10d
lea r10, [rsp + 0x28]
jmp 0x14011fb17
mov r8d, dword [rax]
mov dword [rsp + 0x28], r8d
mov r8d, dword [0x1405a6cb4]
cmp r8d, 0x46
jge 0x14011ff50
jmp 0x14011fee0
test r12b, r12b
je 0x14011ffb0
lea rax, [rsp + 0x28]
cmp rax, r13
je 0x14011ff87
mov eax, dword [r13]
mov dword [rsp + 0x28], eax
cmp r13, rdx
je 0x14011ff92
mov eax, dword [rdx]
mov dword [r13], eax
lea rax, [rsp + 0x28]
cmp rax, rdx
je 0x14011ffcb
mov eax, dword [rsp + 0x28]
mov dword [rdx], eax
jmp 0x14011ffcb
test r12b, r12b
je 0x14011ffb0
jmp 0x14011ff70
mov eax, dword [0x1405a6cb4]
cmp eax, 0x3f
jl 0x14011ffdf
mov eax, dword [0x1405a6cb0]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x14011ffc0
mov eax, dword [0x1405a6cb0]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x14011ffc0
add r13, 4
mov rax, r10
mov r8, r15
mov rbp, rdx
lea r10, [rsp + 0x28]
jmp 0x14011fb17
mov eax, dword [0x1405a6cb0]
mov ecx, dword [0x140537b14]
mov edx, eax
sub edx, ecx
add edx, 2
imul edx, eax
and edx, 1
add ecx, 0x5204c8ad
cmp edx, ecx
jne 0x14012003f
mov qword [rsi], r10
mov qword [rsi + 8], r15
mov eax, dword [0x1405a6cb4]
cmp eax, 0x1e
jl 0x14012006b
mov eax, 0x5204c8d5
nop word cs:[rax + rax]
mov qword [rsi], r10
mov qword [rsi + 8], r15
mov ecx, dword [0x1405a6cb4]
mov edx, dword [0x140537b14]
add edx, eax
cmp ecx, edx
jge 0x140120050
jmp 0x14012002d
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140418830
mov rax, rsi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret