Function at 0x140011610
Capabilities:
Encrypt data using rc4 ksa
Parse credit card information

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rbx, rdx
mov rsi, qword [rdx + 0x18]
mov r15d, 1
cmp byte [rsi + 2], 0xf
je 0x140011671
lea rdi, [rdx + 0x30]
lea r8, [0x1401cdae0]
lea ebp, [r15 + 0x1f]
mov rdx, rbp
mov rcx, rdi
call fcn.140158644
jmp 0x140011690
lea rdi, [rdx + 0x30]
lea r8, [0x1401cdad8]
mov ebp, 0x20
mov rdx, rbp
mov rcx, rdi
call fcn.140158644
mov dword [rbx + 0x2c], r15d
mov dword [rbx + 0x28], 9
mov dword [rbx + 0x384], 0x3fc00000
test byte [rsi + 6], 2
je 0x1400116c3
mov dword [rbx + 0x384], 0x3faccccd
lea r8, str.DDR3L
mov rdx, rbp
mov rcx, rdi
call fcn.140158644
test byte [rsi + 6], 4
je 0x1400116e5
mov dword [rbx + 0x384], 0x3f99999a
lea r8, str.DDR3L
mov rdx, rbp
mov rcx, rdi
call fcn.140158644
movzx ecx, byte [rsi + 3]
and ecx, 0xf
sub ecx, r15d
je 0x1400117ff
sub ecx, r15d
je 0x1400117d3
sub ecx, r15d
je 0x1400117a7
sub ecx, r15d
je 0x140011778
sub ecx, r15d
je 0x140011749
cmp ecx, r15d
jne 0x140011829
lea rcx, [rbx + 0x2f8]
lea r8, str.Mini_UDIMM
mov rdx, rbp
call fcn.140044464
mov dword [rbx + 0x31c], 0x42a40000
mov dword [rbx + 0x318], 0x20006
jmp 0x140011829
lea rcx, [rbx + 0x2f8]
lea r8, str.Mini_RDIMM
mov rdx, rbp
call fcn.140044464
mov dword [rbx + 0x31c], 0x42a40000
mov dword [rbx + 0x318], 0x20005
jmp 0x140011829
lea rcx, [rbx + 0x2f8]
lea r8, str.Micro_DIMM
mov rdx, rbp
call fcn.140044464
mov dword [rbx + 0x31c], 0x42360000
mov dword [rbx + 0x318], 0x20004
jmp 0x140011829
lea rcx, [rbx + 0x2f8]
lea r8, str.SO_DIMM
mov rdx, rbp
call fcn.140044464
mov dword [rbx + 0x31c], 0x42873333
mov dword [rbx + 0x318], 0x20003
jmp 0x140011829
lea rcx, [rbx + 0x2f8]
lea r8, str.UDIMM
mov rdx, rbp
call fcn.140044464
mov dword [rbx + 0x31c], 0x4305599a
mov dword [rbx + 0x318], 0x20002
jmp 0x140011829
lea rcx, [rbx + 0x2f8]
lea r8, str.RDIMM
mov rdx, rbp
call fcn.140044464
mov dword [rbx + 0x31c], 0x4305599a
mov dword [rbx + 0x318], 0x20001
movzx ecx, byte [rsi + 4]
shr ecx, 4
and ecx, 7
xor edi, edi
lea r9d, [rdi + 0x40]
lea r8d, [rdi + 8]
cmp ecx, edi
je 0x14001186d
sub ecx, r15d
je 0x140011861
sub ecx, r15d
je 0x140011859
cmp ecx, r15d
jne 0x140011874
mov dword [rbx + 0x330], r9d
jmp 0x140011874
mov dword [rbx + 0x330], ebp
jmp 0x140011874
mov dword [rbx + 0x330], 0x10
jmp 0x140011874
mov dword [rbx + 0x330], r8d
or r12d, 0xffffffff
mov r13d, r12d
mov r14d, r12d
movzx ecx, byte [rsi + 4]
and ecx, 0xf
cmp ecx, 5
jg 0x1400118d7
cmp ecx, 5
je 0x1400118cf
cmp ecx, edi
je 0x1400118c7
sub ecx, r15d
je 0x1400118bf
sub ecx, r15d
je 0x1400118b7
sub ecx, r15d
je 0x1400118af
cmp ecx, r15d
jne 0x140011909
mov r12d, 0x1000
jmp 0x140011909
mov r12d, 0x800
jmp 0x140011909
mov r12d, 0x400
jmp 0x140011909
mov r12d, 0x200
jmp 0x140011909
mov r12d, 0x100
jmp 0x140011909
mov r12d, 0x2000
jmp 0x140011909
sub ecx, 6
je 0x140011903
sub ecx, r15d
je 0x1400118fb
sub ecx, r15d
je 0x1400118f3
cmp ecx, r15d
jne 0x140011909
mov r12d, 0x20000
jmp 0x140011909
mov r12d, 0x10000
jmp 0x140011909
mov r12d, 0x8000
jmp 0x140011909
mov r12d, 0x4000
movzx ecx, byte [rsi + 7]
mov edx, ecx
and edx, 7
cmp edx, edi
je 0x140011937
sub edx, r15d
je 0x140011932
sub edx, r15d
je 0x14001192a
cmp edx, r15d
jne 0x14001193d
mov r14d, ebp
jmp 0x14001193d
mov r14d, 0x10
jmp 0x14001193d
mov r14d, r8d
jmp 0x14001193d
mov r14d, 4
shr ecx, 3
and ecx, 7
cmp ecx, edi
je 0x140011988
sub ecx, r15d
je 0x14001197c
sub ecx, r15d
je 0x140011970
sub ecx, r15d
je 0x140011964
cmp ecx, r15d
jne 0x14001198f
mov dword [rbx + 0x334], r8d
jmp 0x14001198f
mov dword [rbx + 0x334], 4
jmp 0x14001198f
mov dword [rbx + 0x334], 3
jmp 0x14001198f
mov dword [rbx + 0x334], 2
jmp 0x14001198f
mov dword [rbx + 0x334], r15d
movzx ecx, byte [rsi + 8]
and ecx, 7
cmp ecx, edi
je 0x1400119bb
sub ecx, r15d
je 0x1400119b3
sub ecx, r15d
je 0x1400119ae
cmp ecx, r15d
jne 0x1400119be
mov r13d, r9d
jmp 0x1400119be
mov r13d, ebp
jmp 0x1400119be
mov r13d, 0x10
jmp 0x1400119be
mov r13d, r8d
mov ecx, r12d
call fcn.140001bb0
cmp eax, edi
je 0x140011a25
mov ecx, r13d
call fcn.140001bb0
cmp eax, edi
je 0x140011a25
mov ecx, r14d
call fcn.140001bb0
cmp eax, edi
je 0x140011a25
mov r15d, dword [rbx + 0x334]
mov ecx, r15d
call fcn.140001bb0
cmp eax, edi
je 0x140011a1f
mov eax, r13d
cdq
idiv r14d
mov ecx, eax
mov eax, r12d
cdq
and edx, 7
add eax, edx
sar eax, 3
imul ecx, eax
imul ecx, r15d
mov dword [rbx + 0x2f0], ecx
mov r15d, 1
jmp 0x140011a25
mov r15d, 1
cmp byte [rsi + 0xb], dil
jbe 0x140011a47
movzx eax, byte [rsi + 0xa]
movd xmm7, eax
cvtdq2ps xmm7, xmm7
movzx eax, byte [rsi + 0xb]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm7, xmm0
jmp 0x140011a4f
movss xmm7, dword [0x1401cbd74]
movzx eax, byte [rsi + 0xc]
movd xmm3, eax
cvtdq2ps xmm3, xmm3
mulss xmm3, xmm7
movss xmm8, dword [0x140230ac8]
divss xmm8, xmm3
movaps xmm0, xmm8
movss xmm2, dword [0x1402309e0]
addss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [rbx + 0x344], eax
movaps xmm1, xmm8
mulss xmm1, dword [0x1402309d0]
mulss xmm1, dword [0x140230b0c]
divss xmm1, dword [0x140230af8]
addss xmm1, xmm2
cvttss2si r9d, xmm1
imul r9d, r9d, 0x64
mov dword [rbx + 0x340], r9d
movss xmm0, dword [0x1401cda10]
divss xmm0, xmm3
addss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [rbx + 0x348], eax
lea r8, str.PC3__d
mov rdx, rbp
lea rcx, [rbx + 0x50]
call fcn.140044464
test byte [rsi + 0xe], r15b
je 0x140011b29
mov r13d, 0x10
mov rcx, r13
call fcn.14013f12c
mov qword [rsp + 0x98], rax
cmp rax, rdi
je 0x140011b0e
mov rcx, rax
call fcn.140004218
jmp 0x140011b11
mov rax, rdi
mov dword [rax + 8], 0x40800000
mov rdx, rax
mov rcx, qword [rbx + 0x350]
call fcn.14000c940
jmp 0x140011b2f
mov r13d, 0x10
test byte [rsi + 0xe], 2
je 0x140011b6d
mov rcx, r13
call fcn.14013f12c
mov qword [rsp + 0x98], rax
cmp rax, rdi
je 0x140011b54
mov rcx, rax
call fcn.140004218
jmp 0x140011b57
mov rax, rdi
mov dword [rax + 8], 0x40a00000
mov rdx, rax
mov rcx, qword [rbx + 0x350]
call fcn.14000c940
test byte [rsi + 0xe], 4
je 0x140011bab
mov rcx, r13
call fcn.14013f12c
mov qword [rsp + 0x98], rax
cmp rax, rdi
je 0x140011b92
mov rcx, rax
call fcn.140004218
jmp 0x140011b95
mov rax, rdi
mov dword [rax + 8], 0x40c00000
mov rdx, rax
mov rcx, qword [rbx + 0x350]
call fcn.14000c940
test byte [rsi + 0xe], 8
je 0x140011be9
mov rcx, r13
call fcn.14013f12c
mov qword [rsp + 0x98], rax
cmp rax, rdi
je 0x140011bd0
mov rcx, rax
call fcn.140004218
jmp 0x140011bd3
mov rax, rdi
mov dword [rax + 8], 0x40e00000
mov rdx, rax
mov rcx, qword [rbx + 0x350]
call fcn.14000c940
test byte [rsi + 0xe], r13b
je 0x140011c27
mov rcx, r13
call fcn.14013f12c
mov qword [rsp + 0x98], rax
cmp rax, rdi
je 0x140011c0e
mov rcx, rax
call fcn.140004218
jmp 0x140011c11
mov rax, rdi
mov dword [rax + 8], 0x41000000
mov rdx, rax
mov rcx, qword [rbx + 0x350]
call fcn.14000c940
test byte [rsi + 0xe], bpl
je 0x140011c65
mov rcx, r13
call fcn.14013f12c
mov qword [rsp + 0x98], rax
cmp rax, rdi
je 0x140011c4c
mov rcx, rax
call fcn.140004218
jmp 0x140011c4f
mov rax, rdi
mov dword [rax + 8], 0x41100000
mov rdx, rax
mov rcx, qword [rbx + 0x350]
call fcn.14000c940
test byte [rsi + 0xe], 0x40
je 0x140011ca3
mov rcx, r13
call fcn.14013f12c
mov qword [rsp + 0x98], rax
cmp rax, rdi
je 0x140011c8a
mov rcx, rax
call fcn.140004218
jmp 0x140011c8d
mov rax, rdi
mov dword [rax + 8], 0x41200000
mov rdx, rax
mov rcx, qword [rbx + 0x350]
call fcn.14000c940
test byte [rsi + 0xe], 0x80
je 0x140011ce1
mov rcx, r13
call fcn.14013f12c
mov qword [rsp + 0x98], rax
cmp rax, rdi
je 0x140011cc8
mov rcx, rax
call fcn.140004218
jmp 0x140011ccb
mov rax, rdi
mov dword [rax + 8], 0x41300000
mov rdx, rax
mov rcx, qword [rbx + 0x350]
call fcn.14000c940
test byte [rsi + 0xf], r15b
je 0x140011d1f
mov rcx, r13
call fcn.14013f12c
mov qword [rsp + 0x98], rax
cmp rax, rdi
je 0x140011d06
mov rcx, rax
call fcn.140004218
jmp 0x140011d09
mov rax, rdi
mov dword [rax + 8], 0x41400000
mov rdx, rax
mov rcx, qword [rbx + 0x350]
call fcn.14000c940
test byte [rsi + 0xf], 2
je 0x140011d5d
mov rcx, r13
call fcn.14013f12c
mov qword [rsp + 0x98], rax
cmp rax, rdi
je 0x140011d44
mov rcx, rax
call fcn.140004218
jmp 0x140011d47
mov rax, rdi
mov dword [rax + 8], 0x41500000
mov rdx, rax
mov rcx, qword [rbx + 0x350]
call fcn.14000c940
test byte [rsi + 0xf], 4
je 0x140011d9b
mov rcx, r13
call fcn.14013f12c
mov qword [rsp + 0x98], rax
cmp rax, rdi
je 0x140011d82
mov rcx, rax
call fcn.140004218
jmp 0x140011d85
mov rax, rdi
mov dword [rax + 8], 0x41600000
mov rdx, rax
mov rcx, qword [rbx + 0x350]
call fcn.14000c940
test byte [rsi + 0xf], 8
je 0x140011dd9
mov rcx, r13
call fcn.14013f12c
mov qword [rsp + 0x98], rax
cmp rax, rdi
je 0x140011dc0
mov rcx, rax
call fcn.140004218
jmp 0x140011dc3
mov rax, rdi
mov dword [rax + 8], 0x41700000
mov rdx, rax
mov rcx, qword [rbx + 0x350]
call fcn.14000c940
test byte [rsi + 0xf], r13b
je 0x140011e17
mov rcx, r13
call fcn.14013f12c
mov qword [rsp + 0x98], rax
cmp rax, rdi
je 0x140011dfe
mov rcx, rax
call fcn.140004218
jmp 0x140011e01
mov rax, rdi
mov dword [rax + 8], 0x41800000
mov rdx, rax
mov rcx, qword [rbx + 0x350]
call fcn.14000c940
test byte [rsi + 0xf], bpl
je 0x140011e55
mov rcx, r13
call fcn.14013f12c
mov qword [rsp + 0x98], rax
cmp rax, rdi
je 0x140011e3c
mov rcx, rax
call fcn.140004218
jmp 0x140011e3f
mov rax, rdi
mov dword [rax + 8], 0x41880000
mov rdx, rax
mov rcx, qword [rbx + 0x350]
call fcn.14000c940
test byte [rsi + 0xf], 0x40
je 0x140011e93
mov rcx, r13
call fcn.14013f12c
mov qword [rsp + 0x98], rax
cmp rax, rdi
je 0x140011e7a
mov rcx, rax
call fcn.140004218
jmp 0x140011e7d
mov rax, rdi
mov dword [rax + 8], 0x41900000
mov rdx, rax
mov rcx, qword [rbx + 0x350]
call fcn.14000c940
movzx eax, byte [rsi + 0x10]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm7
mov ecx, dword [rbx + 0x344]
cmp ecx, 0x190
je 0x140012016
cmp ecx, 0x215
je 0x140011fc8
cmp ecx, 0x29b
je 0x140011f50
cmp ecx, 0x320
jne 0x140012048
cmp eax, 0x50
je 0x140011f38
cmp eax, 0x5a
je 0x140011f20
cmp eax, 0x64
je 0x140011f08
cmp eax, 0x6e
jne 0x140012048
lea r8, [0x1401cd83c]
mov rdx, rbp
lea rcx, [rbx + 0x50]
call fcn.14004453c
jmp 0x140012048
lea r8, [0x1401cd838]
mov rdx, rbp
lea rcx, [rbx + 0x50]
call fcn.14004453c
jmp 0x140012048
lea r8, [0x1401cd834]
mov rdx, rbp
lea rcx, [rbx + 0x50]
call fcn.14004453c
jmp 0x140012048
lea r8, [0x1401cd830]
mov rdx, rbp
lea rcx, [rbx + 0x50]
call fcn.14004453c
jmp 0x140012048
cmp eax, 0x54
je 0x140011fb0
cmp eax, 0x60
je 0x140011f98
cmp eax, 0x6c
je 0x140011f80
cmp eax, 0x78
jne 0x140012048
lea r8, [0x1401cd838]
mov rdx, rbp
lea rcx, [rbx + 0x50]
call fcn.14004453c
jmp 0x140012048
lea r8, [0x1401cd834]
mov rdx, rbp
lea rcx, [rbx + 0x50]
call fcn.14004453c
jmp 0x140012048
lea r8, [0x1401cd830]
mov rdx, rbp
lea rcx, [rbx + 0x50]
call fcn.14004453c
jmp 0x140012048
lea r8, [0x1401cd82c]
mov rdx, rbp
lea rcx, [rbx + 0x50]
call fcn.14004453c
jmp 0x140012048
cmp eax, 0x5a
je 0x140012001
cmp eax, 0x69
je 0x140011fec
cmp eax, 0x78
jne 0x140012048
lea r8, [0x1401cd830]
mov rdx, rbp
lea rcx, [rbx + 0x50]
call fcn.14004453c
jmp 0x140012048
lea r8, [0x1401cd82c]
mov rdx, rbp
lea rcx, [rbx + 0x50]
call fcn.14004453c
jmp 0x140012048
lea r8, str.EFGHJK
mov rdx, rbp
lea rcx, [rbx + 0x50]
call fcn.14004453c
jmp 0x140012048
cmp eax, 0x64
je 0x140012035
cmp eax, 0x78
jne 0x140012048
lea r8, str.EFGHJK
mov rdx, rbp
lea rcx, [rbx + 0x50]
call fcn.14004453c
jmp 0x140012048
lea r8, [0x1401cb314]
mov rdx, rbp
lea rcx, [rbx + 0x50]
call fcn.14004453c
mov rcx, qword [rbx + 0x350]
cmp rcx, rdi
je 0x1400120b9
mov rcx, qword [rcx + 8]
cmp rcx, rdi
je 0x140012063
mov rax, qword [rcx + 8]
jmp 0x140012066
mov rax, rdi
cmp rax, rdi
je 0x1400120b9
movss xmm1, dword [rax + 8]
comiss xmm1, dword [0x140204d54]
jbe 0x14001209d
movaps xmm0, xmm6
divss xmm0, xmm1
movss xmm1, dword [0x140230ac8]
divss xmm1, xmm0
movss dword [rax + 0xc], xmm1
comiss xmm1, xmm8
jbe 0x14001209d
movss dword [rax + 0xc], xmm8
cmp rcx, rdi
je 0x1400120b1
mov rcx, qword [rcx + 0x10]
cmp rcx, rdi
je 0x1400120b9
mov rax, qword [rcx + 8]
jmp 0x1400120b4
mov rax, rdi
cmp rax, rdi
jne 0x14001206b
movzx eax, byte [rsi + 0x12]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [rbx + 0x358], xmm0
movzx eax, byte [rsi + 0x13]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm7
movss dword [rbx + 0x35c], xmm1
movzx eax, byte [rsi + 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [rbx + 0x360], xmm0
movzx ecx, byte [rsi + 0x15]
mov r13d, 0xf
and ecx, r13d
shl ecx, 8
movzx eax, byte [rsi + 0x16]
add ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [rbx + 0x364], xmm0
movzx ecx, byte [rsi + 0x15]
shr ecx, 4
shl ecx, 8
movzx eax, byte [rsi + 0x17]
add ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm7
movss dword [rbx + 0x368], xmm0
movzx eax, byte [rsi + 0x3c]
and eax, 0x1f
mov dword [rbx + 0x320], eax
movzx eax, byte [rsi + 0x75]
and eax, 0x7f
cmp eax, r13d
cmovg eax, r13d
mov ecx, edi
movsxd r12, eax
cmp r12, rdi
jle 0x140012180
lea rcx, [rbx + 0x70]
mov r8, r12
mov dl, 0x7f
call fcn.140158a90
mov ecx, r12d
movsxd rcx, ecx
mov al, byte [rsi + 0x76]
mov byte [rcx + rbx + 0x70], al
lea rdx, [rbx + 0xb0]
lea rcx, [rbx + 0x70]
call fcn.140009b9c
mov r11b, byte [rsi + 0x78]
mov cl, r11b
shr cl, 4
mov al, cl
shl al, 2
add cl, al
add cl, cl
and r11b, r13b
add cl, r11b
mov byte [rbx + 0x380], cl
mov cl, byte [rsi + 0x79]
mov dl, cl
shr dl, 4
mov al, dl
shl al, 2
add dl, al
add dl, dl
and cl, r13b
add dl, cl
mov byte [rbx + 0x381], dl
movzx r9d, byte [rsi + 0x7a]
shl r9d, 8
movzx eax, byte [rsi + 0x7b]
add r9d, eax
shl r9d, 8
movzx eax, byte [rsi + 0x7c]
add r9d, eax
shl r9d, 8
movzx eax, byte [rsi + 0x7d]
add r9d, eax
mov dword [rbx + 0x2f4], r9d
lea rcx, [rbx + 0x2d0]
lea r8, [0x1401cb428]
mov rdx, rbp
call fcn.140044464
lea r11, [rbx + 0x2b0]
lea rdx, [rsi + 0x80]
mov r8d, 0x12
movzx ecx, byte [rdx]
mov eax, edi
cmp cl, 0xff
cmovne eax, ecx
mov byte [r11], al
add rdx, r15
add r11, r15
sub r8, r15
jne 0x14001222c
mov byte [rbx + 0x2c2], dil
movzx eax, byte [rsi + 0x94]
and eax, 0x7f
cmp eax, r13d
cmovg eax, r13d
movsxd rbp, eax
cmp rbp, rdi
jle 0x140012278
lea rcx, [rbx + 0x90]
mov r8, rbp
mov dl, 0x7f
call fcn.140158a90
mov edi, ebp
movsxd rcx, edi
mov al, byte [rsi + 0x95]
mov byte [rcx + rbx + 0x90], al
lea rdx, [rbx + 0x1b0]
lea rcx, [rbx + 0x90]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x40]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
jmp fcn.140009b9c