Function at 0x140115ff0
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 [0x14054f998]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r15, qword [0x14055f1d8]
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.140116690
mov ecx, 0x5204c8ba
nop word cs:[rax + rax]
mov rax, r14
cmp r14, rbx
jbe 0x14011608f
mov edx, dword [0x14055f1d4]
mov r8d, dword [0x1404f66e4]
add r8d, ecx
cmp edx, r8d
mov edx, dword [rax - 4]
mov r8d, dword [rax]
mov r9d, dword [0x14055f1d0]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
jne 0x14011606b
lea r14, [rax - 4]
cmp r8d, edx
je 0x140116050
lea r8, [rbx + r15*4]
add r8, 4
cmp r8, rdi
jae 0x1401160b0
nop dword [rax]
mov ecx, dword [rax]
cmp ecx, dword [r8]
jne 0x1401160b0
add r8, 4
cmp r8, rdi
jb 0x1401160a0
mov ecx, dword [0x14055f1d0]
nop word cs:[rax + rax]
mov ecx, dword [0x14055f1d4]
cmp ecx, 0x36
jg 0x1401160c0
mov ecx, 0x5204c8e8
lea r10, [rsp + 0x28]
mov r9d, 0x5204c8f7
mov r11d, 0x5204c8ae
lea r14, [fcn.140115ff0]
mov r12b, 1
mov r13, r8
mov rbp, rax
jmp 0x140116117
add r15, 4
add r10, 4
add r13, 4
mov rax, r10
mov r8, r15
lea r10, [rsp + 0x28]
mov r15, r8
jmp 0x140116128
add r15, 4
add r13, 4
cmp r13, rdi
jae 0x140116260
mov edx, dword [rax]
mov r8d, dword [r13]
cmp edx, r8d
jb 0x140116124
ja 0x140116260
nop word cs:[rax + rax]
mov edx, dword [0x14055f1d4]
cmp edx, 0x3d
jg 0x140116170
mov edx, dword [0x14055f1d4]
mov r8d, dword [0x1404f66e4]
add r8d, ecx
cmp edx, r8d
jl 0x140116180
mov edx, dword [0x14055f1d4]
cmp edx, 0x3e
jge 0x140116150
jmp 0x14011615b
cmp r15, r13
je 0x140116120
nop word cs:[rax + rax]
cmp byte [0x14055f16c], 0
jne 0x1401161ad
mov edx, dword [0x14055f1d0]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x1401161d0
mov edx, dword [0x14055f1d4]
mov r8d, dword [0x1404f66e4]
add r8d, r9d
cmp edx, r8d
jge 0x140116190
jmp 0x140116199
cmp r10, r15
je 0x1401161dc
mov edx, dword [r15]
mov dword [rsp + 0x28], edx
mov edx, dword [r13]
mov dword [r15], edx
cmp r10, r13
je 0x140116120
mov edx, dword [rsp + 0x28]
mov dword [r13], edx
jmp 0x140116120
lea rax, [r10 - 4]
cmp r10, rdx
je 0x140116260
lea r8, [rsp + 0x28]
cmp r8, rax
je 0x140116219
mov edx, dword [rax]
mov dword [rsp + 0x28], edx
mov edx, dword [rbp]
mov dword [rax], edx
cmp r8, rbp
je 0x14011622a
mov edx, dword [rsp + 0x28]
mov dword [rbp], edx
xor edx, edx
test dl, dl
jne 0x140116250
mov edx, dword [0x1404f66e4]
add edx, r11d
lea r8d, [r14 + r14]
add r8d, 0x1f20
test r8d, edx
je 0x140116260
nop dword [rax]
mov edx, dword [0x14055f1d4]
cmp edx, 0x25
jge 0x140116250
jmp 0x140116230
mov r10, rax
cmp rbp, rbx
jbe 0x140116280
mov rdx, rbp
add rbp, 0xfffffffffffffffc
mov eax, dword [rdx - 4]
mov r8d, dword [r10]
cmp eax, r8d
jb 0x140116263
jbe 0x140116200
mov rbp, rdx
nop
mov eax, dword [0x14055f1d4]
mov edx, dword [0x1404f66e4]
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 [0x14055f1d4]
cmp edx, 0x55
jg 0x140116297
test al, al
jne 0x14011660a
cmp rbp, rbx
je 0x1401162f0
lea rdx, [rbp - 4]
cmp r13, rdi
je 0x140116370
mov eax, dword [0x14055f1d0]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x1401165b0
jmp 0x140116570
cmp byte [0x14055f16c], 0
jne 0x140116499
cmp r15, r13
je 0x140116499
nop word cs:[rax + rax]
mov eax, dword [0x14055f1d4]
cmp eax, 0x3c
jg 0x14011634e
mov edx, dword [0x14055f1d0]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x1404f66e4]
mov r8d, edx
xor r8d, 0x5204c8af
and edx, 0x5204c8af
lea r8d, [r8 + rdx*2]
xor edx, edx
div r8d
test edx, edx
je 0x1401163ea
mov eax, dword [0x1404f66e4]
add eax, r11d
lea edx, [r14 + r14]
add edx, 0x1dc0
xor edx, eax
not edx
test edx, eax
jne 0x140116310
jmp 0x14011631b
lea rax, [r10 - 4]
cmp rbp, r10
je 0x1401163a8
lea r8, [rsp + 0x28]
cmp r8, rdx
je 0x14011638b
mov r8d, dword [rdx]
mov dword [rsp + 0x28], r8d
cmp rbp, r10
je 0x140116396
mov r8d, dword [rax]
mov dword [rdx], r8d
lea r8, [rsp + 0x28]
cmp r8, rax
je 0x1401163a8
mov r8d, dword [rsp + 0x28]
mov dword [rax], r8d
mov qword [rsp + 0x20], rdx
lea r8, [rsp + 0x28]
cmp r8, rax
je 0x1401164f5
mov r8d, dword [0x14055f1d0]
lea ebp, [r8 + 1]
imul ebp, r8d
and ebp, 1
mov r8d, dword [0x1404f66e4]
mov edx, 0x5204c8ad
add r8d, edx
cmp ebp, r8d
jne 0x140116550
jmp 0x1401164e0
lea rax, [rsp + 0x28]
cmp rax, r10
je 0x140116427
mov eax, dword [0x14055f1d0]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
jne 0x1401164d1
nop dword [rax]
mov eax, dword [r10]
mov dword [rsp + 0x28], eax
cmp dword [0x1404f66e4], 0xadfb3753
jne 0x1401164d1
cmp r10, r15
je 0x140116440
mov eax, dword [r15]
mov dword [r10], eax
nop word cs:[rax + rax]
mov eax, dword [0x14055f1d4]
cmp eax, 0x42
jg 0x14011645c
mov eax, dword [0x14055f1d0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x140116488
mov eax, dword [0x1404f66e4]
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 0x140116440
jmp 0x14011644b
lea rax, [rsp + 0x28]
cmp rax, r15
je 0x140116499
mov eax, dword [rsp + 0x28]
mov dword [r15], eax
lea rax, [rsp + 0x28]
cmp rax, r10
je 0x1401164aa
mov eax, dword [r10]
mov dword [rsp + 0x28], eax
cmp r10, r13
je 0x1401164b6
mov eax, dword [r13]
mov dword [r10], eax
lea rax, [rsp + 0x28]
cmp rax, r13
je 0x140116100
mov eax, dword [rsp + 0x28]
mov dword [r13], eax
jmp 0x140116100
mov eax, dword [r10]
mov dword [rsp + 0x28], eax
jmp 0x140116410
mov r8d, dword [rax]
mov dword [rsp + 0x28], r8d
mov r8d, dword [0x14055f1d4]
cmp r8d, 0x2e
jge 0x140116550
lea r8, [r15 - 4]
cmp r10, r15
je 0x140116504
mov r10d, dword [r8]
mov dword [rax], r10d
mov r10d, dword [0x1404f66e4]
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 0x140116526
lea r10, [rsp + 0x28]
cmp r10, r8
je 0x140116117
mov r10d, dword [rsp + 0x28]
mov dword [r8], r10d
lea r10, [rsp + 0x28]
jmp 0x140116117
mov r8d, dword [rax]
mov dword [rsp + 0x28], r8d
mov r8d, dword [0x14055f1d4]
cmp r8d, 0x46
jge 0x140116550
jmp 0x1401164e0
test r12b, r12b
je 0x1401165b0
lea rax, [rsp + 0x28]
cmp rax, r13
je 0x140116587
mov eax, dword [r13]
mov dword [rsp + 0x28], eax
cmp r13, rdx
je 0x140116592
mov eax, dword [rdx]
mov dword [r13], eax
lea rax, [rsp + 0x28]
cmp rax, rdx
je 0x1401165cb
mov eax, dword [rsp + 0x28]
mov dword [rdx], eax
jmp 0x1401165cb
test r12b, r12b
je 0x1401165b0
jmp 0x140116570
mov eax, dword [0x14055f1d4]
cmp eax, 0x3f
jl 0x1401165df
mov eax, dword [0x14055f1d0]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x1401165c0
mov eax, dword [0x14055f1d0]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x1401165c0
add r13, 4
mov rax, r10
mov r8, r15
mov rbp, rdx
lea r10, [rsp + 0x28]
jmp 0x140116117
mov eax, dword [0x14055f1d0]
mov ecx, dword [0x1404f66e4]
mov edx, eax
sub edx, ecx
add edx, 2
imul edx, eax
and edx, 1
add ecx, 0x5204c8ad
cmp edx, ecx
jne 0x14011663f
mov qword [rsi], r10
mov qword [rsi + 8], r15
mov eax, dword [0x14055f1d4]
cmp eax, 0x1e
jl 0x14011666b
mov eax, 0x5204c8d5
nop word cs:[rax + rax]
mov qword [rsi], r10
mov qword [rsi + 8], r15
mov ecx, dword [0x14055f1d4]
mov edx, dword [0x1404f66e4]
add edx, eax
cmp ecx, edx
jge 0x140116650
jmp 0x14011662d
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1403dc990
mov rax, rsi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret