Function at 0x1401e3e10
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 [0x1405a734c]
cmp eax, 0x41
jg 0x1401e3e76
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
mov eax, dword [0x14054b8ac]
lea ecx, [rax + 0xd698fca]
lea rdx, [fcn.1401e3e10]
add edx, edx
add edx, 0x2940
and edx, ecx
add eax, 0xd698fc9
cmp edx, eax
je 0x1401e3eac
xorps xmm0, xmm0
nop dword [rax]
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
mov eax, dword [0x1405a7348]
mov ecx, dword [0x14054b8ac]
neg ecx
add ecx, eax
add ecx, 0xd698fca
imul ecx, eax
test cl, 1
jne 0x1401e3e80
jmp 0x1401e3e41
lea rcx, [rsi + 0x40]
mov qword [rbp], rcx
call fcn.1401162d0
mov r14, qword [rsi]
mov r15, qword [r14]
cmp r15, r14
je 0x1401e3fa9
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.1401e58b0
test al, al
jne 0x1401e3f10
mov rdx, qword [rbp - 0x18]
cmp rdx, qword [rbp - 0x10]
je 0x1401e3efe
mov rax, qword [rbp - 0x38]
mov qword [rdx], rax
add qword [rbp - 0x18], 8
jmp 0x1401e3f10
mov rcx, rbx
mov r8, rdi
call fcn.1401e48c0
nop dword [rax]
mov rcx, qword [r15 + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1401e3f40
nop word [rax + rax]
mov rax, qword [r15 + 8]
cmp byte [rax + 0x19], 0
jne 0x1401e3f83
mov rcx, r15
mov r15, rax
cmp rcx, qword [rax + 0x10]
je 0x1401e3f20
mov rax, r15
jmp 0x1401e3f83
mov rax, rcx
nop word cs:[rax + rax]
mov rcx, qword [rax]
movzx edx, byte [rcx + 0x19]
mov r8d, dword [0x1405a734c]
mov r9d, dword [0x14054b8ac]
mov r10d, r9d
xor r10d, 0xd698ffc
and r9d, 0xd698ffc
lea r9d, [r10 + r9*2]
cmp r8d, r9d
jge 0x1401e3f50
test dl, dl
je 0x1401e3f40
mov ecx, dword [0x1405a734c]
cmp ecx, 0x32
mov ecx, dword [0x1405a7348]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1401e3f8c
mov r15, rax
cmp rax, r14
jne 0x1401e3ed0
mov rdi, qword [0x14054b548]
movsxd rax, dword [rdi]
mov qword [rbp - 0x30], rax
mov eax, dword [0x140464510]
mov dword [rbp + 0xc], eax
mov eax, dword [0x1405a7348]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x1401e3feb
nop word cs:[rax + rax]
mov eax, dword [0x1405a734c]
cmp eax, 0x3b
jge 0x1401e3fe0
mov rcx, qword [rbp]
call fcn.140116380
add qword [rbp - 0x30], rdi
lea rax, [fcn.1401e3e10]
add eax, eax
add eax, 0xbe0
mov ecx, eax
not ecx
nop word [rax + rax]
mov edx, dword [0x1405a7348]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x1401e4028
test ecx, eax
je 0x1401e404e
mov edx, dword [0x1405a7348]
mov r8d, dword [0x14054b8ac]
neg r8d
add r8d, edx
add r8d, 0xd698fca
imul r8d, edx
test r8b, 1
jne 0x1401e4010
jmp 0x1401e4024
mov rdi, qword [rbp - 0x20]
mov rbx, qword [rbp - 0x18]
cmp rdi, rbx
je 0x1401e4089
nop dword [rax + rax]
mov rcx, qword [rsi + 0xa8]
test rcx, rcx
je 0x1401e433a
mov rdx, qword [rdi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1401238cb.0]
add rdi, 8
cmp rdi, rbx
jne 0x1401e4060
mov rsi, qword [rbp - 0x20]
mov eax, dword [0x14054b544]
lea r8d, [rax + 1]
mov dword [0x14054b544], 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 0x1401e411b
nop word cs:[rax + rax]
mov eax, dword [0x1405a7348]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e40d0
cmp dword [0x14054b8ac], 0xf2967037
jne 0x1401e40d0
lea rax, [fcn.1401e3e10]
add eax, eax
add eax, 0x18e0
mov ecx, eax
not ecx
nop
test ecx, eax
jne 0x1401e4100
xor r8d, r8d
mov edx, 0
mov edi, 0
cmp dword [rbp + 0xc], 0
jg 0x1401e41b3
test rsi, rsi
je 0x1401e44b0
mov r15, rdi
mov r14, rdx
mov r8, qword [0x1404645b8]
mov r9, qword [0x1404645b0]
lea rax, [fcn.1401e3e10]
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 [0x1405a7348]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e4198
xor r10d, r10d
test edx, edx
setne r10b
add r10, 0xffffffffffffffff
mov edi, 0
adc rdi, 0xffffffffffffffff
mov eax, dword [0x1405a7348]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401e419f
test ebx, r11d
jne 0x1401e4160
jmp 0x1401e4171
mov eax, dword [0x1405a734c]
cmp eax, 0x35
jle 0x1401e433f
jmp 0x1401e4365
mov r9d, 0xd698fdf
mov r10d, 0xd698fd6
mov r11b, 1
xor r14d, r14d
xor edx, edx
xor edi, edi
jmp 0x1401e4211
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 0x1401e411b
mov eax, dword [0x1405a734c]
cmp eax, 0x62
mov eax, dword [0x1405a734c]
cmp eax, 0x36
jge 0x1401e421a
movsxd r15, r14d
add r15, qword [rbp - 0x30]
nop dword [rax]
mov eax, dword [0x1405a7348]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e4250
mov eax, dword [0x1405a734c]
cmp eax, 0xc
jl 0x1401e42aa
nop dword [rax]
test r8b, r8b
je 0x1401e425a
test r11b, r11b
je 0x1401e4250
mov eax, dword [0x1405a734c]
mov ecx, dword [0x14054b8ac]
add ecx, r10d
cmp eax, ecx
jge 0x1401e4255
mov eax, dword [0x1405a7348]
mov ecx, dword [0x14054b8ac]
neg ecx
add ecx, eax
add ecx, 0x6e66bb2
imul ecx, eax
test cl, 1
jne 0x1401e4230
jmp 0x1401e4241
mov rax, qword [r15]
mov rax, qword [r15 + 8]
mov eax, dword [0x1405a734c]
mov ecx, dword [0x14054b8ac]
add ecx, r9d
cmp eax, ecx
jl 0x1401e42bb
mov eax, dword [0x1405a7348]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e4290
mov r13, qword [r15]
mov rbx, qword [r15 + 8]
mov eax, dword [0x1405a7348]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e4290
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 [0x1405a7348]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401e432d
mov eax, dword [0x1405a6bdc]
mov edx, dword [0x1405a7348]
lea edi, [rdx + 1]
imul edi, edx
test dil, 1
je 0x1401e41d0
mov eax, dword [0x1405a734c]
cmp eax, 0x60
jge 0x1401e4300
jmp 0x1401e4311
call fcn.14041a4a4
mov eax, dword [0x1405a7348]
mov ecx, dword [0x14054b8ac]
mov edx, eax
sub edx, ecx
add edx, 0xf2967036
imul edx, eax
and edx, 1
add ecx, 0xd698fc9
cmp edx, ecx
je 0x1401e4384
mov eax, 0xd699009
nop word [rax + rax]
mov ecx, dword [0x1405a734c]
mov edx, dword [0x14054b8ac]
add edx, eax
cmp ecx, edx
jge 0x1401e4370
jmp 0x1401e433f
sub r9, r14
sbb r8, r15
mov eax, 0xd698fca
add eax, dword [0x14054b8ac]
lea rcx, [fcn.1401e3e10]
add ecx, ecx
add ecx, 0x14e0
test ecx, eax
jne 0x1401e4510
jmp 0x1401e44d5
mov eax, dword [0x1405a734c]
mov ecx, 0xd698fe5
add ecx, dword [0x14054b8ac]
cmp eax, ecx
jl 0x1401e43e1
nop word cs:[rax + rax]
mov eax, dword [0x1405a7348]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e43d0
mov rax, qword [rsi - 8]
add rsi, qword [0x14054b8b0]
sub rsi, rax
movabs rcx, 0xe3747656a0f9d000
add rcx, rsi
cmp rcx, 0x20
jae 0x1401e4420
add rdi, qword [0x14054b8b0]
movabs rcx, 0xe3747656a0f9d02f
add rdi, rcx
mov rsi, rax
jmp 0x1401e4430
mov eax, dword [0x1405a734c]
cmp eax, 0x5e
jge 0x1401e4420
call fcn.1403f89dc
cmp dword [0x14054b8ac], 0xf2967037
jne 0x1401e4470
mov dword [rsp + 0x20], 0xfcdbb1ab
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x420c149b
mov r9d, 0xef028733
call fcn.1400ad790
mov eax, dword [0x1405a7348]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401e44b0
nop dword [rax]
mov dword [rsp + 0x20], 0xfcdbb1ab
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x420c149b
mov r9d, 0xef028733
call fcn.1400ad790
mov eax, dword [0x1405a7348]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e4470
jmp 0x1401e443c
mov eax, dword [0x1405a7348]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401e44b0
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x1405a734c]
cmp eax, 0x25
jg 0x1401e451d
mov eax, dword [0x1405a734c]
cmp eax, 0xb
jge 0x1401e451d
mov eax, 0xd698fca
add eax, dword [0x14054b8ac]
lea rcx, [fcn.1401e3e10]
add ecx, ecx
add ecx, 0x4220
test ecx, eax
je 0x1401e4526
nop dword [rax]
mov eax, dword [0x1405a734c]
cmp eax, 0x4c
jg 0x1401e4510
jmp 0x1401e44d5
mov al, 1
nop
test al, al
je 0x1401e4520
jmp 0x1401e44e0
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 [0x1405a7080]
mov qword [0x1405a7080], rdi
add rdi, qword [rbp - 0x10]
sub rdi, rsi
mov rax, qword [0x14054b8b0]
movabs rcx, 0xe3747656a0f9e007
xor rcx, rax
movabs rdx, 0x63747656a0f9e007
and rdx, rax
lea rax, [rcx + rdx*2]
cmp rdi, rax
ja 0x1401e43b1
jmp 0x1401e4430