Function at 0x1401261c0
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, 0x88
mov rdi, rcx
mov rax, qword [0x1405c08a0]
xor rax, rsp
mov qword [rsp + 0x80], rax
movabs r12, 0x12f910e323c74687
mov r15, rdx
sub r15, rcx
movabs rax, 0x951382e898e80ef9
mov rcx, r12
sub rcx, rax
add rcx, qword [0x1405615b0]
add rax, rcx
add rax, 0x84
cmp r15, rax
jge 0x14012641e
mov eax, dword [0x1405d0920]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x1405d0920]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140126230
cmp rdi, rdx
je 0x140126feb
lea rbx, [rdi + 4]
cmp rbx, rdx
je 0x140126feb
xor r15d, r15d
lea r11, [rsp + 0x70]
mov r13d, 0x112bb675
lea r12, [fcn.1401261c0]
mov sil, 1
mov rbp, rbx
mov qword [rsp + 0x28], rdx
jmp 0x140126290
add rbp, 4
inc r15
cmp rbp, rdx
je 0x140126feb
cmp r11, rbp
je 0x14012629c
mov eax, dword [rbp]
mov dword [rsp + 0x70], eax
mov r10d, dword [rsp + 0x70]
cmp r10d, dword [rdi]
jae 0x140126340
lea r14, [r15*4 + 4]
nop word cs:[rax + rax]
mov eax, dword [0x1405d0924]
cmp eax, 0x3d
jg 0x1401262fd
mov rcx, rbx
mov rdx, rdi
mov r8, r14
call fcn.14046c800
mov eax, dword [0x1405d0920]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x1405615ac]
mov edx, 0x112bb674
add eax, edx
cmp ecx, eax
je 0x140126400
mov rcx, rbx
mov rdx, rdi
mov r8, r14
call fcn.14046c800
mov eax, dword [0x1405615ac]
add eax, r13d
lea ecx, [r12 + r12]
add ecx, 0x1ac0
not ecx
not eax
mov edx, eax
xor edx, ecx
and edx, eax
or edx, ecx
cmp edx, 0xffffffff
jne 0x1401262c0
jmp 0x1401262cb
mov ecx, dword [rbp - 4]
mov rax, rbp
cmp r10d, ecx
jae 0x1401263b4
lea r9, [rbp - 4]
mov r8, rbp
nop word cs:[rax + rax]
mov rax, r9
mov r10d, dword [0x1405d0920]
mov r9d, dword [0x1405615ac]
neg r9d
add r9d, r10d
inc r9d
jmp 0x14012638e
mov dword [r8], ecx
mov r10d, dword [0x1405d0920]
lea r9d, [r10 - 1]
imul r9d, r10d
test r9b, 1
jne 0x140126380
mov dword [r8], ecx
test sil, sil
je 0x140126380
lea r9, [rax - 4]
mov r10d, dword [rsp + 0x70]
mov ecx, dword [rax - 4]
mov r8, rax
cmp r10d, ecx
jb 0x140126360
cmp rax, r11
je 0x140126280
nop dword [rax]
mov ecx, dword [0x1405d0924]
cmp ecx, 0x3a
jg 0x1401263eb
mov dword [rax], r10d
mov ecx, dword [0x1405615ac]
add ecx, r13d
lea r8d, [r12 + r12]
add r8d, 0x4a80
test r8d, ecx
je 0x140126280
mov dword [rax], r10d
test sil, sil
je 0x1401263c0
jmp 0x1401263cb
lea r11, [rsp + 0x70]
cmp r11, rdi
mov rdx, qword [rsp + 0x28]
je 0x140126280
mov eax, dword [rsp + 0x70]
mov dword [rdi], eax
jmp 0x140126280
mov rbx, r8
test r8, r8
jle 0x140126524
movabs r13, 0xed06ef1cdc38b979
xor ebp, ebp
mov r8, rdx
mov r14, rdx
nop dword [rax]
lea rcx, [rsp + 0x70]
mov rdx, rdi
mov rsi, r8
call fcn.140127010
mov rax, rbx
shr rax, 1
shr rbx, 2
add rbx, rax
mov rdx, qword [rsp + 0x70]
mov r15, qword [rsp + 0x78]
mov rax, rdx
sub r14, r15
movabs rcx, 0x84fb39ff2b4c994a
add r14, rcx
sub r14, qword [0x1405615b0]
sub rax, rdi
sub r14, rcx
add r14, r13
cmp rax, r14
jge 0x1401264b0
mov rcx, rdi
mov r8, rbx
call fcn.1401261c0
mov rdi, qword [rsp + 0x78]
mov rdx, rsi
jmp 0x1401264f6
mov eax, dword [0x1405d0924]
cmp eax, 0x38
jle 0x1401264de
mov rcx, r15
mov rdx, rsi
mov r8, rbx
call fcn.1401261c0
mov eax, dword [0x1405d0920]
mov ecx, eax
not ecx
add ecx, 2
imul ecx, eax
test cl, 1
jne 0x1401264b0
mov rcx, r15
mov rdx, rsi
mov r8, rbx
call fcn.1401261c0
test bpl, bpl
jne 0x1401264bb
mov rdx, qword [rsp + 0x70]
mov r15, rdx
sub r15, qword [0x1405615b0]
sub r15, rdi
add r15, r13
cmp r15, 0x84
jl 0x140126221
mov r8, rdx
mov r14, rdx
test rbx, rbx
jne 0x140126440
jmp 0x140126527
mov r8, rdx
mov qword [rsp + 0x28], r8
movabs rax, 0x2f9cddcf25fa7332
mov r9, r15
shr r9, 3
lea rcx, [0x14048c180]
add rcx, rax
neg rcx
mov rdx, rcx
xor rdx, rax
and rcx, rax
lea rax, [rdx + rcx*2]
mov ecx, 0x112bb675
lea rdx, [fcn.1401261c0]
lea r10d, [rdx + rdx]
add r10d, 0x4b40
mov r11d, r10d
not r11d
nop word cs:[rax + rax]
mov r8d, dword [0x1405d0920]
lea esi, [r8 - 1]
imul esi, r8d
test sil, 1
jne 0x1401265bb
movsxd rbx, dword [0x14048c180]
mov r8d, dword [0x1405615ac]
add r8d, ecx
mov esi, r10d
xor esi, r8d
not r8d
and r8d, r11d
or r8d, esi
cmp r8d, 0xffffffff
je 0x1401265d9
mov r8d, dword [0x14048c180]
lea r8d, [rdx + rdx]
add r8d, 0x1480
mov esi, r8d
not esi
test esi, r8d
jne 0x140126580
jmp 0x140126595
sub rbx, rax
mov qword [rsp + 0x38], rbx
mov eax, dword [0x1405d0920]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x14012662a
mov r8d, dword [0x14048c178]
mov ecx, dword [0x1405d0920]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1405615ac]
mov edx, ecx
xor edx, 0x112bb676
not ecx
and ecx, 0x6ed44989
or ecx, edx
not ecx
lea ecx, [rdx + rcx*2]
xor edx, edx
div ecx
test edx, edx
je 0x140126632
mov eax, dword [0x14048c178]
jmp 0x1401265f2
mov dword [rsp + 0x30], r8d
mov ecx, dword [0x1405615b0]
add ecx, r12d
add cl, 2
mov rax, r15
shr rax, cl
mov rcx, rax
mov qword [rsp + 0x58], rax
lea r13, [rax - 1]
mov qword [rsp + 0x40], r13
shr r13, 1
mov qword [rsp + 0x50], r15
xor r15, 0xfffffffffffffffb
mov qword [rsp + 0x60], r15
lea rsi, [rsp + 0x70]
mov eax, 0x112bb674
lea rbp, [fcn.1401261c0]
mov r15d, 0x112bb6a7
xor r10d, r10d
nop word cs:[rax + rax]
lea rcx, [rdi + r9*4]
add rcx, 0xfffffffffffffffc
cmp rsi, rcx
je 0x1401266a3
mov ecx, dword [rcx]
mov dword [rsp + 0x70], ecx
lea rcx, [r9 - 1]
mov qword [rsp + 0x48], rcx
cmp r13, r9
jge 0x1401266f0
test byte [rsp + 0x60], 4
jne 0x140126770
cmp rcx, r13
jne 0x140126770
mov edx, dword [0x1405d0920]
mov r8d, 0xbffc7a9f
sub r8d, edx
imul r8d, edx
test r8b, 1
mov r11b, 1
jne 0x1401268d0
jmp 0x140126780
mov rdx, qword [rsp + 0x48]
jmp 0x140126708
mov rdx, rcx
cmp rcx, r13
jge 0x1401266b1
lea r14, [rdx + rdx]
mov rcx, qword [0x1405615b0]
lea rsi, [r12 + rcx]
lea rbx, [rsi + rdx*2]
add rcx, r12
inc rcx
mov r11, r14
not r11
mov r8, r14
xor r8, rcx
not rcx
and rcx, r11
or rcx, r8
not rcx
or rcx, r14
or rcx, 1
mov r8d, dword [rdi + rbx*4 + 8]
cmp r8d, dword [rdi + rcx*4]
lea r8, [rsi + rdx*2 + 2]
cmovae rcx, r8
cmp rdx, rcx
je 0x140126700
mov r8d, dword [rdi + rcx*4]
add r8d, dword [0x1405d0930]
mov dword [rdi + rdx*4], r8d
jmp 0x140126700
mov r11, rcx
jmp 0x1401267a7
test r11b, r11b
je 0x1401268d0
mov rdx, qword [rsp + 0x40]
mov r11, rdx
cmp rcx, rdx
je 0x1401267a7
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdi + rdx*4 - 4]
mov dword [rdi + rcx*4], edx
mov r11, qword [rsp + 0x40]
mov ecx, dword [0x1405d0920]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x1405615ac]
add ecx, eax
cmp edx, ecx
mov ecx, dword [0x1405d0920]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x1405615ac]
add ecx, eax
cmp edx, ecx
jne 0x1401267c0
cmp r11, r9
mov r14, qword [rsp + 0x28]
jge 0x140126970
mov rdx, r11
mov ecx, dword [0x1405615ac]
mov r8d, 0x112bb675
add ecx, r8d
lea r8d, [rbp + rbp + 0x1f20]
test r8d, ecx
mov r11d, 0x112bb6c2
mov ecx, dword [0x1405d0924]
mov r8d, dword [0x1405615ac]
add r8d, r11d
cmp ecx, r8d
jge 0x14012680c
lea rcx, [rdi + rdx*4]
mov qword [rsp + 0x68], rcx
mov ecx, dword [0x1405611a4]
mov edx, ecx
xor edx, 1
mov r8d, dword [0x1405d0920]
nop dword [rax]
mov r8d, dword [0x1405d0924]
mov r11d, dword [0x1405615ac]
add r11d, r15d
cmp r8d, r11d
jge 0x140126840
mov r11d, ecx
and r11d, 1
mov r8d, dword [0x1405d0924]
nop word cs:[rax + rax]
mov r8d, dword [0x1405d0920]
lea esi, [r8 - 1]
imul esi, r8d
test sil, 1
jne 0x140126870
lea edx, [rdx + r11*2]
mov r11d, edx
mov dword [0x1405611a4], edx
nop word cs:[rax + rax]
mov edx, dword [0x1405d0920]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x1401268b9
test r10b, r10b
je 0x1401268f0
mov edx, dword [0x1405d0924]
cmp edx, 0x3f
jge 0x1401268a0
jmp 0x1401268b4
mov edx, dword [0x1405d0920]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x1401268d0
jmp 0x140126780
xor r11d, ecx
not r11d
mov dword [rsp + 0x24], r11d
test r11d, ecx
jne 0x14012692f
mov edx, dword [0x1405d0920]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x14012691f
mov edx, dword [0x1405d0924]
cmp edx, 0x1f
jge 0x140126900
test r10b, r10b
jne 0x140126914
cmp dword [rsp + 0x30], 0
jg 0x140126a3d
xor ebx, ebx
lea rsi, [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
cmp rdx, rsi
je 0x140126948
mov r8d, dword [rsp + 0x70]
mov dword [rdx], r8d
test r10b, r10b
test r10b, r10b
jne 0x14012694b
cmp r9, 1
mov r9, qword [rsp + 0x48]
jg 0x140126690
jmp 0x140126bf5
mov esi, dword [rsp + 0x70]
jmp 0x14012698c
mov r11, rdx
cmp rdx, r9
jl 0x1401267ec
lea rdx, [r11 - 1]
mov ecx, dword [0x1405615b0]
add ecx, r12d
inc cl
sar rdx, cl
mov ecx, dword [rdi + rdx*4]
cmp ecx, esi
jae 0x1401267e9
cmp r11, rdx
jne 0x1401269e0
mov ecx, dword [0x1405d0924]
mov r8d, dword [0x1405615ac]
mov r11d, r8d
xor r11d, 0x112bb6ca
and r8d, 0x112bb6ca
lea r8d, [r11 + r8*2]
cmp ecx, r8d
mov r8b, 1
jge 0x140126a30
jmp 0x140126a20
mov r8d, dword [0x1405d0920]
lea ebx, [r8 - 1]
imul ebx, r8d
test bl, 1
jne 0x140126a0c
mov dword [rdi + r11*4], ecx
mov r8d, dword [0x1405d0920]
lea ebx, [r8 - 1]
imul ebx, r8d
test bl, 1
je 0x1401269ae
mov dword [rdi + r11*4], ecx
mov r8d, dword [0x1405d0924]
cmp r8d, 0x5c
jge 0x1401269e0
jmp 0x1401269f4
test r8b, r8b
jne 0x140126980
nop dword [rax]
mov ecx, dword [0x1405d0924]
cmp ecx, 0x2f
jge 0x140126a30
jmp 0x140126a20
xor esi, esi
xor ebx, ebx
jmp 0x140126a5f
cmp esi, dword [rsp + 0x30]
mov r14, qword [rsp + 0x28]
jge 0x140126931
movsxd r11, esi
mov edx, dword [0x1405d0924]
cmp edx, 0x35
mov edx, dword [0x1405d0924]
cmp edx, 0x10
jg 0x140126a6b
add r11, qword [rsp + 0x38]
mov r11, qword [r11]
mov edx, dword [0x1405d0920]
lea r8d, [rdx - 1]
imul r8d, edx
and r8d, 1
mov edx, dword [0x1405615ac]
add edx, eax
cmp r8d, edx
jne 0x140126bc0
nop word cs:[rax + rax]
mov edx, dword [0x1405d0924]
cmp edx, 0x3e
jge 0x140126bc0
mov edx, dword [0x1405d0920]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x140126b4f
nop word cs:[rax + rax]
mov edx, dword [0x1405d0920]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x140126b4f
not r11
mov rdx, r11
or rdx, rbx
not rdx
and rbx, r11
or rbx, rdx
add esi, 8
mov edx, dword [0x1405d0920]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x140126be0
jmp 0x140126bd0
mov edx, dword [0x1405d0920]
lea r8d, [rdx - 1]
imul r8d, edx
and r8d, 1
mov edx, dword [0x1405615ac]
add edx, eax
cmp r8d, edx
je 0x140126ae0
test r10b, r10b
jne 0x140126b80
nop word cs:[rax + rax]
mov edx, dword [0x1405d0920]
mov r8d, dword [0x1405615ac]
add r8d, edx
dec r8d
imul r8d, edx
test r8b, 1
je 0x140126b30
nop dword [rax]
mov edx, dword [0x1405615ac]
mov r8d, edx
xor r8d, 0x112bb675
mov r14d, edx
and r14d, 0x112bb675
lea r8d, [r8 + r14*2]
lea r14d, [rbp + rbp + 0x1bc0]
and r14d, r8d
add edx, 0x112bb674
cmp r14d, edx
jne 0x140126b80
jmp 0x140126b60
mov edx, dword [0x1405d0924]
cmp edx, 0x4c
jge 0x140126bc0
jmp 0x140126ab0
mov edx, dword [0x1405d0924]
cmp edx, 0x3e
jl 0x140126a50
nop
lea edx, [rbp + rbp + 0x2020]
mov r8d, edx
xor r8d, 0xfffffffe
test edx, r8d
jne 0x140126be0
jmp 0x140126bd0
cmp qword [rsp + 0x50], 5
mov ebp, dword [rsp + 0x24]
jl 0x140126feb
movabs rdx, 0xdf6c9c52cc008ff1
movabs rax, 0xb95d3cb1d506dc5
and ebp, ecx
lea rcx, [rdx + rax]
mov qword [rsp + 0x38], rcx
not rax
mov qword [rsp + 0x30], rax
xor r13d, r13d
mov r9d, 0x112bb675
lea r10, [fcn.1401261c0]
mov eax, 0x112bb6ad
mov r11b, 1
mov dword [rsp + 0x24], ebp
jmp 0x140126c7f
movabs r8, 0x13b450dbbe7a94f6
lea rdx, [r12 + r8]
add rdx, qword [0x1405615b0]
sub rdx, r8
add rdx, 4
cmp rcx, rdx
movabs rdx, 0xdf6c9c52cc008ff1
jle 0x140126feb
add r14, 0xfffffffffffffffc
cmp rsi, r14
je 0x140126c8f
mov ecx, dword [r14]
mov dword [rsp + 0x70], ecx
cmp r14, rdi
je 0x140126c99
mov ecx, dword [rdi]
mov dword [r14], ecx
mov ecx, dword [0x1405d0924]
cmp ecx, 0x5c
jge 0x140126d50
nop dword [rax + rax]
mov ecx, dword [0x1405d0924]
cmp ecx, 0xd
jg 0x140126d30
mov rsi, qword [0x14048c168]
cmp ebp, 1
mov r8, rdx
adc r8, 0xffffffffffffffff
mov ecx, dword [0x1405d0924]
cmp ecx, 0x25
jge 0x140126d30
mov ecx, dword [0x1405d0924]
cmp ecx, 0x60
jg 0x140126d50
mov qword [rsp + 0x28], r14
movabs rdx, 0xeb58e6925e352f92
mov rcx, rdx
sub rcx, r8
add rcx, qword [rsp + 0x38]
sub rcx, rdx
add rcx, qword [rsp + 0x30]
sub rsi, rbx
mov edx, dword [0x1405d0920]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x140126df0
jmp 0x140126d60
mov rcx, qword [0x14048c168]
test r11b, r11b
je 0x140126d30
jmp 0x140126cbb
mov rcx, qword [0x14048c168]
jmp 0x140126cb0
mov edx, dword [0x1405d0924]
cmp edx, 0xe
jge 0x140126df0
mov rdx, rsi
not rdx
mov r8, rcx
not r8
mov r14, rsi
and r14, r8
xor r8, rdx
and rdx, rcx
or r14, rdx
and rsi, rcx
or rsi, r8
not rsi
or rsi, r14
not rsi
mov r8d, 0x112bb674
nop
mov ecx, dword [0x1405d0920]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
mov ecx, dword [0x1405615ac]
add ecx, r8d
cmp edx, ecx
jne 0x140126dd3
mov ecx, dword [0x1405615b0]
add ecx, r12d
add cl, 0x20
mov r14, rsi
shr r14, cl
test r13b, r13b
je 0x140126e10
cmp dword [0x1405615ac], 0xeed4498c
jne 0x140126da0
jmp 0x140126dbc
cmp dword [0x1405615ac], 0xeed4498c
jne 0x140126df0
jmp 0x140126d60
test r13b, r13b
je 0x140126e27
mov ecx, dword [0x1405d0924]
mov edx, dword [0x1405615ac]
add edx, eax
cmp ecx, edx
jge 0x140126e10
mov ecx, dword [0x1405d0924]
cmp ecx, 0x45
mov ecx, dword [0x1405615ac]
add ecx, r9d
lea edx, [r10 + r10]
add edx, 0x300
test edx, ecx
jne 0x140126e30
mov ecx, dword [0x1405d0924]
cmp ecx, 0x16
jg 0x140126e15
mov ecx, esi
and ecx, r14d
xor r14d, esi
or r14d, ecx
add dword [0x1405d0930], r14d
mov rcx, qword [0x1405d0928]
add rcx, qword [rsp + 0x28]
sub rcx, rdi
mov rdx, rcx
sar rdx, 2
movabs rsi, 0xd8da0588fd60f354
lea r8, [r12 + rsi]
movabs r14, 0xbb5db76ca0e6ee15
sub r8, r14
sub r8, rsi
add r8, qword [0x1405615b0]
add r8, r14
lea r14, [rdx + r8]
dec r14
mov r8, r14
sar r8, 1
cmp rcx, 8
jle 0x140126f00
xor esi, esi
jmp 0x140126ecf
mov ebp, dword [rdi + r15*4]
mov dword [rdi + rsi*4], ebp
mov rsi, r15
cmp r15, r8
jge 0x140126f03
lea r15, [rsi + rsi]
mov ebp, dword [rdi + r15*4 + 8]
cmp ebp, dword [rdi + r15*4 + 4]
jb 0x140126ef0
lea r15, [rsi + rsi]
add r15, 2
cmp rsi, r15
je 0x140126ec7
jmp 0x140126ec0
lea r15, [rsi + rsi]
inc r15
cmp rsi, r15
je 0x140126ec7
jmp 0x140126ec0
xor r15d, r15d
mov rsi, rcx
not rsi
mov rbp, rcx
xor rbp, 4
mov edx, ebp
and edx, 4
and rsi, 0xfffffffffffffffb
or rsi, rdx
and rbp, rcx
or rbp, rsi
cmp rbp, 0xffffffffffffffff
jne 0x140126f40
cmp r15, r8
jne 0x140126f40
cmp r15, r14
je 0x140126f43
mov edx, dword [rdi + r14*4]
mov dword [rdi + r15*4], edx
jmp 0x140126f43
mov r14, r15
mov rdx, qword [0x1405615b0]
add rdx, r12
cmp r14, rdx
jle 0x140126f93
mov r8d, dword [rsp + 0x70]
jmp 0x140126f69
mov r14, r15
cmp rsi, 2
jb 0x140126f90
lea rsi, [r14 - 1]
mov r15, rsi
shr r15, 1
mov ebp, dword [rdi + r15*4]
cmp ebp, r8d
jae 0x140126f93
cmp r14, r15
je 0x140126f60
mov dword [rdi + r14*4], ebp
jmp 0x140126f60
xor r14d, r14d
lea rsi, [rsp + 0x70]
mov ebp, dword [rsp + 0x24]
lea r8, [rdi + r14*4]
cmp r8, rsi
je 0x140126fac
mov edx, dword [rsp + 0x70]
mov dword [r8], edx
mov edx, dword [0x1405d0924]
cmp edx, 0x3c
mov r14, qword [rsp + 0x28]
jg 0x140126fd0
nop dword [rax]
cmp dword [0x1405615ac], 0xeed4498c
je 0x140126c50
mov edx, dword [0x1405d0920]
mov r8d, 1
sub r8d, edx
imul r8d, edx
test r8b, 1
jne 0x140126fd0
jmp 0x140126fc0
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1404448f0
nop
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret