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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [0x14057e8d8]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov r15, qword [0x14058f070]
add r15, r8
sub r15, rdx
sar r15, 3
lea r14, [rdx + r15*4]
add r8, 0xfffffffffffffffc
mov rcx, rdx
mov rdx, r14
call fcn.140111320
mov ecx, 0x5204c8ba
nop word cs:[rax + rax]
mov rax, r14
cmp r14, rbx
jbe 0x140110d1f
mov edx, dword [0x14058f06c]
mov r8d, dword [0x1405209c4]
add r8d, ecx
cmp edx, r8d
mov edx, dword [rax - 4]
mov r8d, dword [rax]
mov r9d, dword [0x14058f068]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
jne 0x140110cfb
lea r14, [rax - 4]
cmp r8d, edx
je 0x140110ce0
lea r8, [rbx + r15*4]
add r8, 4
cmp r8, rdi
jae 0x140110d40
nop dword [rax]
mov ecx, dword [rax]
cmp ecx, dword [r8]
jne 0x140110d40
add r8, 4
cmp r8, rdi
jb 0x140110d30
mov ecx, dword [0x14058f068]
nop word cs:[rax + rax]
mov ecx, dword [0x14058f06c]
cmp ecx, 0x36
jg 0x140110d50
mov ecx, 0x5204c8e8
lea r10, [rsp + 0x28]
mov r9d, 0x5204c8f7
mov r11d, 0x5204c8ae
lea r14, [fcn.140110c80]
mov r12b, 1
mov r13, r8
mov rbp, rax
jmp 0x140110da7
add r15, 4
add r10, 4
add r13, 4
mov rax, r10
mov r8, r15
lea r10, [rsp + 0x28]
mov r15, r8
jmp 0x140110db8
add r15, 4
add r13, 4
cmp r13, rdi
jae 0x140110ef0
mov edx, dword [rax]
mov r8d, dword [r13]
cmp edx, r8d
jb 0x140110db4
ja 0x140110ef0
nop word cs:[rax + rax]
mov edx, dword [0x14058f06c]
cmp edx, 0x3d
jg 0x140110e00
mov edx, dword [0x14058f06c]
mov r8d, dword [0x1405209c4]
add r8d, ecx
cmp edx, r8d
jl 0x140110e10
mov edx, dword [0x14058f06c]
cmp edx, 0x3e
jge 0x140110de0
jmp 0x140110deb
cmp r15, r13
je 0x140110db0
nop word cs:[rax + rax]
cmp byte [0x14058f004], 0
jne 0x140110e3d
mov edx, dword [0x14058f068]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x140110e60
mov edx, dword [0x14058f06c]
mov r8d, dword [0x1405209c4]
add r8d, r9d
cmp edx, r8d
jge 0x140110e20
jmp 0x140110e29
cmp r10, r15
je 0x140110e6c
mov edx, dword [r15]
mov dword [rsp + 0x28], edx
mov edx, dword [r13]
mov dword [r15], edx
cmp r10, r13
je 0x140110db0
mov edx, dword [rsp + 0x28]
mov dword [r13], edx
jmp 0x140110db0
lea rax, [r10 - 4]
cmp r10, rdx
je 0x140110ef0
lea r8, [rsp + 0x28]
cmp r8, rax
je 0x140110ea9
mov edx, dword [rax]
mov dword [rsp + 0x28], edx
mov edx, dword [rbp]
mov dword [rax], edx
cmp r8, rbp
je 0x140110eba
mov edx, dword [rsp + 0x28]
mov dword [rbp], edx
xor edx, edx
test dl, dl
jne 0x140110ee0
mov edx, dword [0x1405209c4]
add edx, r11d
lea r8d, [r14 + r14]
add r8d, 0x1f20
test r8d, edx
je 0x140110ef0
nop dword [rax]
mov edx, dword [0x14058f06c]
cmp edx, 0x25
jge 0x140110ee0
jmp 0x140110ec0
mov r10, rax
cmp rbp, rbx
jbe 0x140110f10
mov rdx, rbp
add rbp, 0xfffffffffffffffc
mov eax, dword [rdx - 4]
mov r8d, dword [r10]
cmp eax, r8d
jb 0x140110ef3
jbe 0x140110e90
mov rbp, rdx
nop
mov eax, dword [0x14058f06c]
mov edx, dword [0x1405209c4]
mov r8d, 0x5204c8ec
add edx, r8d
cmp eax, edx
mov rax, rbp
xor rax, rbx
mov rdx, r13
xor rdx, rdi
or rdx, rax
sete al
mov edx, dword [0x14058f06c]
cmp edx, 0x55
jg 0x140110f27
test al, al
jne 0x14011129a
cmp rbp, rbx
je 0x140110f80
lea rdx, [rbp - 4]
cmp r13, rdi
je 0x140111000
mov eax, dword [0x14058f068]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x140111240
jmp 0x140111200
cmp byte [0x14058f004], 0
jne 0x140111129
cmp r15, r13
je 0x140111129
nop word cs:[rax + rax]
mov eax, dword [0x14058f06c]
cmp eax, 0x3c
jg 0x140110fde
mov edx, dword [0x14058f068]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x1405209c4]
mov r8d, edx
xor r8d, 0x5204c8af
and edx, 0x5204c8af
lea r8d, [r8 + rdx*2]
xor edx, edx
div r8d
test edx, edx
je 0x14011107a
mov eax, dword [0x1405209c4]
add eax, r11d
lea edx, [r14 + r14]
add edx, 0x1dc0
xor edx, eax
not edx
test edx, eax
jne 0x140110fa0
jmp 0x140110fab
lea rax, [r10 - 4]
cmp rbp, r10
je 0x140111038
lea r8, [rsp + 0x28]
cmp r8, rdx
je 0x14011101b
mov r8d, dword [rdx]
mov dword [rsp + 0x28], r8d
cmp rbp, r10
je 0x140111026
mov r8d, dword [rax]
mov dword [rdx], r8d
lea r8, [rsp + 0x28]
cmp r8, rax
je 0x140111038
mov r8d, dword [rsp + 0x28]
mov dword [rax], r8d
mov qword [rsp + 0x20], rdx
lea r8, [rsp + 0x28]
cmp r8, rax
je 0x140111185
mov r8d, dword [0x14058f068]
lea ebp, [r8 + 1]
imul ebp, r8d
and ebp, 1
mov r8d, dword [0x1405209c4]
mov edx, 0x5204c8ad
add r8d, edx
cmp ebp, r8d
jne 0x1401111e0
jmp 0x140111170
lea rax, [rsp + 0x28]
cmp rax, r10
je 0x1401110b7
mov eax, dword [0x14058f068]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
jne 0x140111161
nop dword [rax]
mov eax, dword [r10]
mov dword [rsp + 0x28], eax
cmp dword [0x1405209c4], 0xadfb3753
jne 0x140111161
cmp r10, r15
je 0x1401110d0
mov eax, dword [r15]
mov dword [r10], eax
nop word cs:[rax + rax]
mov eax, dword [0x14058f06c]
cmp eax, 0x42
jg 0x1401110ec
mov eax, dword [0x14058f068]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
je 0x140111118
mov eax, dword [0x1405209c4]
lea edx, [r14 + r14]
add edx, 0x20
mov r8d, 0xadfb3751
sub r8d, eax
add eax, 0x5204c8ae
xor eax, edx
not edx
and r8d, edx
or eax, r8d
cmp eax, 0xffffffff
jne 0x1401110d0
jmp 0x1401110db
lea rax, [rsp + 0x28]
cmp rax, r15
je 0x140111129
mov eax, dword [rsp + 0x28]
mov dword [r15], eax
lea rax, [rsp + 0x28]
cmp rax, r10
je 0x14011113a
mov eax, dword [r10]
mov dword [rsp + 0x28], eax
cmp r10, r13
je 0x140111146
mov eax, dword [r13]
mov dword [r10], eax
lea rax, [rsp + 0x28]
cmp rax, r13
je 0x140110d90
mov eax, dword [rsp + 0x28]
mov dword [r13], eax
jmp 0x140110d90
mov eax, dword [r10]
mov dword [rsp + 0x28], eax
jmp 0x1401110a0
mov r8d, dword [rax]
mov dword [rsp + 0x28], r8d
mov r8d, dword [0x14058f06c]
cmp r8d, 0x2e
jge 0x1401111e0
lea r8, [r15 - 4]
cmp r10, r15
je 0x140111194
mov r10d, dword [r8]
mov dword [rax], r10d
mov r10d, dword [0x1405209c4]
mov ebp, r10d
xor ebp, 0x5204c8ad
and r10d, 0x5204c8ad
add r10d, r10d
add r10d, ebp
mov rbp, qword [rsp + 0x20]
xor r10d, r10d
test r10b, r10b
jne 0x1401111b6
lea r10, [rsp + 0x28]
cmp r10, r8
je 0x140110da7
mov r10d, dword [rsp + 0x28]
mov dword [r8], r10d
lea r10, [rsp + 0x28]
jmp 0x140110da7
mov r8d, dword [rax]
mov dword [rsp + 0x28], r8d
mov r8d, dword [0x14058f06c]
cmp r8d, 0x46
jge 0x1401111e0
jmp 0x140111170
test r12b, r12b
je 0x140111240
lea rax, [rsp + 0x28]
cmp rax, r13
je 0x140111217
mov eax, dword [r13]
mov dword [rsp + 0x28], eax
cmp r13, rdx
je 0x140111222
mov eax, dword [rdx]
mov dword [r13], eax
lea rax, [rsp + 0x28]
cmp rax, rdx
je 0x14011125b
mov eax, dword [rsp + 0x28]
mov dword [rdx], eax
jmp 0x14011125b
test r12b, r12b
je 0x140111240
jmp 0x140111200
mov eax, dword [0x14058f06c]
cmp eax, 0x3f
jl 0x14011126f
mov eax, dword [0x14058f068]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x140111250
mov eax, dword [0x14058f068]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
jne 0x140111250
add r13, 4
mov rax, r10
mov r8, r15
mov rbp, rdx
lea r10, [rsp + 0x28]
jmp 0x140110da7
mov eax, dword [0x14058f068]
mov ecx, dword [0x1405209c4]
mov edx, eax
sub edx, ecx
add edx, 2
imul edx, eax
and edx, 1
add ecx, 0x5204c8ad
cmp edx, ecx
jne 0x1401112cf
mov qword [rsi], r10
mov qword [rsi + 8], r15
mov eax, dword [0x14058f06c]
cmp eax, 0x1e
jl 0x1401112fb
mov eax, 0x5204c8d5
nop word cs:[rax + rax]
mov qword [rsi], r10
mov qword [rsi + 8], r15
mov ecx, dword [0x14058f06c]
mov edx, dword [0x1405209c4]
add edx, eax
cmp ecx, edx
jge 0x1401112e0
jmp 0x1401112bd
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140405570
mov rax, rsi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret