Function at 0x14042b440
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, 0x208
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x180], 0xfffffffffffffffe
mov rsi, rcx
mov eax, dword [0x140696c8c]
cmp eax, 0x5f
cmp byte [rcx], 0
jne 0x14042c127
mov ecx, 0xadc792e
mov edx, 0xd327706
mov r8d, 0x9c360637
call fcn.14042e9c0
mov qword [rbp + 0x150], rsi
lea rcx, [rsi + 0x98]
mov dword [rsp + 0x20], 0x695b4c6a
mov rdx, rax
mov r8d, 0x9c360637
mov r9d, 0xb9cf5904
call fcn.1404217c0
test al, al
jne 0x14042b4e2
mov rax, qword [0x140696b78]
mov rdi, qword [rax + 0x2e0]
call fcn.1401771f0
mov rcx, rax
mov edx, 0x3e8
mov rax, rdi
call qword [0x1405fc400]
mov ecx, 0x4c876594
mov edx, 0x7bd9ddfb
mov r8d, 0x3a733f82
call fcn.14042f370
lea rdi, [rbp - 0x58]
mov rcx, rdi
mov rdx, rax
call fcn.140410ed0
mov rcx, rdi
call fcn.140432090
lea rcx, [rbp - 0x58]
call fcn.140432190
test al, al
jne 0x14042b53f
mov rax, qword [0x140696b78]
mov rdi, qword [rax + 0x2e0]
call fcn.1401771f0
mov rcx, rax
mov edx, 0x3e9
mov rax, rdi
call qword [0x1405fc400]
call fcn.1404338d0
mov rdi, qword [rbp - 0x48]
test rdi, rdi
je 0x14042b551
mov rdi, qword [rbp - 0x50]
mov r15d, dword [rax + 0xc]
xor r12d, r12d
mov r13d, 0xc50e28d0
lea rax, [fcn.14042b440]
lea esi, [rax + rax]
add esi, 0x340
movabs r14, 0x7ffffffffffffffe
nop dword [rax + rax]
mov eax, dword [0x140696c8c]
nop word cs:[rax + rax]
mov eax, dword [0x140696c88]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x14042b590
mov rax, qword [0x14066e7e0]
movsxd rbx, dword [rax]
add rbx, rax
mov edx, dword [0x140558040]
mov eax, dword [0x140696c88]
mov ecx, dword [0x14066eaa4]
neg ecx
add ecx, eax
add ecx, 0x2352f5dc
imul ecx, eax
test cl, 1
mov eax, dword [0x14066eaa4]
add eax, r13d
test esi, eax
jne 0x14042b5d0
cmp r12d, r15d
jge 0x14042b63a
mov eax, r12d
lea rcx, [0x140557f50]
mov rdx, qword [rcx + rax*8]
mov rcx, qword [rbp + 0x150]
mov r8, rdi
call fcn.14042c3b0
mov rcx, rdi
mov edx, 0x7e0237fe
mov r8d, 0x2d5dab86
mov r9d, 0x74308d81
call fcn.1400a77c0
mov rcx, rax
xor rcx, 1
not rax
and rax, r14
or rax, rcx
not rax
lea rax, [rcx + rax*2]
add rdi, rax
inc r12d
jmp 0x14042b580
mov dword [rbp + 0x17c], edx
lea rcx, [rbp - 0x14]
call fcn.140350890
mov eax, dword [0x140696c88]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x14042b6a5
jmp 0x14042b65c
lea rcx, [rbp - 0x58]
call fcn.140074ed0
xorps xmm0, xmm0
movaps xmmword [rbp + 0x160], xmm0
mov qword [rbp + 0x170], 0
mov dword [rsp + 0x20], 0xef1f3e3c
xor ecx, ecx
mov edx, 1
mov r8d, 0x185c33e1
mov r9d, 0x7a4d0c58
call fcn.14042f0e0
mov ecx, dword [0x140696c8c]
cmp ecx, 0x21
jle 0x14042b6e8
lea rcx, [rbp - 0x58]
call fcn.140074ed0
xorps xmm0, xmm0
movaps xmmword [rbp + 0x160], xmm0
mov qword [rbp + 0x170], 0
mov dword [rsp + 0x20], 0xef1f3e3c
xor ecx, ecx
mov edx, 1
mov r8d, 0x185c33e1
mov r9d, 0x7a4d0c58
call fcn.14042f0e0
jmp 0x14042b65c
lea rcx, [rbp - 0x58]
mov r8d, 0x11
mov rdx, rax
call fcn.1404c7a20
lea rcx, [rbp + 0x160]
lea rdx, [rbp - 0x58]
call fcn.1402fbca0
mov eax, dword [0x140696c88]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
nop dword [rax]
mov rax, qword [rbp - 0x38]
mov ecx, dword [0x140696c8c]
cmp ecx, 0x3c
jg 0x14042b720
cmp rax, 0x10
jb 0x14042b788
mov rcx, qword [rbp - 0x50]
mov rdx, rax
xor rdx, 1
mov r8d, eax
and r8d, 1
lea rdx, [rdx + r8*2]
movabs r8, 0x3cf1e40ba9f842a3
add r8, qword [0x14066eaa8]
cmp rdx, r8
jbe 0x14042b783
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x14042b7b7
mov rcx, rax
xor rcx, 0x28
and eax, 0x28
lea rdx, [rcx + rax*2]
mov rcx, r8
call fcn.1400a75d0
mov eax, dword [0x14066eaa4]
mov ecx, eax
xor ecx, 0xc50e28d0
and eax, 0x450e28d0
lea eax, [rcx + rax*2]
lea rcx, [fcn.14042b440]
add ecx, ecx
add ecx, 0x4ce0
xor ecx, eax
not ecx
test ecx, eax
jne 0x14042b825
jmp 0x14042b7bc
call fcn.1404ca324
mov edi, dword [0x14066e7d0]
mov eax, edi
xor eax, 1
mov ecx, edi
and ecx, 1
lea r15d, [rax + rcx*2]
mov dword [0x14066e7d0], r15d
mov ecx, dword [0x140696c88]
lea eax, [rcx - 0x17110e01]
mov edx, 0x17110e00
sub edx, ecx
and edx, 0x17110e00
mov r8d, eax
and r8d, 0xe8eef1ff
or r8d, edx
and eax, 0x17110e00
add eax, eax
mov edx, r8d
xor edx, eax
and eax, r8d
lea eax, [rdx + rax*2]
imul eax, ecx
mov ecx, 0xc50e28d1
add ecx, dword [0x14066eaa4]
xor edx, edx
div ecx
test edx, edx
je 0x14042b84d
mov eax, dword [0x14066e7d0]
mov ecx, eax
sub ecx, dword [0x14066eaa4]
add ecx, 0x3af1d730
mov edx, eax
sub edx, ecx
imul edx, ecx
add edx, eax
mov dword [0x14066e7d0], edx
jmp 0x14042b7bc
xor edi, r15d
not edi
test edi, r15d
je 0x14042b85c
xor r12d, r12d
jmp 0x14042b887
mov eax, dword [0x140696c8c]
cmp eax, 0x3b
nop word cs:[rax + rax]
xor eax, eax
test al, al
jne 0x14042b870
xor eax, eax
mov r12d, 0
cmp dword [rbp + 0x17c], 0
jg 0x14042b8cd
mov dword [rsp + 0x20], 0x39f516c6
xor ecx, ecx
mov edx, 1
mov r8d, 0x6b071ac3
mov r9d, 0x378ecc1a
call fcn.14042ee70
lea rcx, [rbp - 0x58]
mov r8d, 0xc
mov rdx, rax
call fcn.1404c7a20
mov eax, dword [0x140696c8c]
cmp eax, 0x10
jl 0x14042bb66
jmp 0x14042bb91
mov ecx, 0xc50e2924
mov edx, 0xc50e28d0
lea r8, [fcn.14042b440]
lea r9d, [r8 + r8]
add r9d, 0x13a0
mov dword [rbp + 0x15c], r9d
mov r10b, 1
xor r12d, r12d
jmp 0x14042b911
cmp eax, dword [rbp + 0x17c]
mov ecx, 0xc50e2924
jge 0x14042b887
mov r11d, dword [0x140696c8c]
cmp r11d, 0x3f
jg 0x14042b9b0
nop word cs:[rax + rax]
mov r11d, dword [0x140696c8c]
mov esi, dword [0x14066eaa4]
add esi, ecx
cmp r11d, esi
jge 0x14042b9b0
movsxd r11, eax
add r11, rbx
nop word [rax + rax]
mov esi, dword [0x140696c88]
mov r14d, dword [0x14066eaa4]
lea r13d, [r14 - 0x53a36dcc]
not r13d
add r13d, esi
dec r13d
imul r13d, esi
and r13d, 1
add r14d, 0xc50e28cf
cmp r13d, r14d
jne 0x14042b98c
mov esi, dword [0x140696c8c]
cmp esi, 0x61
jle 0x14042b9c0
mov ecx, dword [0x140696c88]
lea r9d, [rcx - 1]
imul r9d, ecx
test r9b, 1
jne 0x14042b950
jmp 0x14042b981
test r10b, r10b
je 0x14042b9b0
jmp 0x14042b930
mov esi, dword [0x14066eaa4]
add esi, edx
mov r14d, dword [rbp + 0x15c]
xor r14d, esi
not r14d
test r14d, esi
jne 0x14042ba00
nop word [rax + rax]
mov esi, dword [0x140696c8c]
cmp esi, 0x59
jge 0x14042ba00
movzx r11d, byte [r11]
cmp dword [0x14066eaa4], 0x3af1d731
jne 0x14042ba50
jmp 0x14042ba30
mov ecx, dword [0x14066eaa4]
add ecx, edx
lea r9d, [r8 + r8]
add r9d, 0x360
mov esi, r9d
xor esi, ecx
or ecx, r9d
not ecx
or ecx, esi
cmp ecx, 0xffffffff
jne 0x14042ba00
jmp 0x14042b9e0
mov esi, dword [0x140696c88]
lea r14d, [rsi - 1]
imul r14d, esi
test r14b, 1
je 0x14042ba70
nop word cs:[rax + rax]
mov ecx, dword [0x140696c88]
lea r9d, [rcx - 1]
imul r9d, ecx
test r9b, 1
jne 0x14042ba50
jmp 0x14042ba30
mov esi, dword [0x140696c88]
nop word cs:[rax + rax]
movzx r14d, byte [0x14066eaa0]
mov esi, dword [0x140696c88]
lea r13d, [rsi - 1]
imul r13d, esi
test r13b, 1
jne 0x14042ba80
add r14b, 0x4c
mov esi, r14d
xor sil, r14b
not sil
and sil, r12b
xor sil, r14b
mov r14d, r11d
not r14b
mov r13d, esi
not r13b
mov r9d, r13d
and r9b, r11b
mov ecx, esi
and cl, r14b
or cl, r9b
xor r13b, r14b
and sil, r11b
or sil, r13b
not sil
or sil, cl
not sil
and r12b, r14b
or r12b, sil
mov ecx, eax
not ecx
mov r9d, ecx
and r9d, 0x508b0a17
mov r11d, eax
and r11d, 0xaf74f5e8
or r11d, r9d
xor eax, 0x508b0a17
and ecx, 0x2f74f5e8
or ecx, eax
not ecx
lea eax, [r11 + rcx*2]
inc eax
lea ecx, [r8 + r8]
add ecx, 0x4be0
mov r9d, ecx
not r9d
test r9d, ecx
mov ecx, dword [0x140696c88]
mov r9d, ecx
not r9d
imul r9d, ecx
test r9b, 1
jne 0x14042bb24
add eax, 0xaf74f5e9
nop
mov ecx, dword [0x140696c8c]
cmp ecx, 0x40
jl 0x14042b900
nop
mov ecx, dword [0x140696c88]
lea r9d, [rcx - 1]
imul r9d, ecx
test r9b, 1
jne 0x14042bb50
jmp 0x14042bb40
mov edx, edi
and edx, r15d
movzx eax, byte [0x140557fb4]
xor ecx, ecx
cmp edx, 1
sbb ecx, ecx
mov edx, dword [0x140696c8c]
mov r8d, 0xc50e28f3
add r8d, dword [0x14066eaa4]
cmp edx, r8d
jl 0x14042bb9a
movzx eax, byte [0x140557fb4]
jmp 0x14042bb66
sub al, r12b
mov edx, eax
and dl, cl
not cl
mov r8d, ecx
xor r8b, al
and r8b, cl
or r8b, dl
and r8b, al
movzx eax, r8b
add qword [0x140694000], rax
mov eax, dword [0x140696c88]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14042bbdf
mov eax, dword [0x140696c88]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14042bbf6
mov al, 1
nop word cs:[rax + rax]
test al, al
je 0x14042bbf0
jmp 0x14042bbce
lea rcx, [rbp + 0x160]
lea rdx, [rbp - 0x58]
call fcn.1402fbca0
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x14042bc8e
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14042bc89
mov r8, qword [rcx - 8]
mov rdx, qword [0x14066eaa8]
sub rcx, r8
movabs r9, 0xc495749ec32e3b10
add r9, rcx
movabs rcx, 0xd65a8f6c55cf31ee
sub rcx, rdx
mov r10, r9
xor r10, rcx
and rcx, r9
lea rcx, [r10 + rcx*2]
movabs r9, 0x281e17e93d0a6056
mov r10, rcx
xor r10, r9
and rcx, r9
lea rcx, [r10 + rcx*2]
movabs r9, 0x3cf1e40ba9f832c4
add r9, rdx
cmp rcx, r9
jae 0x14042bce4
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400a75d0
mov dword [rsp + 0x20], 0x39f516c6
xor ecx, ecx
xor edx, edx
mov r8d, 0x6b071ac3
mov r9d, 0x378ecc1a
call fcn.14042ee70
lea rcx, [rbp - 0x58]
mov r8d, 0xa
mov rdx, rax
call fcn.1404c7a20
lea rdi, [rbp + 0x160]
lea rdx, [rbp - 0x58]
mov rcx, rdi
call fcn.1402fbca0
mov eax, dword [0x140696c8c]
cmp eax, 0x5f
mov r14, qword [rbp + 0x150]
jg 0x14042bd10
jmp 0x14042bce9
call fcn.1404ca324
mov rax, qword [rbp - 0x38]
mov ecx, dword [0x140696c88]
mov edx, 0x3af1d730
add edx, dword [0x14066eaa4]
not edx
add edx, ecx
dec edx
imul edx, ecx
test dl, 1
je 0x14042bd3c
nop dword [rax]
mov ecx, dword [0x140696c88]
mov r8d, dword [0x14066eaa4]
mov eax, ecx
sub eax, r8d
add eax, 0x3af1d730
imul eax, ecx
add r8d, 0xc50e28d1
xor edx, edx
div r8d
test edx, edx
jne 0x14042bd10
jmp 0x14042bce9
cmp rax, 0x10
jb 0x14042bdfc
lea rcx, [fcn.14042b440]
lea r8d, [rcx + rcx]
add r8d, 0x1660
mov r9d, r8d
not r9d
lea rdx, [rax + 1]
nop word cs:[rax + rax]
mov ecx, dword [0x14066eaa4]
lea r10d, [rcx - 0x3af1d730]
mov r11d, r8d
xor r11d, r10d
not r10d
and r10d, r9d
or r10d, r11d
not r10d
add ecx, 0xc50e28cf
cmp r10d, ecx
jne 0x14042bdab
mov rcx, qword [rbp - 0x50]
mov r10d, dword [0x140696c8c]
cmp r10d, 0x58
jle 0x14042bdb8
mov ecx, dword [0x140696c8c]
cmp ecx, 0x3d
jge 0x14042bd70
jmp 0x14042bd9a
cmp rdx, 0x1000
jb 0x14042bdf7
mov r8, qword [rcx - 8]
add rcx, qword [0x14066eaa8]
sub rcx, r8
movabs rdx, 0x3cf1e40ba9f8329c
add rdx, rcx
cmp rdx, 0x20
jae 0x14042be04
xor ecx, ecx
test cl, cl
mov rcx, rax
xor rcx, 0x28
and eax, 0x28
lea rdx, [rcx + rax*2]
mov rcx, r8
call fcn.1400a75d0
xor eax, eax
test al, al
jne 0x14042be20
jmp 0x14042be09
call fcn.1404ca324
mov eax, dword [0x140696c8c]
cmp eax, 0x41
jl 0x14042be4c
nop word cs:[rax + rax]
mov ecx, dword [0x140696c88]
mov r8d, dword [0x14066eaa4]
mov eax, ecx
sub eax, r8d
add eax, 0x3af1d730
imul eax, ecx
add r8d, 0xc50e28d1
xor edx, edx
div r8d
test edx, edx
jne 0x14042be20
jmp 0x14042be09
lea rbx, [r14 + 0x158]
cmp rbx, rdi
je 0x14042bfce
mov rdi, qword [rbx]
test rdi, rdi
je 0x14042bfac
nop dword [rax + rax]
mov eax, dword [0x140696c8c]
cmp eax, 0x16
jle 0x14042be87
cmp dword [0x14066eaa4], 0x3af1d731
jne 0x14042be70
mov rsi, qword [r14 + 0x160]
cmp rdi, rsi
je 0x14042beba
nop word cs:[rax + rax]
mov rax, qword [rdi]
mov rax, qword [rax]
mov rcx, rdi
xor edx, edx
call qword [0x1405fc400]
add rdi, 0x28
cmp rdi, rsi
jne 0x14042bea0
mov rcx, qword [r14 + 0x158]
mov r8, qword [r14 + 0x168]
sub r8, rcx
cmp r8, 0x1000
jb 0x14042bf96
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x14042bee0
mov rax, qword [rcx - 8]
mov rdx, qword [0x140694f68]
mov r9, rdx
xor r9, rax
and rdx, rax
lea r9, [r9 + rdx*2]
sub rcx, r9
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x14042c13d
mov eax, dword [0x140696c8c]
cmp eax, 0x57
nop word cs:[rax + rax]
movabs rcx, 0x3cf1e40ba9f832cb
add rcx, qword [0x14066eaa8]
mov edx, dword [0x140696c88]
lea eax, [rdx - 1]
imul eax, edx
mov r10d, dword [0x14066eaa4]
mov edx, r10d
xor edx, 0xc50e28d1
mov r11d, r10d
and r11d, 0x450e28d1
lea r11d, [rdx + r11*2]
xor edx, edx
div r11d
add r10d, 0xc50e28cf
cmp edx, r10d
jne 0x14042bf20
movabs rax, 0xfaa855c62db33b76
add r8, rax
mov rax, r8
xor rax, rcx
and r8, rcx
lea rax, [rax + r8*2]
movabs r8, 0x557aa39d24cc48a
add r8, rax
mov rcx, r9
mov rdx, r8
call fcn.1400a75d0
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
movaps xmm0, xmmword [rbp + 0x160]
movups xmmword [r14 + 0x158], xmm0
mov rax, qword [rbp + 0x170]
mov qword [r14 + 0x168], rax
jmp 0x14042c123
mov rdi, qword [rbp + 0x160]
test rdi, rdi
je 0x14042c123
mov rsi, qword [rbp + 0x168]
cmp rdi, rsi
je 0x14042c07e
mov ebx, 0x8380ce4c
jmp 0x14042c009
add rdi, 0x28
cmp rdi, rsi
je 0x14042c07e
cmp dword [0x14066eaa4], 0x3af1d731
jne 0x14042c060
nop word cs:[rax + rax]
mov rax, qword [rdi]
mov rax, qword [rax]
mov ecx, dword [0x14066eaa4]
add ecx, ebx
mov edx, ecx
xor edx, 0x418d5a83
and ecx, 0x418d5a83
lea edx, [rdx + rcx*2]
mov rcx, rdi
call qword [0x1405fc400]
mov eax, dword [0x140696c8c]
cmp eax, 0x17
jl 0x14042c000
nop word cs:[rax + rax]
mov rax, qword [rdi]
mov rax, qword [rax]
mov rcx, rdi
xor edx, edx
call qword [0x1405fc400]
mov eax, dword [0x140696c8c]
cmp eax, 0x55
jge 0x14042c060
jmp 0x14042c020
mov rcx, qword [rbp + 0x160]
mov rdx, qword [rbp + 0x170]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14042c11e
mov r8, qword [rcx - 8]
sub r8, qword [0x14066eaa8]
add r8, qword [0x140694000]
movabs rax, 0xc30e1bf45607cd5c
add rax, r8
mov r8, rcx
not r8
mov r9, r8
and r9, 0xfffffffffffffff8
mov r10d, ecx
and r10d, 7
or r10, r9
movabs r9, 0x7ffffffffffffff8
xor r9, rcx
and r8d, 7
or r8, r9
not r8
lea rcx, [r10 + r8*2]
sub rcx, rax
cmp rcx, 0x20
jae 0x14042c142
movabs rcx, 0x18893d4935407f1c
add rcx, qword [0x14066eaa8]
sub rdx, rcx
add rdx, 0x27
mov r8, rdx
xor r8, rcx
and rdx, rcx
lea rdx, [r8 + rdx*2]
mov rcx, rax
call fcn.1400a75d0
mov byte [r14], 1
mov al, 1
add rsp, 0x208
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1404ca324
call fcn.1404ca324
int3