Function at 0x1400977e0
Capabilities:
Encode data using xor
Validate payment card number using luhn algorithm

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x18
mov rbx, rdx
nop word cs:[rax + rax]
mov eax, dword [0x14158f018]
mov edx, dword [0x14158f01c]
mov r9d, eax
or r9d, edx
not r9d
not eax
not edx
and edx, eax
or edx, r9d
or edx, 0x80080
and edx, 0x204a00a1
cmp edx, 0x77570097
ja 0x140097800
cmp r8, 8
mov qword [rsp + 8], rbx
jb 0x140097a4a
movabs rdi, 0x8080808080808080
movabs r14, 0x590c11ed2c647ea7
movabs r15, 0x4646464646464646
movabs r12, 0xf424000000064
movabs r13, 0x271000000001
movabs rbp, 0xff000000ff
xor r10d, r10d
not rdi
mov rsi, r8
nop word cs:[rax + rax]
mov eax, dword [str.0g]
mov edx, dword [0x14158f024]
mov r9d, eax
not r9d
and r9d, edx
mov r11d, edx
not r11d
and r11d, eax
imul r11d, r9d
mov r9d, eax
and r9d, edx
or eax, edx
imul eax, r9d
add eax, r11d
mov edx, eax
not edx
mov r9d, eax
or r9d, 0xcf595819
mov r11d, r9d
and r11d, 0x3df866fc
and edx, 0x68102
imul edx, r11d
and r9d, 0xc2079903
or eax, 0xcf5fd91b
imul eax, r9d
add eax, edx
and eax, 0xfffffffe
xor eax, 0x6756e5f4
cmp eax, 0x445bb365
jb 0x140097890
mov r9, qword [rbx]
lea rax, [r9 + r15]
movabs rdx, 0xcfcfcfcfcfcfcfd0
add r9, rdx
mov rdx, r9
and rdx, rax
add rax, r9
sub rax, rdx
not rax
or rax, rdi
not rax
test rax, rax
jne 0x140097ab5
mov eax, r10d
not eax
and eax, 0x5f5e100
mov rdx, r10
and rdx, 0xfffffffffa0a1eff
imul rdx, rax
mov eax, r10d
and eax, 0x5f5e100
or r10, 0x5f5e100
imul r10, rax
add r10, rdx
mov rax, r9
and rax, 0xfffffffffffffff5
mov edx, r9d
not edx
and edx, 0xa
imul rdx, rax
mov eax, r9d
and eax, 0xa
mov r11, r9
or r11, 0xa
imul r11, rax
shr r9, 8
add r9, r11
add r9, rdx
mov r11, r9
and r11, rbp
mov rax, r12
not rax
mov rdx, r11
and rdx, rax
or rax, r11
not rax
imul rax, rdx
mov rdx, r11
and rdx, r12
or r11, r12
imul r11, rdx
add r11, rax
shr r9, 0x10
and r9, rbp
mov rax, r9
not rax
and rax, r13
mov rdx, r13
not rdx
and rdx, r9
imul rdx, rax
mov rax, r9
and rax, r13
or r9, r13
imul r9, rax
add r9, rdx
mov eax, dword [0x14158f040]
xor edx, edx
div dword [0x14158f044]
mov eax, dword [0x14158f048]
add eax, dword [0x14158f04c]
imul eax, eax, 0x1ca4f3ea
add eax, 0x8b4c3c38
or eax, 0xaa4bbc94
cmp eax, 0xc0274afb
je 0x1400979f9
mov rax, r9
and rax, r11
xor r9, r11
lea rax, [r9 + rax*2]
shr rax, 0x20
sub rax, r14
add r10, r14
add r10, rax
add rsi, 0xfffffffffffffff8
add rbx, 8
cmp rsi, 7
ja 0x140097890
jmp 0x140097a50
xor r10d, r10d
mov rsi, r8
mov r13, qword [rsp + 8]
nop word cs:[rax + rax]
mov eax, dword [0x14158f02c]
add eax, dword [0x14158f028]
imul eax, eax, 0x17ab21c8
add eax, 0x4204d712
mov edx, eax
not edx
mov r9d, eax
and r9d, 0xa72e0f52
and edx, 0x58d1f0a8
imul edx, r9d
mov r9d, eax
and r9d, 0x58d1f0a8
or eax, 0x58d1f0a8
imul eax, r9d
add eax, edx
cmp eax, 0x5b28856d
jb 0x140097a60
test rsi, rsi
jne 0x140097aba
jmp 0x140097b7b
mov r13, qword [rsp + 8]
xor r9d, r9d
nop dword [rax]
movzx eax, byte [rbx]
lea r11d, [rax - 0x30]
cmp r11b, 9
ja 0x140097bd3
mov eax, dword [0x14158f030]
xor edx, edx
div dword [0x14158f034]
nop
test r9b, r9b
jne 0x140097ae0
dec rsi
inc rbx
mov rax, r10
and rax, 0xfffffffffffffff5
mov edx, r10d
not edx
and edx, 0xa
imul rdx, rax
mov eax, r10d
and eax, 0xa
or r10, 0xa
imul r10, rax
mov rax, r10
add rax, rdx
movzx r10d, r11b
nop word cs:[rax + rax]
mov edx, dword [0x14158f038]
and edx, dword [0x14158f03c]
or edx, 0x17a26cb6
and edx, 0x77a26cb6
cmp edx, 0x50c13a52
ja 0x140097b20
add r10, rax
test rsi, rsi
jne 0x140097ac0
nop dword [rax]
mov eax, dword [0x14158f060]
sub eax, dword [0x14158f064]
mov edx, eax
not edx
or edx, 0x22f8fb66
add eax, edx
inc eax
or eax, 0x55ddebd6
and eax, 0x7ddfeff7
cmp eax, 0x1d0c549c
jb 0x140097b50
xor esi, esi
nop dword [rax]
mov eax, dword [0x14158f068]
sub eax, dword [0x14158f06c]
imul rax, rax, 0x342d93dd
shr rax, 0x3c
add eax, 0xaa899f71
not eax
or eax, 0xcb58b86b
cmp eax, 0xf3a35c9
jb 0x140097b80
mov r11, r8
xor eax, eax
xor r15d, r15d
xor r14d, r14d
cmp r11, 0x14
jge 0x14009814b
xor r8d, r8d
mov bpl, 2
test rax, rax
jne 0x140098ae6
jmp 0x1400989df
mov edx, 0x9294317f
mov r12, r8
sub r12, rsi
lea r11, [rsi - 1]
nop word cs:[rax + rax]
mov r9d, dword [0x14158f054]
add r9d, dword [0x14158f050]
shr r9d, 1
imul r9, rdx
shr r9, 0x3e
mov edi, r9d
xor edi, 0x29aab223
lea r9d, [rdi + r9*2]
add r9d, 0x1a2b78a1
cmp r9d, 0xa3fd6f88
ja 0x140097bf0
cmp al, 0x2e
jne 0x140097e69
inc rbx
nop word cs:[rax + rax]
mov eax, dword [0x14158f070]
imul eax, dword [0x14158f074]
or eax, 0x8483404e
and eax, 0xb4c361ce
add eax, 0x1791a7ac
cmp eax, 0x23df573
jb 0x140097c40
nop word cs:[rax + rax]
mov eax, dword [0x14158f078]
xor edx, edx
div dword [0x14158f07c]
and eax, 0x29211848
xor eax, 0xc0042e41
add eax, 0xc9d3dc53
jae 0x140097c70
cmp r11, 8
mov qword [rsp], r12
jb 0x140097e77
movabs r12, 0x4646464646464646
movabs r13, 0xf424000000064
movabs rbp, 0x271000000001
xor eax, eax
mov r15, r11
mov edx, dword [0x14158f080]
mov r9d, dword [0x14158f084]
not edx
mov r14d, edx
and r14d, r9d
or edx, r9d
not edx
or edx, r14d
add edx, 0xa4cd97b9
and edx, 0xe1679ae
cmp edx, 0xe59129d3
je 0x140097cc0
mov rdx, qword [rbx]
mov r9, rdx
and r9, r12
mov r14, rdx
xor r14, r12
lea r9, [r14 + r9*2]
movabs rdi, 0xcfcfcfcfcfcfcfd0
add rdx, rdi
or r9, rdx
movabs rdi, 0x8080808080808080
test r9, rdi
jne 0x140097ed7
test al, al
jne 0x140097d27
mov r9, r10
and r9, 0xfffffffffa0a1eff
mov r14d, r10d
not r14d
and r14d, 0x5f5e100
imul r14, r9
mov r9d, r10d
and r9d, 0x5f5e100
or r10, 0x5f5e100
imul r10, r9
add r10, r14
lea r9, [rdx + rdx*4]
shr rdx, 8
lea r9, [rdx + r9*2]
mov rdx, r9
movabs rdi, 0xff000000ff
and rdx, rdi
mov r14, r13
not r14
mov rdi, rdx
and rdi, r14
or r14, rdx
not r14
imul r14, rdi
mov rdi, rdx
and rdi, r13
or rdx, r13
imul rdx, rdi
add rdx, r14
shr r9, 0x10
test al, al
jne 0x140097da4
movabs rdi, 0xff000000ff
and r9, rdi
mov rdi, r9
not rdi
and rdi, rbp
mov r14, rbp
not r14
and r14, r9
imul r14, rdi
mov rdi, r9
and rdi, rbp
or r9, rbp
imul r9, rdi
add r9, r14
add rdx, r9
shr rdx, 0x20
movabs r9, 0x62d9697780e0e471
add r10, r9
add r10, rdx
sub r10, r9
add r15, 0xfffffffffffffff8
add rbx, 8
mov edx, dword [0x14158f0b0]
sub edx, dword [0x14158f0b4]
mov r9d, edx
xor r9d, 0x4a84b907
add r9d, edx
and edx, 0xb57b46f8
sub r9d, edx
mov edx, r9d
not edx
and edx, 0x5d9ebd77
mov edi, r9d
and edi, 0xa2614288
imul edi, edx
mov edx, r9d
and edx, 0x5d9ebd77
or r9d, 0x5d9ebd77
imul r9d, edx
add r9d, edi
xor r9d, 0xe2af1604
cmp r9d, 0x12973740
jb 0x140097dfd
cmp r15, 7
ja 0x140097cc0
jmp 0x140097e7a
xor r14d, r14d
mov r15, rsi
xor r11d, r11d
jmp 0x14009809b
mov r15, r11
mov r12, qword [rsp]
nop
mov eax, dword [0x14158f088]
mov edx, dword [0x14158f08c]
mov r9d, eax
not r9d
and r9d, edx
mov edi, edx
not edi
and edi, eax
imul edi, r9d
mov r9d, eax
and r9d, edx
or eax, edx
imul eax, r9d
add eax, edi
and eax, 0x19a272fd
xor eax, 0x9d4f5d94
imul rax, rax, 0x6ae75e91
shr rax, 0x3b
cmp eax, 0xe0ffd7d8
je 0x140097e80
test r15, r15
je 0x140098045
mov rax, rbx
jmp 0x140097ede
mov rax, rbx
mov r12, qword [rsp]
lea rbx, [rax + r15]
nop word cs:[rax + rax]
mov edx, dword [0x14158f090]
add edx, dword [0x14158f094]
xor edx, 0x8a6d9943
add edx, 0xfcc6b4cc
shr edx, 7
imul rdx, rdx, 0x258396b
shr rdx, 0x2e
cmp edx, 0x342da494
ja 0x140097ef0
movabs rdx, 0x23408abf1bb8fb31
nop dword [rax + rax]
mov r9d, dword [0x14158f098]
sub r9d, dword [0x14158f09c]
mov edi, r9d
xor edi, 0x2a411499
and edi, r9d
add edi, 0x193126fd
or edi, 0x9f2a5871
cmp edi, 0xfc300e8b
jb 0x140097f30
movzx r9d, byte [rax]
add r9b, 0xd0
cmp r9b, 9
ja 0x14009804a
mov edi, dword [0x14158f0a0]
sub edi, dword [0x14158f0a4]
add edi, 0x77d600b
shr edi, 2
imul rdi, rdi, 0x25038c7d
shr rdi, 0x3b
or edi, 0xb6ffdf18
cmp edi, 0x363501d9
je 0x140097f70
inc rax
mov rdi, r15
not rdi
lea r15, [rdi + r15*2]
mov edi, dword [0x14158f0a8]
mov ebp, dword [0x14158f0ac]
mov r14d, edi
xor r14d, ebp
not r14d
and r14d, ebp
add r14d, r14d
sub ebp, r14d
add ebp, edi
mov edi, ebp
xor edi, 0x8b8dfc4a
and edi, ebp
mov ebp, edi
not ebp
mov r14d, edi
and r14d, 0xf2dafb30
and ebp, 0xd2504cf
imul ebp, r14d
mov r14d, edi
and r14d, 0xd2504cf
or edi, 0xd2504cf
imul edi, r14d
add edi, ebp
cmp edi, 0x916a3d3d
je 0x140097fab
mov edi, r10d
not edi
and edi, 0xa
mov r14, r10
and r14, 0xfffffffffffffff5
imul r14, rdi
mov edi, r10d
and edi, 0xa
or r10, 0xa
imul r10, rdi
movzx r9d, r9b
add r10, rdx
add r10, r14
add r10, r9
sub r10, rdx
test r15, r15
jne 0x140097f30
xor r15d, r15d
jmp 0x14009804d
mov rbx, rax
sub r11, r15
mov r14, r11
neg r14
nop word cs:[rax + rax]
mov eax, dword [0x14158f0b8]
mov edx, dword [0x14158f0bc]
mov r9d, eax
and r9d, edx
add r9d, r9d
add eax, edx
sub eax, r9d
xor eax, 0x40421000
or eax, 0xa7b527ff
mov edx, eax
and edx, 0x2250a672
xor eax, 0xa250a672
lea eax, [rax + rdx*2]
cmp eax, 0xd07ec3a3
ja 0x140098060
mov rax, r11
and rax, r12
or r11, r12
add r11, rax
nop word [rax + rax]
mov eax, dword [0x14158f058]
imul eax, dword [0x14158f05c]
or eax, 0x66483fef
xor eax, 0x5717d6d7
add eax, 0x604450d8
cmp eax, 0x4bf80b8a
jb 0x1400980b0
mov bpl, 2
test r11, r11
je 0x140098ae6
lea r13, [rbx + 1]
lea rdx, [r15 - 1]
xor eax, eax
nop dword [rax]
test al, al
jne 0x1400980f0
test r15, r15
je 0x140098137
nop dword [rax]
mov eax, dword [0x14158f0c0]
or eax, dword [0x14158f0c4]
xor eax, 0x996418
or eax, 0xbc4612e1
cmp eax, 0xedb598f4
jb 0x140098100
movzx eax, byte [rbx]
cmp al, 0x65
jge 0x1400984f6
cmp al, 0x45
je 0x1400984fc
mov eax, 1
jmp 0x140098139
xor eax, eax
xor r15d, r15d
mov r13, qword [rsp + 8]
cmp r11, 0x14
jl 0x140097bbf
mov qword [rsp], rax
add r11, 0xffffffffffffffed
nop word cs:[rax + rax]
mov eax, dword [0x14158f140]
mov edx, dword [0x14158f144]
mov r9d, eax
not r9d
and r9d, edx
not edx
and edx, eax
sub edx, r9d
cmp edx, 0x50e22712
je 0x140098160
lea rdx, [r13 + 1]
nop dword [rax + rax]
mov eax, dword [0x14158f148]
mov r9d, dword [0x14158f14c]
mov edi, r9d
not edi
and edi, eax
xor r9d, eax
add r9d, eax
sub r9d, edi
or r9d, 0x3241d84
add r9d, 0x9a6a9cc5
and r9d, 0x259a0bc
cmp r9d, 0x143f0cd5
ja 0x140098190
mov qword [rsp + 0x10], r15
mov eax, dword [0x14158f154]
add eax, dword [0x14158f150]
not eax
or eax, 0x8101362b
and eax, 0xb3253f7b
xor eax, 0x8170cb5d
cmp eax, 0xda310226
ja 0x1400981d0
xor eax, eax
mov r12, r8
mov r15, r13
nop dword [rax]
movzx ebp, byte [r15]
mov r15, rdx
cmp bpl, 0x30
jge 0x140098220
cmp bpl, 0x2e
je 0x140098226
jmp 0x140098340
jne 0x140098340
mov r13d, dword [0x14158f160]
mov edx, dword [0x14158f164]
mov r9d, edx
not r9d
mov edi, r13d
and edi, r9d
or r9d, r13d
not r9d
imul r9d, edi
mov edi, r13d
and edi, edx
or r13d, edx
imul r13d, edi
add r13d, r9d
mov edx, r13d
not edx
and edx, 0xe92fb9
and r13d, 0xff16d046
sub r13d, edx
mov edx, ebp
sub dl, 0x2f
movzx ebx, dl
cmovb ebx, eax
lea rdx, [r15 + 1]
mov r9, r12
dec r9
cmove rdx, r15
cmp r13d, 0x6ad80a7b
je 0x140098226
movzx edi, bl
sub r11, rdi
nop word cs:[rax + rax]
test r15, r15
sete r12b
test r9, r9
sete bpl
mov edi, dword [0x14158f168]
mov ebx, dword [0x14158f16c]
not edi
not ebx
and ebx, edi
mov edi, ebx
not edi
or edi, 0xb7960ede
and ebx, 0x48619100
mov r13d, edi
and r13d, 0xa30a6021
or r13d, ebx
xor r13d, 0xc684281
and edi, 0x509ddd5f
or edi, r13d
mov ebx, edi
and ebx, 0xe87bf123
xor ebx, 0x8641bc80
and edi, 0x91c5b25c
or edi, ebx
cmp edi, 0x20991abc
je 0x1400982a0
or bpl, r12b
nop
mov edi, dword [0x14158f174]
mov ebx, edi
xor ebx, edi
not ebx
and ebx, dword [0x14158f170]
xor ebx, edi
cmp ebx, 0xd95c4a5c
je 0x140098310
mov r12, r9
test bpl, bpl
mov r13, qword [rsp + 8]
je 0x140098200
nop dword [rax]
mov eax, dword [0x14158f158]
xor edx, edx
div dword [0x14158f15c]
imul eax, eax, 0xb432550
add eax, 0x5a0a0713
or eax, 0x63f1d6e6
cmp eax, 0xd00c14d1
jb 0x140098340
test r11, r11
jle 0x140098957
movabs rax, 0xf492d6356d1a66fb
movabs r15, 0xde0b6b3a763ffff
xor r9d, r9d
mov edx, 0x9b2a0527
nop word [rax + rax]
movzx ebp, byte [r13]
add bpl, 0xd0
cmp bpl, 9
ja 0x1400984ee
dec r8
inc r13
nop dword [rax]
mov r10d, dword [0x14158f178]
mov r14d, dword [0x14158f17c]
not r10d
not r14d
or r14d, r10d
not r14d
add r14d, 0x24c46bc0
mov r10d, r14d
not r10d
and r10d, 0x45bf1b1d
and r14d, 0xba40e4e2
sub r14d, r10d
imul r14, rdx
shr r14, 0x3e
lea r10, [r9 + r9]
lea rdi, [r10 + r10*4]
movzx r10d, bpl
sub rdi, rax
add r10, rax
add r10, rdi
cmp r10, r15
seta bl
test r8, r8
sete r12b
cmp r14d, 0x146ec2a9
je 0x1400983b0
or bl, r12b
mov r9, r10
je 0x140098390
nop word [rax + rax]
mov eax, dword [0x14158f180]
and eax, dword [0x14158f184]
mov edx, eax
xor edx, 0x4070a580
xor eax, 0x62f8a7cd
and edx, 0x5977ed90
add edx, edx
sub edx, eax
mov eax, edx
not eax
mov r9d, edx
and r9d, 0x9f05939e
and eax, 0x60fa6c61
imul eax, r9d
mov r9d, edx
and r9d, 0x60fa6c61
or edx, 0x60fa6c61
imul edx, r9d
add edx, eax
cmp edx, 0x9fb9e515
jb 0x140098430
cmp r10, r15
jbe 0x14009865c
sub r8, rsi
nop word cs:[rax + rax]
mov eax, dword [0x14158f1a0]
mov edx, dword [0x14158f1a4]
mov r9d, eax
xor r9d, edx
not edx
and edx, eax
add edx, edx
sub edx, r9d
mov eax, edx
and eax, 0x161d29c1
xor edx, 0x161d29c1
lea eax, [rdx + rax*2]
add eax, 0xe6288ec1
mov edx, eax
xor edx, 0x76b03cc9
or eax, 0x894fc336
and eax, edx
cmp eax, 0xb942f0e5
jae 0x1400984a0
mov r14, r8
jmp 0x140098918
mov r10, r9
jmp 0x1400986a1
jne 0x140098130
mov qword [rsp], rdx
mov eax, dword [0x14158f0c8]
add eax, dword [0x14158f0cc]
mov edx, eax
xor edx, 0x6ae0ed30
and edx, eax
mov eax, edx
xor eax, 0x60064a9d
add eax, edx
and edx, 0x9ff9b562
sub eax, edx
add eax, 0xe14b4434
cmp eax, 0xfd322017
ja 0x140098500
nop word cs:[rax + rax]
mov eax, dword [0x14158f0d0]
xor edx, edx
div dword [0x14158f0d4]
mov edx, eax
not edx
and edx, 0x65ccf1db
mov r9d, eax
and r9d, 0x9a330e24
imul r9d, edx
mov edx, eax
and edx, 0x65ccf1db
or eax, 0x65ccf1db
imul eax, edx
add eax, r9d
mov edx, eax
not edx
and edx, 0x721d0fd9
mov r9d, eax
and r9d, 0x8de2f026
imul r9d, edx
mov edx, eax
and edx, 0x721d0fd9
or eax, 0x721d0fd9
imul eax, edx
add eax, r9d
or eax, 0x610cb187
cmp eax, 0x331354f4
je 0x140098540
cmp qword [rsp], 0
je 0x140098ae6
mov eax, dword [0x14158f0d8]
xor edx, edx
div dword [0x14158f0dc]
nop dword [rax]
mov eax, dword [0x14158f0e0]
imul eax, dword [0x14158f0e4]
and eax, 0xc6b30c00
imul rax, rax, 0x4aeadfa1
shr rax, 0x3b
mov edx, eax
xor edx, 0xa4837a2c
and eax, 0xfffffffc
or eax, edx
cmp eax, 0x84f74e05
jb 0x1400985d0
movzx edi, byte [r13]
nop word cs:[rax + rax]
mov eax, dword [0x14158f0e8]
xor edx, edx
div dword [0x14158f0ec]
and eax, 0x68000131
or eax, 0x96dfccc6
mov edx, eax
xor edx, 0xfa0acc9f
and eax, 0x4d50160
add eax, eax
sub eax, edx
cmp eax, 0x9a6a7b01
jb 0x140098610
mov r9d, edi
cmp dil, 0x2d
jge 0x140098b86
cmp dil, 0x2b
je 0x140098b8c
jmp 0x140098ceb
mov eax, 0x94535f1b
nop word cs:[rax + rax]
mov edx, dword [str.LQVM__t]
add edx, dword [0x14158f19c]
xor edx, 0x8faf7298
imul rdx, rax
shr rdx, 0x3d
add edx, 0x1e631bb7
cmp edx, 0xdcc771af
ja 0x140098670
test r8, r8
je 0x140098e9e
mov eax, dword [0x14158f1b8]
xor edx, edx
div dword [0x14158f1bc]
mov eax, 0x94bf902d
mov rdx, r8
not rdx
lea r8, [rdx + r8*2]
nop
mov edx, dword [0x14158f1c0]
or edx, dword [0x14158f1c4]
imul rdx, rax
shr rdx, 0x3e
mov r9d, edx
not r9d
lea esi, [rdx + 0x7377368]
mov edi, esi
and edi, 0x6143021
and r9d, 0xa8c00496
imul r9d, edi
and esi, 0x123434a
or edx, 0xaff777fe
imul edx, esi
add edx, r9d
cmp edx, 0xb011444b
jb 0x1400986c0
test r8, r8
je 0x140098912
inc r13
nop dword [rax]
mov eax, dword [0x14158f1c8]
mov edx, dword [0x14158f1cc]
not eax
not edx
and edx, eax
mov eax, edx
not eax
xor edx, 0x4dfd928e
and eax, 0x4dfd928e
add eax, eax
sub eax, edx
add eax, 0xb165d0ef
shr eax, 1
imul rax, rax, 0x460248c5
shr rax, 0x3c
cmp eax, 0xf938d174
ja 0x140098720
nop
mov eax, dword [0x14158f1d0]
sub eax, dword [0x14158f1d4]
mov edx, eax
not edx
mov r9d, eax
and r9d, 0x65fa8994
and edx, 0x9a05766b
imul edx, r9d
mov r9d, eax
and r9d, 0x9a05766b
or eax, 0x9a05766b
imul eax, r9d
add eax, edx
mov edx, eax
not edx
or eax, 0x8059ca0
or edx, 0x50720207
and edx, eax
not edx
and edx, 0x58779ea7
cmp edx, 0xda86b3db
ja 0x140098760
mov esi, 0x8395151f
mov r12d, 0x827f4c37
mov r14, r8
nop dword [rax + rax]
mov eax, dword [0x14158f1d8]
xor edx, edx
div dword [0x14158f1dc]
mov eax, dword [0x14158f1e0]
mov edx, dword [0x14158f1e4]
mov r9d, eax
not r9d
and r9d, edx
not edx
and edx, eax
sub edx, r9d
imul rdx, rsi
shr rdx, 0x3f
cmp edx, 0x5d0bbf7a
je 0x1400987de
movzx r9d, byte [r13]
add r9b, 0xd0
cmp r9b, 9
ja 0x140098915
mov eax, dword [0x14158f1e8]
xor edx, edx
div dword [0x14158f1ec]
mov eax, dword [str.C6_6]
imul eax, dword [0x14158f1f4]
mov edx, eax
not edx
and edx, 0xb3f5eff5
mov edi, eax
and edi, 0x4c0a100a
imul edi, edx
mov edx, eax
and edx, 0xb3f5eff5
or eax, 0xb3f5eff5
imul eax, edx
add eax, edi
imul eax, eax, 0x681f3218
imul rax, rax, 0x3c16c047
shr rax, 0x3d
cmp eax, 0x14ce3a0
je 0x14009882b
dec r14
inc r13
mov rax, r10
and rax, 0xfffffffffffffff5
mov edx, r10d
not edx
and edx, 0xa
imul rdx, rax
mov eax, r10d
and eax, 0xa
or r10, 0xa
imul r10, rax
movzx eax, r9b
add r10, rax
add r10, rdx
nop dword [rax + rax]
mov eax, dword [0x14158f1f8]
or eax, dword [0x14158f1fc]
mov edx, eax
and edx, 0x150c40
and eax, 0x100400
add eax, eax
sub edx, eax
cmp edx, 0x185911e6
je 0x1400988b0
cmp r10, r15
seta r9b
mov eax, dword [0x14158f200]
xor edx, edx
div dword [0x14158f204]
imul rax, r12
shr rax, 0x3d
and eax, 3
or eax, 0xfa247f78
test r14, r14
sete dl
cmp eax, 0x81641630
je 0x1400988d5
or r9b, dl
je 0x1400987d0
jmp 0x140098915
xor r14d, r14d
sub r14, r8
mov rax, qword [rsp + 0x10]
add r14, rax
mov eax, dword [0x14158f208]
mov edx, dword [0x14158f20c]
mov r8d, eax
and r8d, edx
add r8d, r8d
add eax, edx
sub eax, r8d
add eax, 0x16d9a737
mov edx, eax
and edx, 0x16453a33
add edx, edx
sub eax, edx
add eax, 0x16453a33
cmp eax, 0x1eba0f72
jbe 0x140098920
mov eax, dword [0x14158f188]
xor edx, edx
div dword [0x14158f18c]
nop word cs:[rax + rax]
test r11, r11
setg r8b
mov eax, dword [0x14158f190]
mov edx, dword [0x14158f194]
mov r9d, eax
not r9d
and r9d, edx
mov esi, edx
not esi
and esi, eax
imul esi, r9d
mov r9d, eax
and r9d, edx
or eax, edx
imul eax, r9d
add eax, esi
mov edx, eax
not edx
or edx, 0xbb041587
add eax, edx
inc eax
mov edx, eax
xor edx, 0x8e92396b
xor eax, 0x312c0694
or eax, 0x4ec1f860
add eax, edx
inc eax
cmp eax, 0x8e12e583
jae 0x140098970
mov rax, qword [rsp]
mov bpl, 2
test rax, rax
jne 0x140098ae6
xor eax, eax
test al, al
je 0x1400989f0
mov qword [rcx], r14
mov qword [rcx + 8], r10
nop dword [rax]
mov eax, dword [0x14158f210]
xor edx, edx
div dword [0x14158f214]
add eax, 0x8708080d
mov edx, eax
xor edx, 0xc5942460
or eax, 0x40808c
and eax, edx
and eax, 0xc5d4a4ec
mov qword [rcx], r14
mov qword [rcx + 8], r10
cmp eax, 0x8f2f8099
je 0x1400989f0
xor eax, eax
test al, al
je 0x140098a30
mov byte [rcx + 0x10], 0
nop
mov eax, dword [0x14158f218]
xor edx, edx
div dword [0x14158f21c]
mov edx, eax
not edx
mov r9d, eax
and r9d, 0x2d357b0c
and edx, 0xd2ca84f3
imul edx, r9d
mov r9d, eax
and r9d, 0xd2ca84f3
or eax, 0xd2ca84f3
imul eax, r9d
add eax, edx
mov edx, eax
and edx, 0x4e7a266a
add edx, edx
sub eax, edx
add eax, 0xfebd7a06
mov byte [rcx + 0x10], 0
cmp eax, 0xb2717f48
jb 0x140098a30
nop word [rax + rax]
mov eax, dword [0x14158f220]
xor edx, edx
div dword [0x14158f224]
mov edx, eax
not edx
mov r9d, eax
and r9d, 0x454af7a7
and edx, 0xbab50858
imul edx, r9d
mov r9d, eax
and r9d, 0xbab50858
or eax, 0xbab50858
imul eax, r9d
add eax, edx
mov edx, eax
xor edx, 0x50514998
and edx, eax
add edx, 0xf7622540
cmp edx, 0x8fbfdf51
jb 0x140098a90
mov ebp, r8d
mov eax, dword [0x14158f228]
add eax, dword [0x14158f22c]
mov edx, eax
and edx, 0xd30fe93e
mov r8d, edx
not r8d
mov r9d, eax
and r9d, 0x204a922
and r8d, 0x191b545c
imul r8d, r9d
and eax, 0x110b401c
or edx, 0x191b545c
imul edx, eax
add edx, r8d
or edx, 0xe025835b
cmp edx, 0xf5b0bb1e
jne 0x140098b40
mov byte [rcx + 0x11], bpl
nop dword [rax + rax]
mov eax, dword [0x14158f230]
mov edx, dword [0x14158f234]
mov r8d, eax
not r8d
and r8d, edx
not edx
and edx, eax
sub edx, r8d
mov eax, edx
xor eax, 0xf49c793a
and eax, edx
add eax, 0xeef7f644
mov byte [rcx + 0x11], bpl
cmp eax, 0xf8a3053f
ja 0x140098b40
add rsp, 0x18
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jne 0x140098ceb
mov rax, r15
and rax, 0xfffffffffffffffe
or r15, 0xfffffffffffffffe
add r15, rax
mov qword [rsp], r15
nop
mov eax, dword [0x14158f0f0]
mov edx, dword [0x14158f0f4]
mov r9d, eax
not r9d
or r9d, edx
not edx
or edx, eax
not edx
not r9d
or r9d, edx
mov eax, r9d
and eax, 0x55bf9fd
mov edx, eax
not edx
and edx, 0x27cd592
mov r15d, r9d
and r15d, 0x103286d
imul r15d, edx
and r9d, 0x58d190
or eax, 0x27cd592
imul eax, r9d
add eax, r15d
or eax, 0xfd733f78
cmp eax, 0xe5e8c259
jb 0x140098ba0
mov eax, dword [0x14158f0f8]
mov edx, dword [0x14158f0fc]
mov r9d, edx
not r9d
mov r15d, eax
and r15d, r9d
or r9d, eax
not r9d
imul r9d, r15d
mov r15d, eax
and r15d, edx
or eax, edx
imul eax, r15d
add eax, r9d
or eax, 0xce13bb46
imul eax, eax, 0x18262c14
add eax, 0x95744f0c
cmp eax, 0x9969d5f
jb 0x140098c00
cmp qword [rsp], 0
je 0x140098ae6
add rbx, 2
nop word [rax + rax]
mov eax, dword [0x14158f104]
add eax, dword [0x14158f100]
mov edx, eax
not edx
and edx, 0x7792fcdf
mov r9d, eax
and r9d, 0x886d0320
imul r9d, edx
mov edx, eax
and edx, 0x7792fcdf
or eax, 0x7792fcdf
imul eax, edx
add eax, r9d
mov edx, eax
xor edx, 0x40083
or eax, 0x48a2b08
and eax, edx
or eax, 0xfb71d474
cmp eax, 0x7999a419
jb 0x140098c60
nop word cs:[rax + rax]
mov eax, dword [0x14158f108]
xor eax, dword [0x14158f10c]
or eax, 0xb94a6459
add eax, 0xd7f61e66
not eax
or eax, 0x2a676156
cmp eax, 0x659aa6b
jb 0x140098cc0
movzx r9d, byte [rbx]
mov r13, rbx
mov eax, dword [0x14158f110]
xor edx, edx
div dword [0x14158f114]
add r9b, 0xd0
nop dword [rax]
mov eax, dword [0x14158f118]
mov edx, dword [0x14158f11c]
mov ebx, edx
not ebx
and ebx, eax
xor edx, eax
add edx, eax
sub edx, ebx
and edx, 0x8dc3c53f
add edx, 0x906a45a1
or edx, 0x4c9b76d5
cmp edx, 0x74a2b3b9
je 0x140098d00
cmp r9b, 9
ja 0x140098ae6
mov byte [rsp + 0x10], dil
xor r9d, r9d
xor edi, edi
xor r12d, r12d
nop dword [rax]
mov eax, dword [0x14158f120]
xor eax, dword [0x14158f124]
imul eax, eax, 0x53c60138
add eax, 0x2237f80
mov edx, eax
not edx
and edx, 0x44e1421d
mov ebp, eax
and ebp, 0xbb1ebde0
imul ebp, edx
mov edx, eax
and edx, 0x44e14218
or eax, 0x44e1421d
imul eax, edx
add eax, ebp
cmp eax, 0x4fcee18a
jb 0x140098d50
movzx ebp, byte [r13]
add bpl, 0xd0
cmp bpl, 9
ja 0x140098e71
mov eax, dword [0x14158f128]
xor edx, edx
div dword [0x14158f12c]
nop word cs:[rax + rax]
mov eax, dword [0x14158f130]
mov edx, dword [0x14158f134]
mov r15d, eax
not r15d
and eax, edx
not edx
and edx, r15d
not eax
not edx
and edx, eax
cmp edx, 0xc398cd5a
je 0x140098dc0
mov rax, qword [rsp]
dec rax
nop
test r9b, r9b
jne 0x140098df0
mov qword [rsp], rax
inc r13
lea rax, [r12 + r12]
lea rax, [rax + rax*4]
nop word cs:[rax + rax]
mov ebx, dword [0x14158f138]
imul ebx, dword [0x14158f13c]
mov edx, ebx
xor edx, 0x3fceb0b3
add edx, ebx
and ebx, 0xc0314f4c
sub edx, ebx
xor edx, 0x320d2141
or edx, 0x4b04c3e
movzx r15d, bpl
add r15, rax
cmp r12, 0x10000
mov rbx, rdi
cmovl rbx, r15
cmovge r15, r12
cmp edx, 0x580f0260
jb 0x140098e10
mov rdi, rbx
mov r12, r15
cmp qword [rsp], 0
jne 0x140098d50
xor eax, eax
jmp 0x140098e78
mov rbx, rdi
mov rax, qword [rsp]
mov r15, rbx
neg r15
cmp byte [rsp + 0x10], 0x2d
cmovne r15, rbx
add r14, r15
mov r13, qword [rsp + 8]
cmp r11, 0x14
jl 0x140097bbf
jmp 0x14009814b
mov eax, dword [0x14158f1a8]
and eax, dword [str.7Rmc]
add eax, 0x8fe8d777
mov ecx, eax
not ecx
and ecx, 0xf93855c8
and eax, 0x6c7aa37
sub eax, ecx
mov ecx, eax
not ecx
or ecx, 0xad493188
add ecx, eax
cmp ecx, 0x60a8e936
jne 0x140098ed6
ud2
mov ecx, 0x8da223e1
mov eax, dword [0x14158f1b0]
xor edx, edx
div dword [0x14158f1b4]
imul rax, rcx
shr rax, 0x3f
imul eax, eax, 0x96cd879
mov edx, eax
not edx
mov r8d, eax
and r8d, 0x2d1df17
and edx, 0xbd2e20e8
imul edx, r8d
mov r8d, eax
and r8d, 0xd2e20e8
or eax, 0xbd2e20e8
imul eax, r8d
add eax, edx
ud2