Function at 0x1401421f0
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 [0x14057f4d8]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r15, qword [0x14058ed08]
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.140142890
mov ecx, 0x5204c8ba
nop word cs:[rax + rax]
mov rax, r14
cmp r14, rbx
jbe 0x14014228f
mov edx, dword [0x14058ed04]
mov r8d, dword [0x140526414]
add r8d, ecx
cmp edx, r8d
mov edx, dword [rax - 4]
mov r8d, dword [rax]
mov r9d, dword [0x14058ed00]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
jne 0x14014226b
lea r14, [rax - 4]
cmp r8d, edx
je 0x140142250
lea r8, [rbx + r15*4]
add r8, 4
cmp r8, rdi
jae 0x1401422b0
nop dword [rax]
mov ecx, dword [rax]
cmp ecx, dword [r8]
jne 0x1401422b0
add r8, 4
cmp r8, rdi
jb 0x1401422a0
mov ecx, dword [0x14058ed00]
nop word cs:[rax + rax]
mov ecx, dword [0x14058ed04]
cmp ecx, 0x36
jg 0x1401422c0
mov ecx, 0x5204c8e8
lea r10, [rsp + 0x28]
mov r9d, 0x5204c8f7
mov r11d, 0x5204c8ae
lea r14, [fcn.1401421f0]
mov r12b, 1
mov r13, r8
mov rbp, rax
jmp 0x140142317
add r15, 4
add r10, 4
add r13, 4
mov rax, r10
mov r8, r15
lea r10, [rsp + 0x28]
mov r15, r8
jmp 0x140142328
add r15, 4
add r13, 4
cmp r13, rdi
jae 0x140142460
mov edx, dword [rax]
mov r8d, dword [r13]
cmp edx, r8d
jb 0x140142324
ja 0x140142460
nop word cs:[rax + rax]
mov edx, dword [0x14058ed04]
cmp edx, 0x3d
jg 0x140142370
mov edx, dword [0x14058ed04]
mov r8d, dword [0x140526414]
add r8d, ecx
cmp edx, r8d
jl 0x140142380
mov edx, dword [0x14058ed04]
cmp edx, 0x3e
jge 0x140142350
jmp 0x14014235b
cmp r15, r13
je 0x140142320
nop word cs:[rax + rax]
cmp byte [0x14058ec9c], 0
jne 0x1401423ad
mov edx, dword [0x14058ed00]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x1401423d0
mov edx, dword [0x14058ed04]
mov r8d, dword [0x140526414]
add r8d, r9d
cmp edx, r8d
jge 0x140142390
jmp 0x140142399
cmp r10, r15
je 0x1401423dc
mov edx, dword [r15]
mov dword [rsp + 0x28], edx
mov edx, dword [r13]
mov dword [r15], edx
cmp r10, r13
je 0x140142320
mov edx, dword [rsp + 0x28]
mov dword [r13], edx
jmp 0x140142320
lea rax, [r10 - 4]
cmp r10, rdx
je 0x140142460
lea r8, [rsp + 0x28]
cmp r8, rax
je 0x140142419
mov edx, dword [rax]
mov dword [rsp + 0x28], edx
mov edx, dword [rbp]
mov dword [rax], edx
cmp r8, rbp
je 0x14014242a
mov edx, dword [rsp + 0x28]
mov dword [rbp], edx
xor edx, edx
test dl, dl
jne 0x140142450
mov edx, dword [0x140526414]
add edx, r11d
lea r8d, [r14 + r14]
add r8d, 0x1f20
test r8d, edx
je 0x140142460
nop dword [rax]
mov edx, dword [0x14058ed04]
cmp edx, 0x25
jge 0x140142450
jmp 0x140142430
mov r10, rax
cmp rbp, rbx
jbe 0x140142480
mov rdx, rbp
add rbp, 0xfffffffffffffffc
mov eax, dword [rdx - 4]
mov r8d, dword [r10]
cmp eax, r8d
jb 0x140142463
jbe 0x140142400
mov rbp, rdx
nop
mov eax, dword [0x14058ed04]
mov edx, dword [0x140526414]
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 [0x14058ed04]
cmp edx, 0x55
jg 0x140142497
test al, al
jne 0x14014280a
cmp rbp, rbx
je 0x1401424f0
lea rdx, [rbp - 4]
cmp r13, rdi
je 0x140142570
mov eax, dword [0x14058ed00]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x1401427b0
jmp 0x140142770
cmp byte [0x14058ec9c], 0
jne 0x140142699
cmp r15, r13
je 0x140142699
nop word cs:[rax + rax]
mov eax, dword [0x14058ed04]
cmp eax, 0x3c
jg 0x14014254e
mov edx, dword [0x14058ed00]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x140526414]
mov r8d, edx
xor r8d, 0x5204c8af
and edx, 0x5204c8af
lea r8d, [r8 + rdx*2]
xor edx, edx
div r8d
test edx, edx
je 0x1401425ea
mov eax, dword [0x140526414]
add eax, r11d
lea edx, [r14 + r14]
add edx, 0x1dc0
xor edx, eax
not edx
test edx, eax
jne 0x140142510
jmp 0x14014251b
lea rax, [r10 - 4]
cmp rbp, r10
je 0x1401425a8
lea r8, [rsp + 0x28]
cmp r8, rdx
je 0x14014258b
mov r8d, dword [rdx]
mov dword [rsp + 0x28], r8d
cmp rbp, r10
je 0x140142596
mov r8d, dword [rax]
mov dword [rdx], r8d
lea r8, [rsp + 0x28]
cmp r8, rax
je 0x1401425a8
mov r8d, dword [rsp + 0x28]
mov dword [rax], r8d
mov qword [rsp + 0x20], rdx
lea r8, [rsp + 0x28]
cmp r8, rax
je 0x1401426f5
mov r8d, dword [0x14058ed00]
lea ebp, [r8 + 1]
imul ebp, r8d
and ebp, 1
mov r8d, dword [0x140526414]
mov edx, 0x5204c8ad
add r8d, edx
cmp ebp, r8d
jne 0x140142750
jmp 0x1401426e0
lea rax, [rsp + 0x28]
cmp rax, r10
je 0x140142627
mov eax, dword [0x14058ed00]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
jne 0x1401426d1
nop dword [rax]
mov eax, dword [r10]
mov dword [rsp + 0x28], eax
cmp dword [0x140526414], 0xadfb3753
jne 0x1401426d1
cmp r10, r15
je 0x140142640
mov eax, dword [r15]
mov dword [r10], eax
nop word cs:[rax + rax]
mov eax, dword [0x14058ed04]
cmp eax, 0x42
jg 0x14014265c
mov eax, dword [0x14058ed00]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x140142688
mov eax, dword [0x140526414]
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 0x140142640
jmp 0x14014264b
lea rax, [rsp + 0x28]
cmp rax, r15
je 0x140142699
mov eax, dword [rsp + 0x28]
mov dword [r15], eax
lea rax, [rsp + 0x28]
cmp rax, r10
je 0x1401426aa
mov eax, dword [r10]
mov dword [rsp + 0x28], eax
cmp r10, r13
je 0x1401426b6
mov eax, dword [r13]
mov dword [r10], eax
lea rax, [rsp + 0x28]
cmp rax, r13
je 0x140142300
mov eax, dword [rsp + 0x28]
mov dword [r13], eax
jmp 0x140142300
mov eax, dword [r10]
mov dword [rsp + 0x28], eax
jmp 0x140142610
mov r8d, dword [rax]
mov dword [rsp + 0x28], r8d
mov r8d, dword [0x14058ed04]
cmp r8d, 0x2e
jge 0x140142750
lea r8, [r15 - 4]
cmp r10, r15
je 0x140142704
mov r10d, dword [r8]
mov dword [rax], r10d
mov r10d, dword [0x140526414]
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 0x140142726
lea r10, [rsp + 0x28]
cmp r10, r8
je 0x140142317
mov r10d, dword [rsp + 0x28]
mov dword [r8], r10d
lea r10, [rsp + 0x28]
jmp 0x140142317
mov r8d, dword [rax]
mov dword [rsp + 0x28], r8d
mov r8d, dword [0x14058ed04]
cmp r8d, 0x46
jge 0x140142750
jmp 0x1401426e0
test r12b, r12b
je 0x1401427b0
lea rax, [rsp + 0x28]
cmp rax, r13
je 0x140142787
mov eax, dword [r13]
mov dword [rsp + 0x28], eax
cmp r13, rdx
je 0x140142792
mov eax, dword [rdx]
mov dword [r13], eax
lea rax, [rsp + 0x28]
cmp rax, rdx
je 0x1401427cb
mov eax, dword [rsp + 0x28]
mov dword [rdx], eax
jmp 0x1401427cb
test r12b, r12b
je 0x1401427b0
jmp 0x140142770
mov eax, dword [0x14058ed04]
cmp eax, 0x3f
jl 0x1401427df
mov eax, dword [0x14058ed00]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x1401427c0
mov eax, dword [0x14058ed00]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x1401427c0
add r13, 4
mov rax, r10
mov r8, r15
mov rbp, rdx
lea r10, [rsp + 0x28]
jmp 0x140142317
mov eax, dword [0x14058ed00]
mov ecx, dword [0x140526414]
mov edx, eax
sub edx, ecx
add edx, 2
imul edx, eax
and edx, 1
add ecx, 0x5204c8ad
cmp edx, ecx
jne 0x14014283f
mov qword [rsi], r10
mov qword [rsi + 8], r15
mov eax, dword [0x14058ed04]
cmp eax, 0x1e
jl 0x14014286b
mov eax, 0x5204c8d5
nop word cs:[rax + rax]
mov qword [rsi], r10
mov qword [rsi + 8], r15
mov ecx, dword [0x14058ed04]
mov edx, dword [0x140526414]
add edx, eax
cmp ecx, edx
jge 0x140142850
jmp 0x14014282d
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140408730
mov rax, rsi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret