Function at 0x1401d7720
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 [0x14055f838]
cmp eax, 0x41
jg 0x1401d7786
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
mov eax, dword [0x140509eac]
lea ecx, [rax + 0xd698fca]
lea rdx, [fcn.1401d7720]
add edx, edx
add edx, 0x2940
and edx, ecx
add eax, 0xd698fc9
cmp edx, eax
je 0x1401d77bc
xorps xmm0, xmm0
nop dword [rax]
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
mov eax, dword [0x14055f834]
mov ecx, dword [0x140509eac]
neg ecx
add ecx, eax
add ecx, 0xd698fca
imul ecx, eax
test cl, 1
jne 0x1401d7790
jmp 0x1401d7751
lea rcx, [rsi + 0x40]
mov qword [rbp], rcx
call fcn.14010c8d0
mov r14, qword [rsi]
mov r15, qword [r14]
cmp r15, r14
je 0x1401d78b9
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.1401d91c0
test al, al
jne 0x1401d7820
mov rdx, qword [rbp - 0x18]
cmp rdx, qword [rbp - 0x10]
je 0x1401d780e
mov rax, qword [rbp - 0x38]
mov qword [rdx], rax
add qword [rbp - 0x18], 8
jmp 0x1401d7820
mov rcx, rbx
mov r8, rdi
call fcn.1401d81d0
nop dword [rax]
mov rcx, qword [r15 + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1401d7850
nop word [rax + rax]
mov rax, qword [r15 + 8]
cmp byte [rax + 0x19], 0
jne 0x1401d7893
mov rcx, r15
mov r15, rax
cmp rcx, qword [rax + 0x10]
je 0x1401d7830
mov rax, r15
jmp 0x1401d7893
mov rax, rcx
nop word cs:[rax + rax]
mov rcx, qword [rax]
movzx edx, byte [rcx + 0x19]
mov r8d, dword [0x14055f838]
mov r9d, dword [0x140509eac]
mov r10d, r9d
xor r10d, 0xd698ffc
and r9d, 0xd698ffc
lea r9d, [r10 + r9*2]
cmp r8d, r9d
jge 0x1401d7860
test dl, dl
je 0x1401d7850
mov ecx, dword [0x14055f838]
cmp ecx, 0x32
mov ecx, dword [0x14055f834]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1401d789c
mov r15, rax
cmp rax, r14
jne 0x1401d77e0
mov rdi, qword [0x140509b48]
movsxd rax, dword [rdi]
mov qword [rbp - 0x30], rax
mov eax, dword [0x140427dc0]
mov dword [rbp + 0xc], eax
mov eax, dword [0x14055f834]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x1401d78fb
nop word cs:[rax + rax]
mov eax, dword [0x14055f838]
cmp eax, 0x3b
jge 0x1401d78f0
mov rcx, qword [rbp]
call fcn.14010c980
add qword [rbp - 0x30], rdi
lea rax, [fcn.1401d7720]
add eax, eax
add eax, 0xbe0
mov ecx, eax
not ecx
nop word [rax + rax]
mov edx, dword [0x14055f834]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x1401d7938
test ecx, eax
je 0x1401d795e
mov edx, dword [0x14055f834]
mov r8d, dword [0x140509eac]
neg r8d
add r8d, edx
add r8d, 0xd698fca
imul r8d, edx
test r8b, 1
jne 0x1401d7920
jmp 0x1401d7934
mov rdi, qword [rbp - 0x20]
mov rbx, qword [rbp - 0x18]
cmp rdi, rbx
je 0x1401d7999
nop dword [rax + rax]
mov rcx, qword [rsi + 0xa8]
test rcx, rcx
je 0x1401d7c4a
mov rdx, qword [rdi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140119ecb.0]
add rdi, 8
cmp rdi, rbx
jne 0x1401d7970
mov rsi, qword [rbp - 0x20]
mov eax, dword [0x140509b44]
lea r8d, [rax + 1]
mov dword [0x140509b44], 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 0x1401d7a2b
nop word cs:[rax + rax]
mov eax, dword [0x14055f834]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401d79e0
cmp dword [0x140509eac], 0xf2967037
jne 0x1401d79e0
lea rax, [fcn.1401d7720]
add eax, eax
add eax, 0x18e0
mov ecx, eax
not ecx
nop
test ecx, eax
jne 0x1401d7a10
xor r8d, r8d
mov edx, 0
mov edi, 0
cmp dword [rbp + 0xc], 0
jg 0x1401d7ac3
test rsi, rsi
je 0x1401d7dc0
mov r15, rdi
mov r14, rdx
mov r8, qword [0x140427e68]
mov r9, qword [0x140427e60]
lea rax, [fcn.1401d7720]
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 [0x14055f834]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401d7aa8
xor r10d, r10d
test edx, edx
setne r10b
add r10, 0xffffffffffffffff
mov edi, 0
adc rdi, 0xffffffffffffffff
mov eax, dword [0x14055f834]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401d7aaf
test ebx, r11d
jne 0x1401d7a70
jmp 0x1401d7a81
mov eax, dword [0x14055f838]
cmp eax, 0x35
jle 0x1401d7c4f
jmp 0x1401d7c75
mov r9d, 0xd698fdf
mov r10d, 0xd698fd6
mov r11b, 1
xor r14d, r14d
xor edx, edx
xor edi, edi
jmp 0x1401d7b21
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 0x1401d7a2b
mov eax, dword [0x14055f838]
cmp eax, 0x62
mov eax, dword [0x14055f838]
cmp eax, 0x36
jge 0x1401d7b2a
movsxd r15, r14d
add r15, qword [rbp - 0x30]
nop dword [rax]
mov eax, dword [0x14055f834]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401d7b60
mov eax, dword [0x14055f838]
cmp eax, 0xc
jl 0x1401d7bba
nop dword [rax]
test r8b, r8b
je 0x1401d7b6a
test r11b, r11b
je 0x1401d7b60
mov eax, dword [0x14055f838]
mov ecx, dword [0x140509eac]
add ecx, r10d
cmp eax, ecx
jge 0x1401d7b65
mov eax, dword [0x14055f834]
mov ecx, dword [0x140509eac]
neg ecx
add ecx, eax
add ecx, 0x6e66bb2
imul ecx, eax
test cl, 1
jne 0x1401d7b40
jmp 0x1401d7b51
mov rax, qword [r15]
mov rax, qword [r15 + 8]
mov eax, dword [0x14055f838]
mov ecx, dword [0x140509eac]
add ecx, r9d
cmp eax, ecx
jl 0x1401d7bcb
mov eax, dword [0x14055f834]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401d7ba0
mov r13, qword [r15]
mov rbx, qword [r15 + 8]
mov eax, dword [0x14055f834]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401d7ba0
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 [0x14055f834]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401d7c3d
mov eax, dword [0x14055f0fc]
mov edx, dword [0x14055f834]
lea edi, [rdx + 1]
imul edi, edx
test dil, 1
je 0x1401d7ae0
mov eax, dword [0x14055f838]
cmp eax, 0x60
jge 0x1401d7c10
jmp 0x1401d7c21
call fcn.1403de5f4
mov eax, dword [0x14055f834]
mov ecx, dword [0x140509eac]
mov edx, eax
sub edx, ecx
add edx, 0xf2967036
imul edx, eax
and edx, 1
add ecx, 0xd698fc9
cmp edx, ecx
je 0x1401d7c94
mov eax, 0xd699009
nop word [rax + rax]
mov ecx, dword [0x14055f838]
mov edx, dword [0x140509eac]
add edx, eax
cmp ecx, edx
jge 0x1401d7c80
jmp 0x1401d7c4f
sub r9, r14
sbb r8, r15
mov eax, 0xd698fca
add eax, dword [0x140509eac]
lea rcx, [fcn.1401d7720]
add ecx, ecx
add ecx, 0x14e0
test ecx, eax
jne 0x1401d7e20
jmp 0x1401d7de5
mov eax, dword [0x14055f838]
mov ecx, 0xd698fe5
add ecx, dword [0x140509eac]
cmp eax, ecx
jl 0x1401d7cf1
nop word cs:[rax + rax]
mov eax, dword [0x14055f834]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401d7ce0
mov rax, qword [rsi - 8]
add rsi, qword [0x140509eb0]
sub rsi, rax
movabs rcx, 0xe3747656a0f9d000
add rcx, rsi
cmp rcx, 0x20
jae 0x1401d7d30
add rdi, qword [0x140509eb0]
movabs rcx, 0xe3747656a0f9d02f
add rdi, rcx
mov rsi, rax
jmp 0x1401d7d40
mov eax, dword [0x14055f838]
cmp eax, 0x5e
jge 0x1401d7d30
call fcn.1403bcb3c
cmp dword [0x140509eac], 0xf2967037
jne 0x1401d7d80
mov dword [rsp + 0x20], 0xfcdbb1ab
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x420c149b
mov r9d, 0xef028733
call fcn.1400ac440
mov eax, dword [0x14055f834]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401d7dc0
nop dword [rax]
mov dword [rsp + 0x20], 0xfcdbb1ab
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x420c149b
mov r9d, 0xef028733
call fcn.1400ac440
mov eax, dword [0x14055f834]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401d7d80
jmp 0x1401d7d4c
mov eax, dword [0x14055f834]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401d7dc0
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x14055f838]
cmp eax, 0x25
jg 0x1401d7e2d
mov eax, dword [0x14055f838]
cmp eax, 0xb
jge 0x1401d7e2d
mov eax, 0xd698fca
add eax, dword [0x140509eac]
lea rcx, [fcn.1401d7720]
add ecx, ecx
add ecx, 0x4220
test ecx, eax
je 0x1401d7e36
nop dword [rax]
mov eax, dword [0x14055f838]
cmp eax, 0x4c
jg 0x1401d7e20
jmp 0x1401d7de5
mov al, 1
nop
test al, al
je 0x1401d7e30
jmp 0x1401d7df0
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 [0x14055f578]
mov qword [0x14055f578], rdi
add rdi, qword [rbp - 0x10]
sub rdi, rsi
mov rax, qword [0x140509eb0]
movabs rcx, 0xe3747656a0f9e007
xor rcx, rax
movabs rdx, 0x63747656a0f9e007
and rdx, rax
lea rax, [rcx + rdx*2]
cmp rdi, rax
ja 0x1401d7cc1
jmp 0x1401d7d40