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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov rsi, rcx
mov eax, dword [0x1405a9df8]
cmp eax, 0x41
jg 0x1401edd16
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
mov eax, dword [0x14054e91c]
lea ecx, [rax + 0xd698fca]
lea rdx, [fcn.1401edcb0]
add edx, edx
add edx, 0x2940
and edx, ecx
add eax, 0xd698fc9
cmp edx, eax
je 0x1401edd4c
xorps xmm0, xmm0
nop dword [rax]
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
mov eax, dword [0x1405a9df4]
mov ecx, dword [0x14054e91c]
neg ecx
add ecx, eax
add ecx, 0xd698fca
imul ecx, eax
test cl, 1
jne 0x1401edd20
jmp 0x1401edce1
lea rcx, [rsi + 0x40]
mov qword [rbp], rcx
call fcn.140122aa0
mov r14, qword [rsi]
mov r15, qword [r14]
cmp r15, r14
je 0x1401ede49
lea rdi, [rbp - 0x38]
lea rbx, [rbp - 0x20]
movups xmm0, xmmword [r15 + 0x20]
movaps xmmword [rbp - 0x40], xmm0
mov rcx, qword [rbp - 0x38]
call fcn.1401ef750
test al, al
jne 0x1401eddb0
mov rdx, qword [rbp - 0x18]
cmp rdx, qword [rbp - 0x10]
je 0x1401edd9e
mov rax, qword [rbp - 0x38]
mov qword [rdx], rax
add qword [rbp - 0x18], 8
jmp 0x1401eddb0
mov rcx, rbx
mov r8, rdi
call fcn.1401ee760
nop dword [rax]
mov rcx, qword [r15 + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1401edde0
nop word [rax + rax]
mov rax, qword [r15 + 8]
cmp byte [rax + 0x19], 0
jne 0x1401ede23
mov rcx, r15
mov r15, rax
cmp rcx, qword [rax + 0x10]
je 0x1401eddc0
mov rax, r15
jmp 0x1401ede23
mov rax, rcx
nop word cs:[rax + rax]
mov rcx, qword [rax]
movzx edx, byte [rcx + 0x19]
mov r8d, dword [0x1405a9df8]
mov r9d, dword [0x14054e91c]
mov r10d, r9d
xor r10d, 0xd698ffc
and r9d, 0xd698ffc
lea r9d, [r10 + r9*2]
cmp r8d, r9d
jge 0x1401eddf0
test dl, dl
je 0x1401edde0
mov ecx, dword [0x1405a9df8]
cmp ecx, 0x32
mov ecx, dword [0x1405a9df4]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1401ede2c
mov r15, rax
cmp rax, r14
jne 0x1401edd70
mov rdi, qword [0x14054e5b8]
movsxd rax, dword [rdi]
mov qword [rbp - 0x30], rax
mov eax, dword [0x14046a610]
mov dword [rbp + 0xc], eax
mov eax, dword [0x1405a9df4]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x1401ede8b
nop word cs:[rax + rax]
mov eax, dword [0x1405a9df8]
cmp eax, 0x3b
jge 0x1401ede80
mov rcx, qword [rbp]
call fcn.140122b50
add qword [rbp - 0x30], rdi
lea rax, [fcn.1401edcb0]
add eax, eax
add eax, 0xbe0
mov ecx, eax
not ecx
nop word [rax + rax]
mov edx, dword [0x1405a9df4]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x1401edec8
test ecx, eax
je 0x1401edeee
mov edx, dword [0x1405a9df4]
mov r8d, dword [0x14054e91c]
neg r8d
add r8d, edx
add r8d, 0xd698fca
imul r8d, edx
test r8b, 1
jne 0x1401edeb0
jmp 0x1401edec4
mov rdi, qword [rbp - 0x20]
mov rbx, qword [rbp - 0x18]
cmp rdi, rbx
je 0x1401edf29
nop dword [rax + rax]
mov rcx, qword [rsi + 0xa8]
test rcx, rcx
je 0x1401ee1da
mov rdx, qword [rdi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14013008b.0]
add rdi, 8
cmp rdi, rbx
jne 0x1401edf00
mov rsi, qword [rbp - 0x20]
mov eax, dword [0x14054e5b4]
lea r8d, [rax + 1]
mov dword [0x14054e5b4], r8d
mov ecx, eax
not ecx
mov edx, ecx
and edx, r8d
not r8d
and eax, r8d
or eax, edx
and r8d, ecx
or r8d, eax
xor edx, edx
xor r8d, 0xffffffff
mov dword [rbp - 0x24], r8d
mov edi, 0
jne 0x1401edfbb
nop word cs:[rax + rax]
mov eax, dword [0x1405a9df4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401edf70
cmp dword [0x14054e91c], 0xf2967037
jne 0x1401edf70
lea rax, [fcn.1401edcb0]
add eax, eax
add eax, 0x18e0
mov ecx, eax
not ecx
nop
test ecx, eax
jne 0x1401edfa0
xor r8d, r8d
mov edx, 0
mov edi, 0
cmp dword [rbp + 0xc], 0
jg 0x1401ee053
test rsi, rsi
je 0x1401ee350
mov r15, rdi
mov r14, rdx
mov r8, qword [0x14046a6b8]
mov r9, qword [0x14046a6b0]
lea rax, [fcn.1401edcb0]
lea r11d, [rax + rax]
add r11d, 0x3780
mov ebx, r11d
not ebx
mov edx, dword [rbp - 0x24]
nop word cs:[rax + rax]
mov eax, dword [0x1405a9df4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401ee038
xor r10d, r10d
test edx, edx
setne r10b
add r10, 0xffffffffffffffff
mov edi, 0
adc rdi, 0xffffffffffffffff
mov eax, dword [0x1405a9df4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401ee03f
test ebx, r11d
jne 0x1401ee000
jmp 0x1401ee011
mov eax, dword [0x1405a9df8]
cmp eax, 0x35
jle 0x1401ee1df
jmp 0x1401ee205
mov r9d, 0xd698fdf
mov r10d, 0xd698fd6
mov r11b, 1
xor r14d, r14d
xor edx, edx
xor edi, edi
jmp 0x1401ee0b1
xor r12, rbx
xor r15, r13
mov rdi, qword [rbp - 0x50]
and rdi, rcx
mov rdx, qword [rbp]
and rdx, qword [rbp - 0x48]
or r15, rdx
or r12, rdi
not r12
not r15
or rdx, r15
or rdi, r12
add r14d, 0x10
mov ecx, eax
xor ecx, r14d
and r14d, eax
lea r14d, [rcx + r14*2]
cmp r14d, dword [rbp + 0xc]
jge 0x1401edfbb
mov eax, dword [0x1405a9df8]
cmp eax, 0x62
mov eax, dword [0x1405a9df8]
cmp eax, 0x36
jge 0x1401ee0ba
movsxd r15, r14d
add r15, qword [rbp - 0x30]
nop dword [rax]
mov eax, dword [0x1405a9df4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401ee0f0
mov eax, dword [0x1405a9df8]
cmp eax, 0xc
jl 0x1401ee14a
nop dword [rax]
test r8b, r8b
je 0x1401ee0fa
test r11b, r11b
je 0x1401ee0f0
mov eax, dword [0x1405a9df8]
mov ecx, dword [0x14054e91c]
add ecx, r10d
cmp eax, ecx
jge 0x1401ee0f5
mov eax, dword [0x1405a9df4]
mov ecx, dword [0x14054e91c]
neg ecx
add ecx, eax
add ecx, 0x6e66bb2
imul ecx, eax
test cl, 1
jne 0x1401ee0d0
jmp 0x1401ee0e1
mov rax, qword [r15]
mov rax, qword [r15 + 8]
mov eax, dword [0x1405a9df8]
mov ecx, dword [0x14054e91c]
add ecx, r9d
cmp eax, ecx
jl 0x1401ee15b
mov eax, dword [0x1405a9df4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401ee130
mov r13, qword [r15]
mov rbx, qword [r15 + 8]
mov eax, dword [0x1405a9df4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401ee130
mov qword [rbp], rdx
mov r15, rdx
not r15
mov qword [rbp - 0x50], rdi
mov r12, rdi
not r12
mov rax, r13
not rax
mov qword [rbp - 0x48], rax
mov rcx, rbx
not rcx
nop word [rax + rax]
mov eax, dword [0x1405a9df4]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401ee1cd
mov eax, dword [0x1405a96ac]
mov edx, dword [0x1405a9df4]
lea edi, [rdx + 1]
imul edi, edx
test dil, 1
je 0x1401ee070
mov eax, dword [0x1405a9df8]
cmp eax, 0x60
jge 0x1401ee1a0
jmp 0x1401ee1b1
call fcn.14041fea4
mov eax, dword [0x1405a9df4]
mov ecx, dword [0x14054e91c]
mov edx, eax
sub edx, ecx
add edx, 0xf2967036
imul edx, eax
and edx, 1
add ecx, 0xd698fc9
cmp edx, ecx
je 0x1401ee224
mov eax, 0xd699009
nop word [rax + rax]
mov ecx, dword [0x1405a9df8]
mov edx, dword [0x14054e91c]
add edx, eax
cmp ecx, edx
jge 0x1401ee210
jmp 0x1401ee1df
sub r9, r14
sbb r8, r15
mov eax, 0xd698fca
add eax, dword [0x14054e91c]
lea rcx, [fcn.1401edcb0]
add ecx, ecx
add ecx, 0x14e0
test ecx, eax
jne 0x1401ee3b0
jmp 0x1401ee375
mov eax, dword [0x1405a9df8]
mov ecx, 0xd698fe5
add ecx, dword [0x14054e91c]
cmp eax, ecx
jl 0x1401ee281
nop word cs:[rax + rax]
mov eax, dword [0x1405a9df4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401ee270
mov rax, qword [rsi - 8]
add rsi, qword [0x14054e920]
sub rsi, rax
movabs rcx, 0xe3747656a0f9d000
add rcx, rsi
cmp rcx, 0x20
jae 0x1401ee2c0
add rdi, qword [0x14054e920]
movabs rcx, 0xe3747656a0f9d02f
add rdi, rcx
mov rsi, rax
jmp 0x1401ee2d0
mov eax, dword [0x1405a9df8]
cmp eax, 0x5e
jge 0x1401ee2c0
call fcn.1403fe3cc
cmp dword [0x14054e91c], 0xf2967037
jne 0x1401ee310
mov dword [rsp + 0x20], 0xfcdbb1ab
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x420c149b
mov r9d, 0xef028733
call fcn.1400a82c0
mov eax, dword [0x1405a9df4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401ee350
nop dword [rax]
mov dword [rsp + 0x20], 0xfcdbb1ab
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x420c149b
mov r9d, 0xef028733
call fcn.1400a82c0
mov eax, dword [0x1405a9df4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401ee310
jmp 0x1401ee2dc
mov eax, dword [0x1405a9df4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401ee350
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x1405a9df8]
cmp eax, 0x25
jg 0x1401ee3bd
mov eax, dword [0x1405a9df8]
cmp eax, 0xb
jge 0x1401ee3bd
mov eax, 0xd698fca
add eax, dword [0x14054e91c]
lea rcx, [fcn.1401edcb0]
add ecx, ecx
add ecx, 0x4220
test ecx, eax
je 0x1401ee3c6
nop dword [rax]
mov eax, dword [0x1405a9df8]
cmp eax, 0x4c
jg 0x1401ee3b0
jmp 0x1401ee375
mov al, 1
nop
test al, al
je 0x1401ee3c0
jmp 0x1401ee380
mov rax, r9
not rax
xor r10, rax
mov rax, r8
not rax
xor rdi, rax
and r10, r9
and rdi, r8
or rdi, r10
add rdi, qword [0x1405a9418]
mov qword [0x1405a9418], rdi
add rdi, qword [rbp - 0x10]
sub rdi, rsi
mov rax, qword [0x14054e920]
movabs rcx, 0xe3747656a0f9e007
xor rcx, rax
movabs rdx, 0x63747656a0f9e007
and rdx, rax
lea rax, [rcx + rdx*2]
cmp rdi, rax
ja 0x1401ee251
jmp 0x1401ee2d0