Function at 0x140203490
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 [0x14058f364]
cmp eax, 0x41
jg 0x1402034f6
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
mov eax, dword [0x1405399ec]
lea ecx, [rax + 0xd698fca]
lea rdx, [fcn.140203490]
add edx, edx
add edx, 0x2940
and edx, ecx
add eax, 0xd698fc9
cmp edx, eax
je 0x14020352c
xorps xmm0, xmm0
nop dword [rax]
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
mov eax, dword [0x14058f360]
mov ecx, dword [0x1405399ec]
neg ecx
add ecx, eax
add ecx, 0xd698fca
imul ecx, eax
test cl, 1
jne 0x140203500
jmp 0x1402034c1
lea rcx, [rsi + 0x40]
mov qword [rbp], rcx
call fcn.140138ad0
mov r14, qword [rsi]
mov r15, qword [r14]
cmp r15, r14
je 0x140203629
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.140204f30
test al, al
jne 0x140203590
mov rdx, qword [rbp - 0x18]
cmp rdx, qword [rbp - 0x10]
je 0x14020357e
mov rax, qword [rbp - 0x38]
mov qword [rdx], rax
add qword [rbp - 0x18], 8
jmp 0x140203590
mov rcx, rbx
mov r8, rdi
call fcn.140203f40
nop dword [rax]
mov rcx, qword [r15 + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1402035c0
nop word [rax + rax]
mov rax, qword [r15 + 8]
cmp byte [rax + 0x19], 0
jne 0x140203603
mov rcx, r15
mov r15, rax
cmp rcx, qword [rax + 0x10]
je 0x1402035a0
mov rax, r15
jmp 0x140203603
mov rax, rcx
nop word cs:[rax + rax]
mov rcx, qword [rax]
movzx edx, byte [rcx + 0x19]
mov r8d, dword [0x14058f364]
mov r9d, dword [0x1405399ec]
mov r10d, r9d
xor r10d, 0xd698ffc
and r9d, 0xd698ffc
lea r9d, [r10 + r9*2]
cmp r8d, r9d
jge 0x1402035d0
test dl, dl
je 0x1402035c0
mov ecx, dword [0x14058f364]
cmp ecx, 0x32
mov ecx, dword [0x14058f360]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x14020360c
mov r15, rax
cmp rax, r14
jne 0x140203550
mov rdi, qword [0x140539688]
movsxd rax, dword [rdi]
mov qword [rbp - 0x30], rax
mov eax, dword [0x140453de0]
mov dword [rbp + 0xc], eax
mov eax, dword [0x14058f360]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x14020366b
nop word cs:[rax + rax]
mov eax, dword [0x14058f364]
cmp eax, 0x3b
jge 0x140203660
mov rcx, qword [rbp]
call fcn.140138b80
add qword [rbp - 0x30], rdi
lea rax, [fcn.140203490]
add eax, eax
add eax, 0xbe0
mov ecx, eax
not ecx
nop word [rax + rax]
mov edx, dword [0x14058f360]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x1402036a8
test ecx, eax
je 0x1402036ce
mov edx, dword [0x14058f360]
mov r8d, dword [0x1405399ec]
neg r8d
add r8d, edx
add r8d, 0xd698fca
imul r8d, edx
test r8b, 1
jne 0x140203690
jmp 0x1402036a4
mov rdi, qword [rbp - 0x20]
mov rbx, qword [rbp - 0x18]
cmp rdi, rbx
je 0x140203709
nop dword [rax + rax]
mov rcx, qword [rsi + 0xa8]
test rcx, rcx
je 0x1402039ba
mov rdx, qword [rdi]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x1401460cb.0]
add rdi, 8
cmp rdi, rbx
jne 0x1402036e0
mov rsi, qword [rbp - 0x20]
mov eax, dword [0x140539684]
lea r8d, [rax + 1]
mov dword [0x140539684], 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 0x14020379b
nop word cs:[rax + rax]
mov eax, dword [0x14058f360]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140203750
cmp dword [0x1405399ec], 0xf2967037
jne 0x140203750
lea rax, [fcn.140203490]
add eax, eax
add eax, 0x18e0
mov ecx, eax
not ecx
nop
test ecx, eax
jne 0x140203780
xor r8d, r8d
mov edx, 0
mov edi, 0
cmp dword [rbp + 0xc], 0
jg 0x140203833
test rsi, rsi
je 0x140203b30
mov r15, rdi
mov r14, rdx
mov r8, qword [0x140453e88]
mov r9, qword [0x140453e80]
lea rax, [fcn.140203490]
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 [0x14058f360]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140203818
xor r10d, r10d
test edx, edx
setne r10b
add r10, 0xffffffffffffffff
mov edi, 0
adc rdi, 0xffffffffffffffff
mov eax, dword [0x14058f360]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14020381f
test ebx, r11d
jne 0x1402037e0
jmp 0x1402037f1
mov eax, dword [0x14058f364]
cmp eax, 0x35
jle 0x1402039bf
jmp 0x1402039e5
mov r9d, 0xd698fdf
mov r10d, 0xd698fd6
mov r11b, 1
xor r14d, r14d
xor edx, edx
xor edi, edi
jmp 0x140203891
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 0x14020379b
mov eax, dword [0x14058f364]
cmp eax, 0x62
mov eax, dword [0x14058f364]
cmp eax, 0x36
jge 0x14020389a
movsxd r15, r14d
add r15, qword [rbp - 0x30]
nop dword [rax]
mov eax, dword [0x14058f360]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1402038d0
mov eax, dword [0x14058f364]
cmp eax, 0xc
jl 0x14020392a
nop dword [rax]
test r8b, r8b
je 0x1402038da
test r11b, r11b
je 0x1402038d0
mov eax, dword [0x14058f364]
mov ecx, dword [0x1405399ec]
add ecx, r10d
cmp eax, ecx
jge 0x1402038d5
mov eax, dword [0x14058f360]
mov ecx, dword [0x1405399ec]
neg ecx
add ecx, eax
add ecx, 0x6e66bb2
imul ecx, eax
test cl, 1
jne 0x1402038b0
jmp 0x1402038c1
mov rax, qword [r15]
mov rax, qword [r15 + 8]
mov eax, dword [0x14058f364]
mov ecx, dword [0x1405399ec]
add ecx, r9d
cmp eax, ecx
jl 0x14020393b
mov eax, dword [0x14058f360]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140203910
mov r13, qword [r15]
mov rbx, qword [r15 + 8]
mov eax, dword [0x14058f360]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140203910
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 [0x14058f360]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1402039ad
mov eax, dword [0x14058ec2c]
mov edx, dword [0x14058f360]
lea edi, [rdx + 1]
imul edi, edx
test dil, 1
je 0x140203850
mov eax, dword [0x14058f364]
cmp eax, 0x60
jge 0x140203980
jmp 0x140203991
call fcn.14040a394
mov eax, dword [0x14058f360]
mov ecx, dword [0x1405399ec]
mov edx, eax
sub edx, ecx
add edx, 0xf2967036
imul edx, eax
and edx, 1
add ecx, 0xd698fc9
cmp edx, ecx
je 0x140203a04
mov eax, 0xd699009
nop word [rax + rax]
mov ecx, dword [0x14058f364]
mov edx, dword [0x1405399ec]
add edx, eax
cmp ecx, edx
jge 0x1402039f0
jmp 0x1402039bf
sub r9, r14
sbb r8, r15
mov eax, 0xd698fca
add eax, dword [0x1405399ec]
lea rcx, [fcn.140203490]
add ecx, ecx
add ecx, 0x14e0
test ecx, eax
jne 0x140203b90
jmp 0x140203b55
mov eax, dword [0x14058f364]
mov ecx, 0xd698fe5
add ecx, dword [0x1405399ec]
cmp eax, ecx
jl 0x140203a61
nop word cs:[rax + rax]
mov eax, dword [0x14058f360]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140203a50
mov rax, qword [rsi - 8]
add rsi, qword [0x1405399f0]
sub rsi, rax
movabs rcx, 0xe3747656a0f9d000
add rcx, rsi
cmp rcx, 0x20
jae 0x140203aa0
add rdi, qword [0x1405399f0]
movabs rcx, 0xe3747656a0f9d02f
add rdi, rcx
mov rsi, rax
jmp 0x140203ab0
mov eax, dword [0x14058f364]
cmp eax, 0x5e
jge 0x140203aa0
call fcn.1403e88ec
cmp dword [0x1405399ec], 0xf2967037
jne 0x140203af0
mov dword [rsp + 0x20], 0xfcdbb1ab
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x420c149b
mov r9d, 0xef028733
call fcn.1400ab9e0
mov eax, dword [0x14058f360]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x140203b30
nop dword [rax]
mov dword [rsp + 0x20], 0xfcdbb1ab
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x420c149b
mov r9d, 0xef028733
call fcn.1400ab9e0
mov eax, dword [0x14058f360]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140203af0
jmp 0x140203abc
mov eax, dword [0x14058f360]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140203b30
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x14058f364]
cmp eax, 0x25
jg 0x140203b9d
mov eax, dword [0x14058f364]
cmp eax, 0xb
jge 0x140203b9d
mov eax, 0xd698fca
add eax, dword [0x1405399ec]
lea rcx, [fcn.140203490]
add ecx, ecx
add ecx, 0x4220
test ecx, eax
je 0x140203ba6
nop dword [rax]
mov eax, dword [0x14058f364]
cmp eax, 0x4c
jg 0x140203b90
jmp 0x140203b55
mov al, 1
nop
test al, al
je 0x140203ba0
jmp 0x140203b60
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 [0x14058f0a8]
mov qword [0x14058f0a8], rdi
add rdi, qword [rbp - 0x10]
sub rdi, rsi
mov rax, qword [0x1405399f0]
movabs rcx, 0xe3747656a0f9e007
xor rcx, rax
movabs rdx, 0x63747656a0f9e007
and rdx, rax
lea rax, [rcx + rdx*2]
cmp rdi, rax
ja 0x140203a31
jmp 0x140203ab0